▼ フラグの意味 |
|
---|---|
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 ![]() |
- | 4 | 1 | - | - | - | - | - | - |
LD r,n | r ![]() |
7 | 2 | |||||||
LD r,(HL) | r ![]() |
7 | 1 | |||||||
LD r,(IX+d) LD r,(IY+d) |
r ![]() r ![]() |
-128≦d≦127 | 19 | 3 | ||||||
LD (HL),r | (HL) ![]() |
- | 7 | 1 | ||||||
LD (IX+d),r LD (IY+d),r |
(IX+d) ![]() (IY+d) ![]() |
-128≦d≦127 | 19 | 3 | ||||||
LD (HL),n | (HL) ![]() |
- | 10 | 2 | ||||||
LD (IX+d),n LD (IY+d),n |
(IX+d) ![]() (IY+d) ![]() |
-128≦d≦127 | 19 | 4 | ||||||
LD A,(BC) LD A,(DE) |
A ![]() A ![]() |
- | 7 | 1 | ||||||
LD A,(nn) | A ![]() |
13 | 3 | |||||||
LD (BC),A LD (DE),A |
(BC) ![]() (DE) ![]() |
7 | 1 | |||||||
LD (nn),A | (nn) ![]() |
13 | 3 | |||||||
LD A,I | A ![]() |
9 | 2 | * | * | 0 | IFF2 | 0 | - | |
LD A,R | A ![]() |
9 | 2 | * | * | 0 | IFF2 | 0 | - | |
LD I,A | I ![]() |
9 | 2 | - | - | - | - | - | - | |
LD R,A | R ![]() |
9 | 2 | |||||||
LD xr,n | xr ![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
11 | 3 | - | - | - | - | - | - |
LD xr,r | xr ![]() |
未定義命令 xr=IXH,IYH,IXL,IYL r=A,B,C,D,E |
8 | 2 | - | - | - | - | - | - |
LD r,xr | r ![]() |
未定義命令 r=A,B,C,D,E xr=IXH,IYH,IXL,IYL |
8 | 2 | - | - | - | - | - | - |
LD IXH,xr LD IXL,xr |
IXH ![]() IXL ![]() |
未定義命令 xr=IXH,IXL |
8 | 2 | - | - | - | - | - | - |
LD IYH,xr LD IYL,xr |
IYH ![]() IYL ![]() |
未定義命令 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 ![]() |
dd=BC,DE,HL,SP | 10 | 3 | - | - | - | - | - | - |
LD IX,nn LD IY,nn |
IX ![]() IY ![]() |
- | 14 | 4 | ||||||
LD HL,(nn) | H ![]() L ![]() |
16 | 3 | |||||||
LD dd,(nn) | dd(H) ![]() dd(L) ![]() |
dd=BC,DE,HL,SP | 20 | 4 | ||||||
LD IX,(nn) LD IY,(nn) |
IX(H) ![]() IX(L) ![]() IY(H) ![]() IY(L) ![]() |
- | 20 | 4 | ||||||
LD (nn),HL | (nn+1) ![]() (nn) ![]() |
16 | 3 | |||||||
LD (nn),dd | (nn+1) ![]() (nn) ![]() |
dd=BC,DE,HL,SP | 20 | 4 | ||||||
LD (nn),IX LD (nn),IY |
(nn+1) ![]() (nn) ![]() (nn+1) ![]() (nn) ![]() |
- | 20 | 4 | ||||||
LD SP,HL | SP ![]() |
6 | 1 | |||||||
LD SP,IX LD SP,IY |
SP ![]() SP ![]() |
10 | 2 | |||||||
PUSH ss | (SP-2) ![]() (SP-1) ![]() SP ![]() |
ss=BC,DE,HL,AF | 11 | 1 | ||||||
PUSH IX PUSH IY |
(SP-2) ![]() (SP-1) ![]() SP ![]() (SP-2) ![]() (SP-1) ![]() SP ![]() |
- | 15 | 2 | ||||||
POP ss | ss(H) ![]() ss(L) ![]() SP ![]() |
ss=BC,DE,HL,AF | 10 | 1 | ||||||
POP IX POP IY |
IX(H) ![]() IX(L) ![]() SP ![]() IY(H) ![]() IY(L) ![]() SP ![]() |
- | 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 ![]() |
- | 4 | 1 | - | - | - | - | - | - |
EX AF,AF' | AF ![]() |
4 | 1 | |||||||
EXX | BC ![]() DE ![]() HL ![]() |
4 | 1 | |||||||
EX (SP),HL | H ![]() L ![]() |
19 | 1 | |||||||
EX (SP),IX EX (SP),IY |
IX(H) ![]() IX(L) ![]() IY(H) ![]() IY(L) ![]() |
23 | 2 | |||||||
LD8 LD16 EXX LDIR CPIR ADD8 ADD16 CPL NOP RLCA JP IO BIT | ||||||||||
ニモニック | オペレーション | 備考 | ステート | バイト | フラグ | |||||
S | Z | H | P/V | N | C | |||||
LDI | (DE) ![]() DE ![]() HL ![]() BC ![]() |
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
LDIR | (DE) ![]() DE ![]() HL ![]() BC ![]() until BC=0 |
BC≠0なら21 BC=0なら16 完了後P/V=0 |
21/16 | 2 | - | - | 0 | * | 0 | - |
LDD | (DE) ![]() DE ![]() HL ![]() BC ![]() |
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
LDDR | (DE) ![]() DE ![]() HL ![]() BC ![]() until 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 ![]() BC ![]() |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
CPIR | A-(HL) HL ![]() BC ![]() until 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 ![]() BC ![]() |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
CPDR | A-(HL) HL ![]() BC ![]() until 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![]() |
- | 4 | 1 | * | * | * | v | 0 | * |
ADD A,n | A![]() |
7 | 2 | |||||||
ADD A,(HL) | A![]() |
7 | 1 | |||||||
ADD A,(IX+d) ADD A,(IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
ADC A,r | A![]() |
- | 4 | 1 | ||||||
ADC A,n | A![]() |
7 | 2 | |||||||
ADC A,(HL) | A![]() |
7 | 1 | |||||||
ADC A,(IX+d) ADC A,(IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
ADD A,xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
ADC A,xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
SUB r | A![]() |
- | 4 | 1 | * | * | * | v | 1 | * |
SUB n | A![]() |
7 | 2 | |||||||
SUB (HL) | A![]() |
7 | 1 | |||||||
SUB (IX+d) SUB (IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
SBC A,r | A![]() |
- | 4 | 1 | ||||||
SBC A,n | A![]() |
7 | 2 | |||||||
SBC A,(HL) | A![]() |
7 | 1 | |||||||
SBC A,(IX+d) SBC A,(IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
SUB A,xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
SBC A,xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
AND r | A![]() |
- | 4 | 1 | * | * | 1 | p | 0 | 0 |
AND n | A![]() |
7 | 2 | |||||||
AND (HL) | A![]() |
7 | 1 | |||||||
AND (IX+d) AND (IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
AND xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
OR r | A![]() |
- | 4 | 1 | * | * | 0 | p | 0 | 0 |
OR n | A![]() |
7 | 2 | |||||||
OR (HL) | A![]() |
7 | 1 | |||||||
OR (IX+d) OR (IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
or xr | A![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
XOR r | A![]() |
- | 4 | 1 | * | * | 0 | p | 0 | 0 |
XOR n | A![]() |
7 | 2 | |||||||
XOR (HL) | A![]() |
7 | 1 | |||||||
XOR (IX+d) XOR (IY+d) |
A![]() A ![]() |
-128≦d≦127 | 19 | 3 | ||||||
xor xr | 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![]() |
- | 4 | 1 | * | * | * | v | 0 | - |
INC (HL) | (HL)![]() |
11 | 1 | |||||||
INC (IX+d) INC (IY+d) |
(IX+d)![]() (IY+d) ![]() |
-128≦d≦127 | 23 | 3 | ||||||
INC xr | xr![]() |
未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
DEC r | r![]() |
- | 4 | 1 | * | * | * | v | 1 | - |
DEC (HL) | (HL)![]() |
11 | 1 | |||||||
DEC (IX+d) DEC (IY+d) |
(IX+d)![]() (IY+d) ![]() |
-128≦d≦127 | 23 | 3 | ||||||
DEC xr | xr![]() |
未定義命令 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![]() |
ss=BC,DE,HL,SP | 11 | 1 | - | - | 注1 | - | 0 | * |
ADC HL,ss | HL![]() |
ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 0 | * |
SBC HL,ss | HL![]() |
ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 1 | * |
ADD IX,pp | IX![]() |
pp=BC,DE,SP,IX | 15 | 2 | - | - | 注1 | - | 0 | * |
ADD IY,rr | IY![]() |
rr=BC,DE,SP,IY | 15 | 2 | - | - | 注1 | - | 0 | * |
INC ss | ss![]() |
- | 6 | 1 | - | - | - | - | - | - |
INC IX INC IY |
IX![]() IY ![]() |
- | 10 | 2 | - | - | - | - | - | - |
DEC ss | ss![]() |
- | 6 | 1 | - | - | - | - | - | - |
DEC IX DEC IY |
IX![]() IY ![]() |
- | 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=FFh-A 1の補数 |
4 | 1 | - | - | 1 | - | 1 | - |
NEG | A![]() |
A=00h-A 2の補数 |
8 | 2 | * | * | * | v | 1 | * |
CCF | CY![]() |
CFを反転する。 | 4 | 1 | - | - | 注1 | - | 0 | * |
SCF | CY![]() |
- | 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![]() |
4 | 1 | |||||||
EI | IFF1,IFF2![]() |
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 | ![]() |
- | 4 | 1 | - | - | 0 | - | 0 | * |
RLA | ![]() |
4 | 1 | |||||||
RRCA | ![]() |
4 | 1 | |||||||
RRA | ![]() |
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 ![]() RLC r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() RL r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() RRC r (IX/Y) ![]() |
未定義命令 | 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 ![]() RR r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() SLA r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() SLL r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() SRA r (IX/Y+d) ![]() |
未定義命令 | 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 ![]() SRL r (IX/Y+d) ![]() |
未定義命令 | 23 | 4 | ||||||
RLD | A![]() |
- | 18 | 2 | * | * | 0 | p | 0 | - |
RRD | A![]() |
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![]() |
- | 10 | 3 | - | - | - | - | - | - |
JP cc,nn | If cc is true PC![]() else continue |
cc(nz,z,nc,c,po,pe,p,m) | 10 | 3 | ||||||
JR e | PC![]() |
-128≦e≦127 | 12 | 2 | ||||||
JR C,e | If C=0 continue If C=1 PC ![]() |
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 ![]() |
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 ![]() |
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 ![]() |
7 if Z=1 12 if Z=0 -128≦e≦127 |
7/12 | 2 | ||||||
JP (HL) | PC![]() |
- | 4 | 1 | ||||||
JP (IX) JP (IY) |
PC![]() PC ![]() |
- | 8 | 2 | ||||||
DJNZ e | B![]() if B=0 continue if B≠0 PC ![]() |
8 if B=0 13 if B≠0 -128≦e≦127 |
8/13 | 2 | ||||||
CALL nn | (SP-1)![]() (SP-2) ![]() SP ![]() PC ![]() |
- | 17 | 3 | ||||||
CALL cc,nn | if cc is true (SP-1) ![]() (SP-2) ![]() SP ![]() PC ![]() |
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)![]() PC(H) ![]() SP ![]() |
- | 10 | 1 | ||||||
RET cc | if cc is true PC(L) ![]() PC(H) ![]() SP ![]() |
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) ![]() PC(H) ![]() SP ![]() |
IFF1![]() |
14 | 2 | ||||||
RETN | Return from non maskable interrupt PC(L) ![]() PC(H) ![]() SP ![]() |
IFF1![]() |
14 | 2 | ||||||
RST p | (SP-1)![]() (SP-2) ![]() SP ![]() PC(H) ![]() PC(L) ![]() |
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![]() |
A0-7![]() A8-15 ![]() |
11 | 2 | - | - | - | - | - | - |
IN r,(C) | r![]() |
A0-7![]() A8-15 ![]() |
12 | 2 | * | * | 0 | p | 0 | - |
IN F,(C) 別名 IN (C) |
F![]() |
I/O ポートから読んだ 内容はどこにも格納 されず、結果のフラグ のみ変化する |
12 | 2 | ||||||
INI | (HL)![]() B ![]() HL ![]() |
A0-7![]() A8-15 ![]() B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注1 | 注2 | 注5 | 注1 |
INIR | (HL)![]() B ![]() HL ![]() until B=0 |
A0-7![]() A8-15 ![]() 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注1 | 注2 | 注5 | 注1 |
IND | (HL)![]() B ![]() HL ![]() |
A0-7![]() A8-15 ![]() B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注3 | 注4 | 注5 | 注1 |
INDR | (HL)![]() B ![]() HL ![]() until B=0 |
A0-7![]() A8-15 ![]() 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注3 | 注4 | 注5 | 注1 |
OUT (n),A | (n)![]() |
A0-7![]() A8-15 ![]() |
11 | 2 | - | - | - | - | - | - |
OUT (C),0 | (C)![]() CMOS版では (C) ![]() |
A0-7![]() A8-15 ![]() |
12 | 2 | - | - | - | - | - | - |
OUT (C),r | (C)![]() |
A0-7![]() A8-15 ![]() |
12 | 2 | - | - | - | - | - | - |
OUTI | B![]() (C) ![]() HL ![]() |
A0-7![]() A8-15 ![]() B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
OTIR | B![]() (C) ![]() HL ![]() until B=0 |
A0-7![]() A8-15 ![]() 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注6 | 注7 | 注5 | 注6 |
OUTD | B![]() (C) ![]() HL ![]() |
A0-7![]() A8-15 ![]() B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
OTDR | B![]() (C) ![]() HL ![]() until B=0 |
A0-7![]() A8-15 ![]() 21 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![]() |
- | 8 | 2 | 注1 | * | 1 | 注2 | 0 | - |
BIT b,(HL) | Z![]() |
12 | 2 | |||||||
BIT b,(IX+d) BIT b,(IY+d) |
Z![]() Z ![]() |
20 | 4 | |||||||
SET b,r | rb![]() |
- | 8 | 2 | - | - | - | - | - | - |
SET b,(HL) | (HL)b![]() |
15 | 2 | |||||||
SET b,(IX+d) SET b,(IY+d) |
(IX+d)b![]() (IY+d)b ![]() |
23 | 4 | |||||||
SET r,b,(IX+d) SET r,b,(IY+d) |
r![]() rb ![]() (IX/Y+d) ![]() |
未定義命令 | 23 | 4 | ||||||
RES b,r | rb![]() |
- | 8 | 2 | - | - | - | - | - | - |
RES b,(HL) | (HL)b![]() |
15 | 2 | |||||||
RES b,(IX+d) RES b,(IY+d) |
(IX+d)b![]() (IY+d)b ![]() |
23 | 4 | |||||||
RES r,b,(IX+d) RES r,b,(IY+d) |
r![]() rb ![]() (IX/Y+d) ![]() |
未定義命令 | 23 | 4 | ||||||
注1: 命令が bit 7,xxx かつ対象の bit7 が 1 ならフラグが立つ。 注2: ZF と同じ動作をする。 |