HYUNDAI MicroElectronics
GMS82512/16/24
8. MEMORY ORGANIZATION
The GMS82512/16/24 has separate address spaces for Pro-
gram memory and Data Memory. Program memory can
only be read, not written to. It can be up to 24K bytes of
Program memory. Data memory can be read and written to
up to 448 bytes including the stack area.
8.1 Registers
This device has six registers that are the Program Counter
(PC), a Accumulator (A), two index registers (X, Y), the
Stack Pointer (SP), and the Program Status Word (PSW).
The Program Counter consists of 16-bit register.
call is executed or an interrupt is accepted. However, if it
is used in excess of the stack area permitted by the data
memory allocating configuration, the user-processed data
may be lost.
The stack can be located at any position within 100H to
1FFH of the internal data memory. The SP is not initialized
by hardware, requiring to write the initial value (the loca-
tion with which the use of the stack starts) by using the ini-
tialization routine. Normally, the initial value of “FEH” is
used.
A
ACCUMULATOR
X REGISTER
X
Y REGISTER
Y
STACK POINTER
SP
PROGRAM COUNTER
PCH
PCL
Stack Address (100 ~ 1FE )
H
H
PROGRAM STATUS
WORD
PSW
Bit 15
8 7
Bit 0
01
SP
H
00 ~FE
H
H
Hardware fixed
Figure 8-1 Configuration of Registers
Accumulator:
The Accumulator is the 8-bit general pur-
pose register, used for data operation such as transfer, tem-
porary saving, and conditional judgement, etc.
Note: The Stack Pointer must be initialized by software be-
cause its value is undefined after RESET.
The Accumulator can be used as a 16-bit register with Y
Register as shown below.
Example: To initialize the SP
LDX
#0FEH
TXSP
; SP ← FEH
Y
Y
A
Address 01FFH can not be used as stack. Don not use
1FFH, or malfunction would be occurred.
A
Two 8-bit Registers can be used as a “YA” 16-bit Register
Program Counter
: The Program Counter is a 16-bit wide
which consists of two 8-bit registers, PCH and PCL. This
counter indicates the address of the next instruction to be
executed. In reset state, the program counter has reset rou-
tine address (PCH:0FFH, PCL:0FEH).
Figure 8-2 Configuration of YA 16-bit Register
X, Y Registers
: In the addressing mode which uses these
index registers, the register contents are added to the spec-
ified address, which becomes the actual address. These
modes are extremely effective for referencing subroutine
tables and memory tables. The index registers also have in-
crement, decrement, comparison and data transfer func-
tions, and they can be used as simple accumulators.
Program Status Word
: The Program Status Word (PSW)
contains several bits that reflect the current state of the
CPU. The PSW is described in Figure 8-3. It contains the
Negative flag, the Overflow flag, the Break flag the Half
Carry (for BCD operation), the Interrupt enable flag, the
Zero flag, and the Carry flag.
Stack Pointer
: The Stack Pointer is an 8-bit register used
[Carry flag C]
for occurrence interrupts and calling out subroutines. Stack
Pointer identifies the location in the stack to be accessed
(save or restore).
This flag stores any carry or not borrow from the ALU of
CPU after an arithmetic operation and is also changed by
the Shift Instruction or Rotate Instruction.
Generally, SP is automatically updated when a subroutine
FEB. 2000 Ver 1.00
15