GMS81C2020/GMS81C2120
Hyundai Micro Electronics
11.2 Program Memory
A 16-bit program counter is capable of addressing up to
64K bytes, but these devices have 20K/12K bytes program
memory space only physically implemented. Accessing a
location above FFFFH will cause a wrap-around to 0000H.
Example: Usage of TCALL
LDA
#5
1BYTE INSTRUCTION
INSTEAD OF 3 BYTES
NORM AL CALL
TCALL 0FH
;
;
;
:
:
Figure 11-4 , shows a map of Program Memory. After re-
set, the CPU begins execution from reset vector which is
stored in address FFFEH and FFFFH as shown in Figure
11-5 .
;
;TABLE CALL ROUTINE
;
FUNC_A: LDA
LRG0
RET
;
As shown in Figure 11-4 , each area is assigned a fixed lo-
cation in Program Memory. Program Memory area con-
tains the user program.
FUNC_B: LDA
LRG1
2
1
RET
;
;TABLE CALL ADD. AREA
;
TCALL ADDRESS AREA
;
ORG
DW
0FFC0H
FUNC_A
FUNC_B
B000H
DW
GMS81C2020
D000H
The interrupt causes the CPU to jump to specific location,
where it commences the execution of the service routine.
The External interrupt 0, for example, is assigned to loca-
tion 0FFFAH. The interrupt service locations spaces 2-byte
interval: 0FFF8H and 0FFF9H for External Interrupt 1,
0FFFAH and 0FFFBH for External Interrupt 0, etc.
GMS81C2012
PROGRAM
MEMORY
FEFFH
FF00H
FFC0H
PCALL
AREA
TCALL
AREA
As for the area from 0FF00H to 0FFFFH, if any area of
them is not going to be used, its service location is avail-
able as general purpose Program Memory.
FFDFH
FFE0H
INTERRUPT
VECTOR AREA
FFFFH
Address
0FFE0
Vector Area Memory
Figure 11-4 Program Memory Map
-
H
E2
E4
E6
E8
EA
EC
EE
F0
-
Page Call (PCALL) area contains subroutine program to
reduce program byte length by using 2 bytes PCALL in-
stead of 3 bytes CALL instruction. If it is frequently called,
it is more useful to save program byte length.
Serial Peripheral Interface Interrupt Vector Area
Basic Interval Interrupt Vector Area
Watchdog Timer Interrupt Vector Area
A/D Converter Interrupt Vector Area
-
-
-
Table Call (TCALL) causes the CPU to jump to each
TCALL address, where it commences the execution of the
service routine. The Table Call service area spaces 2-byte
for every TCALL: 0FFC0H for TCALL15, 0FFC2H for
TCALL14, etc., as shown in Figure 11-6 .
F2
F4
F6
F8
FA
FC
FE
-
Timer/Counter 1 Interrupt Vector Area
Timer/Counter 0 Interrupt Vector Area
External Interrupt 1 Vector Area
External Interrupt 0 Vector Area
-
RESET Vector Area
NOTE:
"-" means reserved area.
Figure 11-5 Interrupt Vector Area
28
preliminary
Nov. 1999 Ver 0.0