Avago Technologies LSI53C896 User Manual
Page 234

5-6
SCSI SCRIPTS Instruction Set
Version 3.3
Copyright © 1998–2003 by LSI Logic Corporation. All rights reserved.
Indirect
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. The value at the 32-bit start address is
loaded into the chip’s
register
using a third Dword fetch (4-byte transfer across the host
computer bus).
Use the fetched byte count, but fetch the data address
from the address in the instruction.
If 64-bit addressing is desired, the upper Dword of the
address is stored in the
Static Block Move Selector (SBMS)
register. When the value in SBMS is 0x0, 32-bit addressing
is assumed.
When the data pointer address is loaded, it is executed
as when the chip operates in the direct mode. This
indirect feature allows specification of a table of data
buffer addresses. Using the SCSI SCRIPTS compiler, the
table offset is placed in the SCRIPTS at compile time.
Then at the actual data transfer time, the offsets are
added to the base address of the data address table by
the external processor. The logical I/O driver builds a
structure of addresses for an I/O rather than treating each
address individually.
Note:
Using indirect and table indirect addressing simultaneously
is not permitted; use only one addressing method at a time.
TIA
Table Indirect 32-Bit Addressing
28
When this bit is set, the 24-bit signed value in the start
address of the move is treated as a relative displacement
from the value in the
register. Both the transfer count and the
source/destination address are fetched from this location.
Command
Byte Count
Lower Dword Address of Data
Upper Dword address of data (EN64DBMV = 1)
Command
Byte Count
Address of Pointer to Data