
4-38
Registers
1.
Subtract the seven least significant bits of the
DMA
Byte Counter (DBC)
register from the 7-bit value of
the
DMA FIFO (DFIFO)
register.
2.
AND the result with 0x7F for a byte count between
zero and 64.
Register: 0x21 (0x22)
Interrupt Status (ISTAT)
Read/Write
This is the only register that is accessible by the host CPU while the
SYM53C710 is executing SCRIPTS (without interfering in the operation
of the SYM53C710). It is used to poll for interrupts if interrupts are
masked. When either the SIP or DIP bit is set, the DSTAT and SSTAT0
latches close and subsequent interrupts are stacked (held in a pending
register “behind” the status register). When the current interrupt is
cleared by reading the appropriate status register, the stacked interrupts
are transferred to the status register and cause another interrupt.
When an interrupt event occurs, the SYM53C710 halts in an orderly
fashion before asserting IRQ. If in the middle of an instruction fetch, the
fetch is completed (except in the case of a Bus Fault or Watchdog
Time-out), though execution does not begin. If possible, DMA write
operations empty the FIFO before halting. All other DMA operations
finish only the current cycle (or burst if a cache line) before halting. SCSI
handshakes that have begun are completed before halting. The
SYM53C710 attempts to clean up any outstanding synchronous offset.
In the case of Transfer Control Instructions, once execution begins it
continues to completion before halting. If the instruction is JUMP/CALL
WHEN, the wait aborts and the DSP is updated to the transfer address
before halting. All other instructions halt before completing execution.
Note:
The ISTAT is a shadowed register, therefore it cannot be
accessed using the Read/Write Instruction. To move the
Interrupt Status (ISTAT)
register to the SFBR, use a
Memory Move to transfer the ISTAT to SCRATCH1, then
perform a SCRATCH1-to-SFBR Move.
7
6
5
4
3
2
1
0
ABRT
RST
SIGP
R
CON
R
SIP
DIP
0
0
0
0
0
0
0
0