|
|
8ビットロード命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| MOV r,s | r←s | - | - | - | - | - | 01 r s | 1 | 1 | 4 | r,s Reg. 000 B 001 C 010 D 011 E 100 H 101 L 111 A |
|
| MOV r,M | r←(HL) | - | - | - | - | - | 01 r 110 | 1 | 2 | 7 | ||
| MOV M,r | (HL)←r | - | - | - | - | - | 01 110 r | 1 | 2 | 7 | ||
| MVI r,n | r←n | - | - | - | - | - | 00 r 110 --- n --- | 2 | 2 | 7 | ||
| MVI M,n | (HL)←n | - | - | - | - | - | 00 110 110 --- n --- | 36 | 2 | 3 | 10 | |
| LDAX B | A←(BC) | - | - | - | - | - | 00 001 010 | 0A | 1 | 2 | 7 | |
| LDAX D | A←(DE) | - | - | - | - | - | 00 011 010 | 1A | 1 | 2 | 7 | |
| LDA mn | A←(mn) | - | - | - | - | - | 00 111 010 --- n --- --- m --- | 3A | 3 | 4 | 13 | |
| STAX B | (BC)←A | - | - | - | - | - | 00 000 010 | 02 | 1 | 2 | 7 | |
| STAX D | (DE)←A | - | - | - | - | - | 00 010 010 | 12 | 1 | 2 | 7 | |
| STA mn | (mn)←A | - | - | - | - | - | 00 110 010 --- n --- --- m --- | 32 | 3 | 4 | 13 | |
16ビットロード命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| LXI rp,mn | rp←mn | - | - | - | - | - | 00 rp0 001 --- n --- --- m --- | 3 | 3 | 10 | rp Pair Reg. 00 B(BC) 01 D(DE) 10 H(HL) 11 SP |
|
| LHLD mn | H←(mn+1) L←(mn) |
- | - | - | - | - | 00 101 010 --- n --- --- m --- | 2A | 3 | 5 | 16 | |
| SHLD mn | (mn+1)←H (mn)←L |
- | - | - | - | - | 00 100 010 --- n --- --- m --- | 22 | 3 | 5 | 16 | |
| SPHL | SP←HL | - | - | - | - | - | 11 111 001 | F9 | 1 | 1 | 6 | |
| PUSH rq | (SP-2)←rqL (SP-1)←rqH SP←SP-2 |
- | - | - | - | - | 11 rq0 101 | 1 | 3 | 12 | rq Pair Reg. 00 B(BC) 01 D(DE) 10 H(HL) 11 PSW(AF) |
|
| POP rq | rqH←(SP+1) rqL←(SP) SP←SP+2 |
- | - | - | - | - | 11 rq0 001 | 1 | 3 | 10 | ||
8ビット算術論理演算命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| ADD r | A←A+r | # | # | # | # | # | 10 000 r | 1 | 1 | 4 | r Reg. 000 B 001 C 010 D 011 E 100 H 101 L 111 A |
|
| ADD M | A←A+(HL) | # | # | # | # | # | 10 000 110 | 1 | 2 | 7 | ||
| ADI n | A←A+n | # | # | # | # | # | 11 000 110 --- n --- | 2 | 2 | 7 | ||
| ADC s ACI n | A←A+s+cf | # | # | # | # | # | ** 001 *** | ADD,ADI命令と 同様の繰り返し s=r,M,n |
||||
| SUB s SUI n | A←A-s | # | # | # | # | # | ** 010 *** | |||||
| SBB s SBI n | A←A-s-cf | # | # | # | # | # | ** 011 *** | |||||
| ANA s ANI n | A←A and s | # | # | 1 | # | 0 | ** 100 *** | |||||
| XRA s XRI n | A←A xor s | # | # | 0 | # | 0 | ** 101 *** | |||||
| ORA s ORI n | A←A or s | # | # | 0 | # | 0 | ** 110 *** | |||||
| CPA s CPI n | A-s | # | # | # | # | # | ** 111 *** | |||||
| INR r | r←r+1 | # | # | # | # | - | 00 r 100 | 1 | 1 | 4 | ||
| INR M | (HL)←(HL)+1 | # | # | # | # | - | 00 110 100 | 1 | 3 | 10 | ||
| DCR s | s←s-1 | # | # | # | # | - | ** *** 101 | INR命令と同様の 繰り返し s=r,M |
||||
16ビット算術演算命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| DAD rp | HL←HL+rp | - | - | ? | - | # | 00 rp1 001 | 1 | 3 | 10 | rp Pair Reg. 00 B(BC) 01 D(DE) 10 H(HL) 11 SP |
|
| INX rp | rp←rp+1 | - | - | - | - | - | 00 rp0 011 | 1 | 1 | 6 | ||
| DCX rp | rp←rp-1 | - | - | - | - | - | 00 rp1 011 | 1 | 1 | 6 | ||
ジャンプ命令/コール命令/リターン命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| JMP mn | PC←mn | - | - | - | - | - | 11 000 011 --- n --- --- m --- | C3 | 3 | 3 | 10 | cc 条件 000 NZ non zero 001 Z zero 010 NC non carry 011 C carry 100 PO parity odd 101 PE parity even 110 P sign positive 111 M sign negative |
| Jcc mn | 条件がccなら PC←mn そうでなければ 何もしない |
- | - | - | - | - | 11 cc 010 --- n --- --- m --- | 3 | 3 True | 10 | ||
| 3 False | 7 | |||||||||||
| PCHL | PC←HL | - | - | - | - | - | 11 101 001 | E9 | 1 | 1 | 4 | |
| CALL mn | (SP-1)←PCH (SP-2)←PCL SP←SP-2 PC←mn |
- | - | - | - | - | 11 001 101 --- n --- --- m --- | CD | 3 | 5 | 18 | |
| Ccc mn | 条件がccなら CALL mnに同じ そうでなければ 何もしない |
- | - | - | - | - | 11 cc 100 --- n --- --- m --- | 3 | 5 True | 18 | ||
| 3 False | 9 | |||||||||||
| RET | PCL←(SP) PCH←(SP+1) SP←SP+2 |
- | - | - | - | - | 11 001 001 | C9 | 1 | 3 | 10 | |
| Rcc | 条件がccなら RETに同じ そうでなければ 何もしない |
- | - | - | - | - | 11 cc 000 | 1 | 3 True | 12 | ||
| 1 False | 6 | |||||||||||
| RST p | (SP-1)←PCH (SP-2)←PCL SP←SP-2 PCH←0 PCL←p×8 |
- | - | - | - | - | 11 p 111 | 1 | 3 | 12 | p=0〜7 | |
入出力命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| IN n | A←(n) | - | - | - | - | - | 11 011 011 --- n --- | DB | 2 | 3 | 10 | nがAB0〜AB7 0がAB8〜AB15 |
| OUT n | (n)←A | - | - | - | - | - | 11 010 011 --- n --- | D3 | 2 | 3 | 10 | |
CPU制御命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| NOP | No OPeration | - | - | - | - | - | 00 000 000 | 00 | 1 | 1 | 4 | |
| HLT | CPU halted | - | - | - | - | - | 01 110 110 | 76 | 1 | 1 | 5 | NOPの無限ループ |
| DI | IFF←0 | - | - | - | - | - | 11 110 011 | F3 | 1 | 1 | 4 | |
| EI | IFF←1 | - | - | - | - | - | 11 111 011 | FB | 1 | 1 | 4 | |
| SIM | SOD←A7 | - | - | - | - | - | 00 100 000 | 20 | 1 | 1 | 4 | Set Interrupt mode |
| RIM | A7←SID A3←IFF |
- | - | - | - | - | 00 110 000 | 30 | 1 | 1 | 4 | Read Interrupt mode |
アキュムレータ操作命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||||||||||||||||||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||||||||||||||||||||
| DAA | パックト10進加減算の 結果補正 |
# | # | # | # | # | 00 100 111 | 27 | 1 | 1 | 4 | Decimal Adjust Accumulator | ||||||||||||||||||
| CMA | A←not A Aの1の補数をとる |
- | - | 1 | - | - | 00 101 111 | 2F | 1 | 1 | 4 | CoMplement Accumulator | ||||||||||||||||||
| CMC | cf←not cf | - | - | ? | - | # | 00 111 111 | 3F | 1 | 1 | 4 | CoMplement Carry flag | ||||||||||||||||||
| STC | cf←1 | - | - | 0 | - | 1 | 00 110 111 | 37 | 1 | 1 | 4 | SeT Carry flag | ||||||||||||||||||
| RLC |
|
- | - | 0 | - | # | 00 000 111 | 07 | 1 | 1 | 4 | Rotate Left Circular accumulator | ||||||||||||||||||
| RRC |
|
- | - | 0 | - | # | 00 001 111 | 0F | 1 | 1 | 4 | Rotate Right Circular accumulator | ||||||||||||||||||
| RAL |
|
- | - | 0 | - | # | 00 010 111 | 17 | 1 | 1 | 4 | Rotate Accumulator Left | ||||||||||||||||||
| RAR |
|
- | - | 0 | - | # | 00 011 111 | 1F | 1 | 1 | 4 | Rotate Accumulator Right | ||||||||||||||||||
エクスチェンジ命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| XCHG | DE←→HL | - | - | - | - | - | 11 101 011 | EB | 1 | 1 | 4 | |
| XTHL | H←→(SP-1) L←→(SP) |
- | - | - | - | - | 11 100 011 | E3 | 1 | 5 | 16 | |
ジャンプ命令
| ニーモニック | オペレーション | フラグ | OPコード | バイト | マシン サイクル | ステート | コメント | |||||
| S | Z | A | P | C | 76 543 210 | Hex | ||||||
| JMPR mn | 00 011 000 -- e-2 -- | 18 | 2 | cr 条件 00 NZ non zero 01 Z zero 10 NC non carry 11 C carry |
||||||||
| JRcr mn | 00 1cr 000 -- e-2 -- | 2 | ||||||||||
| DJNZ mn | 00 010 000 -- e-2 -- | 10 | 2 | |||||||||
e 相対アドレッシングモードにおける変位値(符号付き2の補数-128〜+127)
e-2 eの実効変位値(オペランド即値)