2-5
CPU
0Z
15 0
0S1 S0 IE IM2IM1 0000
IM0 VCN
Fig. 2-3-2 Processor Status Word
■Data Register (32-bit x 4)
This register can be used generally for all operations. Operations are performed with a 32-bit length and the data
size is converted when sending data to and from the memory or by executing the EXTB or EXTH instructions.
When loading data, 8-bit data is zero-extended to 32 bits and sent to the register. When storing data, the lower 8
bits of the register are sent to the memory. When handling the loaded 8-bit data as a signed integer, the data is
sign-extended from 8 bits to 32 bits with the EXTB instruction. When loading data, 16-bit data is zero-extended
to 32 bits and sent to the register. When storing data, the lower 16 bits of the register are sent to the memory.
When handling the loaded 16-bit data as a signed integer, the data is sign-extended from 16 bits to 32 bits with
the EXTH instruction.
■Address Register (32-bit x 4)
This register is used as an address pointer, and only instructions (addition, subtraction and comparison) for
address calculation are supported.
The address register data is used for pointers, and data is normally sent to and from the memory with a 32-bit
length.
■Stack Pointer (32-bit x 1)
This pointer designates the first address of the stack region.
■Program Counter (32-bit x 1)
This counter designates the address of the command being executed.
■Multiply/Divide Register (32-bit x 1)
This register is provided for multiply and divide instructions. It holds the upper 32 bits of 64-bit multiplication
results for multiply instructions and the remainder (32 bits) for divide instructions. Also, the upper 32 bits of the
dividend are loaded to this register before executing divide instructions.
■Processor Status Word (16-bit x 1)
This register indicates the CPU status, and contains the operation result flags and interrupt mask level, etc.