beautypg.com

6 table indirect addressing, Table indirect addressing – Avago Technologies LSI53C1010 User Manual

Page 193

background image

Table Indirect Addressing

8-7

two areas: the definition area and the SCRIPTS area. The definition area
contains variable and absolute values. These values may describe a
variable location, variable byte count, or a fixed status byte value. The
SCRIPTS area contains the SCSI instructions.

The SCRIPTS language writes instructions and assembles them to
create the SCRIPTS output file. The assembler output is a “C” include
file that includes relocation information required to load the SCRIPTS
object module into main memory, if any relocation is required. It can be
directly included in firmware written in the “C” language.

When the SCRIPTS starting address is loaded, the SCRIPTS absolute
jump addresses must be resolved. You must patch in the correct buffer
addresses, byte counts, destination ID, and so forth, if table indirect
addressing is not used.

Writing a logical I/O driver for the LSI53C7XX/8XX/10XX family is easier
than previous generation solutions. Because SCSI sequences are so
simple to implement when written in SCSI SCRIPTS, you can rapidly
prototype SCSI sequences for proof of concept and build on them to
create more complete driver programs.

8.6 Table Indirect Addressing

Table indirect addressing simplifies SCRIPTS by separating addresses
and device information from control information in Block Move and
Select/Reselect instructions. One of the major advantages of table
indirect addressing is that SCRIPTS directly loads operating system I/O
data from the tables, which increases program efficiency and simplifies
program structure. These tables eliminate the need for patching
SCRIPTS at the beginning of an I/O. The table can begin on any Dword
boundary and can cross system segment boundaries. There are three
restrictions on the placement of tables in memory:

1.

The I/O data structure must lie within 8 Mbytes above or below the
base address.

2.

An I/O table entry must have all 8 bytes contiguous in system
memory.

3.

The table must be a contiguous data structure of 8-byte entries.

This manual is related to the following products: