408
CHAPTER 16 INTERRUPT FUNCTIONS
The macro service operation is performed in the following seven modes:
(1) Counter mode: EVTCNT
In this mode, each time an interrupt request has been generated, the macro service counter (MSC) is incremented
(+1) or decremented (–1). When MSC reaches 00H, a vectored interrupt request is generated.
This mode is used to divide the number of times an interrupt request is generated.
(2) Block transfer mode: BLKTRS
Each time an interrupt request has been generated, 1-byte or 1-word data is transferred between a special function
register (SFR) pointed to by the SFR pointer (SFR.PTR) and buffer. When data has been transferred the specified
number of times, a vectored interrupt request is generated.
The buffer with which data is to be transferred is limited to the addresses 0FD00H through 0FEFFH
Note
of the main
RAM.
This mode is easy to specify and is used for high-speed transfer of a small amount of data.
Note
When the LOCATION 0 instruction is executed. FFD00H through FFEFFH when the LOCATION 0FH
instruction is executed.
(3) Block transfer mode (with memory pointer): BLKTRS-P
Like the block transfer mode, 1-byte or 1-word data is transferred between an SFR specified by SFR.PTR and buffer
each time an interrupt request has been generated, and a vectored interrupt request is generated when data has
been transferred the specified number of times.
The buffer with which data is to be transferred is specified by the memory pointer (MEM.PTR) (data can be transferred
with the entire 1M-byte memory).
This mode is a general-purpose type of the block transfer mode and is used to transfer a large quantity of data.
(4) Data differential mode: DTADIF
Each time an interrupt request has been generated, the difference between the current value of an SFR specified
by SFR.PRT and the “value immediately before” stored in memory is written to the buffer, and the current value is
used as the “value immediately before”.
When data has been transferred the specified number of times, a vectored interrupt request is generated.
The buffer with which data is to be transferred is limited to the main RAM of the addresses 0FD00H through
0FEFFH
Note
.
This mode is used to measure the cycle of an input pulse, or width of a pulse by using a capture register.
Note
When the LOCATION 0 instruction is executed. FFD00H through FFEFFH when the LOCATION 0FH
instruction is executed.
(5) Data differential mode (with memory pointer): DTADIF-P
Like the data differential mode, each time an interrupt request has been generated, the difference between the
current value of an SFR specified by SFR.PTR and the “value immediately before” stored in memory is written to
the buffer, and the current value is used as the “value immediately before”.
When data has been transferred the specified number of times, a vectored interrupt request is generated.
The buffer with which data is to be transferred is specified by the memory pointer (MEM.PTR) (the entire 1M-byte
memory can be specified).
This mode is a general-purpose type of the data differential mode, and is used to transfer a large quantity of data.