Avago Technologies LSI53C896 User Manual

Page 234

Advertising
background image

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

DMA Next Address (DNAD)

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

Data Structure Address (DSA)

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

Advertising