命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
LD | r,r' | r←r' | ------ | |
LD | r,n | r←n | ------ | |
LD | u,u' | u←u' | ------ | R800 |
LD | u,n | u←n | ------ | R800 |
LD | r,(HL) | r←(HL) | ------ | |
LD | r,(IX+d) | r←(IX+d) | ------ | |
LD | (HL),r | (HL)←r | ------ | |
LD | (IX+d),r | (IX+d)←r | ------ | |
LD | (HL),n | (HL)←n | ------ | |
LD | (IX+d),n | (IX+d)←n | ------ | |
LD | A,(BC) | A←(BC) | ------ | |
LD | A,(DE) | A←(DE) | ------ | |
LD | A,(nn) | A←(nn) | ------ | |
LD | (BC),A | (BC)←A | ------ | |
LD | (DE),A | (DE)←A | ------ | |
LD | (nn),A | (nn)←A | ------ | |
LD | A,I | A←I | -!!!00 | 割り込みフリップフロップ(IFF)の内容が入ります |
LD | A,R | A←R | -!!!00 | 割り込みフリップフロップ(IFF)の内容が入ります |
LD | I,A | I←A | ------ | |
LD | R,A | R←A | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
LD | ss,nn | ss←nn | ------ | |
LD | IX,nn | IX←nn | ------ | |
LD | HL,(nn) | H←(nn+1) L←(nn) | ------ | |
LD | ss,(nn) | ssH←(nn+1) ssL←(nn) | ------ | |
LD | IX,(nn) | IXH←(nn+1) IXL←(nn) | ------ | |
LD | (nn),HL | (nn+1)←H (nn)←L | ------ | |
LD | (nn),ss | (nn+1)←ssH (nn)←ssL | ------ | |
LD | (nn),IX | (nn+1)←IXH (nn)←IXL | ------ | |
LD | SP,HL | SP←HL | ------ | |
LD | SP,IX | SP←IX | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
PUSH | (SP-1)←qqH (SP-2)←qqL SP←SP-2 | ------ | ||
PUSH | IX | (SP-1)←IXH (SP-2)←IXL SP←SP-2 | ------ | |
POP | qqL←(SP) qqH←(SP+1) SP←SP+2 | ------ | ||
POP | IX | IXL←(SP) IXH←(SP+1) SP←SP+2 | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
EX | DE,HL | DE←→HL | ------ | |
EX | AF,AF' | AF←→AF' | ------ | |
EX | (SP),HL | L←→(SP) H←→(SP+1) | ------ | |
EX | (SP),IX | IXL←→(SP) IXH←→(SP+1) | ------ | |
EXX | BC←→BC' DE←→DE' HL←→HL' | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
ADD | A,r | A←A+r | !!V!0! | |
ADD | A,p | A←A+p | !!V!0! | R800 |
ADD | A,(HL) | A←A+(HL) | !!V!0! | |
ADD | A,(IX+d) | A←A+(IX+d) | !!V!0! | |
ADD | A,n | A←A+n | !!V!0! | |
ADC | A,r | A←A+r+Cy | !!V!0! | |
ADC | A,p | A←A+p+Cy | !!V!0! | R800 |
ADC | A,(HL) | A←A+(HL)+Cy | !!V!0! | |
ADC | A,(IX+d) | A←A+(IX+d)+Cy | !!V!0! | |
ADC | A,n | A←A+n+Cy | !!V!0! | |
SUB | r | A←A-r | !!V!1! | |
SUB | p | A←A-p | !!V!1! | R800 |
SUB | (HL) | A←A-(HL) | !!V!1! | |
SUB | (IX+d) | A←A-(IX+d) | !!V!1! | |
SUB | n | A←A-n | !!V!1! | |
SBC | A,r | A←A-r-Cy | !!V!1! | |
SBC | A,p | A←A-p-Cy | !!V!1! | R800 |
SBC | A,(HL) | A←A-(HL)-Cy | !!V!1! | |
SBC | A,(IX+d) | A←A-(IX+d)-Cy | !!V!1! | |
SBC | n | A←A-n-Cy | !!V!1! | |
OR | r | A←A∨r | 0!P!00 | |
OR | p | A←A∨p | 0!P!00 | R800 |
OR | (HL) | A←A∨(HL) | 0!P!00 | |
OR | (IX+d) | A←A∨(IX+d) | 0!P!00 | |
OR | n | A←A∨n | 0!P!00 | |
AND | r | A←A∧r | 0!P!01 | |
AND | p | A←A∧p | 0!P!01 | R800 |
AND | (HL) | A←A∧(HL) | 0!P!01 | |
AND | (IX+d) | A←A∧(IX+d) | 0!P!01 | |
AND | n | A←A∧n | 0!P!01 | |
XOR | r | A←Axor r | 0!P!00 | |
XOR | p | A←Axor p | 0!P!00 | R800 |
XOR | (HL) | A←Axor(HL) | 0!P!00 | |
XOR | (IX+d) | A←Axor(IX+d) | 0!P!00 | |
XOR | n | A←Axorn | 0!P!00 | |
CP | r | A-r | !!V!1! | |
CP | p | A-p | !!V!1! | R800 |
CP | (HL) | A-(HL) | !!V!1! | |
CP | (IX+d) | A-(IX+d) | !!V!1! | |
CP | n | A-n | !!V!1! | |
INC | r | r←r+1 | -!V!0! | |
INC | p | p←p+1 | -!V!0! | R800 |
INC | (HL) | (HL)←(HL)+1 | -!V!0! | |
INC | (IX+d) | (IX+d)←(IX+d)+1 | -!V!0! | |
DEC | r | r←r-1 | -!V!1! | |
DEC | p | p←p-1 | -!V!1! | |
DEC | (HL) | (HL)←(HL)-1 | -!V!1! | R800 |
DEC | (IX+d) | (IX+d)←(IX+d)-1 | -!V!1! | |
DAA | 8ビットデータの演算後にBCDデータに変換する | !!P!-! | ||
CPL | A←~A | ----11 | ||
NEG | A←0-A | !!V!1! |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
ADD | HL,ss | HL←HL+ss | !---0? | |
ADD | IX,pp | IX←IX+pp | !---0? | |
ADC | HL,ss | HL←HL+ss+Cy | !!V!0? | |
SBC | HL,ss | HL←HL-ss-Cy | !!V!1? | |
INC | ss | ss←ss+1 | ------ | |
INC | IX | IX←IX+1 | ------ | |
DEC | ss | ss←ss-1 | ------ | |
DEC | IX | IX←IX-1 | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
MULUB | A,r | HL←A×r | !!00-- | R800 rがB、C、D、Eの時のみ結果が保証される Cフラグ:演算結果が8ビットで収まらない時セットされる |
MULUW | HL,ss | DE:HL←HL×ss | !!00-- | R800 ssがBC、SPの時のみ結果が保証される Cフラグ:演算結果が16ビットで収まらない時セットされる |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
LDI | (DE)←(HL) DE←DE+1 HL←HL+1 BC←BC-1 | --!-00 | ※1 | |
LDIR | (DE)←(HL) DE←DE+1 HL←HL+1 BC←BC-1 BC=0まで繰り返す | --0-00 | ||
LDD | (DE)←(HL) DE←DE-1 HL←HL-1 BC←BC-1 | --!-00 | ※1 | |
LDDR | (DE)←(HL) DE←DE-1 HL←HL-1 BC←BC-1 BC=0まで繰り返す | --0-00 | ||
CPI | A-(HL) HL←HL+1 BC←BC-1 | -!!!1! | ※1※2 | |
CPIR | A-(HL) HL←HL+1 BC←BC-1 BC=0又はA=(HL)まで繰り返す | -!!!1! | ※1※2 | |
CPD | A-(HL) HL←HL-1 BC←BC-1 | -!!!1! | ※1※2 | |
CPDR | A-(HL) HL←HL-1 BC←BC-1 BC=0又はA=(HL)まで繰り返す | -!!!1! | ※1※2 |
※1 P/V : BC=0となったとき0、それ以外で1
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
JP | nn | PC←nn | ------ | |
JP | NZ,nn | Z=0ならPC←nn | ------ | |
JP | Z,nn | Z=1ならPC←nn | ------ | |
JP | NC,nn | Cy=0ならPC←nn | ------ | |
JP | C,nn | Cy=1ならPC←nn | ------ | |
JP | PO,nn | P/V=0ならPC←nn | ------ | |
JP | PE,nn | P/V=1ならPC←nn | ------ | |
JP | P,nn | S=0ならPC←nn | ------ | |
JP | M,nn | S=1ならPC←nn | ------ | |
JP | (HL) | PC←HL | ------ | |
JP | (IX) | PC←IX | ------ | |
JR | e | PC←PC+e | ------ | |
JR | NZ,e | Z=0ならPC←PC+e | ------ | |
JR | Z,e | Z=1ならPC←PC+e | ------ | |
JR | NC,e | Cy=0ならPC←PC+e | ------ | |
JR | C,e | Cy=1ならPC←PC+e | ------ | |
DJNZ | e | B←B-1 B≠0ならPC←PC+e | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
CALL | nn | (SP-1)←PCH (SP-2)←PCL SP←SP-2 PC←nn | ------ | |
CALL | NZ,nn | Z=0なら CALL nnと同じ | ------ | |
CALL | Z,nn | Z=1なら CALL nnと同じ | ------ | |
CALL | NC,nn | Cy=0なら CALL nnと同じ | ------ | |
CALL | C,nn | Cy=1なら CALL nnと同じ | ------ | |
CALL | PO,nn | P/V=0なら CALL nnと同じ | ------ | |
CALL | PE,nn | P/V=1なら CALL nnと同じ | ------ | |
CALL | P,nn | S=0なら CALL nnと同じ | ------ | |
CALL | M,nn | S=1なら CALL nnと同じ | ------ | |
RET | PCL←(SP) PCH←(SP+1) SP←SP+2 | ------ | ||
RET | NZ | Z=0ならRETと同じ | ------ | |
RET | Z | Z=1ならRETと同じ | ------ | |
RET | NC | Cy=0ならRETと同じ | ------ | |
RET | C | Cy=1ならRETと同じ | ------ | |
RET | PO | P/V=0ならRETと同じ | ------ | |
RET | PE | P/V=1ならRETと同じ | ------ | |
RET | P | S=0ならRETと同じ | ------ | |
RET | M | S=1ならRETと同じ | ------ | |
RETI | 割り込みルーチンからのRET命令 | ------ | ||
RETN | ノンマスカブル割り込みからのRET命令 | ------ | ||
RST | k | (SP-1)←PCH (SP-2)←PCL SP←SP-2 PCL←k PCH←0 kは00H,08H,10H,18H 20H,28H,30H,38Hのいずれか | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
RLCA | A←A(6-0):A(7) Cy←A(7) | !---00 | ||
RLA | A←A(6-0):Cy Cy←A(7) | !---00 | ||
RRCA | A←A(0):A(7-1) Cy←A(0) | !---00 | ||
RRA | A←Cy:A(7-1) Cy←A(0) | !---00 | ||
RLD | A(3-0)←(HL)(7-4) (HL)(7-4)←(HL)(3-0) (HL)(3-0)←A(3-0) | -!P!00 | ||
RRD | A(3-0)←(HL)(3-0) (HL)(3-0)←(HL)(7-4) (HL)(7-4)←A(3-0) | -!P!00 | ||
RLC | r | A←A(6-0):A(7) Cy←A(7) | !!P!00 | |
RLC | (HL) | (HL)←(HL)(6-0):(HL)(7) Cy←(HL)(7) | !!P!00 | |
RLC | (IX+d) | (IX+d)←(IX+d)(6-0):(IX+d)(7) Cy←(IX+d)(7) | !!P!00 | |
RL | r | r←r(6-0):Cy Cy←r(7) | !!P!00 | |
RL | (HL) | (HL)←(HL)(6-0):Cy Cy←(HL)(7) | !!P!00 | |
RL | (IX+d) | (IX+d)←(IX+d)(6-0):Cy Cy←(IX+d)(7) | !!P!00 | |
RRC | r | r←r(0):r(7-1) Cy←r(0) | !!P!00 | |
RRC | (HL) | (HL)←(HL)(0):(HL)(7-1) Cy←(HL)(0) | !!P!00 | |
RRC | (IX+d) | (IX+d)←(IX+d)(0):(IX+d)(7-1) Cy←(IX+d)(0) | !!P!00 | |
RR | r | r←Cy:r(7-1) Cy←r(0) | !!P!00 | |
RR | (HL) | (HL)←Cy:(HL)(7-1) Cy←(HL)(0) | !!P!00 | |
RR | (IX+d) | (IX+d)←Cy:(IX+d)(7-1) Cy←(IX+d)(0) | !!P!00 | |
SLA | r | r←r(6-0):0 Cy←r(7) | !!P!00 | |
SLA | (HL) | (HL)←(HL)(6-0):0 Cy←(HL)(7) | !!P!00 | |
SLA | (IX+d) | (IX+d)←(IX+d)(6-0):0 Cy←(IX+d)(7) | !!P!00 | |
SRA | r | r←r(7):r(7-1) Cy←r(0) | !!P!00 | |
SRA | (HL) | (HL)←(HL)(7):(HL)(7-1) Cy←(HL)(0) | !!P!00 | |
SRA | (IX+d) | (IX+d)←(IX+d)(7):(IX+d)(7-1) Cy←(IX+d)(0) | !!P!00 | |
SRL | r | r←0:r(7-1) Cy←r(0) | !!P!00 | |
SRL | (HL) | (HL)←0:(HL)(7-1) Cy←(HL)(0) | !!P!00 | |
SRL | (IX+d) | (IX+d)←0:(IX+d)(7-1) Cy←(IX+d)(0) | !!P!00 |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
BIT | b,r | Z←~rのbit b | -!??01 | |
BIT | b,(HL) | Z←~(HL)のbit b | -!??01 | |
BIT | b,(IX+d) | Z←~(IX+d)のbit b | -!??01 | |
SET | b,r | rのbit b←1 | ------ | |
SET | b,(HL) | (HL)のbit b←1 | ------ | |
SET | b,(IX+d) | (IX+d)のbit b←1 | ------ | |
RES | b,r | rのbit b←0 | ------ | |
RES | b,(HL) | (HL)のbit b←0 | ------ | |
RES | b,(IX+d) | (IX+d)のbit b←0 | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
IN | A,(n) | A←(n)I/O | ------ | (A) |
IN | r,(C) | r←(C)I/O | -!P!00 | (B) |
IN | F,(C) | (C)I/O | -!P!00 | (B)R800 |
INI | (HL)←(C)I/O HL←HL+1 B←B-1 | -!??1? | (B)※1 | |
INIR | (HL)←(C)I/O HL←HL+1 B←B-1 B=0まで繰り返す | -1??1? | (B) | |
IND | (HL)←(C)I/O HL←HL-1 B←B-1 | -!??1? | (B)※1 | |
INDR | (HL)←(C)I/O HL←HL-1 B←B-1 B=0まで繰り返す | -1??1? | (B) | |
OUT | (n),A | (n)I/O←A | ------ | (A) |
OUT | (C),r | (C)I/O←r | ------ | (B) |
OUTI | (C)I/O←(HL) HL←HL+1 B←B-1 | -!??1? | (B)※1 | |
OTIR | (C)I/O←(HL) HL←HL+1 B←B-1 B=0まで繰り返す | -1??1? | (B) | |
OUTD | (C)I/O←(HL) HL←HL-1 B←B-1 | -!??1? | (B)※1 | |
OTDR | (C)I/O←(HL) HL←HL-1 B←B-1 B=0まで繰り返す | -1??1? | (B) |
※1 Z : B=0の時1、それ以外の時は0
備考の括弧内は16ビットI/Oアドレスを使う時の上位8ビット
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
CCF | Cy←~Cy | !---0? | ||
SCF | Cy←1 | 1---00 | ||
NOP | ノーオペレーション | ------ | ||
HALT | 停止 | ------ | ||
DI | 割り込み禁止(IFF←0) | ------ | ||
EI | 割り込み許可(IFF←1) | ------ | ||
IM | 0 | 割り込みモードを0に設定 | ------ | |
IM | 1 | 割り込みモードを1に設定 | ------ | |
IM | 2 | 割り込みモードを2に設定 | ------ |
命令 | 動作 | CZPSNH | 備考 | |
---|---|---|---|---|
MLT | ss | ss←ssH×ssL | ------ | |
TST | r | A∧r | 0!P!01 | |
TST | (HL) | A∧(HL) | 0!P!01 | |
TST | n | A∧n | 0!P!01 | |
TSTIO | n | (C)I/O∧n | 0!P!01 | (0) |
IN0 | r,(n) | r←(n)I/O | -!P!00 | (0) |
IN0 | F,(n) | (n)I/O | -!P!00 | (0) |
OUT0 | (n),r | (n)I/O←r | ------ | (0) |
OTIM | (C)I/O←(HL) HL←HL+1 C←C+1 B←B-1 | !!P!!! | (0)※1※2 | |
OTIMR | (C)I/O←(HL) HL←HL+1 C←C+1 B←B-1 B=0まで繰り返す 割り込みで中断することができる 中断した時のフラグ変化はOTIMと同じ | 0100!0 | (0)※2 | |
OTDM | (C)I/O←(HL) HL←HL-1 C←C-1 B←B-1 | !!P!!! | (0)※1※2 | |
OTDMR | (C)I/O←(HL) HL←HL-1 C←C-1 B←B-1 B=0まで繰り返す 割り込みで中断することができる 中断した時のフラグ変化はOTDMと同じ | 0110!0 | (0)※2 | |
SLP | SLEEPモードへ移行 | ------ |
※1 C Z P/V S H : B-1の結果により変化する
※2 N : (HL)の最上位ビットが入る
オペランド | r,r' | B,C,D,E,H,L,A |
u,u' | B,C,D,E,IXH,IXL,A | |
p | IXH,IXL | |
ss | BC,DE,HL,SP | |
pp | BC,DE,IX,SP | |
BC,DE,HL,AF | ||
cc | 条件 | |
k | RST命令のコールアドレス | |
s | 許されるすべてのオペランド | |
動作の表記 | ~x (xのビット反転) | |
xH | xの上位8ビット | |
xL | xの下位8ビット | |
x:y | xとyのビットの結合 | |
x(a) | xのビットa | |
x(a:b) | xのビットa~b | |
(x)I/O | I/O空間のアドレスx | |
フラグ | - | 変化しない |
! | 変化する | |
0 | 0になる | |
1 | 1になる | |
? | 不定 | |
P | パリティ | |
V | オーバーフロー |
(IYに関する命令はIXをIYに読み替えて適用して下さい)