
5-20
SYM53C876/876E Data Manual
SCSI SCRIPTS Instruction Set
Transfer Control Instructions
Jump/Call an Absolute Address
Start execution at the new absolute address.
Jump/Call a Relative Address
Start execution at the current address plus (or
minus) the relative offset.
The SCRIPTS program counter is a 32-bit
value pointing to the SCRIPT currently under
execution by the SYM53C876. The next
address is formed by adding the 32-bit pro-
gram counter to the 24-bit signed value of the
last 24 bits of the Jump or Call instruction.
Because it is signed (twos compliment), the
jump can be forward or backward.
A relative transfer can be to any address
within a 16-MB segment. The program
counter is combined with the 24-bit signed
offset (using addition or subtraction) to form
the new execution address.
SCRIPTS programs may contain a mixture of
direct jumps and relative jumps to provide
maximum versatility when writing SCRIPTS.
For example, major sections of code can be
accessed with far calls using the 32-bit physi-
cal address, then local labels can be called
using relative transfers. If a SCRIPT is written
using only relative transfers it does not require
any run time alteration of physical addresses,
and can be stored in and executed from a
PROM.
Bit 21
Carry Test
When this bit is set, decisions based on the
ALU carry bit can be made. True/False com-
parisons are legal, but Data Compare and
Phase Compare are illegal.
Bit 20
Interrupt on the Fly
When this bit is set, the interrupt instruction
does not halt the SCRIPTS processor. Once
the interrupt occurs, the Interrupt on the Fly
bit (ISTAT bit 2) is asserted.
Bit 19
Jump If True/False
This bit determines whether the SYM53C876
branches when a comparison is true or when a
comparison is false. This bit applies to phase
compares, data compares, and carry tests. If
both the Phase Compare and Data Compare
bits are set, then both compares must be true
to branch on a true condition. Both compares
must be false to branch on a false condition.
Bit 18
Compare Data
When this bit is set, the first byte received
from the SCSI data bus (contained in SFBR
register) is compared with the Data to be
Compared Field in the Transfer Control
instruction. The Wait for Valid Phase bit con-
trols when this compare occurs. The Jump if
True/False bit determines the condition (true
or false) to branch on.
Bit 17
Compare Phase
When the SYM53C876 is in initiator mode,
this bit controls phase compare operations.
When this bit is set, the SCSI phase signals
(latched by SREQ/) are compared to the
Phase Field in the Transfer Control instruc-
tion. If they match, the comparison is true.
The Wait for Valid Phase bit controls when
the compare occurs. When the SYM53C876
is operating in target mode this bit, when set,
Command
Condition Codes
Absolute Alternate Address
Command
Condition Codes
Don’t Care
Alternate Jump Offset
Bit 19
Result of
Compare
Action
0
0
1
1
False
True
False
True
Jump Taken
No Jump
No Jump
Jump Taken