Avago Technologies LSI53C1010 User Manual
Page 296

B-2
Multithreaded SCRIPTS Example
synch_msgi_buf
= 5{??},
\
cmd_buf = 12{??},
\
status_buf = 1{??},
\
msg_in_buf = 1{??},
\
data_buf = 512{??}
;***********************************************************
********
; ENTRY declarations
ENTRY multi_thread
ENTRY to_decisions
ENTRY id_msg_out
ENTRY msg_in_phase
ENTRY cmd_phase
ENTRY data_in_phase
ENTRY data_out_phase
ENTRY status_phase
ENTRY disconnected
ENTRY entry0
ENTRY entry1
ENTRY entry2
ENTRY io_request0
ENTRY io_request1
ENTRY io_request2
ENTRY schedule_NOP
; Scheduler SCRIPT code
scheduler:
entry0:
;Initialize DSA register with table base address for
using table
;indirect addressing
MOVE MEMORY 4, PATCH_addr_of_table0_ptr,
PATCH_chip_physaddr+DSA
;Initilize address for changing jump to nop after
starting new I/O
;(after SELECT instruction in main SCRIPT code)
MOVE MEMORY 4,
PATCH_SCRIPTphysaddr+io_request0,PATCH_SCRIPTphysaddr+schedu
le_NOP+8
io_request0:
JUMP REL(multi_thread)
entry1:
MOVE MEMORY 4, PATCH_addr_of_table1_ptr,
PATCH_chip_physaddr+DSA
MOVE MEMORY 4,