Section 2 CPU
Rev. 3.00 Mar. 14, 2006 Page 45 of 804
REJ09B0104-0300
Table 2.6
Arithmetic Operation Instructions
Instruction Size Function
ADD
SUB
B/W/L (EAd)
±
#IMM
→
(EAd), (EAd)
±
(EAs)
→
(EAd)
Performs addition or subtraction on data between immediate data,
general registers, and memory. Immediate byte data cannot be
subtracted from byte data in a general register.
ADDX
SUBX
B/W/L (EAd)
±
#IMM
±
C
→
(EAd), (EAd)
±
(EAs)
±
C
→
(EAd)
Performs addition or subtraction with carry on data between immediate
data, general registers, and memory. The addressing mode which
specifies a memory location can be specified as register indirect with
post-decrement or register indirect.
INC
DEC
B/W/L Rd
±
1
→
Rd, Rd
±
2
→
Rd
Increments or decrements a general register by 1 or 2. (Byte operands
can be incremented or decremented by 1 only.)
ADDS
SUBS
L Rd
±
1
→
Rd, Rd
±
2
→
Rd, Rd
±
4
→
Rd
Adds or subtracts the value 1, 2, or 4 to or from data in a general register.
DAA
DAS
B
Rd (decimal adjust)
→
Rd
Decimal-adjusts an addition or subtraction result in a general register by
referring to the CCR to produce 2-digit 4-bit BCD data.
MULXU B/W
Rd
×
Rs
→
Rd
Performs unsigned multiplication on data in two general registers: either 8
bits
×
8 bits
→
16 bits, or 16 bits
×
16 bits
→
32 bits.
MULU W/L
Rd
×
Rs
→
Rd
Performs unsigned multiplication on data in two general registers: either 8
bits
×
8 bits
→
16 bits, or 16 bits
×
16 bits
→
32 bits.
MULU/U L Rd
×
Rs
→
Rd
Performs unsigned multiplication on data in two general registers (32 bits
×
32 bits
→
upper 32 bits).
MULXS B/W
Rd
×
Rs
→
Rd
Performs signed multiplication on data in two general registers: either 8
bits
×
8 bits
→
16 bits, or 16 bits
×
16 bits
→
32 bits.
MULS W/L
Rd
×
Rs
→
Rd
Performs signed multiplication on data in two general registers: either 16
bits
×
16 bits
→
16 bits, or 32 bits
×
32 bits
→
32 bits.
MULS/U L Rd
×
Rs
→
Rd
Performs signed multiplication on data in two general registers (32 bits
×
32 bits
→
upper 32 bits).
electronic components distributor