tmp88ch40img TOSHIBA Semiconductor CORPORATION, tmp88ch40img Datasheet - Page 33

no-image

tmp88ch40img

Manufacturer Part Number
tmp88ch40img
Description
8 Bit Microcontroller
Manufacturer
TOSHIBA Semiconductor CORPORATION
Datasheet
Example :Register bank switching
3.3.2 Saving/restoring general-purpose registers
3.3.2.1
3.3.2.2
level of current servicing interrupt is requested.
In order to utilize nested interrupt service, the IMF is set to “1” in the interrupt service program. In this case,
acceptable interrupt sources are selectively enabled by the individual interrupt enable flags.
But don’t use the read-modify-write instruction for EIRL(0003AH) on the pseudo non-maskable interrupt ser-
vice task.
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 shorten compared with length
between interrupt requests; otherwise the status cannot be recovered as non-maskable interrupt would simply
nested.
includes IMF) are automatically saved on the stack, but the accumulator and others are not. These registers are
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 four methods are used to save/restore the gen-
eral-purpose registers.
A maskable interrupt is not accepted until the IMF is set to “1” even if the maskable interrupt higher than the
During interrupt acceptance processing, the program counter (PC) and the program status word (PSW,
PINTxx:
VINTxx:
Usually the bank register "0" is assigned for main task and the bank register "1 to 15" are for the each
interrupt service task. To make up its data memory efficiency, the common bank is assigned for non-mul-
tiple intrrupt factor.
the current interrupt register bank automatically. Thus, no need to restore the RBS by a program.
Usually the bank register "0" is assigned for main task and the bank register "1 to 15" are for the each
interrupt service task.
Using Automatic register bank switcing
Using register bank switching
By switching to non-use register bank, it can restore the general-purpose register at hige speed.
By switching to non-use register bank, it can restore the general-purpose register at hige speed.
It can return back to main-flow by executing the interrupt return instructions ([RETI]/[RETN]) from
FFFE4H
FFFE5H
FFFE6H
FFFE7H
Vector table address
Figure 3-2 Vector table address,Entry address
(interrupt processing)
RETI
:
DP
DB
45H
23H
01H
06H
PINTxx
1
Vector
RBS
control code
Page 25
; Begin of interrupt routine
; End of interrupt
; PINTxx vector address setting
; RBS <- RBS + 1
12345H
12346H
12347H
12348H
Entry address
RBS setting on PINTxx
Interrupt
service
program
TMP88CH40IMG

Related parts for tmp88ch40img