|
|
命令セット(つづき) |
|
|
ビット操作およびローテート&シフトグループ |
|
フラグ |
|
|
|
命令 |
アドレッシングモード |
|
 |
 |
 |
 |
 |
 |
|
処理 |
|
|
|
BIT |
b , dst |
dst = |
R, IR, SX |
|
・ |
 |
 |
・ |
 |
・ |
|
Bit Test
Z NOT dst(b) |
|
|
RES |
b , dst |
dst = |
R, IR, SX |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Reset Bit
dst(b) 0 |
|
|
RL |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Rotate Left
tmp dst
dst(0) C
C dst(7)
for n=0 to 6
dst(n + 1) tmp(n)
 |
|
|
RLA |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Rotate Left (Accumulator)
tmp A
A(0) C
C A(7)
for n=0 to 6
A(n + 1) tmp(n)
 |
|
|
RLC |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Rotate Left Circular
tmp dst
C dst(7)
dst(0) tmp(7)
for n=0 to 6
dst(n + 1) tmp(n)
 |
|
|
RLCA |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Rotate Left Circular
(Accumulator)
tmp dst
C dst(7)
dst(0) tmp(7)
for n=0 to 6
dst(n + 1) tmp(n)
 |
|
|
RLD |
dst |
dst = |
IR |
|
 |
 |
 |
 |
 |
・ |
|
Rotate Left Digit
tmp(0:3) A(0:3)
A(0:3) dst(4:7)
dst(4:7) dst(0:3)
dst(0:3) tmp(0:3)
 |
|
|
RR |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Rotate Right
tmp dst
dst(7) C
C dst(0)
for n=0 to 6
dst(n) tmp(n + 1)
 |
|
|
RRA |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Rotate Right (Accumulator)
tmp A
A(7) C
C A(0)
for n=0 to 6
A(n) tmp(n + 1)
 |
|
|
RRC |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Rotate Right Circular
tmp dst
C dst(0)
dst(7) tmp(0)
for n=0 to 6
dst(n) tmp(n + 1)
 |
|
|
RRCA |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Rotate Right Circular
(Accumulator)
tmp A
C A(0)
A(7) tmp(0)
for n=0 to 6
A(n) tmp(n + 1)
 |
|
|
RRD |
dst |
dst = |
IR |
|
 |
 |
 |
 |
 |
・ |
|
Rotate Right Digit
tmp(0:3) A(0:3)
A(0:3) dst(0:3)
dst(0:3) dst(4:7)
dst(4:7) tmp(0:3)
 |
|
|
SET |
b , dst |
dst = |
R, IR, SX |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Set Bit
dst(b) 1 |
|
|
SLA |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Shift Left Arithmetic
tmp dst
C dst(7)
dst(0) 0
for n=0 to 6
dst(n + 1) tmp(n)
 |
|
|
SRA |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Shift Right Arithmetic
tmp dst
C dst(0)
dst(7) tmp(7)
for n=0 to 6
dst(n) tmp(n + 1)
 |
|
|
SRL |
dst |
dst = |
R, IR, SX |
|
 |
 |
 |
 |
 |
 |
|
Shift Right Logical
tmp dst
C dst(0)
dst(7) 0
for n=0 to 6
dst(n) tmp(n + 1)
 |
|
|
TEST |
dst |
dst = |
R, IR, SX |
|
 |
・ |
・ |
・ |
・ |
・ |
|
Test and Set
s dst(7)
dst FF |
|
|
|
プログラム制御グループ |
|
フラグ |
|
|
|
命令 |
アドレッシングモード |
|
 |
 |
 |
 |
 |
 |
|
処理 |
|
|
|
CALL |
cc , dst |
dst = |
IR, DA, RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Call
条件 cc が成立したら
SP SP - 2
(SP) PC
PC dst |
|
|
CALL |
dst |
dst = |
IR, DA, RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Call
SP SP - 2
(SP) PC
PC dst |
|
|
CCF |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Complement Carry Flag
C NOT C |
|
|
DJNZ |
dst |
dst = |
RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Declement and Jump if Non-Zero
B B - 1
if B≠0 then PC dst |
|
|
JAF |
dst |
dst = |
RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump on Auxiliary
Accumulator/Flag
AFが裏レジスタなら
PC dst |
|
|
JAR |
dst |
dst = |
RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump on Auxiliary
Register File in Use
BC・DE・HLが裏レジスタなら
PC dst |
|
|
JP |
cc , dst |
dst = |
IR, DA, RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump
条件 cc が成立したら
PC dst |
|
|
JP |
dst |
dst = |
IR, DA, RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump
PC dst |
|
|
JR |
cc , dst |
dst = |
RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump Relative
条件 cc* が成立したら
PC PC + dst |
|
|
JR |
dst |
dst = |
RA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Jump Relative
PC PC + dst |
|
|
RET |
|
|
|
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Return
PC (SP)
SP SP - 2 |
|
|
RET |
cc |
|
|
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Return
条件 cc が成立したら
PC (SP)
SP SP - 2 |
|
|
RST |
dst† |
dst = |
DA |
|
・ |
・ |
・ |
・ |
・ |
・ |
|
Restart
SP SP - 2
(SP) PC
PC dst |
|
|
SC |
nn |
|
|
|
・ |
・ |
・ |
・ |
・ |
・ |
|
System Call
SP SP - 4
(SP) PS
SP SP - 2
(SP) nn
PS System Call
PS Program Status |
|
|
SCF |
|
|
|
|
・ |
・ |
 |
・ |
 |
 |
|
Set Carry Flag
C 1 |
|
|
|
|
|
|