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
Содержание TLCS-870/C1 Series
Страница 1: ...8 Bit Microcontroller TLCS 870 C1 Series TMP89FM42 查询TMP89FM42供应商 捷多邦 专业PCB打样工厂 24小时加急出货 ...
Страница 3: ...Revision History Date Revision 2007 10 25 1 First Release 2007 11 3 2 Contents Revised ...
Страница 4: ......
Страница 14: ......
Страница 18: ...1 3 Block Diagram TMP89FM42 1 3 Block Diagram Figure 1 2 Block Diagram ...
Страница 22: ...1 4 Pin Names and Functions TMP89FM42 ...
Страница 60: ...2 CPU Core 2 5 Revision History TMP89FM42 ...
Страница 76: ...3 Interrupt Control Circuit 3 8 Revision History TMP89FM42 ...
Страница 86: ...4 External Interrupt control circuit 4 3 Function TMP89FM42 ...
Страница 102: ...7 Voltage Detection Circuit 7 5 Revision History TMP89FM42 ...
Страница 126: ...8 I O Ports 8 3 I O Port Registers TMP89FM42 Note 2 i 0 to 1 ...
Страница 136: ...8 I O Ports 8 5 Revision History TMP89FM42 ...
Страница 142: ...9 Special Function Registers 9 3 SFR3 0x0E40 to 0x0EFF TMP89FM42 ...
Страница 146: ...10 Low Power Consumption Function for Peripherals TMP89FM42 ...
Страница 149: ...TMP89FM42 11 3 Revision History Rev Description RA001 Deleted SLEEP2 description ...
Страница 150: ...11 Divider Output DVO 11 3 Revision History TMP89FM42 ...
Страница 220: ...15 Real Time Clock RTC 15 4 Real Time Clock Operation TMP89FM42 ...
Страница 250: ...16 Asynchronous Serial Interface UART 16 15 Revision History TMP89FM42 ...
Страница 302: ...18 Serial Bus Interface SBI 18 7 Revision History TMP89FM42 ...
Страница 336: ...21 Flash Memory 21 4 Toggle Bit D6 TMP89FM42 Note 1 Make sure that you set the C register to 0x00 LD FLSCR2 0xD5 ...
Страница 338: ...21 Flash Memory 21 4 Toggle Bit D6 TMP89FM42 ...
Страница 384: ...22 Serial PROM Mode 22 15 Revision History TMP89FM42 ...
Страница 388: ...24 Input Output Circuit 24 1 Control Pins TMP89FM42 ...
Страница 404: ...25 Electrical Characteristics 25 11 Revision History TMP89FM42 ...
Страница 406: ...26 Package Dimensions TMP89FM42 ...
Страница 408: ......