English
Language : 

HMS87C1304A Datasheet, PDF (17/70 Pages) Hynix Semiconductor – CMOS SINGLE-CHIP 8-BIT MICROCONTROLLER
HYUNDAI MicroElectronics
HMS87C1304A/HMS87C1302A
8. MEMORY ORGANIZATION
The HMS87C1304A and HMS87C1302A have separate
address spaces for Program memory and Data Memory.
Program memory can only be read, not written to. It can be
up to 4K /8K bytes of Program memory. Data memory can
be read and written to up to 192 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.
Generally, SP is automatically updated when a subroutine
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.
A
ACCUMULATOR
The stack can be located at any position within 00H to 7FH
X
X REGISTER
of the internal data memory. The SP is not initialized by
hardware, requiring to write the initial value (the location
Y
Y REGISTER
with which the use of the stack starts) by using the initial-
SP
STACK POINTER
ization routine. Normally, the initial value of “7FH” is
y PCH
PCL
PSW
PROGRAM COUNTER
PROGRAM STATUS
WORD
ar Figure 8-1 Configuration of Registers
in Accumulator: The Accumulator is the 8-bit general pur-
pose register, used for data operation such as transfer, tem-
lim porary saving, and conditional judgement, etc.
The Accumulator can be used as a 16-bit register with Y
Register as shown below.
Pre Y
used.
Stack Address (000H ~ 07FH)
15
87
0
0
SP
Hardware fixed
Note: The Stack Pointer must be initialized by software be-
cause its value is undefined after RESET.
Example: To initialize the SP
LDX
#07FH
TXSP
; SP ← 7FH
Program Counter: The Program Counter is a 16-bit wide
Y
A
which consists of two 8-bit registers, PCH and PCL. This
A
counter indicates the address of the next instruction to be
executed. In reset state, the program counter has reset rou-
Two 8-bit Registers can be used as a “YA” 16-bit Register
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.
Stack Pointer: The Stack Pointer is an 8-bit register used
for occurrence interrupts and calling out subroutines. Stack
Pointer identifies the location in the stack to be accessed
(save or restore).
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.
[Carry flag C]
This flag stores any carry or borrow from the ALU of CPU
after an arithmetic operation and is also changed by the
Shift Instruction or Rotate Instruction.
[Zero flag Z]
This flag is set when the result of an arithmetic operation
or data transfer is “0” and is cleared by any other result.
Jan. 2001
Preliminary
17