|
▼ フラグの意味 |
|
|---|---|
| S | サインフラグ。演算結果の最上位ビットのコピー。 |
| Z | ゼロフラグ。演算結果が 0 なら 1。 |
| Y | 演算結果の bit5 のコピー。 |
| H | ハーフキャリーフラグ。bit 3 から bit 4 への桁上がり(桁借り)のとき 1 になる。 |
| X | 演算結果の bit3 のコピー。 |
| P/V | パリティフラグまたはオーバーフローフラグまたは IFF2 の状態(兼用)。 セットされたビット数が偶数(pe)のとき 1。奇数(po)のとき 0。 演算によって結果が +127 〜 -128 の範囲を超えたとき 1(pe)。範囲内に収まるときは 0(po)。 特別な命令で IFF2 の状態がコピーされる。 |
| N | サブトラクトフラグ。演算が加算系の時 0、減算系のとき 1。 |
| C | キャリーフラグ。演算で桁溢れ・桁借りが生じたとき 1。 |
| bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| FLAG | S | Z | Y | H | X | P | N | C |
|
▼ 記号の意味 |
|
|---|---|
| - | 変化なし |
| 0 | リセット |
| 1 | セット |
| * | 結果によって変わる |
| ? | 不定 |
| P | P/V フラグはパリティ判定を示す(1=偶数パリティ,0=奇数パリティ) |
| V | P/V フラグはオーバーフロー判定を示す(1=オーバーフローあり,0=オーバーフローなし) |
| IFF | 割り込み状態 |
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| LD r,r' | r
r' |
- | 4 | 1 | - | - | - | - | - | - |
| LD r,n | r
n |
7 | 2 | |||||||
| LD r,(HL) | r
(HL) |
7 | 1 | |||||||
| LD r,(IX+d) LD r,(IY+d) |
r
(IX+d)r
(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
| LD (HL),r | (HL)
r |
- | 7 | 1 | ||||||
| LD (IX+d),r LD (IY+d),r |
(IX+d)
r(IY+d)
r |
-128≦d≦127 | 19 | 3 | ||||||
| LD (HL),n | (HL)
n |
- | 10 | 2 | ||||||
| LD (IX+d),n LD (IY+d),n |
(IX+d)
n(IY+d)
n |
-128≦d≦127 | 19 | 4 | ||||||
| LD A,(BC) LD A,(DE) |
A
(BC)A
(DE) |
- | 7 | 1 | ||||||
| LD A,(nn) | A
(nn) |
13 | 3 | |||||||
| LD (BC),A LD (DE),A |
(BC)
A(DE)
A |
7 | 1 | |||||||
| LD (nn),A | (nn)
A |
13 | 3 | |||||||
| LD A,I | A
I |
9 | 2 | * | * | 0 | IFF2 | 0 | - | |
| LD A,R | A
R |
9 | 2 | * | * | 0 | IFF2 | 0 | - | |
| LD I,A | I
A |
9 | 2 | - | - | - | - | - | - | |
| LD R,A | R
A |
9 | 2 | |||||||
| LD xr,n | xr n |
未定義命令 xr=IXH,IYH,IXL,IYL |
11 | 3 | - | - | - | - | - | - |
| LD xr,r | xr r |
未定義命令 xr=IXH,IYH,IXL,IYL r=A,B,C,D,E |
8 | 2 | - | - | - | - | - | - |
| LD r,xr | r xr |
未定義命令 r=A,B,C,D,E xr=IXH,IYH,IXL,IYL |
8 | 2 | - | - | - | - | - | - |
| LD IXH,xr LD IXL,xr |
IXH xrIXL xr |
未定義命令 xr=IXH,IXL |
8 | 2 | - | - | - | - | - | - |
| LD IYH,xr LD IYL,xr |
IYH xrIYL xr |
未定義命令 xr=IYH,IYL |
8 | 2 | - | - | - | - | - | - |
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| LD dd,nn | dd
nn |
dd=BC,DE,HL,SP | 10 | 3 | - | - | - | - | - | - |
| LD IX,nn LD IY,nn |
IX
nnIY
nn |
- | 14 | 4 | ||||||
| LD HL,(nn) | H
(nn+1)L
(nn) |
16 | 3 | |||||||
| LD dd,(nn) | dd(H)
(nn+1)dd(L)
(nn) |
dd=BC,DE,HL,SP | 20 | 4 | ||||||
| LD IX,(nn) LD IY,(nn) |
IX(H)
(nn+1)IX(L)
(nn)IY(H)
(nn+1)IY(L)
(nn) |
- | 20 | 4 | ||||||
| LD (nn),HL | (nn+1)
H(nn)
L |
16 | 3 | |||||||
| LD (nn),dd | (nn+1)
dd(H)(nn)
dd(L) |
dd=BC,DE,HL,SP | 20 | 4 | ||||||
| LD (nn),IX LD (nn),IY |
(nn+1)
IX(H)(nn)
IX(L)(nn+1)
IY(H)(nn)
IY(L) |
- | 20 | 4 | ||||||
| LD SP,HL | SP
HL |
6 | 1 | |||||||
| LD SP,IX LD SP,IY |
SP
IXSP
IY |
10 | 2 | |||||||
| PUSH ss | (SP-2)
ss(L)(SP-1)
ss(H)SP
SP-2 |
ss=BC,DE,HL,AF | 11 | 1 | ||||||
| PUSH IX PUSH IY |
(SP-2)
IX(L)(SP-1)
IX(H)SP
SP-2(SP-2)
IY(L)(SP-1)
IY(H)SP
SP-2 |
- | 15 | 2 | ||||||
| POP ss | ss(H)
(SP+1)ss(L)
(SP)SP
SP+2 |
ss=BC,DE,HL,AF | 10 | 1 | ||||||
| POP IX POP IY |
IX(H)
(SP+1)IX(L)
(SP)SP
SP+2IY(H)
(SP+1)IY(L)
(SP)SP
SP+2 |
- | 14 | 2 | ||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| EX DE,HL | DE
HL |
- | 4 | 1 | - | - | - | - | - | - |
| EX AF,AF' | AF
AF' |
4 | 1 | |||||||
| EXX | BC
BC'DE
DE'HL
HL' |
4 | 1 | |||||||
| EX (SP),HL | H
(SP+1)L
(SP) |
19 | 1 | |||||||
| EX (SP),IX EX (SP),IY |
IX(H)
(SP+1)IX(L)
(SP)IY(H)
(SP+1)IY(L)
(SP) |
23 | 2 | |||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| LDI | (DE)
(HL)DE DE+1HL HL+1BC BC-1
|
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
| LDIR | (DE)
(HL)DE DE+1HL HL+1BC BC-1until BC=0 |
BC≠0なら21 BC=0なら16 完了後P/V=0 |
21/16 | 2 | - | - | 0 | * | 0 | - |
| LDD | (DE)
(HL)DE DE-1HL HL-1BC BC-1
|
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
| LDDR | (DE)
(HL)DE DE-1HL HL-1BC BC-1until BC=0 |
BC≠0なら21 BC=0なら16 完了後P/V=0 |
21/16 | 2 | - | - | 0 | * | 0 | - |
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| CPI | A-(HL) HL HL+1BC BC-1
|
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
| CPIR | A-(HL) HL HL+1BC BC-1until BC=0 or A=(HL) |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
BC≠0 かつ A≠(HL) なら 21 BC=0 または A=(HL) なら 16 |
2 | * | * | * | * | 1 | - |
| CPD | A-(HL) HL HL-1BC BC-1
|
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
| CPDR | A-(HL) HL HL-1BC BC-1until BC=0 or A=(HL) |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
BC≠0 かつ A≠(HL) なら 21 BC=0 または A=(HL) なら 16 |
2 | * | * | * | * | 1 | - |
CPIR/CPDR は一致した次のアドレスで停止する。 具体的な動作としては A-(HL) の後、HL++(HL--)、BC-- してからフラグを反映させる。 最後まで一致しなかった場合、ZF=0、P/V=0 途中で一致した場合、ZF=1、P/V=1 最後で一致した場合、ZF=1、P/V=0 |
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| ADD A,r | A A+r
|
- | 4 | 1 | * | * | * | v | 0 | * |
| ADD A,n | A A+n
|
7 | 2 | |||||||
| ADD A,(HL) | A A+(HL)
|
7 | 1 | |||||||
| ADD A,(IX+d) ADD A,(IY+d) |
A A+(IX+d)A A+(IY+d)
|
-128≦d≦127 | 19 | 3 | ||||||
| ADC A,r | A A+r+CY
|
- | 4 | 1 | ||||||
| ADC A,n | A A+n+CY
|
7 | 2 | |||||||
| ADC A,(HL) | A A+(HL)+CY
|
7 | 1 | |||||||
| ADC A,(IX+d) ADC A,(IY+d) |
A A+(IX+d)+CYA A+(IY+d)+CY
|
-128≦d≦127 | 19 | 3 | ||||||
| ADD A,xr | A A+xr
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| ADC A,xr | A A+xr+CY
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| SUB r | A A-r
|
- | 4 | 1 | * | * | * | v | 1 | * |
| SUB n | A A-n
|
7 | 2 | |||||||
| SUB (HL) | A A-(HL)
|
7 | 1 | |||||||
| SUB (IX+d) SUB (IY+d) |
A A-(IX+d)A A-(IY+d)
|
-128≦d≦127 | 19 | 3 | ||||||
| SBC A,r | A A-r-CY
|
- | 4 | 1 | ||||||
| SBC A,n | A A-n-CY
|
7 | 2 | |||||||
| SBC A,(HL) | A A-(HL)-CY
|
7 | 1 | |||||||
| SBC A,(IX+d) SBC A,(IY+d) |
A A-(IX+d)-CYA A-(IY+d)-CY
|
-128≦d≦127 | 19 | 3 | ||||||
| SUB A,xr | A A-xr
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| SBC A,xr | A A-xr-CY
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| AND r | A A∧r
|
- | 4 | 1 | * | * | 1 | p | 0 | 0 |
| AND n | A A∧n
|
7 | 2 | |||||||
| AND (HL) | A A∧(HL)
|
7 | 1 | |||||||
| AND (IX+d) AND (IY+d) |
A A∧(IX+d)A A∧(IY+d)
|
-128≦d≦127 | 19 | 3 | ||||||
| AND xr | A A∧xr
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| OR r | A A∨r
|
- | 4 | 1 | * | * | 0 | p | 0 | 0 |
| OR n | A A∨n
|
7 | 2 | |||||||
| OR (HL) | A A∨(HL)
|
7 | 1 | |||||||
| OR (IX+d) OR (IY+d) |
A A∨(IX+d)A A∨(IY+d)
|
-128≦d≦127 | 19 | 3 | ||||||
| or xr | A A∨xr
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| XOR r | A A |
- | 4 | 1 | * | * | 0 | p | 0 | 0 |
| XOR n | A A |
7 | 2 | |||||||
| XOR (HL) | A A |
7 | 1 | |||||||
| XOR (IX+d) XOR (IY+d) |
A AA A |
-128≦d≦127 | 19 | 3 | ||||||
| xor xr | A A |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| CP r | A-r | - | 4 | 1 | * | * | * | v | 1 | * |
| CP n | A-n | 7 | 2 | |||||||
| CP (HL) | A-(HL) | 7 | 1 | |||||||
| CP (IX+d) CP (IY+d) |
A-(IX+d) A-(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
| cp xr | A-xr | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| INC r | r r+1
|
- | 4 | 1 | * | * | * | v | 0 | - |
| INC (HL) | (HL) (HL)+1
|
11 | 1 | |||||||
| INC (IX+d) INC (IY+d) |
(IX+d) (IX+d)+1(IY+d) (IY+d)+1
|
-128≦d≦127 | 23 | 3 | ||||||
| INC xr | xr xr+1
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| DEC r | r r-1
|
- | 4 | 1 | * | * | * | v | 1 | - |
| DEC (HL) | (HL) (HL)-1
|
11 | 1 | |||||||
| DEC (IX+d) DEC (IY+d) |
(IX+d) (IX+d)-1(IY+d) (IY+d)-1
|
-128≦d≦127 | 23 | 3 | ||||||
| DEC xr | xr xr-1
|
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| ADD HL,ss | HL HL+ss
|
ss=BC,DE,HL,SP | 11 | 1 | - | - | 注1 | - | 0 | * |
| ADC HL,ss | HL HL+ss+CY
|
ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 0 | * |
| SBC HL,ss | HL HL-ss-CY
|
ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 1 | * |
| ADD IX,pp | IX IX+pp
|
pp=BC,DE,SP,IX | 15 | 2 | - | - | 注1 | - | 0 | * |
| ADD IY,rr | IY IY+rr
|
rr=BC,DE,SP,IY | 15 | 2 | - | - | 注1 | - | 0 | * |
| INC ss | ss ss+1
|
- | 6 | 1 | - | - | - | - | - | - |
| INC IX INC IY |
IX IX+1IY IY+1
|
- | 10 | 2 | - | - | - | - | - | - |
| DEC ss | ss ss-1
|
- | 6 | 1 | - | - | - | - | - | - |
| DEC IX DEC IY |
IX IX+1IY IY-1
|
- | 10 | 2 | - | - | - | - | - | - |
|
注1: 上位バイトの加算について HF を反映する。 |
||||||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| DAA | 10進補正 | - | 4 | 1 | * | * | * | p | - | * |
| CPL | A /A
|
A=FFh-A 1の補数 |
4 | 1 | - | - | 1 | - | 1 | - |
| NEG | A /A+1
|
A=00h-A 2の補数 |
8 | 2 | * | * | * | v | 1 | * |
| CCF | CY /CY
|
CFを反転する。 | 4 | 1 | - | - | 注1 | - | 0 | * |
| SCF | CY 1
|
- | 4 | 1 | - | - | 0 | - | 0 | 1 |
|
注1: 命令実行前の CF が入る |
||||||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| NOP | No Operation | - | 4 | 1 | - | - | - | - | - | - |
| HALT | CPU halted | 4 | 1 | |||||||
| DI | IFF1,IFF2 0
|
4 | 1 | |||||||
| EI | IFF1,IFF2 1
|
4 | 1 | |||||||
| IM 0 | Interrupt mode 0 | - | 8 | 2 | ||||||
| IM 1 | Interrupt mode 1 | 割り込み発生時 $38番地にジャンプ |
8 | 2 | ||||||
| IM 2 | Interrupt mode 2 | Iレジスタを上位 割り込みベクタを 下位アドレスとする 番地から2byteを 読み出しジャンプ |
8 | 2 | ||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| RLCA | A
|
- | 4 | 1 | - | - | 0 | - | 0 | * |
| RLA | A
|
4 | 1 | |||||||
| RRCA | A
|
4 | 1 | |||||||
| RRA | A
|
4 | 1 | |||||||
| RLC r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| RLC (HL) | 15 | 2 | ||||||||
| RLC (IX+d) RLC (IY+d) |
23 | 4 | ||||||||
| RLC r,(IX+d) RLC r,(IY+d) |
![]() r (IX/Y+d)RLC r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| RL r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| RL (HL) | 15 | 2 | ||||||||
| RL (IX+d) RL (IY+d) |
23 | 4 | ||||||||
| RL r,(IX+d) RL r,(IY+d) |
![]() r (IX/Y+d)RL r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| RRC r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| RRC (HL) | 15 | 2 | ||||||||
| RRC (IX+d) RRC (IY+d) |
23 | 4 | ||||||||
| RRC r,(IX+d) RRC r,(IY+d) |
![]() r (IX/Y+d)RRC r (IX/Y) r
|
未定義命令 | 23 | 4 | ||||||
| RR r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| RR (HL) | 15 | 2 | ||||||||
| RR (IX+d) RR (IY+d) |
23 | 4 | ||||||||
| RR r,(IX+d) RR r,(IY+d) |
![]() r (IX/Y+d)RR r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| SLA r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| SLA (HL) | 15 | 2 | ||||||||
| SLA (IX+d) SLA (IY+d) |
23 | 4 | ||||||||
| SLA r,(IX+d) SLA r,(IY+d) |
![]() r (IX/Y+d)SLA r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| SLL r 別名 SLIA |
|
未定義命令 | 8 | 2 | * | * | 0 | p | 0 | * |
| SLL (HL) 別名 SLIA |
15 | 2 | ||||||||
| SLL r,(IX+d) SLL r,(IY+d) 別名 SLIA |
![]() r (IX/Y+d)SLL r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| SRA r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| SRA (HL) | 15 | 2 | ||||||||
| SRA (IX+d) SRA (IY+d) |
23 | 4 | ||||||||
| SRA r,(IX+d) SRA r,(IY+d) |
![]() r (IX/Y+d)SRA r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| SRL r |
|
- | 8 | 2 | * | * | 0 | p | 0 | * |
| SRL (HL) | 15 | 2 | ||||||||
| SRL (IX+d) SRL (IY+d) |
23 | 4 | ||||||||
| SRL r,(IX+d) SRL r,(IY+d) |
![]() r (IX/Y+d)SRL r (IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| RLD | A (HL)
|
- | 18 | 2 | * | * | 0 | p | 0 | - |
| RRD | A (HL) |
18 | 2 | |||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| JP nn | PC nn
|
- | 10 | 3 | - | - | - | - | - | - |
| JP cc,nn | If cc is true PC nnelse continue |
cc(nz,z,nc,c,po,pe,p,m) | 10 | 3 | ||||||
| JR e | PC PC+e
|
-128≦e≦127 | 12 | 2 | ||||||
| JR C,e | If C=0 continue If C=1 PC PC+e
|
7 if C=0 12 if C=1 -128≦e≦127 |
7/12 | 2 | ||||||
| JR NC,e | If C=1 continue If C=0 PC PC+e
|
7 if C=1 12 if C=0 -128≦e≦127 |
7/12 | 2 | ||||||
| JR Z,e | If Z=0 continue If Z=1 PC PC+e
|
7 if Z=0 12 if Z=1 -128≦e≦127 |
7/12 | 2 | ||||||
| JR NZ,e | If Z=1 continue If Z=0 PC PC+e
|
7 if Z=1 12 if Z=0 -128≦e≦127 |
7/12 | 2 | ||||||
| JP (HL) | PC HL
|
- | 4 | 1 | ||||||
| JP (IX) JP (IY) |
PC IXPC IY
|
- | 8 | 2 | ||||||
| DJNZ e | B B-1if B=0 continue if B≠0 PC PC+e
|
8 if B=0 13 if B≠0 -128≦e≦127 |
8/13 | 2 | ||||||
| CALL nn | (SP-1) PC(H)(SP-2) PC(L)SP SP-2PC nn
|
- | 17 | 3 | ||||||
| CALL cc,nn | if cc is true (SP-1) PC(H)(SP-2) PC(L)SP SP-2PC nn
|
cc(nz,z,nc,c,po,pe,p,m) 10 if cc is false 17 if cc is true |
10/17 | 3 | ||||||
| RET | PC(L) (SP)PC(H) (SP+1)SP SP+2
|
- | 10 | 1 | ||||||
| RET cc | if cc is true PC(L) (SP)PC(H) (SP+1)SP SP+2
|
cc(nz,z,nc,c,po,pe,p,m) 5 if cc is false 11 if cc is true |
5/11 | 1 | ||||||
| RETI | Return from interrupt PC(L) (SP)PC(H) (SP+1)SP SP+2
|
IFF1 IFF2 |
14 | 2 | ||||||
| RETN | Return from non maskable interrupt PC(L) (SP)PC(H) (SP+1)SP SP+2
|
IFF1 IFF2 |
14 | 2 | ||||||
| RST p | (SP-1) PC(H)(SP-2) PC(L)SP SP-2PC(H) 0PC(L) p
|
p=00h,08h,10h,18h 20h,28h,30h,38h |
11 | 1 | ||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| IN A,(n) | A (n)
|
A0-7 nA8-15 A |
11 | 2 | - | - | - | - | - | - |
| IN r,(C) | r (C)
|
A0-7 CA8-15 B |
12 | 2 | * | * | 0 | p | 0 | - |
| IN F,(C) 別名 IN (C) |
F (C)
|
I/O ポートから読んだ 内容はどこにも格納 されず、結果のフラグ のみ変化する |
12 | 2 | ||||||
| INI | (HL) (C)B B-1HL HL+1
|
A0-7 CA8-15 BB-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注1 | 注2 | 注5 | 注1 |
| INIR | (HL) (C)B B-1HL HL+1until B=0 |
A0-7 CA8-15 B21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注1 | 注2 | 注5 | 注1 |
| IND | (HL) (C)B B-1HL HL-1
|
A0-7 CA8-15 BB-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注3 | 注4 | 注5 | 注1 |
| INDR | (HL) (C)B B-1HL HL-1until B=0 |
A0-7 CA8-15 B21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注3 | 注4 | 注5 | 注1 |
| OUT (n),A | (n) A
|
A0-7 nA8-15 B |
11 | 2 | - | - | - | - | - | - |
| OUT (C),0 | (C) 0CMOS版では (C) $FF |
A0-7 CA8-15 B |
12 | 2 | - | - | - | - | - | - |
| OUT (C),r | (C) r
|
A0-7 CA8-15 B |
12 | 2 | - | - | - | - | - | - |
| OUTI | B B-1(C) (HL)HL HL+1
|
A0-7 CA8-15 BB-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
| OTIR | B B-1(C) (HL)HL HL+1until B=0 |
A0-7 CA8-15 B21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注6 | 注7 | 注5 | 注6 |
| OUTD | B B-1(C) (HL)HL HL-1
|
A0-7 CA8-15 BB-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
| OTDR | B B-1(C) (HL)HL HL-1until B=0 |
A0-7 CA8-15 B21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注6 | 注7 | 注5 | 注6 |
| 以下 I/O ポートに書き込む値または読み込む値を n とする。 注1: (n + (C + 1)) > 255 の時フラグはセットされる。ただし C + 1 は 0-255 の範囲内。 注2: ((n + (C + 1)) & 7) xor B の結果のパリティが反映される。偶数=1 奇数=0。 注3: (n + (C - 1)) > 255 の時フラグはセットされる。ただし C - 1 は 0-255 の範囲内。 注4: ((n + (C - 1)) & 7) xor B の結果のパリティが反映される。偶数=1 奇数=0。 注5: n の bit7 が反映される。 注6: (n + L) > 255 の時フラグはセットされる。この L はインクリメント/デクリメント後の L(以下同)。 注7: ((n + L) & 7) xor B の結果のパリティが反映される。偶数=1 奇数=0。 |
||||||||||
| LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
| ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
| S | Z | H | P/V | N | C | |||||
| BIT b,r | Z /rb
|
- | 8 | 2 | 注1 | * | 1 | 注2 | 0 | - |
| BIT b,(HL) | Z /(HL)b
|
12 | 2 | |||||||
| BIT b,(IX+d) BIT b,(IY+d) |
Z /(IX+d)bZ /(IY+d)b
|
20 | 4 | |||||||
| SET b,r | rb 1
|
- | 8 | 2 | - | - | - | - | - | - |
| SET b,(HL) | (HL)b 1
|
15 | 2 | |||||||
| SET b,(IX+d) SET b,(IY+d) |
(IX+d)b 1(IY+d)b 1
|
23 | 4 | |||||||
| SET r,b,(IX+d) SET r,b,(IY+d) |
r (IX/Y+d)rb 1(IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
| RES b,r | rb 0
|
- | 8 | 2 | - | - | - | - | - | - |
| RES b,(HL) | (HL)b 0
|
15 | 2 | |||||||
| RES b,(IX+d) RES b,(IY+d) |
(IX+d)b 0(IY+d)b 0
|
23 | 4 | |||||||
| RES r,b,(IX+d) RES r,b,(IY+d) |
r (IX/Y+d)rb 0(IX/Y+d) r
|
未定義命令 | 23 | 4 | ||||||
|
注1: 命令が bit 7,xxx かつ対象の bit7 が 1 ならフラグが立つ。 注2: ZF と同じ動作をする。 |
||||||||||