English
Language : 

MC81F4104 Datasheet, PDF (42/118 Pages) Finechips – ABOV SEMICONDUCTOR
MC81F4104
9.3 Data Memory
0300H
0000H
00BFH
00C0H
00FFH
User Memory
or Stack Area
(192Bytes)
Control Register
(64Bytes)
Page 0
(When “G-flag = 0”,
this page 0 is selected
Figure 9-8 Data Memory Map
Figure 9-8 shows the internal Data Memory space available. Data Memory is divided into two groups,
a user RAM/Stack memory and Control registers.
9.4 User Memory
The MC81F4104 has a 192 bytes user memory (RAM) including stack area. So it has only one
memory page (page0).
9.5 Stack Area
The stack provides the area where the return address is saved before a jump is performed during the
processing routine at the execution of a subroutine call instruction or the acceptance of an interrupt.
When returning from the processing routine, executing the subroutine return instruction [RET] restores
the contents of the program counter from the stack; executing the interrupt return instruction [RETI]
restores the contents of the program counter and flags.
The save/restore locations in the stack are determined by the stack pointed (SP). The SP is
automatically decreased after the saving, and increased before the restoring. This means the value of
the SP indicates the stack location number for the next save. Refer to Figure 9-4. .
9.6 Control Registers ( SFR )
The control registers are used by the CPU and Peripheral function blocks for controlling the desired
operation of the device. Therefore these registers contain control and status bits for the interrupt
system, the timer/ counters, analog to digital converters and I/O ports. The control registers are in
address range of 0C0H to 0FFH. It also be called by SFR(Special Function Registers).
Note that unoccupied addresses may not be implemented on the chip. Read accesses to these
addresses will in general return random data, and write accesses will have an indeterminate effect.
More detailed information of each registers are explained in each peripheral section.
Note : Write only registers can not be accessed by bit manipulation instruction. Do not use
read-modify-write instruction. Use byte manipulation instruction, for Example “LDM”.
Example : To write at CKCTLR
LDM CKCTLR,#0AH ;Divide ratio(÷32)
Address
Hex
Register Name
00C0H R0 Port Data Register
00C6H R0 Port Control Register High Byte
42
Mnemonic R/W
Initial value
R0
R/W 0 0 1 0 0 1 0 0
R0CONH R/W 0 0 0 – 0 0 0 1
October 19, 2009 Ver.1.35