English
Language : 

GMS81508A Datasheet, PDF (13/91 Pages) Hynix Semiconductor – USERS MANUAL
HYUNDAI MicroElectronics
2.1.1. A - Register
The accumulator is the 8-bit general purpose register. This is used register for data operation, data
transfer, temporary saves and conditional judgment.
Accumulator can be used as a 16-bit register with Y register and has a lower 8-bit data.
In case of multiplication instruction(MUL), it works as a multiplier. After execution of MUL
instruction, Accumulator has lower 8-bit data of the results(16-bit).
In case of division instruction(DIV), it has the lower 8-bit of dividend (16-bit)
2.1.2. X- Register
In index addressing mode, this register is executed as a 8-bit index register within direct page(RAM
area). also, In indirect addressing mode, it is destination address register.
This register can be used as a increment, decrement, comparison, and data transfer function.
In case of division instruction(DIV), it works as a divisor.
2.1.3. Y- Register
In index addressing mode, this register is executed as a index register.
In case of 16-bit operation instruction, this register has upper 8-bit of YA (16-bit accumulator).
In case of multiplication instruction(MUL), this register is executed as a multiplicand register. After
multiplication operation, it has the upper 8-bit of the result.
In case of division instruction, it is executed as a dividend(upper 8-bit). After division operation, it
has quotient.
This register can be used as a loop counter of conditional branch command. (e.g. DBNE Y, rel)
2.1.4. Stack Pointer
The stack pointer(SP) is an 8-bit register used during subroutine calling and interrupts.
When branching out from an on-going routine to subroutine or interrupt routine, it is necessary to
remember the return address. normally, internal RAM is used for storing the return address and
this area is called stack area. SP is pointer to show where the stack data are stored within the
stack area.
The stack area is located in 1-Page of internal RAM. SP must be initialized by S/W because the
contents of SP is undefined after RESET.
ex)
LDX
#0FEH
;0FEH -> X register
TXSP
;X -> SP
caution) You can't use !01FFH as stack. If you use this area, mal-function would be
occurred.
8