▼ フラグの意味 |
|
---|---|
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 xr IXL xr |
未定義命令 xr=IXH,IXL |
8 | 2 | - | - | - | - | - | - |
LD IYH,xr LD IYL,xr |
IYH xr IYL 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
nn IY 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
IX SP 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+2 IY(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) DEDE+1 HLHL+1 BCBC-1 |
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
LDIR | (DE)
(HL) DEDE+1 HLHL+1 BCBC-1 until BC=0 |
BC≠0なら21 BC=0なら16 完了後P/V=0 |
21/16 | 2 | - | - | 0 | * | 0 | - |
LDD | (DE)
(HL) DEDE-1 HLHL-1 BCBC-1 |
BC-1=0 なら P/V=0 その他 P/V=1 |
16 | 2 | - | - | 0 | * | 0 | - |
LDDR | (DE)
(HL) DEDE-1 HLHL-1 BCBC-1 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) HLHL+1 BCBC-1 |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
CPIR | A-(HL) HLHL+1 BCBC-1 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) HLHL-1 BCBC-1 |
BC-1=0 なら P/V=0 その他 P/V=1 A-(HL)の結果が SF,ZF,HFに反映 |
16 | 2 | * | * | * | * | 1 | - |
CPDR | A-(HL) HLHL-1 BCBC-1 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 | AA+r | - | 4 | 1 | * | * | * | v | 0 | * |
ADD A,n | AA+n | 7 | 2 | |||||||
ADD A,(HL) | AA+(HL) | 7 | 1 | |||||||
ADD A,(IX+d) ADD A,(IY+d) |
AA+(IX+d) AA+(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
ADC A,r | AA+r+CY | - | 4 | 1 | ||||||
ADC A,n | AA+n+CY | 7 | 2 | |||||||
ADC A,(HL) | AA+(HL)+CY | 7 | 1 | |||||||
ADC A,(IX+d) ADC A,(IY+d) |
AA+(IX+d)+CY AA+(IY+d)+CY |
-128≦d≦127 | 19 | 3 | ||||||
ADD A,xr | AA+xr | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
ADC A,xr | AA+xr+CY | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
SUB r | AA-r | - | 4 | 1 | * | * | * | v | 1 | * |
SUB n | AA-n | 7 | 2 | |||||||
SUB (HL) | AA-(HL) | 7 | 1 | |||||||
SUB (IX+d) SUB (IY+d) |
AA-(IX+d) AA-(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
SBC A,r | AA-r-CY | - | 4 | 1 | ||||||
SBC A,n | AA-n-CY | 7 | 2 | |||||||
SBC A,(HL) | AA-(HL)-CY | 7 | 1 | |||||||
SBC A,(IX+d) SBC A,(IY+d) |
AA-(IX+d)-CY AA-(IY+d)-CY |
-128≦d≦127 | 19 | 3 | ||||||
SUB A,xr | AA-xr | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
SBC A,xr | AA-xr-CY | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
AND r | AA∧r | - | 4 | 1 | * | * | 1 | p | 0 | 0 |
AND n | AA∧n | 7 | 2 | |||||||
AND (HL) | AA∧(HL) | 7 | 1 | |||||||
AND (IX+d) AND (IY+d) |
AA∧(IX+d) AA∧(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
AND xr | AA∧xr | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
OR r | AA∨r | - | 4 | 1 | * | * | 0 | p | 0 | 0 |
OR n | AA∨n | 7 | 2 | |||||||
OR (HL) | AA∨(HL) | 7 | 1 | |||||||
OR (IX+d) OR (IY+d) |
AA∨(IX+d) AA∨(IY+d) |
-128≦d≦127 | 19 | 3 | ||||||
or xr | AA∨xr | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
XOR r | AA |
- | 4 | 1 | * | * | 0 | p | 0 | 0 |
XOR n | AA |
7 | 2 | |||||||
XOR (HL) | AA |
7 | 1 | |||||||
XOR (IX+d) XOR (IY+d) |
AA AA |
-128≦d≦127 | 19 | 3 | ||||||
xor xr | AA |
未定義命令 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 | rr+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 | xrxr+1 | 未定義命令 xr=IXH,IYH,IXL,IYL |
8 | 2 | ||||||
DEC r | rr-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 | xrxr-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 | HLHL+ss | ss=BC,DE,HL,SP | 11 | 1 | - | - | 注1 | - | 0 | * |
ADC HL,ss | HLHL+ss+CY | ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 0 | * |
SBC HL,ss | HLHL-ss-CY | ss=BC,DE,HL,SP | 15 | 2 | * | * | 注1 | v | 1 | * |
ADD IX,pp | IXIX+pp | pp=BC,DE,SP,IX | 15 | 2 | - | - | 注1 | - | 0 | * |
ADD IY,rr | IYIY+rr | rr=BC,DE,SP,IY | 15 | 2 | - | - | 注1 | - | 0 | * |
INC ss | ssss+1 | - | 6 | 1 | - | - | - | - | - | - |
INC IX INC IY |
IXIX+1 IYIY+1 |
- | 10 | 2 | - | - | - | - | - | - |
DEC ss | ssss-1 | - | 6 | 1 | - | - | - | - | - | - |
DEC IX DEC IY |
IXIX+1 IYIY-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 | CY1 | - | 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,IFF20 | 4 | 1 | |||||||
EI | IFF1,IFF21 | 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 | PCnn | - | 10 | 3 | - | - | - | - | - | - |
JP cc,nn | If cc is true PCnn else continue |
cc(nz,z,nc,c,po,pe,p,m) | 10 | 3 | ||||||
JR e | PCPC+e | -128≦e≦127 | 12 | 2 | ||||||
JR C,e | If C=0 continue If C=1 PCPC+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 PCPC+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 PCPC+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 PCPC+e |
7 if Z=1 12 if Z=0 -128≦e≦127 |
7/12 | 2 | ||||||
JP (HL) | PCHL | - | 4 | 1 | ||||||
JP (IX) JP (IY) |
PCIX PCIY |
- | 8 | 2 | ||||||
DJNZ e | BB-1 if B=0 continue if B≠0 PCPC+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) SPSP-2 PCnn |
- | 17 | 3 | ||||||
CALL cc,nn | if cc is true (SP-1)PC(H) (SP-2)PC(L) SPSP-2 PCnn |
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) SPSP+2 |
- | 10 | 1 | ||||||
RET cc | if cc is true PC(L)(SP) PC(H)(SP+1) SPSP+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) SPSP+2 |
IFF1IFF2 | 14 | 2 | ||||||
RETN | Return from non maskable interrupt PC(L)(SP) PC(H)(SP+1) SPSP+2 |
IFF1IFF2 | 14 | 2 | ||||||
RST p | (SP-1)PC(H) (SP-2)PC(L) SPSP-2 PC(H)0 PC(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-7n A8-15A |
11 | 2 | - | - | - | - | - | - |
IN r,(C) | r(C) | A0-7C A8-15B |
12 | 2 | * | * | 0 | p | 0 | - |
IN F,(C) 別名 IN (C) |
F(C) | I/O ポートから読んだ 内容はどこにも格納 されず、結果のフラグ のみ変化する |
12 | 2 | ||||||
INI | (HL)(C) BB-1 HLHL+1 |
A0-7C A8-15B B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注1 | 注2 | 注5 | 注1 |
INIR | (HL)(C) BB-1 HLHL+1 until B=0 |
A0-7C A8-15B 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注1 | 注2 | 注5 | 注1 |
IND | (HL)(C) BB-1 HLHL-1 |
A0-7C A8-15B B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注3 | 注4 | 注5 | 注1 |
INDR | (HL)(C) BB-1 HLHL-1 until B=0 |
A0-7C A8-15B 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注3 | 注4 | 注5 | 注1 |
OUT (n),A | (n)A | A0-7n A8-15B |
11 | 2 | - | - | - | - | - | - |
OUT (C),0 | (C)0 CMOS版では (C)$FF |
A0-7C A8-15B |
12 | 2 | - | - | - | - | - | - |
OUT (C),r | (C)r | A0-7C A8-15B |
12 | 2 | - | - | - | - | - | - |
OUTI | BB-1 (C)(HL) HLHL+1 |
A0-7C A8-15B B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
OTIR | BB-1 (C)(HL) HLHL+1 until B=0 |
A0-7C A8-15B 21 if B≠0 16 if B=0 |
21/16 | 2 | 0 | 1 | 注6 | 注7 | 注5 | 注6 |
OUTD | BB-1 (C)(HL) HLHL-1 |
A0-7C A8-15B B-1=0ならZ=1 その他Z=0 |
16 | 2 | * | * | 注6 | 注7 | 注5 | 注6 |
OTDR | BB-1 (C)(HL) HLHL-1 until B=0 |
A0-7C A8-15B 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/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)b Z/(IY+d)b |
20 | 4 | |||||||
SET b,r | rb1 | - | 8 | 2 | - | - | - | - | - | - |
SET b,(HL) | (HL)b1 | 15 | 2 | |||||||
SET b,(IX+d) SET b,(IY+d) |
(IX+d)b1 (IY+d)b1 |
23 | 4 | |||||||
SET r,b,(IX+d) SET r,b,(IY+d) |
r(IX/Y+d) rb1 (IX/Y+d)r |
未定義命令 | 23 | 4 | ||||||
RES b,r | rb0 | - | 8 | 2 | - | - | - | - | - | - |
RES b,(HL) | (HL)b0 | 15 | 2 | |||||||
RES b,(IX+d) RES b,(IY+d) |
(IX+d)b0 (IY+d)b0 |
23 | 4 | |||||||
RES r,b,(IX+d) RES r,b,(IY+d) |
r(IX/Y+d) rb0 (IX/Y+d)r |
未定義命令 | 23 | 4 | ||||||
注1: 命令が bit 7,xxx かつ対象の bit7 が 1 ならフラグが立つ。 注2: ZF と同じ動作をする。 |