HD404344R Series/HD404394 Series
22
Accumulator (A), B Register (B):
The accumulator and B register are 4-bit registers used for storing ALU
operation results and data that is transferred between memory and I/O ports or between other registers.
W Register (W), X Register (X), Y Register (Y):
The W register is a 2-bit register and the X and Y
registers are 4-bit registers.
These are used for indirect addressing to RAM. The Y register is also used for addressing the D port.
SPX Register (SPX), SPY Register (SPY):
The SPX and SPY registers are 4-bit registers that supplement
the X and Y registers, respectively.
Carry Flag (CA):
The carry flag latches the ALU overflow during an arithmetic instruction execution. It is
controlled by the SEC, REC, ROTL, and ROTR instructions. The carry flag is stored during interrupt
processing, then recovered from the stack by a RTNI instruction. (It is not affected by the RTN instruction.)
Status Flag (ST):
The status flag latches the overflow of ALU arithmetic instructions and compara tive
instructions, and also the results of ALU non-zero and bit test instructions. It is then used for branch
conditions of the BR, BRL, CAL, and CALL instructions. The status flag remains unchanged until the next
arithmetic instruction, comparative instruction, or bit test is executed. After a BR, BRL, CAL, or CALL
instruction is executed, the status flag will be set to 1 regardless if the instruction is executed or skipped.
The contents of the status flag is stored on the stack during interrupt processing, then recovered from the
stack by a RTNI instruction.
Program Counter (PC):
This 14-bit binary counter maintains ROM address information.
Stack Pointer (SP):
The stack pointer is a 10-bit register which contains the address of the next stack
space to be used. It is initialized as $3FF by an MCU reset. When data is stored onto the stack, the SP is
decremented by 4, and when data is pulled from the stack, it is incremented by 4. The top four bits of the
stack pointer are fixed at 1111, so it can be used for a maximum of 16 levels. There are two ways of
initializing the stack pointer to $3FF. One is by MCU reset and the other is by resetting the RSP bit with a
REM or a REMD instruction.
Reset
An MCU reset is executed by setting
RESET
low. The
RESET
input must be more than t
RC
so as to keep
the oscillator steady during power on or when stop mode is cancelled. For other cases, the MCU can be
reset by a
RESET
input for a minimum of two instruction cycle times.
Initialized values by MCU reset are listed in table 1.
Certain bits in the interrupt control bits area and the register flag area can be set or reset by the SEM/SEMD or
REM/REMD instructions. Also these can be tested by the TM/TMD instruction. The following specifies the limitations
for each bit.