今回の対照表は、ビット間のローテイト/シフトに関する命令とCPUの分岐について。まったく内容の異なる命令群を紹介しているが、これは単に分類の順番とスペース的なもので他意はない。
どちらかというと、ローテイト/シフト命令の役割は算術演算に近いものがあり、レジスタ値を倍にしたり半分にしたりする際によく利用される。このとき、キャリーフラグが非常に重要な役割を果たすことになるのだが、それを条件分岐の条件として活用することも少なくない。
興味深いのは、ローテイト/シフト命令自体はキャリーフラグしか利用対象としていないにもかかわらず、実行によりほぼ全フラグが相応の変化を伴うということ。フラグの主たる利用先が条件分岐であることを思えば、今回の組み合わせもあながち無関係なものではない……という見方もできる。
このあたり、いかようにでもこじつけられるのがマシン語のマシン語たる所以であり、組み合わせの言語である証拠ともいえる……のだが、たとえロ−テイト/シフト命令で全フラグが変化しても、実際に条件分岐に応用されるのは99%がキャリーフラグ。すなわち、今回の前口上は2つの命令群を結びつけるための、実に明快な駄文といえるだろう。。。お許しあれ。。。
ニーモニック⇔機械語対照表(その3) |
n :8ビットの数値
nn:16ビットの数値
d :8ビットの数値
e :相対アドレシングの変位置
x :上部に並んでいるレジスタ名や条件を示す
|
ローテイト/シフト
|
x→
| A
| B
| C
| D
| E
| H
| L
| (HL)
| (IX+d)
| (IY+d)
|
RLCA
| 07
|
|
|
|
|
|
|
|
|
|
RRCA
| 0F
|
|
|
|
|
|
|
|
|
|
RLA
| 17
|
|
|
|
|
|
|
|
|
|
RRA
| 1F
|
|
|
|
|
|
|
|
|
|
RLC x
| CB
07
| CB
00
| CB
01
| CB
02
| CB
03
| CB
04
| CB
05
| CB
06
| DD
CB
d
06
| FD
CB
d
06
|
RRC x
| CB
0F
| CB
08
| CB
09
| CB
0A
| CB
0B
| CB
0C
| CB
0D
| CB
0E
| DD
CB
d
0E
| FD
CB
d
0E
|
RL x
| CB
17
| CB
10
| CB
11
| CB
12
| CB
13
| CB
14
| CB
15
| CB
16
| DD
CB
d
16
| FD
CB
d
16
|
RR x
| CB
1F
| CB
18
| CB
19
| CB
1A
| CB
1B
| CB
1C
| CB
1D
| CB
1E
| DD
CB
d
1E
| FD
CB
d
1E
|
SLA x
| CB
27
| CB
20
| CB
21
| CB
22
| CB
23
| CB
24
| CB
25
| CB
26
| DD
CB
d
26
| FD
CB
d
26
|
SRA x
| CB
2F
| CB
28
| CB
29
| CB
2A
| CB
2B
| CB
2C
| CB
2D
| CB
2E
| DD
CB
d
2E
| FD
CB
d
2E
|
SRL x
| CB
3F
| CB
38
| CB
39
| CB
3A
| CB
3B
| CB
3C
| CB
3D
| CB
3E
| DD
CB
d
3E
| FD
CB
d
3E
|
RLD
|
|
|
|
|
|
|
| ED
6F
|
|
|
RRD
|
|
|
|
|
|
|
| ED
67
|
|
|
ジャンプ/コール/リターン
|
x→
| 無条件
| C
| NC
| Z
| NZ
| PE
| PO
| M
| P
| ループ
|
JP x,nn
| C3
n
n
| DA
n
n
| D2
n
n
| CA
n
n
| C2
n
n
| EA
n
n
| E2
n
n
| FA
n
n
| F2
n
n
|
|
JR x,e
| 18
e-2
| 38
e-2
| 30
e-2
| 28
e-2
| 20
e-2
|
|
|
|
|
|
JP (HL)
| E9
|
|
|
|
|
|
|
|
|
|
JP (IX)
| DD
E9
|
|
|
|
|
|
|
|
|
|
JP (IY)
| FD
E9
|
|
|
|
|
|
|
|
|
|
CALL x,nn
| CD
n
n
| DC
n
n
| D4
n
n
| CC
n
n
| C4
n
n
| EC
n
n
| E4
n
n
| FC
n
n
| F4
n
n
|
|
DJNZ e
|
|
|
|
|
|
|
|
|
| 10
e-2
|
RET x
| C9
| D8
| D0
| C8
| C0
| E8
| E0
| F8
| F0
|
|
RETI
| ED
4D
|
|
|
|
|
|
|
|
|
|
RETN
| ED
45
|
|
|
|
|
|
|
|
|
|
リスタート
|
RST 00H
| C7
|
RST 08H
| CF
|
RST 10H
| D7
|
RST 18H
| DF
|
RST 20H
| E7
|
RST 28H
| EF
|
RST 30H
| F7
|
RST 38H
| FF
|
|
|