R800の命令表

凡例
A{7}レジスターAの最上位ビット
A{4..7}レジスターAのビット4-7
;動作の区切り
DE:HL上位16ビットがDE、下位16ビットがHLにはいる、32ビット整数
(IX+d)IXに8ビットの符号つき変位を足した値が示すアドレス
Cキャリーフラグ
Zゼロフラグ
P/Vパリティー・オーバーフローフラグ
Sサインフラグ
N減算フラグ
Hハーフキャリーフラグ
フラグは変化無しません
フラグは結果が反映されます
0フラグは0
1フラグは1
?不定になる
Vオーバーフローフラグとして使われます
Pパリティーフラグとして使われます
IFF割り込みフリップフロップの値が入ります
r,r'8ビットレジスター、A,B,C,D,E,H,L
u,u'8ビットレジスター、A,B,C,D,E,IXH,IXL
v,v'8ビットレジスター、A,B,C,D,E,IYH,IYL
p8ビットレジスター、IXH,IXL
q8ビットレジスター、IYH,IYL
ss16ビットレジスター、BC,DE,HL,SP
pp16ビットレジスター、BC,DE,IX,SP
rr16ビットレジスター、BC,DE,IY,SP
qq16ビットレジスター、BC,DE,HL,AF
ejr系の命令の飛び先アドレスへの差分、8ビットの符号つき即値(+127~-128)
kRST命令の飛び先アドレス、00h,08h,10h,18h,20h,28h,30h,38h
nn16ビットの即値、もしくは絶対アドレス
n8ビットの即値
bビット演算命令の第何ビットかを示す値
NOTビットを反転します
ビットのORをとります
ビットのXORをとります
ビットのANDをとります
tmp一時的に値を退避します
B命令のバイト数
C命令の実行に必要な最小クロック数

 分岐命令、コール命令でクロック数が2つかいてあるものは
上が条件が成立しない時、下が条件が成立したときです
 入出力命令でクロック数が2つかいてあるものは
上がまだ転送がおわらない時、下が転送がおわった時です
ニーモニックはZilog表記に変更しています
A.1 8ビット移動命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
LD r,r'r←r'01rr'11
LD r,nr←n00r11022
n
LD r,(HL)r←(HL)11011101FD35
01r110
d
LD r,(IX+d)r←(IX+d)11011101DD35
01r110
d
LD r,(IY+d)r←(IY+d)11111101FD35
01r110
d
LD (HL),r(HL)←r01110r12
LD (IX+d),r(IX+d)←r11011101DD35
01110r
d
LD (IY+d),r(IY+d)←r11111101FD35
01110r
d
LD u,u'u←u'11011101DD33
01uu'
LD v,v'v←v'11111101FD33
01vv'
LD u,nu←n11011101DD33
00u110
n
LD v,nv←n11111101FD33
00v110
n
LD (HL),n(HL)←A001101103623
n
LD (IX+d),n(IX+d)←n11011101DD
36
45
00110110
d
n
LD (IX+d),n(IX+d)←n11011101DD
36
45
00110110
d
n
LD A,IA←I0IFF011101101ED
57
22
01010111
LD A,RA←R0IFF011101101ED
5F
22
01011111
LD I,AI←A11101101ED
47
22
01000111
LD R,AR←A11101101ED
4F
22
01000111
LD A,(BC)A←(BC)000010100A12
LD A,(DE)A←(DE)000110101A12
LD A,(nn)A←(nn)001110103A34
nnl
nnh
LD (BC),A(BC)←A000000100212
LD (DE),A(DE)←A000100101212
LD (nn),A(nn)←A001100103234
nnl
nnh
 
 000001010011100101110111
rBCDEHL A
uBCDEIXHIYH A
vBCDEIYHIYL A
 
A.2 16ビット移動命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
LD ss,nnss←nn00ss000133
nnl
nnh
LD IX,nnIX←nn11011101DD
21
44
00100001
nnl
nnh
LD IY,nnIY←nn11111101FD
21
44
00100001
nnl
nnh
LD sp,HLsp←HL11111001F911
LD sp,IXsp←IX11011101DD
F9
22
11111011
LD sp,IYsp←IY11111101FD
F9
22
11111011
LD ss,(nn)ssh←(nn+1)
ssl←(nn)
11101101ED46
01ss1011
nnl
nnh
LD HL,(nn)H←(nn+1)
L←(nn)
001010102A35
nnl
nnh
LD IX,(nn)IXH←(nn+1)
IXL←(nn)
11011101DD
2A
46
00101010
nnl
nnh
LD IY,(nn)IYH←(nn+1)
IYL←(nn)
11111101FD
2A
46
00101010
nnl
nnh
LD (nn),ss(nn+1)←ssh
(nn)←ssl
11101101ED46
01ss0011
nnl
nnh
LD (nn),HL(nn+1)←H
(nn)←L
001000102A35
nnl
nnh
LD (nn),IX(nn+1)←IXH
(nn)←IXL
11011101DD
2A
35
00100010
nnl
nnh
LD (nn),IY(nn+1)←IYH
(nn)←IYL
11111101FD
2A
35
00100010
nnl
nnh
 
 00011011
ssBCDEHLSP
 
A.3 交換命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
EX DE,HLDE←→HL11101011EB11
EX AF,AF'AF←→AF'000010000811
EX (sp),HLL←→(sp);H←→(sp+1)11100011E315
EX (sp),IXIXL←→(sp);IXH←→(sp+1)11011101DD
E3
26
11100011
EX (sp),IYIYL←→(sp);IYH←→(sp+1)11111101FD
E3
26
11100011
EXXBC←→BC';DE←→DE';HL←→HL'11011001D911
 
A.4 スタック操作命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
PUSH qq(sp-2)←qql;(sp-1)←qqh
sp←sp-2
11qq010114
PUSH IX(sp-2)←IXL;(sp-1)←IXH
sp←sp-2
11011101DD
E5
25
11100101
PUSH IY(sp-2)←IYL;(sp-1)←IYH
sp←sp-2
11111101FD
E5
25
11100101
POP qqqql←(sp);qqh←(sp+1)
sp←sp+2
11qq000113
POP IXIXL←(sp);IXH←(sp+1)
sp←sp+2
11011101DD
E1
24
11100001
POP IYIYL←(sp);IYH←(sp+1)
sp←sp+2
11011101DD
E1
24
11100001
 
 00011011
qqBCDEHLAF
POP AFの時はflagsはすべて変化します
 
A.5 ブロック転送命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
LDI(DE)←(HL);DE←DE+1
HL←HL+1;BC←BC-1
0
*1
011101101ED
A0
24
10100000
LDD(DE)←(HL);DE←DE-1
HL←HL-1;BC←BC-1
0
*1
011101101ED
A8
24
10101000
LDIRrepeat;(DE)←(HL);DE←DE+1
HL←HL+1;BC←BC-1;until BC=0
00011101101ED
B0
24
10110000
LDDRrepeat;(DE)←(HL);DE←DE-1
HL←HL+-;BC←BC-1;until BC=0
00011101101ED
B8
24
10111000
*1 (減算後の)BC=0のとき0、その他1
 
A.6 ブロックサーチ命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
CPIA-[HL];HL←HL+1
BC←BC-1

*2

*1
111101101ED
A1
24
11100001
CPDA-(HL);HL←HL-1
BC←BC-1

*2

*1
111101101ED
A9
24
10101001
CPIRrepeat;A-(HL);HL←HL+1
BC←BC-1;until BC=0 OR A=(HL)

*2

*1
111101101ED
B1
25
10110001
CPDRrepeat;A-(HL);HL←HL-1
BC←BC-1;until BC=0 OR A=(HL)

*2

*1
111101101ED
B0
25
10111001
*1 (減算後の)BC=0のとき0、その他1
*2 A=(HL)のとき1、その他0
 
A.8 加算命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
ADD A,rA←A+rv010000r11
ADD A,pA←A+pv011011101DD22
10000p
ADD A,qA←A+qv011111101FD22
10000q
ADD A,(HL)A←A+(HL)v0100001108612
ADD A,(IX+d)A←A+(IX+d)v011011101DD
86
35
10000110
d
ADD A,(IY+d)A←A+(IY+d)v011111101FD
86
35
10000110
d
ADD A,nA←A+nv011000110C622
n
ADC A,rA←A+r+Cv010001r11
ADC A,pA←A+p+Cv011011101DD22
10001p
ADC A,qA←A+q+Cv011111101FD22
10001q
ADC A,(HL)A←A+(HL)+Cv0100011108E12
ADC A,(IX+d)A←A+(IX+d)+Cv011011101DD
8E
35
10001110
d
ADC A,(IY+d)A←A+(IY+d)+Cv011111101FD
8E
35
10001110
d
ADC A,nA←A+n+Cv011001110CE22
n
ADC HL,ssHL←HL+ss+C?v011101101ED22
01ss1010
ADD HL,ssHL←HL+ss?000ss100111
ADD IX,ppIX←IX+pp?011011101DD22
00pp1001
ADD IY,rrIY←IY+rr?011111101FD22
00rr1001
INC rr←r+1v000r10011
INC pp←p+1v011011101DD22
00p100
INC qq←q+1v011111101FD22
00q100
INC (HL)(HL)←(HL)+1v0001101003414
INC (IX+d)(IX+d)←(IX+d)+1v011011101DD
34
37
00110100
d
INC (IY+d)(IY+d)←(IY+d)+1v011111101FD
34
37
00110100
d
INC ssss←ss+100ss001111
INC IXIX←IX+111011101DD
23
22
00100011
INC IYIY←IY+111111101FD
23
22
00100011
 
 00011011
ssBCDEHLSP
ppBCDEIXSP
rrBCDEIYSP
 000001010011100101110111
p    IXHIXL  
q    IYHIYL  
 
A.9 減算命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
SUB A,rA←A-rv110010r11
SUB A,pA←A-pv111011101DD22
10010p
SUB A,qA←A-qv111111101FD22
10010q
SUB A,(HL)A←A-(HL)v1100101109612
SUB A,(IX+d)A←A-(IX+d)v111011101DD
96
35
10010110
d
SUB A,(IY+d)A←A-(IY+d)v111111101FD
96
35
10010110
d
SUB A,nA←A-nv111010110D622
n
SBC A,rA←A-r-Cv110011r11
SBC A,pA←A-p-Cv111011101DD22
10011p
SBC A,qA←A-q-Cv111111101FD22
10011q
SBC A,(HL)A←A-(HL)-Cv1100111109E12
SBC A,(IX+d)A←A-(IX+d)-Cv111011101DD
9E
35
10011110
d
SBC A,(IY+d)A←A-(IY+d)-Cv111111101FD
9E
35
10011110
d
SBC A,nA←A-n-Cv111011110DE22
n
SBC HL,ssHL←HL-ss-C?v111101101ED22
01ss0010
DEC rr←r-1v100r10111
DEC pp←p-1v111011101DD22
00p101
DEC qq←q-1v111111101FD22
00q101
DEC (HL)(HL)←(HL)-1v1001101013514
DEC (IX+d)(IX+d)←(IX+d)-1v111011101DD
35
37
00110101
d
DEC (IY+d)(IY+d)←(IY+d)-1v111111101FD
35
37
00110101
d
DEC ssss←ss-100ss101111
DEC IXIX←IX-111011101DD
2B
22
00101011
DEC IYIY←IY-111111101FD
2B
22
00101011
 
A.11 論理演算命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
AND A,rA←A∧r1P0011100r11
AND A,pA←A∧p1P0011011101DD22
10100p
AND A,qA←A∧q1P0011111101FD22
10100q
AND A,(HL)A←A∧(HL)1P0010100110A612
AND A,(IX+d)A←A∧(IX+d)1P0011011101DD
A6
35
10100110
d
AND A,(IY+d)A←A∧(IY+d)1P0011111101FD
A6
35
10100110
d
AND A,nA←A∧n1P0011100110E622
n
OR A,rA←A∨r0P0010110r11
OR A,pA←A∨p0P0011011101DD22
10110p
OR A,qA←A∨q0P0011111101FD22
10110q
OR A,(HL)A←A∨(HL)0P0010110110B612
OR A,(IX+d)A←A∨(IX+d)0P0011011101DD
B6
35
10110110
d
OR A,(IY+d)A←A∨(IY+d)0P0011111101FD
B6
35
10110110
d
OR A,nA←A∨n0P0011110110F622
n
XOR A,rA←Ar0P0010101r11
XOR A,pA←Ap0P0011011101DD22
10101p
XOR A,qA←Aq0P0011111101FD22
10101q
XOR A,(HL)A←A(HL)0P0010101110AE12
XOR A,(IX+d)A←A(IX+d)0P0011011101DD
AE
35
10101110
d
XOR A,(IY+d)A←A(IY+d)0P0011111101FD
AE
35
10101110
d
XOR A,nA←An0P0011101110EE22
n
CMP A,rA-rv110111r11
CMP A,pA-pv111011101DD22
10111p
CMP A,qA-qv111111101FD22
10111q
CMP A,(HL)A-(HL)v110111110BE12
CMP A,(IX+d)A-(IX+d)v111011101DD
BE
35
10111110
d
CMP A,(IY+d)A-(IY+d)v111111101FD
BE
35
10111110
d
CMP A,nA-nv111111110FE22
n
 
A.7 乗算命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
mulub A,rHL←A*r0011101101ED214
11r001
muluw HL,ssDE:HL←HL*ss0011101101ED236
11ss0011
mulubでは
 rがb,c,d,eのとき以外は動作が保証されない
 ZはHL=0のとき1、その他は0
 Cは結果が8BITに収まらない(h!=0)とき1、その他0
muluwでは
 ssがBC,spのとき以外は動作が保証されない
 ZはDE:HL=0のとき1、その他は0
 Cは結果が16BITに収まらない(DE!=0)とき1、その他0
 
A.12 ビット操作命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
BIT b,rz←NOT r{b}?1?011001011CB22
01br
BIT b,(HL)z←NOT (HL){b}?1?011011011CB23
01b110
BIT b,(IX+d)z←NOT (IX+d){b}?1?011011101DD
CB
45
11001011
d
01b110
BIT b,(IY+d)z←NOT (IY+d){b}?1?011111101FD
CB
45
11001011
d
01b110
SET b,rr{b}←111001011CB22
11br
SET b,(HL)(HL){b}←111001011CB25
11b110
SET b,(IX+d)(IX+d){b}←111011101DD
CB
47
11001011
d
11b110
SET b,(IY+d)(IY+d){b}←111111101FD
CB
47
11001011
d
11b110
RES b,rr{b}←011001011CB22
10br
RES b,(HL)(HL){b}←011001011CB25
10b110
RES b,(IX+d)(IX+d){b}←011011101DD
CB
47
11001011
d
10b110
RES b,(IY+d)(IY+d){b}←011111101FD
CB
37
11001011
d
10b110
 
A.13 ローテイト命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
RLAC←A{7};A←A*2;A{0}←c00000001110711
RRAC←A{0};A←A/2;A{7}←c00000011110F11
RLCAtmp←C;C←A{7};A←A*2;A{0}←tmp00000101111711
RRCAtmp←c;c←A{0};A←A/2;A{7}←tmp00000111111F11
RLC rC←r{7}
r←r*2;r{0}←C
0011001011CB22
00000r
RLC (HL)C←(HL){7}
(HL)←(HL)*2;(HL){0}←C
0011001011CB
06
25
00000110
RLC (IX+d)C←(IX+d){7}
(IX+d)←(IX+d)*2;(IX+d){0}←C
0011011101DD
CB

06
47
11001011
d
00000110
RLC (IY+d)C←(IY+d){7}
(IY+d)←(IY+d)*2;(IY+d){0}←C
0011111101FD
CB

06
47
11001011
d
00000110
RRC rC←r{0}
r←r/2;r{7}←c
0P011001011CB22
00001r
RRC (HL)C←(HL){0}
(HL)←(HL)/2;(HL){7}←c
0P011001011CB
0E
25
00001110
RRC (IX+d)C←(IX+d){0}
(IX+d)←(IX+d)/2;(IX+d){7}←c
0P011011101DD
CB

0E
47
11001011
d
00001110
RRC (IY+d)C←(IY+d){0}
(IY+d)←(IY+d)/2;(IY+d){7}←c
0P011111101FD
CB

0E
47
11001011
d
00001110
RL rtmp←C;C←r{7}
r←r*2;r{0}←tmp
0P011001011CB22
00010r
RL (HL)tmp←C;C←(HL){7}
(HL)←(HL)*2;(HL){0}←tmp
0P011001011CB
16
25
00010110
RL (IX+d)tmp←C;C←(IX+d){7}
(IX+d)←(IX+d)*2;(IX+d){0}←tmp
0P011011101DD
CB

16
47
11001011
d
00010110
RL (IY+d)tmp←C;C←(IY+d){7}
(IY+d)←(IY+d)*2;(IY+d){0}←tmp
0P011111101FD
CB

16
47
11001011
d
00010110
RR rtmp←C;C←r{0}
r←r/2;r{7}←tmp
0P011001011CB22
00011r
RR (HL)tmp←C;C←(HL){0}
(HL)←(HL)/2;(HL){7}←tmp
0P011001011CB
1E
25
00011110
RR (IX+d)tmp←C;C←(IX+d){0}
(IX+d)←(IX+d)/2;(IX+d){7}←tmp
0P011011101DD
CB

1E
47
11001011
d
00011110
RR (IY+d)tmp←C;C←(IY+d){0}
(IY+d)←(IY+d)/2;(IY+d){7}←tmp
0P011111101FD
CB

1E
47
11001011
d
00011110
RLD (HL)tmp←A{0..3};A{0..3]←(HL){4..7}
(HL){4..7}←(HL){0..3};(HL){0..3}←tmp
0P011101101ED
6F
25
11101111
RRD (HL)tmp←A{0..3};A{0..3}←(HL){0..3}
(HL){0..3)←(HL){4..7);(HL){4..7)←tmp
0P011101101ED
67
25
11100111
 
A.14 シフト命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
SLA rC←r{7}
r←r*2
0P011001011CB22
00100r
SLA (HL)C←(HL){7}
(HL)←(HL)*2
0P011001011CB
26
25
00100110
SLA (IX+d)C←(IX+d){7}
(IX+d)←(IX+d)*2
0P011011101DD
CB

26
47
11001011
d
00100110
SLA (IY+d)C←(IY+d){7}
(IY+d)←(IY+d)*2
0P011111101FD
CB

26
47
11001011
d
00100110
SRL rC←r{0}
r←r/2
0P011001011CB22
00111r
SRL (HL)C←(HL){0}
(HL)←(HL)/2
0P011001011CB
3E
25
00111110
SRL (IX+d)C←(IX+d){0}
(IX+d)←(IX+d)/2
0P011011101DD
CB

3E
47
11001011
d
00111110
SRL (IY+d)C←(IY+d){0}
(IY+d)←(IY+d)/2
0P011111101FD
CB

3E
47
11001011
d
00111110
SRA rtmp←r;C←r{0}
r←r/2;r{7}←tmp
0P011001011CB22
00101r
SRA (HL)tmp←(HL);C←(HL){0}
(HL)←(HL)/2;(HL){7}←tmp
0P011001011CB
2E
25
00101110
SRA (IX+d)tmp←(IX+d);C←(IX+d){0}
(IX+d)←(IX+d)/2;(IX+d){7}←tmp
0P011011101DD
CB

2E
47
11001011
d
00101110
SRA (IY+d)tmp←(IY+d);C←(IY+d){0}
(IY+d)←(IY+d)/2;(IY+d){7}←tmp
0P011111101FD
CB

2E
47
11001011
d
00101110
SHL命令とSHLA命令はまったく同じものなのでオペランドは同一
 
A.15 分岐命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
JP nnpc←nn11000011C333
nnl
nnh
JP NZ,nnif Z==0;pc←nn11000010C233
nnl
nnh
JP Z,nnif Z==1;pc←nn11001010CA33
nnl
nnh
JP NC,nnif C==0;pc←nn11010010D233
nnl
nnh
JP C,nnif C==1;pc←nn11011010DA33
nnl
nnh
JP PO,nnif PV==0;pc←nn11100010E233
nnl
nnh
JP PE,nnif PV==1;pc←nn11101010EA33
nnl
nnh
JP P,nnif S==0;pc←nn11110010F233
nnl
nnh
JP M,nnif S==1;pc←nn11111010FA33
nnl
nnh
JP (HL)pc←HL11101001E911
JP (IX)pc←IX11011101DD
E9
22
11101001
JP (IY)pc←IY11111101FD
E9
22
11101001
JR epc←pc+e000110001823
e-2
JR nz,eif z==0;
pc←pc+e
001000002022
3
e-2
JR z,eif z==1;
pc←pc+e
001010002822
3
e-2
JR nc,eif C==0;
pc←pc+e
001100003022
3
e-2
JR c,eif C==1;
pc←pc+e
001110003822
3
e-2
DJNZ eb←b-1;if b≠0
pc←pc+e
000100001022
e-2
 
A.16 コール命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
CALL nn(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11001101CD35
nnl
nnh
CALL nz,nnif Z==0
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11000100C433
5
nnl
nnh
CALL z,nnif Z==1
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11001100CC33
5
nnl
nnh
CALL nc,nnif C==0
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11010100D433
5
nnl
nnh
CALL c,nnif C==1
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11011100DC33
5
nnl
nnh
CALL po,nnif PV==0
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11100100E433
5
nnl
nnh
CALL pe,nnif PV==1
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11101100EC33
5
nnl
nnh
CALL p,nnif S==0
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11110100F433
5
nnl
nnh
CALL m,nnif S==1
(sp-2)←pcl;(sp-1)←pch
sp←SP-2;pc←nn
11111100FC33
5
nnl
nnh
RETpcl←(sp);pch←(sp+1);sp←sp+211001001C913
RET nzif Z==0
pcl←(sp);pch←(sp+1);sp←sp+2
11000000C011
3
RET zif Z==1
pcl←(sp);pch←(sp+1);sp←sp+2
11001000C811
3
RET ncif C==0
pcl←(sp);pch←(sp+1);sp←sp+2
11010000D011
3
RET cif C==1
pcl←(sp);pch←(sp+1);sp←sp+2
11011000D811
3
RET poif PV==0
pcl←(sp);pch←(sp+1);sp←sp+2
11100000E011
3
RET peif PV==1
pcl←(sp);pch←(sp+1);sp←sp+2
11101000E811
3
RET pif S==0
pcl←(sp);pch←(sp+1);sp←sp+2
11110000F011
3
RET mif S==1
pcl←(sp);pch←(sp+1);sp←sp+2
11111000F811
3
RETIinterrupt RETurn11101101ED
4D
25
01001101
RETNNon Maskable Interruput RETurn11101101ED
45
25
01000101
RST k(sp-2)←pcl;(sp-1)←pch
sp←sp-2;pc;←k;pch←0
11k/811114
 
A.17 入出力命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
IN A,(n)A←(n)11011011DB23
n
IN r,(c)r←(c)0P011101101ED23
01r000
IN F,(c)(c)0P011101101ED
70
23
01110000
INI(HL)←(c);b←b-1
HL←HL+1
?
*1
??111101101ED
A2
24
10100010
IND(HL)←c;b←b-1
HL←HL-1
?
*1
??111101101ED
AA
24
10101010
INIRrepeat;(HL)←(c);b←b-1
HL←HL+1;until b==0
?1??111101101ED
B2
24
3
10110010
INDRrepeat;(HL)←(c);b←b-1
HL←HL-1;until b==0
?1??111101101ED
BA
24
3
10111010
OUT (n),A(n)←A11010011D323
n
OUT (c),r(c)←r11101011ED23
01r001
OUTI(c)←(HL);b←b-1
HL←HL+1
?
*1
??111101101ED
A3
24
10100011
OUTD(c)←(HL);b←b-1
HL←HL-1
?
*1
??111101101ED
AB
24
10101011
OTIRrepeat;(c)←(HL);b←b-1
HL←HL+1;until b==0
?1??111101101ED
B3
24
3
10110011
OTDRrepeat;(c)←(HL);b←b-1
HL←HL-1;until b==0
?1??111101101ED
BB
24
3
10111011
*1 b-1==0のとき1、他は0
IN F,(c)はcレジスターが示すポートの内容によってフラグを変えるだけで、その内容はどこにも格納されません
 
A.18 CPU制御命令
ニーモニック命令動作flagsオペコードBC
SZHPNC76543210Hex
DAAAdjust to DECimalP001001112711
CPLA←NOT A11001011112F11
NEGA←NOT A+1V111101101ED
44
22
01000100
CCFC←NOT C?0001111113F11
SCFC←1001001101113711
NOPNO operAtion000000000011
HALTHALT011101107612
DIIFF←011110011F312
EIIFF←111111011FB11
IM 0interrupt mode 011101101ED
46
23
01000110
IM 1interrupt mode 111101101ED
56
23
01010110
IM 2interrupt mode 211101101ED
5E
23
01011110

感想、要望、バグ報告、その他何かありましたら、メールもしくは掲示板にてご連絡ください。
裕之    
ホームに戻る