#1 2022-05-23 09:26:39

rcv
Участник

Instructions Table CPU_C8B

MCU#1

registers: 256 x 16-bit + CS:IP + DS:DP + ES:EP + SS:SP  + FR

MCU#2

registers: 256 x 16-bit + CS:IP + DS:DP + ES:EP + SS:SP  + FR


--------------------------------
Segment registers
--------------------------------

000 CS
001 DS
010 ES
011 SS

--------------------------------
Pointer registers
--------------------------------

100 IP  Instruction pointer
101 DP Src pointer
110 EP Dst pointer
111 SP Stack pointer

--------------------------------
FLAGS Register
--------------------------------
0   Z  |  Zero
1   N  |  Negative
2   O  |  Overflow
3   P  |  Parity
4   -   |
5   -   |
6   -   |
7   I    |  Interrupt

--------------------------------
Opcodes list
--------------------------------

0000 INT
0001 MOV
0010 MEMSET
0011 MEMMOV

0100 LOGIC
0101 MATH
0110 JMP / CALL
0111 STACK

1000 -
1001 -
1010 -
1011 -

1100 -
1101 -
1110 -
1111 -

Изменено rcv (2022-05-27 10:45:19)

Не в сети

#2 2022-05-24 08:47:15

rcv
Участник

Re: Instructions Table CPU_C8B

---------------------------------------------------
mm Mode
---------------------------------------------------

00 Constant
01 Register
10 Reserved
11 Memory

---------------------------------------------------
oo Order
---------------------------------------------------
W16
W16rev
H8
L8

---------------------------------------------------
ss Segment
---------------------------------------------------
ss = 00 CS
ss = 01 DS
ss = 10 ES
ss = 11 SS


---------------------------------------------------
i = inverted bit
---------------------------------------------------


---------------------------------------------------
Addressing mode :  <SRC> / <DST>
---------------------------------------------------

00i0.xxxx  DDDD.DDDD 8-bit constant
00i1.xxxx  DDDD.DDDD DDDD.DDDD 16-bit constant
01ix.xxoo  rrrr.rrrr register
10ix.xxoo  rrrr.rrrr  extended register
11ss.00oo DDDD.DDDD Memory @ ss:[C8]
11ss.01oo rrrr.rrrr Memory @ ss:[rr]
11ss.10oo rrrr.rrrr DDDD.DDDD Memory @ ss:[rr+C8]
11ss.11oo yyyy.yyyy I/O Port Nr#

Изменено rcv (2022-05-27 08:11:19)

Не в сети

#3 2022-05-24 08:49:39

rcv
Участник

Re: Instructions Table CPU_C8B

0000 Interrupts

0x00   0000.0000 CLI
0x01   0000.0001 SEI
0x02   0000.0010 -
0x03   0000.0011 RETI
0x04   0000.0100 -
0x05   0000.0101 -
0x06   0000.0110 -
0x07   0000.0111 RET

0x08   0000.1000 -
0x09   0000.1001 -
0x0A   0000.1010 -
0x0B   0000.1011 -
0x0C   0000.1100
0x0D   0000.1101
0x0E   0000.1110
0x0F   0000.1111 RETL

Изменено rcv (2022-05-30 06:10:45)

Не в сети

#4 2022-05-24 08:52:09

rcv
Участник

Re: Instructions Table CPU_C8B

0001 MOV

0001.eqqq MOV <SRC> , <DST>  ; Bytes count from 1+2+2 to 1+3+3  [ 5:7 ]

eqqq Flags conditions, e - enabled, N - invert


eN00 If Zero
eN01 If Negative
eN10 If Overflow
eN11 If Carry

eN00 If Not Zero
eN01 If Not Negative
eN10 If Not Overflow
eN11 If Not Carry

Изменено rcv (2022-06-02 13:13:36)

Не в сети

#5 2022-05-24 09:06:03

rcv
Участник

Re: Instructions Table CPU_C8B

0010 MEMBLK

0010.0000  FILLB          <SRC> ; Fill bytes  [ES:EP]  cnt=CR
0010.0001  FILLW         <SRC> ; Fill words [ES:EP]  cnt=CR
0010.0010  MEMSCAN <VAL> <CNT>

Изменено rcv (2022-05-27 09:40:16)

Не в сети

#6 2022-05-24 09:11:10

rcv
Участник

Re: Instructions Table CPU_C8B

0011 MEMMOV Move memory block

0011 df00  MEMMOVB        <CNT> ;  [DS:DP] > [ES:EP]    d - DP up / down   f - EP up / down  cnt=CR
0011 df01  MEMMOVW       <CNT> ;  [DS:DP] > [ES:EP]    d - DP up / down   f - EP up / down cnt=CR
0011 df10  MEMMOVWsw   <CNT> ;  [DS:DP] > [ES:EP]    d - DP up / down   f - EP up / down cnt=CR
0011 df11  -

Изменено rcv (2022-05-27 09:38:51)

Не в сети

#7 2022-05-25 09:38:19

rcv
Участник

Re: Instructions Table CPU_C8B

0100 LOGIC Instructions

0x40   0100 x000  <DST> <SRC>   AND
0x41   0100 x001  <DST> <SRC>  OR
0x42   0100 x010  <DST> <SRC>  XOR
0x43   0100 x011  -
0x44   0100 x100  AND3  <DST> <SRC1> <SRC2>    ;  DST = SRC1 & SRC2
0x45   0100 x101  OR3    <DST> <SRC1> <SRC2>    ;  DST = SRC1 |  SRC2
0x46   0100 x110   XOR3 <DST> <SRC1> <SRC2>    ;  DST = SRC1 ^ SRC2
0x47   0100 x111  -

Изменено rcv (2022-05-26 20:29:25)

Не в сети

#8 2022-05-25 09:42:35

rcv
Участник

Re: Instructions Table CPU_C8B

0101 MATH

0x50  0101.0000  <SRC=DST>     INC       ;  Increment 
0x51  0101.0001  <SRC=DST>     DEC      ;  Decrement
0x52  0101.0010  <SRC=DST>     -            ;  Removed INV
0x53  0101.0011  <SRC=DST>     -            ;  Removed CLR
0x54  0101.0100  <SRC=DST>     - 
0x55  0101.0101  <SRC=DST>     -
0x56  0101.0110  <SRC=DST>     -
0x57  0101.0111  <SRC=DST>     -

0x58  0101.1000 <DST> <SRC>  ; ADD       ; DST += SRC
0x59  0101.1001 <DST> <SRC>  ; ADDC    ;  DST += SRC `
0x5A  0101.1010 <DST> <SRC>  ; SUB       ; SUB -= SRC
0x5B  0101.1011 <DST> <SRC>  ; SUBC    ; SUB -= SRC `
0x5C  0101.1100 <DST> <SRC1> <SRC2> ; ADD      DST = SRC1 + SRC2
0x5D  0101.1101 <DST> <SRC1> <SRC2> ; ADDC   DST = SRC1 + SRC2  `
0x5E  0101.1110 <DST> <SRC1> <SRC2> ; SUB      DST = SRC1 - SRC2
0x5F  0101.1111 <DST> <SRC1>  <SRC2> ; SUBC   DST = SRC1 - SRC2 `

Изменено rcv (2022-05-30 06:13:56)

Не в сети

#9 2022-05-25 09:48:19

rcv
Участник

Re: Instructions Table CPU_C8B

0110 JMP / CALL Instructions

0x60  0110.0000  R-CALL  <C8>            ; +/-
0x61  0110.0001  D-CALL  <C16>          ; Direct Call
0x62  0110.0010  S-CALL  <SRC>         ;  Addr Call
0x63  0110.0011  L-CALL  <CS> <IP>    ; Long Call


0x60  0110.0000  R-JMP   <C8>             ; Jump +/- 127
0x61  0110.0001  D-JMP   <C16>           ; Direct Jump
0x62  0110.0010  S-JMP   <SRC>          ;  Addr Jump
0x63  0110.0011  L-JMP    <CS> <IP>    ; Long Jump

Изменено rcv (2022-05-27 10:38:17)

Не в сети

#10 2022-05-26 09:21:58

rcv
Участник

Re: Instructions Table CPU_C8B

0111 STACK Instructions

0x70   0111.0000    PUSH     <SRC>     
0x71   0111.0001    POP       <DST>     
0x72   0111.0010    PUSHM  <SRC>  <count>
0x73   0111.0011    POPM     <DST>  <count>
0x74   0111.0100    PUSHF
0x75   0111.0101    POPF

Изменено rcv (2022-05-27 09:37:02)

Не в сети

#11 2022-06-02 13:33:53

rcv
Участник

Re: Instructions Table CPU_C8B

1000 Reserved 8X

Не в сети

#12 2022-06-02 13:37:29

rcv
Участник

Re: Instructions Table CPU_C8B

1001 Reserved 9X

Не в сети

Подвал раздела

Работает на FluxBB (перевод Laravel.ru)