2.5.2 Arithmetic Operations
Table 2-5 describes the arithmetic instructions.
Table 2-5 Arithmetic Instructions
Instruction
Size
*
Function
ADD
B/W
Rd ± Rs
→
Rd, Rd + #IMM
→
Rd
SUB
Performs addition or subtraction on data in two general registers, or
addition on immediate data and data in a general register. Immediate
data cannot be subtracted from data in a general register. Word
data can be added or subtracted only when both words are in general
registers.
ADDX
B
Rd ± Rs ± C
→
Rd, Rd ± #IMM ± C
→
Rd
SUBX
Performs addition or subtraction with carry or borrow on byte data in
two general registers, or addition or subtraction on immediate data and
data in a general register.
INC
B
Rd ± 1
→
Rd
DEC
Increments or decrements a general register by 1.
ADDS
W
Rd ± 1
→
Rd, Rd ± 2
→
Rd
SUBS
Adds or subtracts 1 or 2 to or from a general register
DAA
B
Rd decimal adjust
→
Rd
DAS
Decimal-adjusts (adjusts to 4-bit BCD) an addition or subtraction
result in a general register by referring to the CCR
MULXU
B
Rd
×
Rs
→
Rd
Performs 8-bit
×
8-bit unsigned multiplication on data in two general
registers, providing a 16-bit result
DIVXU
B
Rd ÷ Rs
→
Rd
Performs 16-bit ÷ 8-bit unsigned division on data in two general registers,
providing an 8-bit quotient and 8-bit remainder
CMP
B/W
Rd – Rs, Rd – #IMM
Compares data in a general register with data in another general register
or with immediate data, and indicates the result in the CCR. Word data
can be compared only between two general registers.
NEG
B
0 – Rd
→
Rd
Obtains the two’s complement (arithmetic complement) of data in a
general register
Notes:
*
Size: Operand size
B:
Byte
W:
Word
30