Datasheet

Section 2 CPU
Page 66 of 1408 R01UH0309EJ0500 Rev. 5.00
Sep 24, 2012
H8S/2456, H8S/2456R, H8S/2454 Group
Table 2.4 Arithmetic Operations Instructions (2)
Instruction Size
*
1
Function
DIVXS B/W Rd ÷ Rs Rd
Performs signed division on data in two general registers:
either 16 bits ÷ 8 bits 8-bit quotient and 8-bit remainder or
32 bits ÷ 16 bits 16-bit quotient and 16-bit remainder.
CMP B/W/L Rd – Rs, Rd – #IMM
Compares data in a general register with data in another general
register or with immediate data, and sets CCR bits according to the
result.
NEG B/W/L 0 – Rd Rd
Takes the two's complement (arithmetic complement) of data in a
general register.
EXTU W/L Rd (zero extension) Rd
Extends the lower 8 bits of a 16-bit register to word size, or the lower 16
bits of a 32-bit register to longword size, by padding with zeros on the
left.
EXTS W/L Rd (sign extension) Rd
Extends the lower 8 bits of a 16-bit register to word size, or the lower 16
bits of a 32-bit register to longword size, by extending the sign bit.
TAS
*
2
B @ERd – 0, 1 (<bit 7> of @ERd)
Tests memory contents, and sets the most significant bit (bit 7) to 1.
MAC (EAs) × (EAd) + MAC MAC
Performs signed multiplication on memory contents and adds the result
to the multiply-accumulate register. The following operations can be
performed:
16 bits × 16 bits + 32 bits 32 bits, saturating
16 bits × 16 bits + 42 bits 42 bits, non-saturating
CLRMAC 0 MAC
Clears the multiply-accumulate register to zero.
LDMAC
STMAC
L Rs MAC, MAC Rd
Transfers data between a general register and a multiply-accumulate
register.
Notes: 1. Size refers to the operand size.
B: Byte
W: Word
L: Longword
2. Only register ER0, ER1, ER4, or ER5 should be used when using the TAS instruction.