SM8521
Arithmetic Operation Instructions
INSTRUCTION OPERAND
Logical Operation Instructions
INSTRUCTION OPERAND
Program Control Instructions
INSTRUCTION OPERAND
FUNCTION
ADC
dst, src
dst
←
dst+src+C
(Add With Carry)
dst
←
dst+src+C
(Add Word With Carry)
dst
←
dst+src (Add)
dst
←
dst+src (Add Word)
ADCW
dst, src
ADD
ADDW
dst, src
dst, src
CMP
dst, src
dst–src (Compare)
CMPW
dst, src
dst–src
(Compare Word)
dst
←
DA dst
(Decimal Adjust)
dst
←
dst–1 (Decrement)
dst
←
dst–1
(Decrement Word)
DA
dst
DEC
dst
INC
dst
dst
←
dst+1 (Increment)
dst
←
dst+1
(Increment Word)
DIV
dst, src
dst
←
dst/src,
src
←
dst MOD src (Divide)
Extend sign (Extend Sign)
DECW
dst
EXTS
dst
SBC
dst, src
dst
←
dst–src–C
(Subtract With Carry)
dst
←
dst–src–C
(Subtract Word With Carry)
MULT
NEG
dst, src
dst
dst
←
dst x src (Multiply)
dst
←
–dst (Negate)
SUB
dst, src
dst
←
dst
–
src (Subtract)
dst
←
dst–src
(Subtract Word)
INCW
dst
SBCW
dst, src
SUBW
dst, src
FUNCTION
AND
dst, src
dst
←
dst AND src
(Logical And)
dst
←
dst AND src
(Logical And Word)
dst
←
NOT dst
(Complement)
dst
←
dst OR src
(Logical OR)
dst
←
dst OR src
(Logical OR Word)
dst
←
dst XOR src
(Logical Exclusive OR)
dst
←
dst XOR src
(Logical Exclusive OR Word)
ANDW
dst, src
COM
dst
OR
dst, src
ORW
dst, src
XOR
dst, src
XORW
dst, src
FUNCTION
BBC
src, dst
If src = 0 then PC
←
PC+dst
(Branch on Bit Clear)
If src = 1 then PC
←
PC+dst
(Branch on Bit Set)
If cc = true then
PC
←
PC+dst (Branch)
SP
←
SP
–
2, @SP
←
PC,
PC
←
dst (Call Subroutine)
SP
←
SP
–
2, @SP
←
PC,
PC
←
dst
(Short Call Subroutine)
r
←
r
–
1, if r
≠
0 then
PC
←
PC+dst
(Decrement and Branch
on Non-Zero)
PS1
←
@SP, SP
←
SP+1,
PC
←
@SP, SP
←
SP+2
(Return from Interrupt)
If cc = true,then PC
←
dst
(Jump)
PC
←
@SP, SP
←
SP+2
(Logical Exclusive OR Word)
BBS
src, dst
BR
cc, dst
CALL
dst
CALS
dst
DBNZ
r, dst
IRET
JMP
cc, dst
RET
- 52 -