KS57C2308/P2308/C2316/P2316 ADDRESS SPACES
2-1
2ADDRESS SPACES

PROGRAM MEMORY (ROM)

OVERVIEW
ROM maps for KS57C2 308/C2316 devices are mask programmable at the factory. KS57C2308 has 8K × 8-bit
program memory and KS57C2316 has 16K × 8-bit program memory, aside from the differences in the ROM size
the two products are identical in other features. In its standard configuration, the device's 8,192 × 8-bit (16,384 ×
8-bit) program memory has four areas that are directly addressable by the program counter (PC):
12-byte area for vector addresses
96-byte instruction reference area
20-byte general-purpose area
8064-byte general-purpose area (KS57C2308)
16256-byte general-purpose area (KS57C2316)
General-Purpose Program Memory
Two program memory areas are allocated for general-purpose use: One area is 20 bytes in size and the other is
8,064-bytes (16,256-bytes).
Vector Addresses
A 12-byte vector address area is used to store the vector addresses required to execute system resets and
interrupts. Start addresses for interrupt service routines are stored in this area, along with the values of the
enable memory bank (EMB) and enable register bank (ERB) flags that are used to set their initial value for the
corresponding service routines. The 16-byte area can be used alternately as general-purpose ROM.
REF Instructions
Locations 0020H–007FH are used as a reference area (look-up table) for 1-byte REF instructions. The REF
instruction reduces the byte size of instruction operands. REF can reference one 2-byte instruction, two 1-byte
instructions, and one 3-byte instruction which are stored in the look-up table. Unused look-up table addresses can
be used as general-purpose ROM.
Table 2-1. Program Memory Address Ranges
ROM Area Function Address Ranges Area Size (in Bytes)
Vector address area 0000H–000BH12
General-purpose program memory 000CH–001FH 20
REF instruction look-up table area 0020H–007FH 96
General-purpose program memory 0080H–1FFFH (KS57C2308)
0080H–3FFFH (KS57C2316) 8064 (KS57C2308)
16256 (KS57C2316)