beautypg.com

Avago Technologies LSI53C896 User Manual

Page 235

background image

Block Move Instructions

5-7

Version 3.3

Copyright © 1998–2003 by LSI Logic Corporation. All rights reserved.

Use the signed integer offset in bits [23:0] of the second
four bytes of the instruction, added to the value in the

Data Structure Address (DSA)

register, to fetch first the

byte count and then the data address. The signed value
is combined with the data structure base address to
generate the physical address that fetches values from
the data structure. Sign-extended values of all ones for
negative values are allowed, but bits [31:24] are ignored.

Note:

Using indirect and table indirect addressing simultaneously
is not permitted; use only one addressing method at a time.

Prior to the start of an I/O, load the

Data Structure Address (DSA)

register with the base

address of the I/O data structure. Any address on a
Dword boundary is allowed.

After a Table Indirect opcode is fetched, the

Data Structure Address (DSA)

is added to the 24-bit

signed offset value from the opcode to generate the
address of the required data; both positive and negative
offsets are allowed. A subsequent fetch from that address
brings the data values into the chip.

For a MOVE instruction, the 24-bit byte count is fetched
from system memory. Then the 32-bit physical address is
brought into the LSI53C896. Execution of the move
begins at this point.

SCRIPTS can directly execute operating system I/O data
structures, saving time at the beginning of an I/O
operation. The I/O data structure can begin on any Dword
boundary and may cross system segment boundaries.

There are two restrictions on the placement of pointer
data in system memory:

The eight bytes of data in the MOVE instruction must
be contiguous, as follows, and

Indirect data fetches are not available during
execution of a Memory-to-Memory DMA operation

Command

Not Used

Don’t Care

Table Offset