GMS81C5108
8.2 Program Memory
A 16-bit program counter is capable of addressing up to
64K bytes, but this device has 8K 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
TCALL 0FH
;
;
;
INSTEAD OF 2 BYTES
NORMAL CALL
:
:
Figure 8-5 shows a map of Program Memory. After reset,
the CPU begins execution from reset vector which is stored
in address FFFEH and FFFFH as shown in Figure 8-6.
;
;TABLE CALL ROUTINE
;
FUNC_A: LDA
LRG0
RET
As shown in Figure 8-5, each area is assigned a fixed loca-
tion in Program Memory. Program Memory area contains
the user program.
;
FUNC_B: LDA
LRG1
2
1
RET
;
;TABLE CALL ADD. AREA
;
E000
H
TCALL ADDRESS AREA
;
ORG
DW
0FFC0H
FUNC_A
FUNC_B
DW
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.
PROGRAM
MEMORY
FEFF
FF00
H
H
FFC0
H
TCALL
AREA
PCALL
AREA
FFDF
FFE0
H
H
INTERRUPT
VECTOR AREA
Any area from 0FF00H to 0FFFFH, if it is not going to be
used, its service location is available as general purpose
Program Memory.
FFFF
H
Address
0FFE0
Vector Area Memory
Figure 8-5 Program Memory Map
-
H
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.
E2
E4
E6
E8
EA
EC
EE
F0
-
-
-
Watch Timer Interrupt Vector Area
Serial I/O Interrupt Vector Area
AD Converter Interrupt Vector Area
Remocon Interrupt Vector Area
External Interrupt 2 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 8-7.
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
Basic Interval Timer Interrupt Vector Area
Key Scan Interrupt Vector Area
RESET Vector Area
NOTE:
“-” means reserved area.
Figure 8-6 Interrupt Vector Area
JUNE 2001 Ver 1.0
21