HD404818 Series
16
V Register (V):
The V register, available for RAM address expansion, selects the bank of locations $100–
$2CF on the RAM address (464 digits) depending on its value. Therefore, when accessing locations $100–
$2CF on the RAM address, specify the value of the V register (V = $0: bank 0; V = $1: bank 1). Locations
$000–$0FF and $300–$3FF can be accessed independently of the V register. The V register is located at
$03F of the RAM address area.
W Register (W), X Register (X), Y Register (Y):
The 2-bit W register and 4-bit X and Y registers address
RAM indirectly. The Y register is also available for addressing port D.
SPX Register (SPX), SPY Register (SPY):
The 4-bit SPX and SPY registers are available for assisting the
X and Y registers, respectively.
Carry Flag (CA):
The carry flag holds the ALU overflow generated by an arithmetic operation. It is also
affected by the SEC, REC, ROTL, and ROTR instructions. During an interrupt, the carry flag is pushed
onto the stack and restored back from the stack by the RTNI instruction. (It is unaffected by the RTN
instruction.)
Status Flag (ST):
The status flag holds the ALU overflow, ALU non-zero, and the results of a bit test
instruction for arithmetic or compare instructions. The status flag is a branch condition of the BR, BRL,
CAL, or CALL instruction. The value of the status flag remains unchanged until an instruction which
affects the next status is executed. The status flag becomes 1 after the BR, BRL, CAL, or CALL instruction
is either executed or skipped. During an interrupt, the status flag is pushed onto the stack and restored back
from the stack by the RTNI instruction, not by the RTN instruction.
Program Counter (PC):
The program counter is a 14-bit binary counter for holding the ROM address.
Stack Pointer (SP):
The stack pointer is a 10-bit register to indicate the next stacking area up to 16 levels.
The stack pointer is initialized to RAM address $3FF at MCU reset. It is decremented by 4 as data is
pushed onto the stack, and incremented by 4 as data is restored back from the stack. The stack pointer is
initialized to $3FF either by MCU reset or by the RSP bit reset from the REM/REMD instruction.