English
Language : 

S3C72M9 Datasheet, PDF (4/38 Pages) Samsung semiconductor – single-chip CMOS microcontroller
PRODUCT OVERVIEW
S3C72M5/C72M7/C72M9/P72M9 (Preliminary Spec)
DATA MEMORY
Overview
The 3,584-bit data memory has five areas:
— 32Ê ´Ê Ê4-bit working register area
— 224Ê ´4 -bit general-purpose area in bank 0 which is also used as the stack area
— 256Ê ´4 -bit general-purpose area in bank 1, bank 2,……, bank 13, respectively
— 256Ê ´5-bit area for LCD data in bank 14
— 128Ê ´4-bit area in bank 15 for memory-mapped I/O addresses
The data memory area is also organized as sixteen memory banks —bank 0, bank 1, ….., and bank 15. You use
the select memory bank instruction (SMB) to select one of the banks as working data memory.
Data stored in RAM locations are 1-, 4-, and 8-bit addressable. After a hardware reset, data memory initialization
values must be defined by program code.
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 logical zero, only locations 00H–7FH of bank 0 and bank 15 can be accessed. When the EMB
flag is set to logical one, all sixteen data memory banks can be accessed based on the current SMB value.
Working Registers
The RAM's working register area in data memory bank 0 is also divided into four register banks. Each register
bank has eight 4-bit registers. Paired 4-bit registers are 8-bit addressable.
Register A can be used as a 4-bit accumulator and double register EA as an 8-bit extended accumulator; double
registers 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 bank 0 for
main programs 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 14. Register locations that are not used to store
LCD data can be assigned to general-purpose use.
Bit Sequential Carrier
The bit sequential carrier (BSC) is a 16-bit general register that you can manipulate using 1-, 4-, and 8-bit RAM
control instructions.
Using the BSC register, addresses and bit locations can be specified sequentially using 1-bit indirect addressing
instructions. In this way, a program can generate 16-bit data output by moving the bit location sequentially,
incrementing or decrementing the value of the L register. You can also use direct addressing to manipulate data
in the BSC.
1-4