ADDRESS SPACESKS57C2308/P2308/C2316/P2316

Memory Banks 0, 1, and 15

 

Bank 0

(000H–0FFH)

The lowest 32 nibbles of bank 0 (000H–01FH) are used as working registers;

 

 

the next 224 nibbles (020H–0FFH) can be used both as stack area and as

 

 

general-purpose data memory. Use the stack area for implementing subroutine

 

 

calls and returns, and for interrupt processing.

Bank 1

(100H–1FFH)

The lowest 224 nibbles of bank1 (100H–1DFH) are for general–purpose use;

 

 

Use the remaining of 32 nibbles (1E0H–1FFH) as display registers or as

 

 

general purpose memory.

Bank 15

(F80H–FFFH)

The microcontroller uses bank 15 for memory-mapped peripheral I/O. Fixed

 

 

RAM locations for each peripheral hardware address are mapped into this

 

 

area.

Data Memory Addressing Modes

The enable memory bank (EMB) flag controls the addressing mode for data memory banks 0, 1 or 15. When the EMB flag is logic zero, the addressable area is restricted to specific locations, depending on whether direct or indirect addressing is used. With direct addressing, you can access locations 000H–07FH of bank 0 and bank 15. With indirect addressing, only bank 0 (000H–0FFH) can be accessed. When the EMB flag is set to logic one, all three data memory banks can be accessed according to the current SMB value.

For 8-bit addressing, two 4-bit registers are addressed as a register pair. Also, when using 8-bit instructions to address RAM locations, remember to use the even-numbered register address as the instruction operand.

Working Registers

The RAM working register area in data memory bank 0 is further divided into four register banks (bank 0, 1, 2, and 3). Each register bank has eight 4-bit registers and paired 4-bit registers are 8-bit addressable.

Register A is used as a 4-bit accumulator and register pair EA as an 8-bit extended accumulator. The carry flag bit can also be used as a 1-bit accumulator. Register pairs WX, WL, and HL are used as address pointers for indirect addressing. To limit the possibility of data corruption due to incorrect register addressing, it is advisable to use register bank 0 for the main program and banks 1, 2, and 3 for interrupt service routines.

LCD Data Register Area

Bit values for LCD segment data are stored in data memory bank 1. Register locations in this area that are not used to store LCD data can be assigned to general-purpose use.

2-6

Page 14
Image 14
Samsung KS57C2308 Memory Banks 0, 1, F80H-FFFH, Data Memory Addressing Modes, Working Registers, LCD Data Register Area