![](http://datasheet.mmic.net.cn/390000/SYM53C1010-33_datasheet_16836324/SYM53C1010-33_250.png)
5-2
SCSI SCRIPTS Instruction Set
Once an interrupt is generated, the SYM53C1010-33 halts all operations
until the interrupt is serviced. Then, the start address of the next
SCRIPTS instruction is written to the
DMA SCRIPTS Pointer (DSP)
register to restart the automatic fetching and execution of instructions.
In the SCSI SCRIPTS mode the SYM53C1010-33 is allowed to make
decisions based on the status of the SCSI bus, which frees the
microprocessor from servicing the numerous interrupts inherent in I/O
operations.
Given the rich set of SCSI-oriented features included in the instruction
set, and the ability to re-enter the SCSI algorithm at any point, this high
level interface is all that is required for both normal and exception
conditions. Switching to the low level mode for error recovery is not
required.
The following types of SCRIPTS instructions are implemented in the
SYM53C1010-33:
Block Move –
used to move data between the SCSI bus and memory.
I/O or Read/Write –
causes the SYM53C1010-33 to trigger common
SCSI hardware sequences, or to move registers.
Transfer Control –
allows SCRIPTS instructions to make decisions
based on real time SCSI bus conditions.
Memory Move –
causes the SYM53C1010-33 to execute block moves
between different parts of main memory.
Load/Store –
provides a more efficient way to move data to/from
memory from/to an internal register in the chip without using the
Memory Move instruction.
Each instruction consists of two or three 32-bit words. The first 32-bit
word is always loaded into the
DMA Command (DCMD)
and
DMA Byte
Counter (DBC)
registers, the second into the
DMA SCRIPTS Pointer
Save (DSPS)
register. The third word, used only by Memory Move
instructions, is loaded into the
Temporary (TEMP)
shadow register. In an
indirect I/O or Move instruction, the first two 32-bit opcode fetches are
followed by one or two more 32-bit fetch cycles.