The µPD70433 (V55PI) is a microprocessor in which a 16-bit CPU, RAM, serial interface, parallel interface, A/D
converter, timers, DMA controller, interrupt controller, etc., are integrated in a single chip.
The V55PI is software-compatible with the µPD70320 and 70330 (V25TM and V35TM) single-chip microcontrollers. The
V55PI provides a migration path from the V25. It offers higher-level functions and higher performance, and is particularly
suitable for control of data processing systems associated with mechanical control, including printer and facsimile.
Detailed functions are described in the following user’s manuals, which should be read when carrying out
design work.
• V55PI User’s Manual Hardware: U10514E
• V55PI User’s Manual Instruction: U10231E
FEATURES
• Internal 16-bit architecture, selectable external data bus width (16/8 bits)
1.1LIST OF PIN FUNCTION .................................................................................................................................... 10
2.1BUS CONTROL UNIT (BCU) ............................................................................................................................. 14
2.2EXECUTION UNIT (EXU)...................................................................................................................................14
2.5UART/CLOCKED SERIAL INTERFACE (UART/CSI)......................................................................................1 4
2.6PARALLEL INTERFACE UNIT (PIU)................................................................................................................14
2.7A/D CONVERTER UNIT (8-BIT A/D) ................................................................................................................ 14
2.8TIMER/COUNTER UNIT (TCU) .........................................................................................................................14
2.9PWM (PULSE WIDTH MODULATION) UNIT (PWM).......................................................................................14
3. CPU FUNCTIONS....................................................................................................................................... 16
3.4PROGRAM STATUS WORDS (PSW) ...............................................................................................................23
3.5MEMORY SPACE ...............................................................................................................................................2 4
3.5.1Basic Memory Space ...........................................................................................................................24
3.6REGISTER FILE SPACE ..................................................................................................................................... 36
3.7I/O SPACE .......................................................................................................................................................... 38
4. BUS CONTROL FUNCTIONS ....................................................................................................................39
4.1WAIT FUNCTION ............................................................................................................................................... 39
4.2REFRESH FUNCTION ........................................................................................................................................ 41
9. TIMER FUNCTION ..................................................................................................................................... 55
9.2TIMER UNIT CONFIGURATION ....................................................................................................................... 55
9.3REAL-TIME OUTPUT PORT FUNCTION .......................................................................................................... 57
9.3.1Real-Time Output Port Configuration................................................................................................ 57
9.3.2Real-Time Output Port Operation ...................................................................................................... 59
10. PWM UNIT .................................................................................................................................................. 61
10.2PWM UNIT CONFIGURATION ......................................................................................................................... 61
11. WATCHDOG TIMER FUNCTION ..............................................................................................................6 3
17.1INSTRUCTIONS NEWLY ADDED TO V20/V30 AND V25/V35..................................................................... 78
17.2INSTRUCTION SET OPERATIONS................................................................................................................... 80
17.3INSTRUCTION SET TABLE ............................................................................................................................. 105
Input/output specifiable bit-wise
8-bit input/output port
Port 1
7-bit input port
Port 2
Input/output specifiable bit-wise
6-bit input/output port
Port 3
Input/output specifiable bit-wise
7-bit input/output port
Port 4
Input/output specifiable bit-wise
8-bit input/output port
P50DATASTB
P51ACK
P52BUSY
P60 to P63ANI0 to ANI3
P70 to P77RTP0 to RTP7
P80DMARQ0
P81DMARQ1
Input
Input/output
Port 5
Input/output specifiable bit-wise
3-bit input/output port
Port 6
Input/output specifiable bit-wise
4-bit input/output port
Port 7
Input/output specifiable bit-wise
8-bit input/output port
Port 8
Input/output specifiable bit-wise
2-bit input/output port
*Unusable as general-purpose port (non-maskable interrupt)
10
Page 11
1.1.2 Non-Port Pins
(1)Bus control pins
µ
PD70433
Pin NameFunction
ASTBExternal bus cycle address strobe signal output in external bus
RD
WRL
WRH
READYInputExternal bus cycle ready signal input in external bus
DEXExternal bus cycle upper byte data enable signal output
RASDRAM low address latch timing signal output
D8/D16InputExternal bus data bus width selection signal input
BUSLOCKOutputExternal bus bus lock signal output
POLLInput of POLL signal (sampled in POLL instruction execution)
HLDRQExternal bus hold request signal input
HLDAKExternal bus hold acknowledge signal output
REFRQRefresh pulse signal output
Input/Alternate
OutputFunction
External memory cycle data read strobe signal output in
external bus
Output
Output
Input
Output
External memory cycle lower byte data write strobe signal
output in external bus
External memory cycle upper byte data write strobe signal
output in external bus
–––
AD0 to AD15
A16 to A23External bus cycle address signal output in external bus
IORDExternal I/O cycle data read strobe signal output
IOWRExternal I/O cycle data write strobe signal output
DMARQ0DMA request signal input (channel 0)P80
DMARQ1DMA request signal input (channel 1)P81
DMAAK0DMA acknowledge signal output (channel 0)
DMAAK1DMA acknowledge signal output (channel 1)
TCE0DMA termination signal output (channel 0)
TCE1DMA termination signal output (channel 1)
3–stateExternal bus cycle address/data multiplex signal input/output
input/outputin external bus
3–state
output
Output
Input
Output–––
11
Page 12
(2)Other pins
µ
PD70433
Pin NameFunction
GNDGND potential
VDDPositive power supply
AVSSA/D converter GND potential
AVDDA/D converter analog power supply
AVREFA/D converter reference voltage input
RESETInputSystem reset signal input
X1Connection pins of crystal resonator/ceramic resonator for
X2–––to X1 and leave X2 open.
CLKOUTInternal system clock ø output
WDTOUTWatchdog timer overflow signal output
NMINon-maskable interrupt request input *1P10
INTP0P11
INTP1P12
Input/Alternate
OutputFunction
–––
system clock generation. In case of external clock supply, input
Output
–––
INTP2P13
INTP3P14/TI
INTP4P15
INTP5P16
TIExternal event clock inputP14/INTP3
PWMPWM outputP20
TO00, TO01, TO20,
TO21, TO30
TXD0UART transmission data outputP30/SB0/SO0
RXD0InputUART reception data inputP31/SB1/SI0
TXCOutputUART transmission clock outputP32/SCK0
CTS0P33
CTS1P36/SCK1
SB0P30/TXD0/SO0
SB1P31/RXD0/SI0
InputExternal interrupt request input *2
OutputTimer unit outputP21 to P25
InputUART transmission enable signal input
Input/outputSBI transmission/reception data input/output
*1.Because NMI interrupt is unmaskable, NMI interrupt is always initiated by detecting a valid edge (when reading from
port 1, the pin level is read).
2. By masking or disabling (IE = 0) these interrupts, these pins can be used as general–purpose input/output ports,
respectively.
12
Page 13
µ
PD70433
Pin NameFunction
SO0P30/TXD0/SB0
SO1P34/TXD1
SI0P31/RXD0/SB1
SI1P35/RXD1
SCK0P32/TXC
SCK1P36/CTS1
PD0 to PD7Parallel interface — Data input/outputP40 to P47
DATASTBParallel interface — Data strobe signalP50
ACKParallel interface — Acknowledge signalP51
BUSYParallel interface — Busy signalP52
ANI0 to ANI3InputAnalog input signal to A/D converterP60 to P63
RTP0 to RTP7OutputReal-time output portP70 to P77
Input/Alternate
OutputFunction
OutputCSI transmission data output
InputCSI reception data input
CSI serial clock input/output
Input/output
13
Page 14
µ
PD70433
2. BLOCK CONFIGURATION
2.1BUS CONTROL UNIT (BCU)
The BCU performs control of the main bus. The BCU starts the necessary internal/external bus cycle on the basis of
the physical address obtained from the execution unit (EXU).
2.2EXECUTION UNIT (EXU)
The EXU controls address calculation, arithmetic and logical operations, data transfer, etc., by means of a microprogram
(firmware for controlling the microsequencer on the basis of decoded op code). The EXU contains 512 bytes of RAM
(corresponding to the register file space).
2.3 INTERRUPT CONTROLLER (INTC)
The INTC services hardware interrupt requests generated by on-chip peripheral hardware and interrupt requests
generated externally with vectored interrupts, bank switching, or macro service. It can also control the programmable 4level interrupt priority order, and can also perform multiprocessing control for interrupt.
2.4DMA CONTROLLER (DMAC)
The DMAC is a general-purpose DMA controller, capable of handling the 16M-byte memory space in a linear fashion.
Operating modes comprise memory-to-memory transfer mode, intelligent DMA (ring buffer method and counter control
method) mode, next address specification mode, and 2-channel operation.
2.5UART/CLOCKED SERIAL INTERFACE (UART/CSI)
This block supports the asynchronous interface (UART) in which data synchronization is achieved by means of start/
stop bits, and the clocked serial interface (CSI), allowing either to be used.
For the clocked serial interface there is a further choice of serial bus interface mode (SBI) or 3-wire serial I/O mode.
2.6PARALLEL INTERFACE UNIT (PIU)
This performs input/output using strobe signal synchronization in 8-bit units, and supports the Centronics interface and
general-purpose parallel data communication functions.
2.7A/D CONVERTER UNIT (8-BIT A/D)
This is an A/D converter with 4 analog inputs, and provided with 4 A/D conversion result registers.
2.8TIMER/COUNTER UNIT (TCU)
The timer/counter unit incorporates a 16-bit timer/counter, and can be used as an interval timer, free-running counter,
or event counter.
2.9PWM (PULSE WIDTH MODULATION) UNIT (PWM)
An 8-bit precision PWM (pulse width modulation) signal output function.
2.10 WATCHDOG TIMER (WDT)
The WDT incorporates an 8-bit watchdog timer for detection of inadvertent program looping, system errors, etc. The
WDTOUT pin is provided to give external notification of the generation of watchdog timer interrupts.
2.11 PORTS (PORT)
53 port pins are provided, allowing port pin and control pin functions to be selected.
2.12 REAL-TIME OUTPUT PORT (RTOP)
This is a real-time output port which uses an interrupt from timer 0 as a trigger. It can output the contents of the 8-bit
buffer register at programmable intervals in 4-bit or 8-bit units.
14
Page 15
µ
PD70433
2.13 CLOCK GENERATOR (CG)
The CG generates a clock at a frequency of 1/2, 1/4, 1/8 or 1/16 that of the crystal and oscillator connected to the X1
and X2 pins and supplies it as the CPU operating clock.
2.14 SOFTWARE INTERVAL TIMER (SIT)
The SIT incorporates a 16-bit software interval timer as a software timer function and watch function timer. Interval
interrupts can be set by input clock (count clock) selection and software timer/counter compare register setting.
15
Page 16
µ
PD70433
3. CPU FUNCTIONS
The CPU of the V55PI is software upword compatible with the V20 and V30 (native mode), and the V25 and V35.
3.1FEATURES
• Software upward compatible with V20 & V30 (native mode) and V25 & V35 (includes additional instructions)
• Address space: 16M bytes1M-byte basic memory (program) space
16M-byte extended memory (data) space
• Register file space (in on-chip RAM): 512 bytes/16 register banks
• I/O space: 64K bytes
• Register configuration (compared with V20/V30 and V25/V35)
ItemV20, V30V25, V35V55PI
Extended segment registerNoneNoneDS2, DS3
Register bankNone8 banks (in memory space)16 banks (in register file space)
Mode flagMDNoneNone
Register bank flagsNoneRB0 to RB2RB0 to RB3
PSW
Special function register areaNone(memory mapping onto(memory mapping onto
Input/output instruction
trap flag
User flagNoneF0, F1None
NoneIBRKIBRK
240 bytes496 bytes
FFF00H to FFFEFH) FFE00H to FFFEFH)
• Internal 16-bit architecture, switchable external data bus width (16/8 bits)
• Automatic wait control with memory divided in variable sizes (max. 6 blocks)
• Programmable wait function
• Wait function using READY pin
• Refresh function
• Automatic generation of refresh cycle (RAS only)
• RAS pin functions
RAS pin→ DRAM RAS timing
RD, WRH, WRL pins→ DRAM CAS timing
ASTB pin→ DRAM row/column address switching timing
16
Page 17
µ
PD70433
3.2REGISTERS
The V55PI CPU has general register sets compatible with the V20 and V30 (native mode), and the V25 and V35. The
general register sets are mapped onto the register file space. These general register sets are also used as on-chip RAM,
and there can be a maximum of 16 register sets in bank form.
In addition, the V55PI has various special function registers for controlling on-chip peripheral hardware. These special
function registers are mapped onto memory space addresses 0FFE00H to 0FFFEFH.
3.2.1 Register Banks
The general register sets are mapped onto the register file space (in on-chip RAM). The general register sets are used
in a bank arrangement; each bank consists of 32 bytes and up to 16 banks can be set.
The CPU normally uses register bank 15 for program execution, and it is possible to switch to another bank automatically
by means of maskable hardware interrupt or software interrupt (BRKCS instruction). It is possible to return from the switchedto register bank to the original register bank by means of the instruction for returning from an interrupt (RETRBI).
The register bank configuration is shown in Figure 3-1. The general register sets are mapped onto the area with an offset
of (+08H) to (+1FH) from the start address of each register bank. The word address from the start in a register bank is the
extended segment register (DS2) area. The vector PC/DS3 area is used to set the value to be loaded into the PC when
the register bank is switched, that is, the offset value of the start address of the interrupt service routine. This area is also
used as the extended segment register (DS3) area. The PSW save area is used to save the PSW when the register bank
is switched, and the PC save area is used to save the PC when the register bank is switched.
After a reset, register bank 15 is selected automatically. Also, segment register initialization after a reset is performed
for register bank 15 only.
The register file space onto which these general register sets are mapped can also be accessed as data memory by
addition of a special prefix instruction (IRAM:) to a memory manipulation instruction.
Of the 16 set register banks, banks 0 and 1 have macro service channels (parameter and work area for macro service)
allocated in duplicate.
17
Page 18
000H
020H
040H
060H
080H
0A0H
0C0H
0E0H
100H
120H
140H
160H
180H
1A0H
1C0H
1E0H
1FFH
Register Bank 0
10
11
12
13
14
15
Figure 3-1. Register Bank Configuration
Register File Space (512 bytes)
+00H15870
1
2
3
4
5
6
7
8
9
+02H
+04H
+06H
+08H
+0AH
+0CH
+0EH
+10H
+12H
+14H
+16H
+18H
+1AH
+1CH
+1EH
DS2
Vector PC/DS3
PSW Save
PC Save
DS0
SS
PS
DS1
IY
IX
BP
SP
BW
BH
DW
DH
CW
CH
AW
AH
µ
PD70433
BL
DL
CL
AL
18
(Offset from the starting address of each register bank)
Page 19
µ
PD70433
3.2.2 General Registers (AW, BW, CW, DW)
There are four 16-bit general registers. In addition to being accessed as 16-bit registers, these registers can also be
accessed as 8-bit registers by dividing each register into upper and lower 8-bit halves (AH, AL, BH, BL, CH, CL, DH, DL).
These registers are used as 8-bit or 16-bit registers with a wide range of instructions including transfer, arithmetic and
logical operation instructions.
Each register is also used as the default register for specific instruction processing, as shown below.
AW : Word multiplication/division, word input/output, data conversion
AL : Byte multiplication/division, byte input/output, BCD rotation, data conversion
AH : Byte multiplication/division
BW : Data conversion
CW : Loop control branch, repeat prefix
CL : Shift instructions, rotate instructions, BCD operations
DW : Word multiplication/division, indirect addressing input/output
These registers are mapped onto the register file space (in on-chip RAM). The address is the value obtained by adding
the offset for each register to (register bank number × 32).
Table 3-1. General Register Offsets
RegisterOffsetRegisterOffset
AW1EH
BW18H
CW1CH
DW1AH
AL1EH
AH1FH
BL18H
BH19H
CL1CH
CH1DH
DL1AH
DH1BH
19
Page 20
µ
PD70433
3.2.3 Pointers (SP, BP) and Index Registers (IX, IY)
These are 16-bit registers used as base pointers or index registers in memory accesses using based addressing (BP),
indexed addressing (IX, IY), based indexed addressing (BP, IX, IY), etc. The SP is also used as the pointer in stack
operations. As with general registers, these are used with transfer instructions, arithmetic operation instructions, etc., but
in this case they cannot be used as 8-bit registers. Each register is also used as the fixed address pointer for specific
instruction processing, as shown below.
SP : Stack manipulation
IX : Block transfers, BCD operation source side address specification
IY : Block transfers, BCD operation destination side address specification
These registers are mapped onto the register file space (in on-chip RAM). The address is the value obtained by adding
the offset for each register to (register bank number × 32).
Table 3-2. Pointer and Index Register Offsets
RegisterOffset
SP16H
BP14H
IX12H
IY10H
3.2.4 Segment Registers (PS, SS, DS0, DS1)
The CPU manages the 1M-byte basic memory space by dividing it into 64K-byte units. The CPU specifies the start
address of each segment with a segment register, and uses another register or effective address for the specification of
phyiscal address, with the relative address from the start address as the offset.
The physical address is created as shown below.
Segment Register 4-Bit Fixed
xxxx0H
0xxxxH
+
....Segment Start Address
....Offset Value
xxxxxH
There are four segment registers: PS (Program Segment), SS (Stack Segment), DS0 (Data Segment 0), and DS1 (Data
Segment 1). The respective segments are used in the following cases.
PS : Program fetch
SS : Stack manipulation instructions, addressing using BP as base register
DS0 : General variable accesses, source block data accesses such as block transfer instructions, etc.
DS1 : Destination block data accesses such as block transfer instructions, etc.
.....Physical Address (20 Bits)
20
Page 21
µ
PD70433
However, using a segment override prefix instruction makes it possible for access of general variables to change from
DS0 to another segment register. Also, in addressing which uses BP as the base register, another segment register can
be used instead of SS.
ExampleMOVAW, 1000H
MOVDS1 : AW
MOVBL, DS1, BYTE PTR [IX]; DSI : Byte data read from IX
When a reset is performed, PS of register bank 15 is initialized to FFFFH, and SS, DS0 and DS1 are initialized to 0000H.
These registers are mapped onto the register file space (in on-chip RAM). The address is the value obtained by adding
the offset for each register to (register bank number × 32).
Table 3-3. Segment Register Offsets
RegisterOffset
DS008H
DS10EH
SS0AH
PS0CH
3.2.5 Extended Segment Registers (DS2, DS3)
In addition to the segment registers for accessing the 1M-byte basic memory space, the V55PI is provided with extended
segment registers which specify the start address of each 64K-byte segment of the 16M-byte extended memory space.
There are two extended segment registers, DS2 (Data Segment 2) and DS3 (Data Segment 3), which are used as shown
below.
DS2: Extended memory space general variable accesses (by segment override prefix instructions), source block
data accesses in extended memory space block transfer instructions, etc.
DS3: Extended memory space general variable accesses (by segment override prefix instructions), destination
block data accesses in extended memory space block transfer instructions, etc.
The data access using an extended semgnet register is performed by using the segment override prefix. Especially, in
the block transfer instruction, DS2 and DS3 can be specified simultaneously by segment override prefix. (In this case, the
order for DS2 and DS3 is optional.)
ExampleREP
DS2:
DS3: MOVBKW ; Word memory block transfer from DS2 : IX to DS3 : IY.
The CPU specifies the start address of each segment with an extended segment register, and performs an access by
using another register or effective address for the specification of physical address, with the relative address from the start
address as the offset value.
The physical address is created as shown in the next page.
21
Page 22
Extended Segment Register 8-Bit Fixed
µ
PD70433
xxxx00H
00xxxxH
+
xxxxxxH
When a reset is performed, DS2 and DS3 of register bank 15 are initialized to 0000H.
These registers are mapped onto the register file space (in on-chip RAM). The address is the value obtained by adding the
offset for each register to (register bank number × 32).
Table 3-4. Extended Segment Register Offsets
RegisterOffset
...Segment Start Address
...Offset Value
...Physical Address (24 Bits)
DS200H
DS302H (Also used as vectored PC)
3.2.6 Special Function Registers (SFR)
The V55PI has a group of registers with the function of controlling on-chip peripheral hardware.
A number of registers are provided according to the type of cotrol for each peripheral hardware unit, and the actual
operation can be set using the individual bits in the registers. These registers are mapped onto the memory space, and
are read and written to using the same method as for ordinary memory (see 3.5.3 "Special Function Register Area").
There are also two instructions, BTCLR and BTCLRL, which are only valid for special function registers. Of these,
BTCLRL is an instruction newly provided in the V25 or V35.
The BTCLR instruction is valid for registers in the upper 240 bytes (0FFF00H to 0FFFEFH) of the special function register
area, and the BTCLRL instruction is valid for registers in the lower 256 bytes (0FFE00H to 0FFEFFH).
22
Page 23
µ
PD70433
3.3PROGRAM COUNTER (PC)
This is a 16-bit binary counter which holds the offset value of the program memory address on which the CPU is to perform
execution.
The PC is incremented each time an instruction code is fetched from the instruction queue, and is also loaded with the
new location address value when a branch, call, return or break instruction is executed.
When a reset is performed, 0000H is loaded into the PC. Because the PS register is initialized to FFFFH in a reset, after
a reset the CPU begins execution at physical address 0FFFF0H.
3.4PROGRAM STATUS WORDS (PSW)
The PSW consists of 6 status flags and 5 control flags.
• Status flags
•V (Overflow)...Overflow detection flag
•S (Sign)...Sign bit detection flag
•Z (Zero)...All zero detection flag
•AC (Auxiliary Carry)...4-bit carry/borrow detection flag
•P (Parity)...Parity detection flag
•CY (Carry)... Carry/borrow detection flag
• Control flags
•RB0 to RB3 (Register Banks 0 to 3) ...Register bankspecification flags
•DIR (Direction)...Block transfer/input/output instruction direction control flag
•IE (Interrupt Enable)...Interrupt enabled state control flag
•BRK (Break)...Single-step interrupt control flag
•IBRK (I/O Break)...Input/output instruction trap control flag
The status flags are set (1) or reset (0) automatically according to the result (data value) of execution of various kinds
of instructions. The CY flag can be directly set, reset or inverted by an instruction.
The control flags are set or reset by instructions, and control the operation of the CPU. The IE and BRK flags are always
reset when interrupt servicing is initiated.
The contents of the PSW can be saved to and restored from the stack by the PUSH and POP instructions. However,
when the contents are restored by the POP PSW instruction, bits 12 to 15 (RB0 to RB3) are not returned to the PSW.
The low-order 8 bits of the PSW can also be saved to or restored from the AH register by an MOV instruction.
The PSW bit configuration is shown below.
151413121110987654 3210
RB3 RB2 RB1 RB0YDIRIEBRKSZ0AC0PIBRKCY
23
Page 24
µ
PD70433
3.5MEMORY SPACE
The V55PI has a 16M-byte memory space. Of this, using lowest 1M bytes (000000H to 0FFFFFH) as the basic memory
space, the 16M bytes including the basic memory space (000000H to FFFFFFH) can be accessed as the extended memory
space. The basic memory space can be accessed using the segment registers (PS, SS, DS0, DS1) in the same way as
in the V25 and V35. The extended memory space can be accessed using the extended segment registers (DS2, DS3), and
has the basic memory space mapped onto the lowest 1M bytes. See 3.2.4 "Segment Registers (PS, SS, DS0, DS1)" and
3.2.5 "Extended Segment Registers (DS2, DS3)" for the physical addresses.
The 496-byte space 0FFE00H to 0FFFEFH has mapped onto it a group of registers to which specific functions are
allocated such as on-chip peripheral hardware registers, control registers, etc., and these are manipulated by memory
accesses.
In addition, independent of these, there is a 512-byte register file space (in on-chip RAM). In addition to being accessed
by using register manipulation instructions as in the V25 and V35, the register file space can also be accessed as data
memory by adding a special prefix instruction (IRAM:) to a memory manipulation in.
Figure 3-2. Memory Space
000000H
Vector Area
003FFH
Basic Memory
Space
(1M Bytes)
0FFFFFH
100000H
Special Function
Register Area
(On-Chip Area)
FFFFFFH
FFE00H
FFFEFH
Extended Memory
Space (16M Bytes)
3.5.1 Basic Memory Space
The memory space comprises a 1M-byte basic memory space and 16M-byte extended memory space. The basic memory
space is mapped onto the lowest 1M bytes (000000H to 0FFFFFH) of the extended memory space.
The 1M-byte basic memory space is shown in Figure 3-3.
Conditions for accessing the basic memory space by software are the same as for the V20/V30 and V25/V35.
A basic memory space physical address is specified by the segment start address indicated by the segment register (PS,
SS, DS0, DS1) and the offset value from the segment start position indicated by another register or immediate data.
The basic memory space has the vectored interrupt vector area and special function register area mapped onto it. For
an area in which special function registers are mapped, data accesses cannot be made to external memory (program fetches
are possible.)
24
Page 25
Figure 3-3. Basic Memory Space
µ
PD70433
000000H
Vector Area
1M Bytes
Spaecial Function Register Area
(Internal Area)
0FFFFFH
0FFF0H to 0FFFFFH is a program area used for the system boot, and PS and PC become 0FFFH and 0H, respectively,
therefore the program execution starts from 0FFFF0H.
3.5.2 Extended Memory Space
The 16M-byte extended memory space is shown in Figure 3-4.
The only accesses that can be performed on the extended memory space are data accesses.
The basic memory space is mapped onto the lowest 1M bytes (000000H to 0FFFFFH) of the extended memory space,
and can be accessed using the segment registers PS, SS, DS0 and DS1.
Data accesses can be performed in the extended memory space using the extended segment registers DS2 and DS3.
With DS2 and DS3 it is possible to use a specification as a segment override prefix instruction added to a memory
manipulation instruction.
An extended memory space physical address is specified by the segment start address indicated by the extended
segment register and the offset value from the segment start position indicated by another register or immediate data. If
the generated address indicates the lowest 1M-byte area (000000H to 0FFFFFH), the basic memory space is accessed.
00000H
003FFH
FFE00H
FFFEFH
25
Page 26
Figure 3-4. Extended Memory Space
µ
PD70433
000000H
0FFFFFH
100000H
FFFFFFH
16M Bytes
Vector Area
1M Bytes
Spaecial Function
Register Area
(Internal Area)
00000H
003FFH
FFE00H
FFFEFH
3.5.3 Special Function Register Area
The 496-byte space 0FFE00H to 0FFFEFH has mapped onto it a group of registers to which functions such as
on-chip peripheral hardware operation specification, status monitoring, etc., are assigned.
Program fetches cannot be performed from these areas.
Special function register manipulation is performed by accesses by means of memory manipulation instructions.
If the special function register area is accessed, RD, WRH, WRL, IORD, IOWR and other control signals do not become
active.
A list of special function registers is given in Table 3-5. The meaning of the items in the table is explained below.
• Symbol............................ The symbol used to indicate the special function register name. Corresponds to the
operand description format (symbol name) in a memory manipulation instruction.
• R/ W ................................. Indicates whether this special function register is read/write enabled.
R/W : Read/write enabled
R: Read only
W: Write only
• Manipulation Method ..... Indicates which of the following can be used on the register: bit manipulation,
• RESET............................ Indicates the status of the register after RESET input.
NoteAddresses which are not listed are the reserved area, therefore, they should not be accessed by the user
program.
26
Page 27
Table 3-5. Special Function Registers (1/7)
27
AddressSpecial Function Register NameSymbolR/WAfter Reset
0FFE00HA/D conversion result register 0ADCR0R
0FFE02HA/D conversion result register 1ADCR1R
0FFE04HA/D conversion result register 2ADCR2R
0FFE06HA/D conversion result register 3ADCR3R
0FFE10HParallel interface bufferPADR/W *1
0FFE18HParallel interface control register 0PAC0R/W
0FFE19HParallel interface control register 1PAC1R/W
0FFE1AHParallel interface status registerPASR/W *2
0FFE1CHParallel interface acknowledge interval register 1PAI1W
0FFE1DHParallel interface acknowledge interval register 2PAI2W
0FFE20HA/D converter mode registerADMR/W
0FFEC0HInterrupt mask flag register 0 (low)MK0LR/W
0FFEC1HInterrupt mask flag register 0 (high)MK0HR/W
0FFEC2HInterrupt mask flag register 1 (low)MK1LR/W
0FFEC3HInterrupt mask flag register 1 (high)MK1HR/W
0FFEC4HIn-service priority registerISPRR
0FFEC5HInterrupt mode control registerIMCR/W
0FFEC9HInterrupt request control register 09IC09R/W
0FFECAHInterrupt request control register 10IC10R/W
0FFECBHInterrupt request control register 11IC11R/W
0FFECCHInterrupt request control register 12IC12R/W
0FFECDHInterrupt request control register 13IC13R/W
*1.Varies according to input/output mode.
2. Some bits R, others R/W (possible).
MK0
MK1
Manipulable Bit Units
1 Bit8 Bits 16 Bits 32 Bits
•
•
•
•
•
••
••
•
•
•
••
••
•
••
••
•
••
••
•
••
••
••
••
••
Undefined
Undefined
Undefined
Undefined
Undefined
90H
03H
40H
Undefined
Undefined
00H
FFH
FFH
FFH
FFH
00H
80H
43H
43H
43H
43H
43H
µ
PD70433
Page 28
28
Table 3-5. Special Function Registers (2/7)
AddressSpecial Function Register NameSymbolR/WAfter Reset
0FFECEHInterrupt request control register 14IC14R/W
0FFED0HInterrupt request control register 16IC16R/W
0FFED1HInterrupt request control register 17IC17R/W
0FFED2HInterrupt request control register 18IC18R/W
0FFED3HInterrupt request control register 19IC19R/W
0FFED4HInterrupt request control register 20IC20R/W
0FFED5HInterrupt request control register 21IC21R/W
0FFED6HInterrupt request control register 22IC22R/W
0FFED7HInterrupt request control register 23IC23R/W
0FFED8HInterrupt request control register 24IC24R/W
0FFED9HInterrupt request control register 25IC25R/W
0FFEDAHInterrupt request control register 26IC26R/W
0FFEDBHInterrupt request control register 27IC27R/W
0FFEDCHInterrupt request control register 28IC28R/W
0FFEDDHInterrupt request control register 29IC29R/W
0FFEDEHInterrupt request control register 30IC30R/W
0FFEDFHInterrupt request control register 31IC31R/W
0FFEE0HInterrupt request control register 32IC32R/W
0FFEE4HInterrupt request control register 36IC36R/W
0FFEE5HInterrupt request control register 37IC37R/W
0FFFE8HProgrammable wait control register 0PWC0R/W
0FFFE9HProgrammable wait control register 1PWC1R/W
0FFFEAHMemory block control registerMBCR/W
0FFFECHRefresh mode registerRFMR/W
0FFFEEHStandby control registerSTBCR/W *1
0FFFEFHProcessor control registerPRCR/W
*1 The SFB bit of the standby control register can be set (1) by instruction, but cannot be cleared (0). (Only '1' can be written.)
*2 After power-on reset: 00H, otherwise: no change
Manipulable Bit Units
1 Bit8 Bits 16 Bits 32 Bits
•
•
••
••
••
•
•
••
••
••
••
••
••
Undefined
Undefined
E0H
00H
Undefined
FFFFH
EAH
AAH
FCH
77H
Undefined *2
EEH
33
µ
PD70433
Page 34
µ
PD70433
3.5.4 Vector Table Area
The 1K–byte area 00000H to 003FFH in the memory space holds 256 vectors (4 bytes used per vector) for the start
addresses of interrupt routines initiated by interrupt requests, break instructions, etc.
In the initial state, vectors 0 to 47 are reserved as V55PI family dedicated on-chip peripheral and software interrupt
vectors. For vectors 8 to 47, the vector address of hardware interrupts except NMI can be changed by means of bits V0
and V1 of the interrupt mode control register (IMC).
Vector 40(000A0H): System reserved
Vector 41(000A4H): System reserved
Vector 42(000A8H): System reserved
Vector 43(000ACH): System reserved
Vector 44(000B0H): System reserved
Vector 45(000B4H): System reserved
Vector 46(000B8H): System reserved
Vector 47(000BCH): System reserved
Vector 238(003B8H): System reserved
Vector 239(003BCH): System reserved
35
Page 36
µ
PD70433
3.6REGISTER FILE SPACE
The register file space is shown in Figure 3-5.
The size of the register file space is 512 bytes, and a maximum 16-bank register set can be set.
The register file space is separate from the memory space, and in addition to accesses using a register manipulation
instruction as with the V25 and V35, the register file space can be accessed as data memory by adding a special prefix
instruction (IRAM:) to a memory manipulation instruction. (Access is performed asynchronously independently of the
external bus cycle.
When the IRAM: prefix instruction is added to a memory manipulation instruction, the CPU performs a data access with
the low–order 9 bits of the memory address offset value as the register file address. In this case, segment register and
physical address addition is not performed, and an external bus cycle is not initiated.
Example
Label1: MOV IRAM : [0024H], AW
MOV[0056H], BW
<1> This shows the case where data is transferred to the register file space using an "IRAM:" prefix
instruction. The AW register value is stored in address 24H of the register file.
<2> This shows the case where an instruction for data transfer to the memory space is used.
If the IRAM prefix instruction is added to the primitive block transfer instruction and BCD operation instruction, which
specify the source block and destination block, it becomes effective for the destination block.
Also, the macro service conrol word area (008H to 03FH), the macro service work area (000H to 007H), and the area
used by the macro service channel (008H to 0FFH) are allocated in overlapping fashion in the file space. If a specific macro
service which requires work area (RTOPTRN) is not used, these work areas can be used as data space.
.....
.....
<1>
<2>
36
Page 37
(
)
0
0H
0
2
0H
0
4
0H
0
6
0H
0
8
0H
0
A
0H
0
C
0H
0
E
0H
0
0
0H
1
2
0H
1
4
0H
1
6
0H
1
8
0H
1
A
0H
1
C
0H
1
E
0H
1
1FFH
Register Bank 0
10
11
12
13
14
15
Figure 3-5. Register File Space
Macro Service Work Area
Macro Service Control
Word Area
1
2
3
4
5
6
7
8
9
Macro Service
Channel Area
000H
008H
03FH
0FFH
+00H
+02H
+04H
+06H
+08H
+0AH
+0CH
+0EH
+10H
+12H
+14H
+16H
+18H
+1AH
+1CH
+1EH
µ
PD70433
15 87 0
DS2
Vector PC/DS3
PSW Save
PC Save
DS0
SS
PS
DS1
IY
IX
BP
SP
BW
BH
DH
CH
AH
BL
DW
DL
CW
CL
AW
AL
Offset from the starting address of each register bank
37
Page 38
µ
PD70433
3.7I/O SPACE
The V55PI has a 64K-byte I/O space.
The I/O space map is shown in Figure 3-6.
The I/O space is accessed using address bus/data bus and control signals (IORD, IOWR, etc).
0 is output from the unused high-order 8 bits of the address bus.
Wait cycles can be inserted in an I/O cycle by software and the READY pin.
The area FF80H to FFFFH of the I/O space is a reserved area, in which two V55PI on-chip peripheral DMA input/output
read/write pointers (IOP) are allocated. The address of IOP0 is FF94H, and the address of IOP1 is FFB4H.
When the CPU executes an input/output instruction with an IOP address as an operand, the DMA controller performs
a read/write of data in the DMA controller transfer buffer, with the IOP contents as the address value, and increments (or
decrements) the IOP value automatically in accordance with the contents of the DMA control register. Therefore, data written
by the DMA controller can be referenced by an input/output instruction, and conversely, data written by an input/output
instruction can be transferred by the DMA controller.
Figure 3-6. I/O Map (64K Bytes)
0000H
FF80H
FF94H
FFB4H
FFFFH
RemarkIOPn corresponds to the DMA read/write pointer (DPTCn).
IOP 0
:
IOP 1
:
Reserved Area
38
Page 39
µ
PD70433
4. BUS CONTROL FUNCTIONS
With the V55PI pin, refer to 1.1.2 (1) "Pin function for bus control".
As regards pins which have an alternate function as port pins, when that function is used, the corresponding function
must be selected by means of the port mode control register (PMCn).
4.1WAIT FUNCTION
The V55PI divides the basic memory space (000000H to 0FFFFFH) into a maximum of 4 blocks with a variable memory
size, divides the uppermost extended memory space area (100000H to FFFFFFH) into two areas with a variable memory
size, and performs wait control for each block. The memory size of each block in the basic memory space is specified by
the memory block control register (MBC).
Figure 4-1 shows the memory block configuration when A9H has been set for the MBC register value.
2. Additional control by means of READY signal is also possible.
Address Wait (AW)
AWnWait State
AW0
AW1
0Not inserted (block 1)
1Inserted (block 1)
0Not inserted (block 4)
1Inserted (block 4)
40
Page 41
µ
PD70433
4.2REFRESH FUNCTION
The following functions are provided to refresh DRAM and pseudo-SRAM.
• Function to insert periodically a refresh cycle in a series of bus cycles
• Refresh address output function to refresh DRAM and pseudo-SRAM
• Function to generate a refresh cycle in hold mode and HALT mode.
• Function to insert a wait state in a refresh cycle
4.2.1 Refresh Mode Register (RFM)
The RFM register is an 8-bit register to control refresh operation.
A refresh cycle can be selected from the time base counter output tap.
While a refresh request is held by another bus cycle if the next refresh request is generated, only the latter is valid.
The RFM register value after a reset is 77H.
4.2.2 Wait Control in Refresh Cycle
A wait state can be inserted in a refresh cycle. The specified number of wait states is inserted for memory block 4 by
the programmable wait control register (PWC0) or READY pin.
4.2.3 Refresh Address
Bus pins AD0 to AD15 and A16 to A19 are activated in a refresh cycle.
For each refresh cycle, the count is performed in one-address increments from x00000 to x1FFFFF in the case of the
external 8-bit bus width, and in two-address increments from x00001H to xFFFFF in the case of the external 16-bit bus width
(the minimum address is returned to after the maximum address).
After initialization by a reset, count-up is started from x00000H in the case of the external 8-bit bus width and x00001H
in the case of the external 16-bit bus width.
In the case of the external 16-bit bus width, the refresh address minimum address bit (A0) is fixed at “1” and the DEX
pin output is also fixed at “1”.
A20 to A23 are undefined in a refresh cycle.
41
Page 42
µ
PD70433
5. INTERRUPT FUNCTIONS
The V55PI incorporates a powerful interrupt controller (INTC) which controls multiple-interrupt servicing for a total of 25
maskable hardware interrupt requests: 19 internal and 6 external. The interrupt controller controls multiple-interrupt
servicing based on programmable priority.
The following functions are provided as interrupt servicing modes: vectored interrupt function, macro service function,
register bank switching function.
5.1FEATURES
V55PI interrupt functions offer the following features:
• Comprehensive servicing states for interrupt requests
• Vectored interrupt function: Branch to interrupt service routine specified by vector table
• Register bank switching function: High-speed interrupt response by automatic register bank switching
• Macro service function: High-speed interrupt servicing by microprogram (firmware)
• 4-level programmable priority order control
• Interrupt multiprocessing control according to the priority
• Rich variety of macro service functions (following 7 modes) closely tied to V55PI on-chip peripheral hardware
EVTCNT: Event count processing
BLKTRS: Data transfer between special function register and external memory buffer
BLKTRS-C : Data transfer between special function register and external memory buffer (with transfer data
detection function)
DTACMP: Special function register status detection
DTADIF: Time measurement by timer capture function
RTOPTRN : Automatic control of real-time output port
DTACMP-M : Data transfer between external I/O and memory
• 7 external interrupt request inputs (NMI, INTP0 to INTP5)
• Maskable interrupt requests are individually maskable.
A list of interrupt sources is given in Table 5-1.
10INTCM01IC17CM01 match detection1700×44HYesYes022H
Maskable
11INTCM10IC18CM10 match detection1800×48HYesYes024H
12INTCM11IC19CM11 match detection1900×4CHYesYes026H
13INTCM21IC20CM21 match detection2000×50HYesYes028H
14INTCM31IC21CM31 match detection2100×54HYesYes02AH
InterruptRegisterMacro Service
RequestBankControl Word
SignalSwitchingAddress
1NMINMI pin input–––200008HNoNo
2WDTWatchdog timer overflowWDT800×20HNoNo
3INTP0IC9INTP0 pin input900×24HYesYes012H
4INTP1IC10INTP1 pin input1000×28HYesYes014H
5INTP2IC11INTP2 pin input1100×2CHYesYes016H
6INTP3IC12INTP3 pin input1200×30HYesYes018H
7INTP4IC13INTP4 pininput1300×34HYesYes01AH
8INTP5IC14INTP5 pin input1400×38HYesYes01CH
9INTCM00IC16CM00 match detection1600×40HYesYes020H
*Indicates that the value is variable in the range 0 to 255 (0 to FFH).
Remarks "×" indicates that the value is determined by the V0 and V1 bits of the IMC register.
µ
PD70433
Page 45
µ
PD70433
5.2INTERRUPT RESPONSE METHODS
The V55PI has three interrupt response methods: a vectored interrupt function, register bank switching function, and
macro service function. In the case of a maskable interrupt request, one of these functions can be selected by means of
the interrupt request control register (IC××) for each interrupt source according to the purpose of the interrupt. The on-chip
interrupt controller handles interrupt requests according to the set response method.
5.2.1 Vectored Interrupts
A vectored interrupt can only be acknowledged in the interrupt enabled state (EI state). When a vectored interrupt is
acknowledged, the CPU enters the interrupt disabled state (DI state), and the current PSW contents and PC and PS contents
are saved to the stack. Then the corresponding vector is selected from the vector table, and the interrupt service routine
is started at the address indicated by that vector. Vector numbers are fixed for each interrupt source. In the DI state, interrupts
are held pending, and are acknowledged when the EI state is set again.
The return from the interrupt is performed by an RETI instruction. In the case of a hardware interrupt other than a nonmaskable interrupt, an FINT instruction must be executed before the return instruction. When a return is made from an
interrupt, the PC, PS and PSW are restored from the stack.
In the V55PI, general register sets are mapped onto on-chip RAM, and register sets can be held in up to 16 banks. Interrupt
servicing is performed by automatically switching the register bank when a BRKCS or TSKSW instruction is executed or
when an interrupt is responded to. Because saving of registers to the stack previously performed by software is not required,
high-speed switching of the program execution environment is possible.
The register bank switching sequence is performed as follows (See Figure 5-2).
<1> The contents of PSW is saved to temporary register.
<2> The register bank is switched.
<3> IE and BRK are set to 0.
<4> The contents of PSW which is saved to the PC and the temporary register are saved to the saving area, respectively.
<5> The interrupt service routine start address offset value is loaded from the vector PC area in the register bank to
PC.
Figure 5-2. Register Bank Switching Sequence
(In Case of Register Bank Switching by Interrupt)
New Register Bank
Old Register Bank
AW
for Interrupt Servicing
AW
CW
DW
BW
SP
BP
IX
IY
DS1
PS
SS
DS0
PC Save
PSW Save
Vector PC/DS3
DS2
PSW
PC
<1>
<5>
Temporary Register
<4>
<4>
CW
DW
BW
SP
BP
IX
IY
DS1
PS
SS
DS0
PC Save
PSW Save
Vector PC/DS3
DS2
46
<2> Register Bank Switching
<3> IE = 0, BRK = 0
Page 47
µ
PD70433
5.2.3 Macro Service Function
The macro service function performs processing of simple data transfers, etc., by means of a microprogram (CPU internal
dedicated firmware) started by generation of an interrupt request. The simple, standardized interrupt servicing which was
coded and executed by a user program is performed automatically.
Macro service processing is caused by an interrupt request and is performed. Macro service is designed to minimize
as far as possible the frequency of generation of interrupts consisting mainly of software processing, hold down the software
overhead due to a series of processes used in an interrupt (register saving, initialization, register restoration, return from
the interrupt routine), and improve the CPU efficiency.
Processing performed by the macro service is transparent in terms of software, and it is possible to process as a single
mass of data what was previously processed by software byte by byte, allowing more efficient programming.
The V55PI macro service supports not only the simple data transfers used in the V25 and V35, but also various operating
modes closely linked to the on-chip V55PI peripheral hardware, as shown below.
(a) EVTCNT (EVENT COUNTER)
The counter is updated each time the macro service are generated, and when the counter reaches 0 the macro service
for the corresponding interrupt source is terminated and a vectored interrupt or a register bank switching is generated.
(b) DTACMP (DATA COMPARE)
The interrupt source specific SFR and preset byte data are compared, and if they match, the macro service for the
corresponding interrupt source is terminated and a vectored interrupt or register bank switching is generated.
(c) DTADIF (DATA DIFFERENCE)
The difference in using the timer/counter unit capture register is calculated. This is initiated by a timer interrupt: the
value of the capture register latched last time is subtracted from the value of the capture register latched this time, and
the result is stored in the previously specified memory buffer.
When processing has been performed the previously set number of times, the corresponding interrupt source macro
service is terminated, and a vectored interrupt or register bank switching is generated.
(d) BLKTRS (BLOCK TRANSFER)
A data transfer is performed between the previously specified memory buffer and SFR.
When the previously set number of data transfers have been performed, the corresponding interrupt source macro
service is terminated, and a vectored interrupt or register bank switching is generated.
(e) BLKTRS–C (BLOCK TRANSFER WITH CHARACTER SEARCH)
A data transfer is performed between the previously specified memory buffer and SFR. When the previously set
number of data transfers have been completed, or when the transfer data matches the previously set character data,
the corresponding interrupt source macro service is terminated, and a vectored interrupt or register bank switching is
generated.
(f) RTOPRTN (RTOP TRANSFER)
Data to be output to the real-time output port is transferred to the port 7 buffer (P7H, P7L), and data which specifies
interval for output to the real-time output port is transferred to the timer compare register (CM00, CM01).
(g) DTACMP-M (DATA COMPARE WITH CHARACTER MASK)
The logical product of the status data read from the external I/O and the previously set mask data is performed. The
previously set byte data is compared with the result. If it matches, a data transfer is performed between the external I/
O and memory. If it does not match, or if the previously set number of data transfers have been performed, the
corresponding interrupt source macro service is terminated, and a vectored interrupt or register bank switching is
generated.
47
Page 48
µ
PD70433
6. DMA FUNCTION (DMA CONTROLLER)
The V55PI incorporates a 2-channel DMA controller which controls execution of memory-to-I/O or memory-to-memory
DMA transfers on the basis of DMA requests generated by an on-chip peripheral hardware (serial interface, parallel interface,
or timer), the external DMARQ pin or a software trigger.
Each channel of the DMA controller further comprises a main channel and a sub-channel: the operating mode determines
whether the main channel and sub-channel are used as a single channel or as separate channels. When used as separate
channels, function for a maximum of 4 channels can be constructed.
6.1FEATURES
• Two independent DMA channels (max. 4-channel configuration possible)
• Four transfer modes
• Single transfer mode ... One DMA transfer cycle is executed in response to one DMA request.
• Demand release mode ... Consecutive DMA transfer cycles are executed while DMA request is active.
• Single-step mode... DMA transfer cycles and CPU bus cycles are executed alternately after DMA
request generation.
• Burst mode... For each DMA request, the specified number of DMA transfer cycles are executed
consecutively.
• Five operating modes
• Intelligent DMA mode–1 (ring buffer system)... DMA transfers to ring buffer are controlled.
• Intelligent DMA mode–2 (counter control system) ... Transfer data is transferred consecutively, divided into
an arbitrary number of bytes.
• Next address specification mode... Consecutive transfers are possible between different
transfer buffers.
• 2-channel operating mode... Main channel and subchannel are used as independent
channels.
• Memory-to-memory transfer mode... Two bus cycles are started for one DMA transfer cycle,
and memory-to-memory transfer is executed.
• 3 clocks/1 bus cycle (no wait case)
• Transfer objects
• External I/O ←→ memory... 1 DMA transfer cycle/1 bus cycle
• SFR (internal I/O) ←→ memory... 1 DMA transfer cycle/1 bus cycle
• Memory ←→ memory (memory includes SFR) ... 1 DMA transfer cycle/2 bus cycles
• Byte transfer/word transfer selectable
• Transfer address increment/decrement/non-update selectable
• External DMA request signal input pins (DMARQ0, DMARQ1: alternate function as port P80 and P81 pins)
• External DMA acknowledge signal output pins (DMAAK0, DMAAK1)
48
Page 49
DMA Start Source
Transfer
ModeOn–ChipSoftware
PeripheralTrigger
Table 6-1. Transfer Modes
DMARQ Pin
µ
PD70433
STOP MethodInterrupt
Single
transferAvailableAvailableAvailable
mode
Demand
release
mode
Single
stepAvailable*AvailableAvailable
mode
BurstNone (stop disabled during the
modetransfer)
Not AvailableNot AvailableAvailable
Available*AvailableAvailable
Reset of EDMA bit of DMAMn
register
Stops when the DMARQ pin isNot acknowledged
driven low during the transfer.during transfer.
Reset of EDMA bit of DMAMnAcknowledged at
registerother times.
Reset of EDMA bit of DMAMn
Acknowledged
Acknowledged
register
Not acknowledged
*The DMA start source is an on-chip timer interrupt, and transfer is possible only when the transfer I/O specification is
external.
Table 6-2. Correspondence Between Operating Modes and Transfer Modes
Intelligent DMA mode–2Memory → I/O (SFR)
(counter control method)
Next address specification modeI/O (SFR) ←→ MemoryYesYesNoNo
2–channel
operating mode
Memory–memory
transfer mode
(Stop at end)I/O ←→ MemoryYesYesYesYes
(Repetition)I/O ←→ MemoryYesYesYesNo
(Stop at end)Memory ←→ MemoryYesNoYesYes
(Repetition)Memory ←→ MemoryYesNoYesNo
NoNoYesYes
*Transfer modes
<1> Single transfer mode
<2> Demand release mode
<3> Single step mode
<4> Burst mode
49
Page 50
µ
PD70433
7. SERIAL INTERFACE FUNCTIONS
The V55PI is equipped with a 2-channel serial interface unit (ch0, ch1).
The two communication protocols supported by the V55PI are as follows:
(1)AsynchronousUART
(2)ClockedCSISBI:2-wire serial bus interface
IOE: I/O expansion 3-wire serial interface
7.1FEATURES
• Two communication protocols supported
• Two serial channels
• Wake-up function
• On-chip dedicated baud rate generator
• DMA request generated by completion of transmission/reception (transmit/receive data DMA transfer is
capable)
7.2PROTOCOLS
The UART is an asynchronous serial interface which achieves data synchronization by means of start/stop bits, and is
functionally enhanced UART functions compared with previous single-chip microcontroller.
The CSI (clocked serial interface) is a clocked serial interface which achieves synchronization by transmission/reception
of a clock. The CSI is a subset of the standard serial bus interface specification for NEC single-chip microcontrollers, and
I2C functions are not supported. The wake-up release function is implemented by using macro service.
Table 7-1. Supported Protocols
Supported Protocols
Serial Interface UnitClocked (CSI)Asynchronous
SBIIOE(UART)
Channel 0YesYesYes
Channel 1NoYesYes
The UART function or CSI function can be programmably selected for each channel. Protocol selection is performed by
means of the protocol selection register (ASP).
50
Page 51
7.3UART
7.3.1 Features
• Transfer rate: 95 to 390 Kbps (with 12.5 MHz system clock
123 to 500 Kbps (with 16 MHz system clock
φ
φ
)
• Full-duplex operation capability
• On-chip dedicated (transmission and reception) baud rate generators
• Transfer speed: Max. 3.125 Mbps (with 12.5 MHz system clock
Max. 4.0 Mbps (with 16 MHz system clock
• Half-duplex communication
• Data length: 8-bit unit
• External/internal clock selection function
• Data MSB-first/LSB-first selection function
• SBI mode (2-wire NEC type serial bus) ... ch0 only
• Address/command/data identification function
• Function for chip selection by address
• Wake-up function
• Acknowledge signal (ACK) control function
• Busy signal (BUSY) control function
The V55PI clocked serial interface has the following two operating modes.
(1) 3–wire serial I/O mode (IOE mode)
In this mode, 8-bit data transfer is performed using three lines: the serial clock (SCK), and serial data input and output
(SI, SO). This mode is useful when connecting an I/O device, display controller, etc., which incorporates a conventional
clocked serial interface.
The functions of the V25 and V25+ have been enhanced, and data MSB-first/LSB-first selection is possible.
φ
)
φ
)
(2) Serial bus interface mode (SBI mode)
In the SBI mode, communication is performed with multiple devices by means of two lines: the serial clock (SCK)
and the serial bus interface (SB0 or SB1).
This mode conforms to the NEC serial bus format.
In the SBI mode, the sender can output to the serial data bus an address to select the target device for serial
communication, a command which gives a directive to the target device, and actual data. Thus there is no need for
the line for handshaking required when multiple devices are connected with a conventional clocked serial interface,
allowing input/output ports to be used efficiently.
In addition, wake-up release is performed using macro service.
52
Page 53
µ
PD70433
8. PARALLEL INTERFACE FUNCTIONS
The V55PI incorporates a parallel interface unit for data input on a Centronics specification interface, and general data
input/output.
8.1FEATURES
The following features are provided as parallel interface functions:
• BUSY signal and ACK signal output timing settable
• Initialization by external interrupt
• Dedicated parallel interface interrupt source
• Parallel interface interrupt (INTPAI)
• DMA request signal generation in parallel transmission/reception
• INTPAI functions as a DMA start trigger.
• Signal pin input/output characteristic is TTL level (Centronics specification interface)
53
Page 54
(a)Input mode
Figure 8-1. Parallel Interface Block Diagram
Input
Data
Latch
OE
PD0–PD7
µ
PD70433
(b)Output mode
Internal BusInternal Bus
DATA
RD
RESET
DATA
WR
IBF
S
Q
R
MB0, 1
DMA
Request
PAI Timer
Counter
IBSY
S
R
ACK
Timing
Control
BUSY
Control
Circuit
ACK
Control
Circuit
Output
Data
Latch
WR
DATASTB
BUSY
ACK
INTP5
PD0–PD7
54
DMA
Request
INTPAI Request
INT/
DMA
Request
Control
PAI Timer
DATASTB
Counter
BUSY
ACK
Page 55
µ
PD70433
9. TIMER FUNCTION
The V55PI timer unit can be used as an interval timer, free-running timer and event counter. It is also possible to
manipulate P7 as a real-time output port, synchronized with interrupt requests generated by the timer. The normal timer
function and real-time output port function are described here.
9.1FEATURES
The timer function offers the following features.
• 16-bit timer × 4
• Two count clock sources are selectable
• System clock scaled output selectable (φ/8, φ/32: system clock φ)
• External input pulses from TI pin
• External count output signal (TOn output)
• Three 16-bit capture registers on chip (external interrupt input signals INTP0 to INTP2 as triggers)
• Six dedicated timer unit interrupt source (INTCM00, INTCM01, INTCM10, INTCM11, INTCM21, INTCM31)
• Real-time output port function synchronized with timer interrupts
9.2TIMER UNIT CONFIGURATION
The timer unit configuration is shown in Figure 9-1, and the function of each timer in Table 9-1.
Port 7 of the V55PI incorporates a real-time output port function, and can output the contents of the port 7 buffer (P7H,
P7L) at programmable intervals from timer 0 bit-wise.
9.3.1 Real-Time Output Port Configuration
The real-time output port configuration is shown in Figure 9-2. It comprises the following buffer registers, output and
control registers.
(1) Port 7 buffer (P7H, P7L)
The buffer registers hold the data to be output next when port 7 is set to the real-time output port mode.
The port 7 buffer contents are not affected by reset input.
(2) Real-time output port (RTP)
Real-time output port output data is held in this port after being taken from the port 7 buffer, and output from the
pins.
RTP can be read or written to by an 8-bit or single-bit manipulation instruction (unlike the port 7 output port).
(3) Real-time output port delay specification regiser (RTPD) and delay counter
This register is set and used when using the mode in which a delay time is inserted in the timing for output from
the real-time output port (RTP) to the output pins.
If the P7L bit is set to "0", "0" is output to the corresponding output pin bit after the elapse of the delay time equivalent
to the count clock cycle time set in the real-time output port delay specification register after the time at which the transfer
trigger is generated. The delay time in this case is counted by the delay counter.
(4) Real-time output port control register (RTPC)
RTPC specifies the operating mode of the real-time output port. It is possible to specify whether or not a delay is
to be inserted when data is output, the timing for transferring data to the port 7 buffer, the transfer timing trigger, and
so on.
57
Page 58
58
Figure 9–2. Real–Time Output Port Operation
RTPC
P7H
Port 7 Buffer
Real–Time Output
Port Control Register
8
Internal Bus
Output
Latch
RTP Bit 3
S
R
Q
TRG, BYTE
DLY
P7L
Port 7 Buffer
Delay
Bor-
row
No Delay
Delay Counter
Preset
Delay Specification
Register
Selector
RTPD
INTCM00
(Timer 0)
INTCM01
(Timer 1)
φ
/2
To Port 7
Output Latches
RTP7 to RTP4
P77 P76 P75 P74 P73P72P71P70
Control Output Signals
µ
PD70433
Page 59
µ
PD70433
9.3.2 Real-Time Output Port Operation
Real-time output port specification is performed bit-wise by the port 7 mode control register (PCM7).
Port 7 (P7), the port 7 buffer (P7H, P7L) and the real-time output port can be accessed as real-time output ports.
Data output is performed as described below.
When output data is written in the port 7 buffer (P7H, P7L), the port 7 buffer contents are transferred to the real-time
output port (RTP) and output to the pins in synchronization with the timing of an interrupt request from timer 0 (INTCM00,
INTCM01), or a write to the TRG bit in the control register (RTPC).
An example of the direct control of the output pattern for a real-time output port and the output interval is shown in Figure
9-3.
Update data is transferred from the two data storage areas set beforehand in the external memory space to the realtime output function buffer registers (P7H, P7L) and compare registers (CM00, CM01).
Figure 9-3. Real-Time Output Port Stepping Motor Control
Register File Space
Output Data Area
Output Timing Data Area
Compare Register
CLK
/8
f
Free Running Timer
CM00 or CM01
TM0
External Memory Space
D1
D2
D3
D4
T1
T2
T3
T4
Timer 0
Interrupt
Request
Match
Macro Service
Processing
Real-Time Output Trigger/
Macro Service Activation
TransferTransfer or Addition
INTCM00
or
INTCM01
Output Data Pointer
Buffer Register Address
Compare Register Address
Output Timing Data Pointer
RC Initial Value
Real–Time Output Counter (RC)
Macro Service Counter
Mode Register
Channel Pointer
Internal Bus
Real-Time Output Port
Buffer Register
P7H, P7L
+1
–1
–1
Macro Service
Control Word
RTP
Output Latch
Stepping Motor
59
Page 60
µ
PD70433
In particular, it is possible to insert a delay time in the timing for output by setting the real-time output port delay
specification register (RTPD) pins. If the P7L bit is changed from "1" to "0", it is possible to perform output after inserting
a delay time of 2 × the system clock set in the RTPD from the timing at which the transfer trigger is generated. In this case,
"0" is output from the corresponding output pin. This delay is counted by the delay counter.
60
Page 61
µ
PD70433
10. PWM UNIT
The V55PI is provided with an 8-bit precision PWM (pulse width modulation) signal output function.
PWM output can be used as a digital-to-analog conversion output by connecting a low-pass filter, etc., externally. This
is ideal for the actuator control signal for motors, etc.
→ Resolution: 160 ns (with 12.5 MHz system clock φ)
10.2 PWM UNIT CONFIGURATION
The configuration of the PWM unit is shown in Figure 10-1.
The PWM unit consists of the PWM register (PWM) and PWM control register (PWMC), and an 8-bit counter.
The PWM register controls the pulse width (duty) in the PWM output mode. The 8–bit counter is set to 00H by reset input.
The PWM register is not affected by reset input.
µ
s
µ
s
125 ns (with 16 MHz system clock
)
φ
)
φ
)
61
Page 62
62
Figure 10-1. PWM Unit Block Diagram
8-Bit Counter
Comparator
PWM Slave Latch
Preset
PWM Register
Overflow
Match Detection
Signal
Internal Bus
S
Q
R
Q
000000CE ALV
Active
Level
Control
PWM Control
Register
PWM
Output
µ
PD70433
Page 63
µ
PD70433
11. WATCHDOG TIMER FUNCTION
The watchdog timer is a function for preventing inadvertent program looping and deadlocks.
11.1 FEATURES
φ
• Three overflow times settable (8.1, 32.7, 131.0 [ms]: system clock
clock
φ
= 12.5 MHz)
• Output pin provided (WDTOUT pin) which can be directly connected to the RESET pin
11.2 WATCHDOG TIMER CONFIGURATION AND OPERATION
Non-generation of a watchdog timer interrupt enables normal operation of the program or system to be confirmed. To
use the watchdog function, an instruction (RSTWDT) to clear the watchdog timer (start the count) must be included in at
fixed intervals in the program execution time, at the start of a subroutine, etc.
If the instruction which clears the watchdog timer is not executed within the set time and the watchdog timer overflows,
a watchdog timer interrupt (INTWDT) is generated and the low-level signal is output to the WDTOUT pin to report a program
error.
The watchdog timer configuration is shown in Figure 11-1.
= 16 MHz) (10.4, 41.9, 167.7 [ms]: system
Figure 11-1. Watchdog Timer Configuration Diagram
9
φ
/2
*1
φ
Frequency
Divider
WDTCLR
RESET
STOP
11
φ
/2
13
φ
/2
*2
Watchdog
Timer
(8 bits)
Clear
Overflow
WDTOUT
Active Timer
(5 bits)
INTWDT
Oscillation
Stabilizing
Time Control
Circuit
OVF
SQ
R
WDTOUT
*1.
φ
: System clock
2. WDTCLR: Watchdog timer clearance by instruction
63
Page 64
µ
PD70433
12. A/D CONVERTER FUNCTION
The V55PI incorporates a high-speed, high-precision 8-bit analog/digital (A/D) converter with four analog inputs (ANI0
to ANI3). The A/D converter uses the successive approximation method, and is provided with four A/D conversion result
registers (ADCR0 to ADCR3) which hold the conversion results.
12.1 FEATURES
The A/D converter offers the following features:
• Incorporates four 8-bit A/D conversion result registers.
• Four analog input pins (ANI0 to ANI3)
• Two A/D converter conversion operating modes
• Scan mode : Performs conversion by selecting multiple analog inputs in sequence.
• Select mode : Performs continuous conversion with only one pin used as the analog input.
• Two conversion start methods
• Hardware start : Started by trigger input (INTP4)
• Software start : Started by A/D converter mode register (ADM) bit setting
• Generation of conversion end interrupt request (INTAD)
64
Page 65
Figure 12-1. A/D Converter Block Diagram
Series Resistance String
ANI0
ANI1
ANI2
ANI3
P15/INTP4
External Trigger
A/D Converter Mode Register (ADM)
Input
Circuit
8
Internal Bus
Sample & Hold Circuit
Control
Comparator
Successive Approxi-
mation Register (SAR)
8
A/D Conversion Result Register 0 (ADCR0)
A/D Conversion Result Register 1 (ADCR1)
A/D Conversion Result Register 2 (ADCR2)
A/D Conversion Result Register 3 (ADCR3)
8
R/2
Tap Decoder
R
R/2
AV
REF
AV
SS
AV
DD
INTAD
65
µ
PD70433
Internal Bus
Page 66
µ
PD70433
13. STANDBY FUNCTIONS
The V55PI has two methods for controlling the operating clock as standby functions designed to reduce power dissipation.
Transition to either of these standby modes is possible by means of a dedicated instruction.
Table 13-1. HALT/STOP Mode Operating Status
ParameterHALT ModeSTOP Mode
Clock generatorOperating
Internal system clockStopped
16–bit timer
Watchdog timer
Hold circuit
Serial interface
Parallel interface
A/D Converter
Interrupt request controller
DMA controller
IORD, IOWRHigh levelHigh level
AD0 to AD15
Bus linesRetained
A16 to A23
R/W outputHigh levelHigh level
Refresh operationOperatingStopped
Data retention
Release method
Operating
Change accordng to DMAC operating
status
All internal data retained (CPU status,All internal data retained (CPU status,
RAM contents, etc.)RAM contents, etc.)
• NMI
• INTWDT• NMI
• Maskable interrupt request• RESET input
• RESET input
Stopped
13.1 HALT MODE
In this mode, the CPU operating clock is halted.
Setting the CPU idle time to the HALT mode enables overall system power dissipation to be reduced. The HALT mode
is entered by executing the HALT instruction.
In the HALT mode the CPU clock and program execution are stopped, and all register and on-chip RAM contents
immediately prior to the stoppage are retained. The status of each hardware unit is shown in Table 13-1.
When the HALT instruction is executed during a DMA transfer, transition to the HALT mode is deferred until the transfer
bus cycle for one DMA request is completed.
66
Page 67
µ
PD70433
13.2 STOP MODE
In this mode, clock oscillation is stopped.
This is effective when the entire application system is stopped, and offers extremely low power dissipation. The STOP
mode is entered by executing the STOP instruction. In this mode all clocks are stopped. Program execution is stopped, and
all register and on-chip RAM contents immediately prior to the stoppage are retained. The status of each hardware unit is
shown in Table 13-1.
When the STOP instruction is executed during a DMA transfer, transition to the STOP mode is deferred until the transfer
bus cycle for one DMA request is completed. If there is contention between a refresh cycle and STOP instruction execution,
transition to the STOP mode is deferred until the refresh cycle is completed.
67
Page 68
µ
PD70433
14. CLOCK GENERATOR
The clock generator supplies various clocks to the CPU and peripheral hardware, and controls the CPU operating mode.
14.1 CLOCK GENERATOR CONFIGURATION AND OPERATION
The clock generator is configured as shown in Figure 14-1.
The clock generator clock is generated by a crystal resonator or ceramic resonator connected to the X1 and X2 pins.
The clock generator output is subjected to waveform shaping (dividing frequency by 2) and selection of the scaling factor
by means of the processor control register (PRC), and is then used as the system clock φ.
The system clock
1/2, 1/4, 1/8 or 1/16 the oscillator frequency (f
Selecting a low-speed system clock
of a battery-driven system even when the voltage drops.
An external clock can be input. In this case, the clock signal should be input to the X1 pin, and leave the X2 pin open.
φ
scaling factor is specified by the PCK1 and PCK0 bits of the PRC register, and can be selected as
XX).
φ
reduces the current consumption of internal circuit, allowing extended operation
Using these special instructions on the V55PI enables not only image information MH encoding but also MR encoding
which previously required the use of a special device such as an ACEE (advanced compression/expansion engine) to be
implemented by means of a small-scale, high-speed codec.
16.1 FEATURES
The V55PI has the following 9 codec instructions (4 for compression, 5 for expansion):
MH/MR encoding and MH/MR decoding using these instructions are performed as shown in Figures 16-1 and
16-2.
*1. EOL: End Of Line
2. RTC: Return To Control
NoteWhen compression/expansion processing is performed using the V55PI codec instructions, the following
should be specified as preconditions.
• Compression/expansion is to be performed line by line.
• Consideration must be given to task switching and interrupt generation during compression processing.
• The number of bits processed per line must not be changed during processing of one page.
• The segment value must be changed for data over 64 Kbytes that straddles segments during processing.
71
Page 72
Figure 16-1. MH/MR Encoding Processing Flow
Start
K = 0
L = Number of lines
µ
PD70433
K = 0
Yes
Data transmission
instruction (EOL + tag
bit "1" transmission)
Change point table
creation instruction
MH encoding
instruction
K = K factor – 1K = K – 1
Data transmission
instruction
(FILL transmission)
L = L – 1
No
Data transmission
instruction (EOL + tag
bit "0" transmission)
Change point table
creation instruction
MR encoding
instruction
72
No
Data transmission
instruction
(RTC transmission)
L = 0
Yes
End
Page 73
Figure 16-2. MH and MR Decoding Processing Flow
Start
EOL detection
instruction
µ
PD70433
Error detectionTo Error Processing
No
1–bit detection
instruction (tag
bit detection)
Tag = 1
Yes
MH decoding
instruction
Yes
EndError detectionEnd
EOL detection
at start
No
Error detection
No
Yes
No
Yes
To Error Processing
Yes
MR decoding
instruction
EOL detection
at start
No
No
*
Yes
Pixel data creation
instruction
*RTC is detected by two EOLs.
Pixel data creation
instruction
73
Page 74
16.2 MEMORY MAP
The data memory areas required by the V55PI's codec instructions are shown below.
(1) Register file space
This is the register bank for parameter setting.
(2) User RAM
Encoding line change point table : Storage area for change point information required for performing encoding
In the case of n bit/lines, a maximum area of 2n + 4 bytes is required.
Reference line table: Reference line change point information storage area
Image data buffer: Storage area for pixel data read from scanner in encoding, or encoding data
received from modem in decoding
Transmit/receive buffer: Buffer for transferring encoded data to modem/scanner
Print buffer: Buffer for transferring decoded pixel data to recording system
(3) User ROM
Encoding conversion table : Conversion table for MH/MR encoding
Decoding conversion table : Conversion table for MH/MR decoding
µ
PD70433
(4) Access to Expanded Memory Space
The 16-Mbyte expanded memory space can be accessed by using the expanded segment override prefix
instruction (DS2: or DS3:).
However, the segment registers DS2 and DS3 that are used during instruction execution are DS2 and DS3
in the parameter setting register banks of each instruction.
Table 16-1. Instructions to which Expanded Segment Override Prefix Can Be Attached
(Destination register in an instruction using two 8/16-bit general registers)
reg’Source register in an instruction using two 8/16-bit general registers
reg8,8-bit general register
(Destination register in an instruction using two 8-bit general registers)
reg8'Source register in an instruction using two 8-bit general registers
reg16,16-bit general register
(Destination register in an instruction using two 16-bit general registers)
reg16'Source register in an instruction using two 16-bit general registers
mem8/16-bit memory address
mem88-bit memory address
mem1616-bit memory address
mem3232-bit memory address
sfrSpecial function register location: FFF00H to FFFEFH
sfrlSpecial function register location: FFE00H to FFEFFH
dmem16-bit direct memory address
imm8/16-bit immediate data
imm33-bit immediate data
imm44-bit immediate data
imm88-bit immediate data
imm8'8-bit immediate date (1’s compliment of imm8)
imm1616-bit immediate data
accAccumulator AW or AL
sregSegment register
xsregExtended segment register
src-tableName of 256-byte conversion table
src-blockName of source block addressed by register IX
dst-blockName of destination block addressed by register IY
src-stringName of source string addressed by register IX
dst-stringName of destination string addressed by register IY
near-procProcedure start address in current program segment
far-procProcedure start address in a different program segment
near-labelAbsolute address in current program segment
short-labelRelative address of memory in range –128 to +127 bytes from end of instruction
far-labelAbsolute address in a different program segment
regptr1616-bit general register holding call address offset in current program segment
memptr1616-bit memory address holding call address offset in current program segment
memptr3232-bit memory address holding call address offset and segment data in a different program segment
pop-valueNumber of bytes removed from stack (0 to 64K, normally an even number)
fp-opImmediate value which identifies external floating point operation coprocessor operation code
repeatRepeat prefix instruction
IRAM :Register file space access override prefix instruction
RRegister set (AW, BW, CW, DW, SP, BP, IX, IY)
( )Omissible
or, /Or
80
Page 81
µ
PD70433
Table 17-2. Operation Code Legend
IdentifierDescription
WWord/byte specification bit (1: word, 0: byte). However, when s = 1, sign extension byte data is
specified as 16-bit operand even if W = 1.
reg, reg’8/16-bit general register specification bits (000 to 111)
mod, memMemory addressing specification bits (mod: 00 to 10, mem: 000 to 111)
(disp-low)Optional 16-bit displacement low byte
(disp-high)Optional 16-bit displacement high byte
disp-low16-bit displacement low byte for PC relative addition
disp-high16-bit displacement high byte for PC relative addition
imm33-bit immediate data
imm44-bit immediate data
imm88-bit immediate data
imm8'8-bit immediate data (1's complement of imm8)
imm16-low16-bit immediate data low byte
imm16-high16-bit immediate data high byte
addr-low16-bit direct address low byte
addr-high16-bit direct address high byte
sregSegment register specification bits (00 to 11)
xsregExtended segment register specification bits (10 to 11)
sSign extension specification bit (1: sign extension, 0: no sign extension)
offset-lowLow byte of 16-bit offset data to be loaded in PC
offset-highHigh byte of 16-bit offset data to be loaded in PC
seg-lowLow byte of 16-bit segment data to be loaded in PS
seg-highHigh byte of 16-bit segment data to be loaded in PS
pop-value-lowLow byte of 16-bit data which specifies number of bytes to be removed from stack
pop-value-highHigh byte of 16-bit data which specifies number of bytes to be removed from stack
disp88-bit displacement for relative addition to PC
X
XXX
YYY
ZZZ
Operation code of an external floating point operation coprocessor
81
Page 82
Table 17-3. Operation Description Legend
IdentifierDescription
AWAccumulator (16 bits)
AHAccumulator (high byte)
ALAccumulator (low byte)
BWRegister BW (16 bits)
CWRegister CW (16 bits)
CLRegister CL (low byte)
DWRegister DW
SPStack pointer (16 bits)
BPBase Pointer (16 bits)
PCProgram counter (16 bits)
PSWProgram status word (16 bits)
IXIndex register (source) (16 bits)
IYIndex register (destination) (16 bits)
PSProgram segment register (16 bits)
DS3Extended data segment 3 register (16 bits)
DS2Extended data segment 2 register (16 bits)
DS1Data segment 1 register (16 bits)
DS0Data segment 0 register (16 bits)
SSStack segment register (16 bits)
ACAuxiliary carry flag
CYCarry flag
PParity flag
SSign flag
ZDirection flag
IEInterrupt enable flag
VOverflow flag
IBRKI/O break flag
BRKBreak flag
RB0Register bank 0 flag
RB1Register bank 1 flag
RB2Register bank 2 flag
RB3Register bank 3 flag
VPCVector PC
(...)Contents of memory indicated by contents of in parenthesis
dispDisplacement (8/16-bit)
tempTemporary register (8/16/32 bits)
ext–disp816 bits with 8-bit displacement sign-extended
segImmediate segment data (16 bits)
offsetImmediate offset data (16 bits)
←Transfer direction
+Addition
−Subtraction
×Multiplication
÷Division
%Modulo
∧Logical product (AND)
∨Logical sum (OR)
VExclusive logical sum (exclusive OR)
××H2-digit hexadecimal number
××××H4-digit hexadecimal number
/Alternate function, or
µ
PD70433
82
Page 83
Table 17-4. Flag Operation Legend
IdentifierDescription
(Blank)No change
0Cleared to 0
1Set to 1
×Set or cleared depending on result
UUndefined
RPreviously saved value is restored
NoteWhen BP is used in memory addressing other than in a primitive instruction, the default segment register
is SS. When BP is not used, the default segment register is DS0.
In primitive instruction memory addressing, the destination block default segment register is DS1. In
memory addressing, the source block default segment register is DS0.
Table 17-6. 8/16-Bit General Register SelectionTable 17-7. Segment Register Selection
regW = 0W = 1sreg
000ALAW00DS1
001CLCW01PS
010DLDW10SS
011BLBW11DS0
100AHSP
101CHBP
110DHIX
111BHIYxsreg
Table 17-8. Extended Segment Register Selection
10DS3/VPC
11DS2
83
Page 84
µ
PD70433
Number of Clock Cycles
In the case of a memory operand the number of clock cycles depends on the addressing mode. The following numbers
should be used for “EA” in Table 17-9 “Number of Clock Cycles”.