using the bootstrap loader
using the bootstrap loader
using the bootstrap loader
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
WRITING A CUSTOM FIRST-STAGE DRIVER<br />
5-22<br />
Example<br />
This example illustrates <strong>the</strong> fundamentals of message passing from <strong>the</strong> bootable device<br />
controller board to <strong>the</strong> host CPU board. This example is written in PL/M-86 code and is<br />
intended to be generic in nature.<br />
1************************************************************<br />
* This example illustrates how a host CPU board *<br />
* receives a data message from <strong>the</strong> bootable *<br />
* controller board located in slot 1 at port lF4H of *<br />
* <strong>the</strong> MULTIBUS II system. *<br />
* *<br />
* The control portion of <strong>the</strong> message received is *<br />
* located in <strong>the</strong> l6-byte array p$status$msg *<br />
* (Peripheral Status Message). The data portion of *<br />
* <strong>the</strong> message received is located in <strong>the</strong> l024-byte *<br />
* data array sent$data. *<br />
************************************************************1<br />
SAMPLE_BS$RECEIVE: DO;<br />
DECLARE socket<br />
DECLARE socket$o structure<br />
(host$id<br />
port$id<br />
DECLARE p$status$msg(l6)<br />
DECLARE data$adr<br />
DECLARE data$length<br />
DECLARE flags<br />
DECLARE exception<br />
DECLARE sent$data(1024)<br />
DECLARE slot LITERALLY<br />
DECLARE port LITERALLY<br />
DECLARE length LITERALLY<br />
DECLARE null LITERALLY<br />
CODE: DO;<br />
DWORD;<br />
socket$o.host$id = slot;<br />
socket$o.port$id = port;<br />
data$length = length;<br />
flags = null;<br />
WORD,<br />
WORD) AT (@socket);<br />
BYTE;<br />
DWORD;<br />
WORD;<br />
WORD;<br />
WORD;<br />
BYTE;<br />
'lH' ;<br />
, lF4H' ;<br />
, 400H' ;<br />
'OH' ;<br />
data$adr = CONVERT ADDRESS (@sent$data(O));<br />
Bootstrap Loader