![](http://datasheet.mmic.net.cn/390000/SYM53C825A_datasheet_16836334/SYM53C825A_132.png)
Instruction Set of the I/O Processor
Block Move Instructions
6-4
SYM53C825A/825AE Data Manual
Block Move Instructions
For Block Move instructions, bits 5 and 4 (SIOM
and DIOM) in the DMODE register determine
whether the source/destination address resides in
memory or I/O space. When data is being moved
onto the SCSI bus, SIOM controls whether that
data comes from I/O or memory space. When data
is being moved off of the SCSI bus, DIOM con-
trols whether that data goes to I/O or memory
space.
First Dword
Bits 31-30 Instruction Type-Block Move
Bit 29
Indirect Addressing
When this bit is cleared, user data is moved to
or from the 32-bit data start address for the
Block Move instruction. T he value is loaded
into the chip’s address register and incre-
mented as data is transferred. T he address of
the data to be moved is in the second dword of
this instruction.
When set, the 32-bit user data start address for
the Block Move is the address of a pointer to
the actual data buffer address. T he value at the
32-bit start address is loaded into the chip’s
DNAD register via a third longword fetch (4-
byte transfer across the host computer bus).
Direct
T he byte count and absolute address are as
follows.
Indirect
Use the fetched byte count, but fetch the data
address from the address in the instruction.
Once the data pointer address is loaded, it is
executed as when the chip operates in the
direct mode. T his indirect feature allows a
table of data buffer addresses to be specified.
Using the NCR SCSI SCRIPT S compiler, the
table offset is placed in the script at compile
time. T hen at the actual data transfer time, the
offsets are added to the base address of the
data address table by the external processor.
T he logical I/O driver builds a structure of
addresses for an I/O rather than treating each
address individually. T his feature makes it pos-
sible to locate SCSI SCRIPT S in a PROM.
Note: Indirect and table indirect addressing
cannot be used simultaneously; only one
addressing method may be used at a time.
Bit 28
Table Indirect
When this bit is set, the 24-bit signed value in
the start address of the move is treated as a rel-
ative displacement from the value in the DSA
register. Both the transfer count and the
source/destination address are fetched from
this address.
Use the signed integer offset in bits 23-0 of the
second four bytes of the instruction, added to
the value in the DSA register, to fetch first the
byte count and then the data address. T he
signed value is combined with the data struc-
ture base address to generate the physical
address used to fetch values from the data
structure. Sign-extended values of all ones for
negative values are allowed, but bits 31-24 are
ignored.
Note: Indirect and table indirect addressing
cannot be used simultaneously; only one
addressing method may be used at a time.
Command
Byte Count
Address of Data
Command
Byte Count
Address of Pointer to Data
Command
Not Used
Don’t Care
Table Offset