Page 57
TMP89FM42
RA003
A maskable interrupt is not accepted until the IMF is set to
“
1
”
even if the maskable interrupt is requested in
the interrupt service routine.
In order to utilize nested interrupt service, the IMF must be set to
“
1
”
in the interrupt service program. In this
case, acceptable interrupt sources are selectively enabled by the individual interrupt enable flags.
To avoid overloaded nesting, clear the individual interrupt enable flag whose interrupt is currently serviced,
before setting IMF to
“
1
”
. As for non-maskable interrupt, keep interrupt service shorter compared with length
between interrupt requests.
3.5.3
Saving/restoring general-purpose registers
During interrupt acceptance processing, the program counter (PC) and the program status word (PSW,
includes IMF) are automatically saved on the stack, but the general purpose registers are not. These registers
must be saved by software if necessary. When multiple interrupt services are nested, it is also necessary to
avoid using the same data memory area for saving registers. The following methods are used to save/restore the
general-purpose registers.
3.5.3.1
Using PUSH and POP instructions
To save only a specific register, PUSH and POP instructions are available.
Figure 3-3 Saving/restoring general-purpose registers
Example :Using PUSH and POP instructions
PINTxx
PUSH
WA
; Save WA register
Interrupt processing
POP
WA
; Restore WA register
RETI
; RETURN
At Acceptance of
an Interrupt
PSW
SP
PC
L
PC
H
Address
(Example)
b-4
b-3
b-2
b-1
b
PSW
SP
PC
L
PC
H
At execution of
PUSH instruction
At execution of
POP instruction
SP
At execution of
an RETI instruction
PSW
W
A
SP
PC
L
PC
H
Summary of Contents for TLCS-870/C1 Series
Page 1: ...8 Bit Microcontroller TLCS 870 C1 Series TMP89FM42 查询TMP89FM42供应商 捷多邦 专业PCB打样工厂 24小时加急出货 ...
Page 3: ...Revision History Date Revision 2007 10 25 1 First Release 2007 11 3 2 Contents Revised ...
Page 4: ......
Page 14: ......
Page 18: ...1 3 Block Diagram TMP89FM42 1 3 Block Diagram Figure 1 2 Block Diagram ...
Page 22: ...1 4 Pin Names and Functions TMP89FM42 ...
Page 60: ...2 CPU Core 2 5 Revision History TMP89FM42 ...
Page 76: ...3 Interrupt Control Circuit 3 8 Revision History TMP89FM42 ...
Page 86: ...4 External Interrupt control circuit 4 3 Function TMP89FM42 ...
Page 102: ...7 Voltage Detection Circuit 7 5 Revision History TMP89FM42 ...
Page 126: ...8 I O Ports 8 3 I O Port Registers TMP89FM42 Note 2 i 0 to 1 ...
Page 136: ...8 I O Ports 8 5 Revision History TMP89FM42 ...
Page 142: ...9 Special Function Registers 9 3 SFR3 0x0E40 to 0x0EFF TMP89FM42 ...
Page 146: ...10 Low Power Consumption Function for Peripherals TMP89FM42 ...
Page 149: ...TMP89FM42 11 3 Revision History Rev Description RA001 Deleted SLEEP2 description ...
Page 150: ...11 Divider Output DVO 11 3 Revision History TMP89FM42 ...
Page 220: ...15 Real Time Clock RTC 15 4 Real Time Clock Operation TMP89FM42 ...
Page 250: ...16 Asynchronous Serial Interface UART 16 15 Revision History TMP89FM42 ...
Page 302: ...18 Serial Bus Interface SBI 18 7 Revision History TMP89FM42 ...
Page 338: ...21 Flash Memory 21 4 Toggle Bit D6 TMP89FM42 ...
Page 384: ...22 Serial PROM Mode 22 15 Revision History TMP89FM42 ...
Page 388: ...24 Input Output Circuit 24 1 Control Pins TMP89FM42 ...
Page 404: ...25 Electrical Characteristics 25 11 Revision History TMP89FM42 ...
Page 406: ...26 Package Dimensions TMP89FM42 ...
Page 408: ......