Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
JRC Research Report No. 90-18
June 1988 through May 1990
Network, System, and Status Software
Enhancements for the Autonomously Managed
Electrical Power System Breadboard
Protocol Specification
Grant NAG8-720
Volume 2 of 4 Volumes
Prepared by
James W. McKee
University of Alabama, Huntsville
Huntsville, Alabama 35899
(205) 895-6257
Prepared for
Norma Whitehead
EBI2
NASA/MSFC
Huntsville, Alabama
https://ntrs.nasa.gov/search.jsp?R=19910001306 2020-03-09T23:48:00+00:00Z
Table of Contents
I. Purpose .........................
2. Introduction ......................
3. Power System Description ................
4. Protocol Requirements .................
5. Protocol Description .................
6. References .......................
Appendix A Protocol Specification ...........7. Protocol Definitions ................
general ....................addresses ....................
arrays ......................
array pointers .................blocks .....................
constants ....................
fields ......................
flags ......................Numbers .....................
Offsets .....................
stacks and queues ................
stack pointers ..................subroutine calls to the Kernel ..........
8. Protocol design specification ...........8.6. The description of the protocol ......
General information .............Initialization ...............
Transmit State ...............
Clean up State .............Receive State ................
Timeout State ................
Table 1 Packet Format .................
Table 2 Station names ................Table 3 Transmit Control Block ............
Table 4 Receive Control Block ............
Table 5 Time Out Control Block ............Table 6 Initialization Command Block .........
Table 7 Initialization Response Block .........
Table 8 Status Control Block .............
Figure 1 Data Flow Diagram -- Transmit Protocol ....
Figure 2 Data Flow Diagram -- Receive Protocol ....
Figure 3 Data Flow Diagram -- Time out Protocol ....
9. Appendix B Structured Flow Diagrams of Protocol .....
2
i0
ii
II
II
12
12
12
12
13
13
14
14
15
15
16
17
18
19
19
19
.
5
5
2121
22
24
26
27
27
28
28
29
30
3031
32
33
34
9.i. Stack and Queue initialization definitions
9.1.1. Stack ..................
9.1.2. Queue ...................
Definition of [ ] operator ...........
Functions operating on stacks ..........9.3.1• General Push and Pop functions ......
9•3.1.1. PUSH procedure ..........
9.3.1.2. POP procedure ...........
9•3.2. PUSH POP ITCBSk ............
9.3.3. PUSH POP IBSk ..............
9.3.4• LOCK IBS and UNLOCK IBS .........
9.3.5. PUSH ANASk ................
9.4. General operations on Queues ..........
9.4.1. Join QUEUE procedure (QUEUE_IN) .....
9.4.2. Serve QUEUE procedure (QUEUE_OUT) ....9.4.3. ENTER QUEUE and DELETE QUEUE .......
9.4.3.1. ENTER QUEUE ............
9.4.3.2. DELETE QUEUE ............
9.4.4. Test CIRCULAI_ QUEUE Operation ......9.4.4.1. EMPTY Function ..........
9.4.4.2. FULL Function ..........
9.4.5. JOIN and SERVE operation on QUEUE ....
9.4.5.1. QUEUE IN OUT CBSk .........
9.4.5.2. QUEUE IN OUT RCBSk .... ....
9.4.5.3. QUEUE IN OUT WFASk ........9.5. AMPS Communication Network S_ructured Flow Diagram
9.5.1. Top level flow diagram ..........9.5.2. -- Level 1 INITIALIZATION ........
9.5.2.1. -- Level i.I Make STACKS ....
9.5.2.2. -- Level 1.2 Make QUEUES .....
9.5.2.3. -- Level 1.3 Make BUFFERS .....
9.5.2.3.1.
buffer
9.5.2.3.2.
buffer
9.5.2.3.3•
buffer
-- Level 1.3.1 make RCBk
• • • • • • • • • • • • • •
-- Level 1.3.2 make TCBk
. • • • • • • • • • • • • •
-- Level 1.3.3 make IBSBk
. • • • • • • • • • • • • •
9.5.2.4. -- Level 1.4 Form ICBk ......
9.5.2.5. -- Level 1.5 Read and Store kernel
subroutine addresses ..........
9.5•2.6. -- Level 1.6 call Kernel Receive
Ring Fill .............9.5.2.7. -- Level 1.7 KKNLINIT .......9.5.2.8. -- Level 1.8 Start transmitter
timeout ................
9.5.3. -- Level 2. RECEIVE STATE ........
9.5.3.1. -- Level 2.1 RECEIVE ACK .....
9.5.3.2. -- Level 2.2 RECEIVE CCn .....
9.5.3.2.1. -- Level 2.2.1 CHECK COMMAND9.5.3•2.1.1. -- Level 2.2.1.1
GENERATE ACK ...........
9.5.3•3• -- Level 2.3 RECEIVE NICn ....
34
34
34
35
35
35
35
36
37
38
39
40
41
41
42
43
43
44
45
45
45
46
46
47
48
49
49
50
51
52
53
54
55
5657
57
5859
60
61
62
63
64
65
66
3
9.5.3.3.1. -- Level 2.3.1 CHECK ANASk
9.5.3.3.2. -- Level 2.3.2 CHECK NICn .
9. 5 . 3 . 3. 3 . -- Level 2.3.3
CLEAR PROTOCOL ..........
9.5.4. -- Level 3. TRANSMIT STATE ........
9.5.4.1. -- Level 3.1 MAKE PACKET ....
9.5.4.1.I. -- Level 3.1_ SEARCH ANASk
9.5.5. -- Level 4. CLEAN UP STATE ........
.........................
9.5.6. -- Level 5. TIMEOUT STATE ........
I0. Appendix C Protocol source code in FORTH ........
67
68
69
70
71
72
73
74
74
75
I. Purpose
This volume contains the specification,charts, and code listing for the protocol.
structured flow
2. Introduction
The purpose of an autonomous power system on a spacecraft isto relieve humans (on the ground or in the craft) from having tocontinuously monitor and control the generation, storage anddistribution of power in the craft. This implies thatalgorithms will have been developed to monitor and control thepower system. The power system will contain computers on whichthe algorithms run. Studies, [i], [2], indicate that thesecomputers should be physically close to the hardware they monitorand/or control. The studies also indicate that there should beone central computer system that makes the high level decisionsand sends commands to and receives data from the otherdistributed computers. This will require a communicationsnetwork and an efficient protocol by which the computers will
communicate.
One of the major requirements on the protocol is that it be
"real time" because of the need to control the power elements.
This implies a simple protocol, short messages, and as much of
the protocol implemented in dedicated hardware as possible.
The objective of this introduction is to present in a
logical fashion the considerations that led to the design and
development of a network protocol that is being implemented on
the Autonomously Managed Power System, AMPS breadboard at
NASA/MSFC. The AMPS breadboard is being used to develop and test
higher level control and expert system programs being developed
for power system management [3].
3. Power System Description
The power system for a spacecraft will consists of one ormore of each of three functional elements. The power generation
center, PGC, (e.g., solar arrays) generates the electrical power
for the spacecraft. The power storage center, PSC, (e.g., banks
of batteries) stores energy until needed. Load centers, LC,
switch the power from the distribution busses to the loads.
An autonomous power system can be thought of as system in
which the monitoring and control hardware are distributed to each
functional element and are connected by a network. The power
control center, PCC, is the central computer(s) on which the
5
high level programs run. Each PGC, PSC, and LC will contain thehardware and software to monitor (and maybe control) thevoltages, currents, and temperatures in the center and monitorand control the settings of the switches that connect the centerto the power bus.
The AMPS test facility currently features the following.
i. A programmable solar array simulator which supplies 220 +/- 20VDC directly to three power channels with a maximum power outputof 75 kW.
2. An energy storage simulator which consists of a battery with168 commercial nickel-cadmium (Ni-Cd) cells serially connected toprovide a nominal DC voltage of 220 volts and a capacity of 189ampere-hours.
3. A load simulator which consists of nine resistive loads andone dynamic load that dissipate a total of 24 kW of power whenoperated at 200 VDC.
In addition, three Motorola 68000 microcomputer basedcontrollers provide data retrieval and low-level decision-makingfor the power system with a NCR Tower based host computerproviding overall power system management and programmability forflight power system simulation.
4. Protocol Requirements
This section will present the list of protocol requirementsthat were derived from the physical layout of the power systemand the monitoring and control requirements of the overall powermanagement system. The objective in developing this protocol wasto make the protocol as simple as possible and still satisfy therequirements of the power system.
The following is a listsimplified the protocol.
of the assumptions made that
i. The bus topology will be used. Therefore, there is no needfor routing information, all stations are on the same line.
2. Once the network is initialized there will not be a need toopen and close sessions, i.e., all the stations stay on the lineall the time.
3. All the messages will be short, on the order of 4 to 200 bytes(our analysis, [i], and [2] support this).
4. Because the physical length of the network will be short,i.e., it will be totally confined to be within the space craft,
6
the protocol will not need to be as robust as some of the more
common protocols.
The following is a list of the requirements of the protocol.
i. Since the power system must be controllable in real time, the
protocol must be capable of processing (from the transmitting
application to the receiving application) messages in times on
the order of 10 ms to I00 ms. (In [2] a study was performed that
indicates for a power system to have a reaction time of 0.i
seconds a communication bit rate of on the order of 106 is
needed.)
2. The protocol must be able to initialize or re-initializeitself.
3. The protocol must be able to add or remove stations at will.
4. Since the functional elements are physically dispersed, the
protocol must have the capacity to uniquely address an arbitrarynumber of stations.
5. Since this is a control system the protocol must insure that
each message is delivered to the application in the order sent.
Given these requirements the question arises "Is it possible
to use a defined protocol such as TCP/IP [4] or DDCMP [5]?"
There are two disadvantages to using TCP/IP: I) the amount of
computer time needed to process each message and 2) the number of
over head bytes in each message (minimum of 40). The major draw
back of TCP/IP is, of course, the amount of computer time
required. For this reason TCP/IP was rejected. Since the power
system environment is more constrained then the environment for
which DDCMP was designed, the protocol did not need all the
capabilities of the message exchange section of DDCMP.
The protocol developed is on the level of DDCMP. Although
not a requirement, the protocol assumes that it is working on top
of Ethernet hardware such as the ENP-30 card [6], [7]. This card
performs two of the three functions of DDCMP: framing and link
management (as does most network hardware). Some of but not all
of the message exchange features were incorporated. The ability
to use logical station addresses was added.
5. Protocol Description
This section will give an over view of the protocol. For a
detailed description of the protocol see the specification in
Appendix A. The following is a list of the main attributes of
the protocol.
7
i. The PCC initializes the network and establishes a session witheach other element on the power system network.
2. The networkitself.
is self-initializing and can re-synchronize
3. Every packet is numbered.
4. Messages will be passed to the application program in thecorrect order.
5. Every message is acknowledged.
6. There is a sliding acknowledgement window.
7. Messages are capable of being pipelined, i.e., messages can beaccepted before previous acknowledgements reach the sender.
8. There is a re-transmission of messages that have not beenacknowledged within the time out period.
9. There is a mapping between logical power system elements'names and physical Ethernet addresses.
The computer system in each power system element is doingtwo distinct operations: processing communication messages andperforming its specific monitor and/or control functions. Thepresent breadboard uses a simple scheme of two CPUs running inparallel. One runs the protocol; the other runs the applicationprogram. The two computers communicate through shared memory.This is faster and simpler than one CPU with a complex operating
system that supports multi-processing.
The protocol is designed to be the interface between
application programs and the Ethernet hardware. The application
programs generate messages that are to be sent to other stations.
They pass these messages to the protocol. The Ethernet hardware
does the actual transmitting and receiving of messages over the
physical wire. To transmit a message the Ethernet hardware is
given the packet to be sent. The hardware sends the packet over
the cable and is responsible for assuring that the message is
transmitted correctly, i.e., it will retransmit the packet if itdetects a collision. When the Ethernet hardware receives a
packet, it checks the unique station address and cyclic
redundancy code, CRC, and only accepts packets which are
addressed to the station and in which no errors have beendetected.
The philosophy of the implementation of the protocol is:
messages are never moved around; only pointers to the messagesare moved. This resulted in an implementation based on stacks
and queues and results in the ability of the protocol to quicklyprocess messages.
On a very high level the protocol can be viewed as follows.For the receive function: the Ethernet hardware stores areceived message in the shared memory of both processors andpasses a pointer to the message to the protocol; the protocolpasses the pointer to the message to the application program.For the transmit function: the application program creates amessage in shared memory and passes a pointer to the message tothe protocol which in turn passes the pointer to the Ethernethardware which transmits the message.
The protocol first initializes the network then moves roundrobin between three states: transmit state, receive state, andtime out state. The protocol in the PCC initializes the networkby sending a packet, in broadcast mode, requesting all otherstations to identify themselves. Each station sends back itslogical name and Ethernet address. Then in each station theprotocol will enter the transmit state and check if there is amessage to send. If so the message will be sent. If not theprotocol will enter the receive state and check if there aremessages to be moved to the application program. If so, themessages are moved. If not, the protocol will enter the time outstate. If a time out has occurred, unacknowledged messages aresent again and the timer is reset. Then the protocol enters thetransmit state, etc.
When the application has a message ready to be transmitted,it sets the Go-Flag. When the protocol enters the transmitstate, the protocol tests the Go-Flag and when set makes a packetout of the message. The protocol resets the Go-Flag whichindicates to the application that the message has been sent. Theprotocol combines the pointer to the message with a unique packetnumber and other data needed by the Ethernet hardware to make apacket. The protocol then passes a pointer to the packet to theEthernet hardware. The hardware transmits the packet (but doesnot remove the packet from memory) and places the pointer to thepacket on the wait for acknowledgement stack, WFASk.
As packets are received by the Ethernet hardware they areplaced in shared memory and a pointer to the packet is placed onthe receive control block stack, RCBSk. The protocol monitorsthe RCBSk and processes any packets found in the queue. Thepackets can be either an acknowledgement or a message. If thepacket is an acknowledgement, the WFASk is checked forcorresponding message packet(s). (There is a slidingacknowledgement window on packet numbers, so more than one packetcan be acknowledged with only one acknowledgement packet.) Allmessage packets in the WFASk queue that have been acknowledgedare deleted from the WFASk and memory. If the packet is amessage packet, the unique packet number is checked against the
9
expected number for the packet. If the numbers are the same thepacket is broken apart and the pointer to the message is placedon the command buffer stack, CBSk. If the numbers are not thesame, the pointer is placed back at the end of the RCBSk queue.(A packet has been received before its predecessor has beencorrectly received.) Every message packet is acknowledged. Theprotocol creates a acknowledgement packet which is transmitted bythe hardware. (Acknowledgement packets are automatically removedfrom the WFASk.) The application program monitors the CBSk.When it detects messages in the CBSk queue, it processes themessages in the order in which the messages are on the CBSk.(This insures that messages are processed in the order sent bythe other station.)
The time-out function re-transmits any packets that are onthe WFASk when a time out occurs. If the packet is notacknowledged within the time out period, the packet's pointer istaken off the WFASk and passed to the hardware to re-transmitthe packet. The Ethernet hardware puts the pointer back on theWFASk. When the packet is acknowledged, its pointer is deletedfrom the WFASk and the message memory freed.
6. References
[I] TRW, "Space Power Distribution System Technology,Report," Vol. 2, 1983, TRW Report No. 34579-6001-UT-00.
Final
[2] Martin Marietta Aerospace, "Space Station Automation ofCommon Mode Power Management and Distribution, Interim FinalReport," 1989, MCR-89-516.
[3] Weeks, D.J., "Expert Systems in Space," IEEE Potentials, Vol.6, No. 2, 1987.
[4] Tanenbaum, A. S., Computer Networks, Prentice Hall, 1988.
[5] DEC, "Digital Data Communications Message Protocol, DDCMP,"
(Specification), March i, 1978, AA-D599A-TC.
[6] Communication Machinery Corporation,
Processor, ENP-30 Users Guide," 1985.
"Ethernet Node
[7] Communication Machinery Corporation, "Ethernet
Processor, K-I Kernel Software User's Guide," 1985.
Node
I0
Appendix A Protocol Specification
7. Protocol Definitions
Buffer is an array of storage in which node address, status,
command names, and data are stored.
Control block is an array of storage which contains control
information to/from the Kernel and an address of a buffer.
Command is a message to level 7 of the network. In this
system a command is generated and interpreted by the system
software.
Oueue is a type of stack in which the bottom item is the
next item accessed, i.e., a circular stack in which items are put
in one end and taken out the other.
Function
commands.
is the software that generates and interpret
Node is a sender/receiver on the network.
LIFO is a type of stack in which the top item is the next
item accessed, i.e., a push down stack.
Packet is a message to level 3 of the network. In this
system a packet is interpreted by the protocol software. Packets
usually contain commands. But there are packets that are used
only by the protocol software and never seen by the system
software, e.g., an acknowledgement packet. A packet consists of
a control block and a buffer.
Stack is an array of storage with associated pointer _ to
indicate the start of the stack, the end of the stack, and where
to access data in the stack.
Station consists of a node and the computer and other
hardware that interface and control the power hardware.
The following is a list of the abbreviations and their
definitions.
general
NM, network manager
LCC, load center controller
PSC, power source controller
RPC, remote power controller
EPSC, electrical power system controller
ii
addresses
DNAd, destination node address
RBAd, receive buffer address
SBAd, send buffer address
SNAd, sending node address
arrays -- these arrays store the present status
values for the system
BVAr, battery voltage array
LCDTAr, LC diode temperature array
LCPAr, LC power array
PSPAr, PS power array
PSTAr, PS temperature array
SDAr, switch data array
array pointers -- points to the start of the
corresponding array
BVAPt, battery voltage array pointer
LCDTAPt, LC diode temperature array pointer
LCPAPt, LC power array pointer
PSPAPt, PS power array pointer
PSTAPt, PS temperature array pointer
SDAPt, switch data array pointer
blocks --
ICBk, initialization command block
IRBk, initialization response block
RCBk, receive control block
A RCBk is used by the Kernel to pass the information about a
received packet. The RCBk contains the address of the
buffer in which the Kernel placed the data of the packet.
There will be RCBCn (receive control block constant) number
of RCBks that physically reside in the RAM on the ENP-30card. Table 4 shows the definition of the fields in a
RCBk.
SCBk, status control block
TCBk, transmit control block
A TCBk contains the information needed for the Kernel to
form and transmit a packet. A TCBk contains the address of
the buffer containing the data to be transmitted. There
will be TCBCn (transmit control block constant) number of
12
TCBks that physically reside in the RAM on the ENP-30 card.The location of the fields in the TCBk is shown in Table 3.
TOCBk, time out control blockA TOCBk contains the information needed for the timerportion of the Kernel. The location of the fields in theTOCBk are shown in Table 5.
constants
ALCn
ANACn,
BCn,
BLCn,
CBSCn,
HLCn,
ITCBSCn,
RCBCn,
RCBSCn,
SNCn,
TCBCn,
TOCn,
WFASCn,
address length constant -- number of bytes in an
address (2)active node address constant -- size of ANASk (16)
buffer constant -- number of buffers (32)
buffer length constant -- number of bytes in a buffers
(256)command buffer stack constant -- number of addresses
locations in the command buffer stack (4)
header length constant -- number of bytes in the header
(16)idle transmit control block stack constant -- number of
address locations on the idle transmit control block
stack (20)receive control block constant -- number of RCBks (16)
receive control block stack constant -- number of
address locations on the receive control block stack
(20)station name -- the unique name of the station, i.e.,
LCCl, EPSC, etc.
transmit control block constant -- number of TCBks (16)
timeout constant -- number of 2 ms. increments of time
between timeouts (2)
wait for acknowledgement stack constant -- number of
address locations in the wait for acknowledgement stack
(20)
fields
AkFd, acknowledgement field
ANAFd, active node address field
ANNFd, active node name field
ANRPNFd, active node receive packet field
ANTPNFd, active node transmit packet field
BAFd, buffer address field
CNFd, command name field
DAFd, destination address field
ICBESAFd, initialization command block Ethernet station address
field
ICBLAFFd, initialization command block logical address filter
field
ICBMFd, initialization command block mode field
13
ICBNRDFd, initialization command block number receive descriptorfield
ICBNTDFd, initialization command block number transmit descriptorfield
ICBRIHAFd, initialization command block receive interrupt handleraddress field
ICBTIHAFd, initialization command block transmit interrupthandler address field
IRBESAFd, Initialization response block Ethernet station addressfield
IRBSRAFd, Initialization response block status routine addressfield
IRBRRAFd, Initialization response block receive routine addressfield
IRBTRAFd, Initialization response block transmit routine addressfield
IRBTORAFd, Initialization response block timer routine addressfield
DLFd, data length fieldPNFd, packet number fieldRAFd, receive address fieldRBAFd, receive buffer address fieldRBLFd, receive buffer length fieldRBSFd, receive buffer status fieldSFd, select fieldSAFd, source address fieldSCBFCFd, status control block function code fieldSCBRFd, status control block return fieldSCBSBAFd, status control block statistics block address fieldSNFd, station name fieldTBAFd, transmit buffer address fieldTBLFd, transmit buffer length fieldTSFd, time stamp fieldTOFd, timeout fieldTOECFd, timeout event count fieldTOSAFd, timeout subroutine address field
fla_i_
PRFg, protocol ready flagRTFg, retransmit flagSBFg, send buffer flag
Numbers -- constants
ANANo, active node address number
CNo, command number
RBNo, receive buffer numbers
RPNo, receive packet number
TBNo, transmit buffer number
14
TPNo, transmit packet number
Offsets
ANOs, active node offset (9 bytes)
ANAFOs, active node address field offset (0 bytes)
ANNFOs, active node name field offset (6 bytes)
ANTPNFOs, active node transmit packet number field offset (7
bytes)
ANRPNFOs, active node receive packet number field offset (8
bytes)
DAFOs,
SAFOs,
AkFOs,
SNFOs,
PNFOs,
DLFOs,
CNFOs,
SFOs,
DOs,
RBAFOs,
RBLFOs,
RBSFOs,
RMLFOs,
RTFOs,
TBAFOs,
TBLFOs,
TOSAFOs,
TOECFOs,
destination address field offset (0 bytes)
source address field offset (6 bytes)
acknowledgement field offset (12 bytes)
station name field offset (13 bytes)
packet number field offset (14 bytes)
data length field offset (16 bytes)
command name field offset (18 bytes)
select field offset (20 bytes)
data offset (22 bytes)
receive buffer address field offset (8 bytes)
receive buffer length field offset (6 bytes)
receive buffer status field offset (4 bytes)
receive message length field offset (12 bytes)
retransmit flag offset (6 bytes)
transmit buffer address field offset (8 bytes)
transmit buffer length field offset (6 bytes)
time out subroutine address field offset (8 bytes)
time out event code field offset (12 bytes)
stacks and queues
ANASk, active nodes address stack -- LIFO (ANACn * ANOs bytes)
The ANASk will contain information on the nodes that are
communicating with this node. The ANASk will contain four
fields for each active node: active node address field,
ANAFd, active node name field, ANNFd, active node transmit
packet number field, ANTPNFd, and active node receive packet
number field, ANRPNFd. This list will be ANACn nodes deep.
The ANAFd contains the 6 byte address of a node to which
this node is communicating. The ANNFd contains the unique
name (number) of the active node, see table 2. The ANTPNFd
will contain the transmit packet number, TPNo, for the
number of the next packet to be transmitted. The ANRPNFd
will contain the receive packet number, RPNo, for the number
of the next packet to be received from the address. [The
TPNo will be inserted into the buffer before the packet is
transmitted. The RPNo will be compared to each packet from
the address. If the packet number is not the sameas the
RPNo, the command will be ignored. The packet will be
acknowledged.]
15
active node
active node
o
o
o
active node
ANAFd ANNFd ANTPNFd ANRPNFd
(6 bytes) (i byte) (i byte) (i byte)
6 byte address unique name variable variable
6 byte address unique name variable variable
6 byte address unique name variable variable
CBSk, command buffer stack -- queue (ALCn * CBSCn bytes)The CBSk contains the addresses of the buffers which contain
the commands that are waiting to be processed. The commands
are processed in a first in - first out fashion. The CBSOt
points to the next buffer to be processed. The CBSIn points
to the where the next buffer address will be stored.
ITCBSk, idle transmit control block stack -- LIFO (ALCn *
ITCBSCn bytes)The ITCBSk contains the addresses of TCBks that are not in
use. When a TCBk is needed it is popped off this stack.
IBSk, idle buffer stack -- LIFO (ALCn * BCn bytes)The IBSk contains the addresses of the buffers not in use.
There will be BCn (buffer constant) of buffers. Each
buffer will be BLCn (buffer length constant) bytes long.The buffers will reside in the ENP-30's RAM.
RCBSk, receive control block stack -- queue (RCBSCn * ALCn
bytes)The RCBSk contains the addresses of the RCBks of received
packets.
WFASk, waiting for acknowledgement stack -- queue (WFASCn *
ALCn bytes)
The WFASk contains the address of TCBks of packets that have
not been acknowledged. When a packet is acknowledged the
corresponding TCBk is replaced with the last TCBk (pointed
to by WFASOt) on the stack. The WFASOt is incremented.
stack pointers
head --- points to the start of a stack, the smallest absolute
address, never changes
tail --- points to the end or top of a stack, the largest
absolute address, never changes
16
in --- points to the location in which to store the next entryin a queue, increases up to tail then reset to head
out --- points to the location from which to get the next pieceof data in a queue, increases up to tail then reset tohead
push/pop- points to the location for the top of the LIF0 stack,pop from it, push at 1 + top
modules increment -- increment pointer, if greater than tailset equal to head
ANASHd, active nodes address stack headANASPp, active nodes address stack push/popANASTI, active nodes address stack tailCBSHd, command buffer stack headCBSIn, command buffer stack inCBSOt, command buffer stack outCBSTI, command buffer stack tail
ITCBSHd, idle transmit control block stack head
ITCBSPp, idle transmit control block stack push/pop
ITCBSTI, idle transmit control block stack tail
IBSHd, idle buffer stack head
IBSPp, idle buffer stack push/pop
IBSTI, idle buffer stack tail
RCBSHd, receive control block stack head
RCBSIn, receive control block stack in
RCBSOt, receive control block stack out
RCBSTI, receive control block stack tail
WFASHd, waiting for acknowledgement stack head
WFASIn, waiting for acknowledgement stack in
WFAS0t, waiting for acknowledgement stack out
WFASTI, waiting for acknowledgement stack tail
subroutine calls to the Kernel
KINIT, call to the Kernel initialize routine, pass address of
ICBk
KOUT, call to the Kernel timeout routine, pass address of TOCBk
KRCV, call to the Kernel receive routine, pass address of RCBk
KSTS, call to the Kernel control/status routine, pass address of
SCBk
KXMT, call to the Kernel transmit routine, pass address of TCBk
17
8. Protocol design specification
8.1. Level 1 and part of level 2 of the protocol will beimplemented by the ENP-30 board or equivalent.
8.2. Node to node protocol -- Each packet will contain the 48 bitdestination node address, DNAd, contained in the destinationaddress field, DAFd, for the packet and the 48 bit source nodeaddress, SNAd, contained in SAFd of the packet, as shown in tablei. A node will only process packets addressed to it.
8.3. Each packet will have a packet number field, PNFd. Therewill also be an acknowledgement field, AkFd. The node thatoriginated the command will place in the PNFd the packet's numberand set the AkFd to indicate that the packet is a command. Thereceiving node will return to the sender a packet that containsin the PNFd the number of the packet sent and the AkFd set toindicate an acknowledgement. If a packet is not acknowledgedwithin the time-out interval, the packet will be sent again.
8.4. The protocol will use the following instructions toestablish a network.
Reset Network -- the receipt of this command will cause thenode to reset itself, in particular the node will do thefollowing:A. Clear its ANASk (move the head pointer to the start of the
stack);
B. The return of an acknowledgement packet is optional;
C. Clear the WFASk;
D. Clear the RCBSk;
E. Clear the CBSk.
Network initialize [w/o-ack] (with out acknowledgement)--
will initialize the network. It will be sent by the network
manager. Each receiving node will do the following:
A. Return a network initialize [ack] packet;
B. The return of an acknowledgement packet is optional;
D. Place the data from the sending node on the ANASk;
Network initialize [w-ack] (with acknowledgement) -- will
place the data from the sending node into the ANASk of the
receiving node. An acknowledgement packet is required.
8.5. Network manager -- The EPSC will be designated as the
network manager. Whenever the network is initialize, the network
manager, NM, will send out in, broadcast mode, a network
initialize [w/o-ack] packet. This packet requests that each node
on the network send the NM the receiving node's name and address.
Each node must have embedded in its software a unique name, e.g.,
LCCI, LCC2, PSCI, PSC2, expert system, etc. This is necessary to
enable the EPSC to control the individual stations of the system
if there are more than one of each type of station on the
18
network. When a node receives a network initialize [w/o-ack]packet, the node will send the node's address and name in ainitialize network [w-ack] packet until the packet isacknowledged. After the network is initialized, each time a nodereceives a packet, it will compare the contents of the SAFd tothe contents of each ANAFd in the ANASk. If there is not amatch, the packet is ignored.
8.6. The description of the protocol will be divided into fivesections: general information, initialization, transmit state,receive state, and timeout state. The protocol is based on thephilosophy of a stack of buffers in which data is stored, and themoving of the addresses of these buffer. Once data is receivedor generated in the node, the data is not copied to any otherbuffer; the pointer to the buffer is moved. There is a set ofstacks between which the addresses of the buffers are moved.There are also flags which are used to indicate the status ofportions of the protocol.
General information
After initialization the protocol is in a loop between three
states: transmit state, receive state, and timeout state. The
protocol loops through the testing of the SBFg, testing of the
RTFg, and entering the receive state.
The SBFg is set to one by functions in the operating system
when a buffer is ready to be sent to another station. The buffer
will contain all the information necessary to form a packet. If
the SBFg is set, then the protocol will enter the transmit state
and form and transmit a packet of data to the desired node.
The protocol always enters the receive state. It then
cleans up the WFASk and processes any packets on the RCBSk.
When a node receives a packet, the Kernel places the RCBk on the
RCBSk. The packet could be either an acknowledgement, a command,
or one of the network initialize packets.
The Kernel has an internal clock that will, by setting the
RTFg to one, inform the protocol when it is necessary to resend
packets that have not been acknowledged. If the RTFg is set,
the protocol will retransmit any packets that have not been
acknowledged.
Initialization
On power up or reset, the Kernel initializes itself and the
Lance. Then the Kernel waits for the operating system to down
load the protocol software and set the go bit in the Kernel's
mailbox. Once the go bit has been set, the Kernel passes control
of the ENP-30 microprocessor to the protocol software. The
19
following is a list of the operations necessary to initialize theprotocol:
A. The protocol calls the Kernel's initialization command.This command returns the addresses of the Kernel's status
subroutine, receive subroutine, transmit subroutine, timer
subroutine, and Ethernet node address•
B• All the stack pointers are set to the start of their
respective stacks.
C. The addresses of all the buffers are placed on the IBSk.
Do For each RCBk a buffer address is popped off IBSk and
placed in the RBAFd. Each RCBk is passed to the Kernel
through a receive subroutine call.
E. The ANASk is cleared.
F. The RTFg and SBFg are set to zero.
G. All the TCBks are cleared and placed in the ITCBSk.
H. The Kernel's status subroutine is called, which starts the
Lance. This enables the node to start to receive and
transmit packets•
I • The PRFg is set to one.
to continue•
This enables the operating system
Only in the EPSC will the following be implemented•
J•
a.
b.
c.
d.
The EPSC initializes the network by making and sending a
network initialize [w/o-ack] packet as follows:
A TCBk is popped off the ITCBSk;
A buffer is popped off the IBSk and the address placed
in the TBAFd of the TCBk.
The contents of HLCn is placed in the TBLFd.
The following data is placed in the fields of the
buffer:
i. The broadcast Ethernet address (all l's) is placed
in DAFd;
2. The node's Ethernet address will be placed in the
SAFd;
3. AkFd will be set to indicate a network initialize
[w/o-ack] packet;
4. The station name (number) (see table 2) will be
placed in the SNFd;5. The PNFd is set to zero.
e. Then the address of the TCBk is passed to the Kernel
through a transmit subroutine call.
2O
Transmit State
If the SBFg is a one when checked, the protocol will enter
the transmit state. The data flow diagram for the transmit state
is shown in figure i. The protocol uses a TCBk to make a
packet. The last two TCBks on the ITCBSk are reserved for use by
the receive state protocol.
A. Therefore, if ITCBSPp - ITCBSHd is less than three, a packet
can not be made, and the protocol exits the transmit state.
S. If more than two TCBks are on the ITCBSk, then the protocol
makes a packet as follows:
a. A TCBk is popped off the ITCBSk;b. The buffer address in SBAd is transferred to the TBAFd
of the TCBk. (See table 3 for a description of the
fields in the TCBk.)
c. The length of the data in the buffer (DLFd + HLCn) is
placed in the TBLFd.
d. The following data is placed in the respective fieldsof the buffer if the contents of the LDFd match the
contents of an ANNFd:
I. DAFd will be set to the contents of the ANAFd;
2. The node's Ethernet address will be placed in the
SAFd;
3. AkFd will be set to indicate a command;
4. The station name (number) (see table 2) will be
placed in the SNFd;5. The TPNo from the ANTPNFd of the ANASk for the
receiving node (content of the DAFd equal content
of ANAFd) will be placed in the PNFd.6. And TPNo will be modules incremented.
e. Then the address of the TCBk is passed to the Kernel
through a transmit subroutine call.
f. The SBFg is set to zero.
C. The protocol exits the transmit state.
After the packet has been transmitted, the Kernel places theaddress of the TCBk on the WFASk.
Clean up State
The protocol will in a round-robin fashion enter the clean
upstate. In the clean up state the protocol will clean up theWFASk.
The protocol removes all the acknowledgement packets or network
initialize [w/o-ack] packets from the WFASk. Starting at the
TCBk pointed to by WFASOt, the AkFd of the buffer of each TCBk is
21
examined. If it is an acknowledgement or a network initialize[w/o-ack] packet, the packet is broken apart:
a. The TCBk is pushed onto the ITCBSk;b. The contents of the TBAFd is pushed onto the IBSk;c. The location of the TCBk in the WFASk is filled with .
the TCBk pointed to by WFASOt.d. And WFASOt is modules incremented.
The protocol then exits the clean up state.
Receive State
The protocol will in a round-robin fashion enter the
receive state. In the receive state the protocol will process
any commands on the RCBSk and update, if necessary, the ANASk.
The data flow diagram for the receive state is shown in figure
2.
The Kernel maintains a stack of addresses of idle RCBks.
When the Lance receives a packet the Kernel will supply a RCBk to
Lance. Lance places the data in the buffer of the RCBk. The
Kernel will then, through an interrupt, place the address of the
RCBk on RCBSk.
A. The protocol starts processing the RCBks on the RCBSk. The
protocol starts at the RCBk pointed to by RCBSOt and
processes each RCBk up to RCBSIn. First each packet is
broken apart.
a. If bit 15 of the RBSFd is a zero, then there has not
been an error in the reception of the packet in the
Lance and the packet can be used. The following is
performed.
i. The buffer address in RBAFd is placed in RBAd.
2. A buffer address is popped off of IBSk and placed
in RBAFd.
b. The RCBk is passed to the Kernel in a receive
subroutine call.
Now the AkFd of the buffer in RBAd is examined. The buffer
can contain either an acknowledgement, a network initialization,
or a command.
So If the buffer of RBAd is an acknowledgement, the protocol
searches the WFASk looking for a corresponding command.
(The search is between the TCBk pointed to by WFASOt up to
the TCBk pointed to by WFASIn.)
a. For each command on the WFASk, (the TCBks can be for
either command or acknowledgement packets) the
protocol finds the transmitting node on the ANASk as
follows:
22
Do
If the content of the SAFd of the packet equals
the content of the DAFd of the buffer in RBAd,
then the protocol checks the RPNo as follows:If the content of the PNFd of the packet is
at least as large but not greater than four
more than the content of the PNFd of the
buffer, the TCBk has been acknowledged. (A
sliding acknowledgement window of four.)
a) the TCBk is pushed onto the ITCBSk;
b) The buffer address in TBAFd is pushed
onto the IBSk;
c) The location of the TCBk in the WFASk is
filled with the TCBk pointed to by
WFASOt;
d) And WFASOt is modules incremented.
The address in RBAd is pushed onto the IBSk.
CoIf the buffer is a network initialize command, the protocol
checks if the transmitting node is on the ANASk as follows:
a. If the content of the SAFd of the buffer is not equal
to the content of any of the ANAFds, then the protocol
adds the new node to the ANASk as follows:
I. The content of the SAFd is moved to ANAFd;
2. The content of the SNFd is moved to the ANNFd;
3. The content of the PNFd is moved to the ANRPNFd;
4. The ANTPNFd is set to zero.
b. If the buffer is a network initialize [w/o-ack], then
the protocol creates an network initialize [w-ack] as
follows:
i. Pop a TCBk off the ITCBSk.
2. Pop a buffer address off the IBSk and place the
address in the TBAFd of the TCBk.
3. Set the TBLFd to HLCn;
4. Set the fields of the buffer as follows;
A) Move the content of the SAFd of the RBAdbuffer to the DAFd of the buffer of the TCBk.
B) Set the AkFd of the TCBk to network
initialize [w-ack].
C) Place the Ethernet address of the node in
the SAFd.
D) Place the station name (number) (see table
2) in the SNFd.5. Then the address of the TCBk is passed to the
Kernel through a transmit subroutine call.
c. The address in RBAd is pushed onto the IBSk.
m. If the buffer is a command, the CBSk is checked to see if it
is full. If CBSk is full the command is ignored. The
buffer address in RBAd is pushed onto IBSk.
( An acknowledgement packet
transmitting node as follows:
is created and sent to the
23
)
F.
Go
ao
b.
Co
d.
e.
Pop a TCBk off the ITCBSk.
Pop a buffer address off the IBSk and place theaddress in the TBAFd of the TCBk.
Set the TBLFd to HLCn.
Set the fields of the TCBk buffer as follows:
I) Move the content of the SAFd of the RBAd buffer tothe DAFd of the buffer of the TCBk.
2) Move the content of the PNFd of the RBAd buffer tothe PNFd of the buffer of the TCBk.
3) Set the AkFd of the TCBk to acknowledge.
4) Place the Ethernet address of the node in the
SAFd.
5) Place the station name (number) (see table 2) in
the SNFd.
Then the address of the TCBk is passed to the Kernel
through a transmit subroutine call.
If the buffer is a command and the CBSk is not full, the
command is checked to determine if it should be placed on
the CBSk as follows:
a. If the content of the SAFd of the RBAd buffer is equal
to the content of a ANAFd, then the RPNo is checked as
follow:
i. If the content of the PNFd of the RBAd buffer is
equal to the content of the ANRPNFd, then the
buffer contains the expected command.
A) The buffer address in RBAd is pushed onto
CBSk at CBSIn;
B) CBSIn is modules incremented;
C) And the RPNo of the ANRPNFd is modules
incremented.
D) An acknowledgement packet is generated (see
Acknowledgement above).
2. If the content of the PNFd of the RBAd buffer is
less but within four (a sliding window of four) of
the content of the ANRPNFd, this is an old packet
that has already been processed and must be
acknowledged.
A) An acknowledgement packet is generated (see
Acknowledgement above).
3. Otherwise the address in RBAd is pushed onto the
IBSk.
b. Otherwise the address in RBAd is pushed onto the IBSk.
After the protocol goes through this processing, it exits
the receive state.
Timeout State
The Kernel has a user setable timer that counts down to
zero. The user sets the initial count in the timer. When the
24
count reaches zero, the Kernel will set a flag and call asubroutine in the user's code. The timer has a resolution of 2milliseconds. Figure 3 shows the data flow diagram for the timeout portion of the protocol.
When the RTFg is checked and is one, the protocol will callthe function that will reset the RTFg, start the time out clockagain, and retransmit all the packets, if any, in the WFASk.
A. The RTFg is set to zero.
B, There will be only one TOCBk. Table 5 shows the fields in
the TOCBk. The timer subroutine in the Kernel is called
and passed the address of the TOCBk; nothing is changed in
the TOCBk except that the RTFg is reset to zero. This
starts the Kernel counting on the next time out interval.
The TOFd of the TOCBk contains the number of 2 ms.
increments of time to be counted down. When the count
reaches zero, bit 15 of the RTFg in the TOCBk is set to I.
C. If there are any TCBks on the WFASk, they are retransmitted.
The position of the WFASIn is noted, and all TCBks betweenWFASOt and the old WFASIn are sent to the Kernel one at a
time through transmit subroutine calls. (The old WFASIn
must be noted because after each TCBk is sent to the Kernel,
the Kernel will place the TCBk back on the WFASk.) (The
call to a subroutine in the user's program by the Kernel is
not used; only a subroutine return is coded.)
D. The protocol then exits the timeout state.
25
HexAddress
FieldName
Table 1 Packet Format
Numberof Bytes
0
6
C
D
E
F
i0
ii
12
16
17
18
IA
Destination address DAFd 6 bytes
Source address field SAFd 6 bytes
Acknowledgement field AkFd 1 bytes
Packet number field PNFd 1 bytes
Station name field SNFd 1 bytes
Logical Destination LDFd 1 bytes
Forward Address field FAFd 1 bytes
Return Address field RAFd 1 bytes
Time stamp field TSFd 4 bytes
Data length field DLFd 1 bytes
Command name field CNFd 1 bytes
Select field SFd
Data
2 bytes
variable
AkFd, Acknowledgement field contains a number indicating the
type of packet as follows:
type AkFd
acknowledgement
command
network initialize [w/o-ack]
network initialize [w-ack]
network clear
AkCn
CCn
NICn
NIACn
NICI
0
1
2
3
4
PNFd, The packet number field is the number of the packet.
SNFd, The station name field contains the name of the station
sending the packet. Each stations has a unique number
corresponding to the name of the station defined as follows:
26
Table 2 Station names
station type
EPSC
PS
LCC
Expert Sys.
1
0
8
16
24
9
17
station
i0 ii
18 19
number
5
12
20
6
13
21
7
14
22
8
15
23
TSFd, The time stamp field contains the relative system time when
the command is performed. The time is the number of ticks on
the system clock. The system clock has a resolution of 2 ms.
CNFd, The command name field contains the name of the command.
DLFd, The data length field contains the number of bytes of data
in the command and must be less than 240 (BLCn - HLCn) bytes.
Table 3 Transmit Control Block
byte name of block presentaddress contents
0
2
4
6
8
A
C
E
Link address (address of the next
block for a multi-block packet)
supplied by user
Status supplied by ENP
Transmit buffer length field TBLFd supplied by user
supplied by userTransmit buffer address field
TBAFd
TDR value (data used if error) supplied by ENP
Reserved used by ENP
27
byteaddress
Table 4 Receive Control Block
name of block
contents
0
2
4
6
8
A
C
E
Link address (address of the next
block for a multi-block packet)
supplied by ENP
Receive buffer address field
Status RBSFd supplied by ENP
Buffer length RBLFd supplied by user
supplied by user
RBAFd
Receive message length field RBLFd supplied by ENP
Reserved used by ENP
Table 5 Time Out Control Block
byteaddress
name of block
contents
0
2
4
6
8
A
C
E
Link address (address of the next
block for a multi-block chain)
supplied by ENP
Retransmit flag, RTFg set by ENP
Time Out Field TOFd TOCn
supplied by userTime Out Subroutine Address Field
TOSAFd
Time Out Event Code Field TOECFd supplied by user
Reserved used by user
28
byteaddress
Table 6 Initialization Command Block
name of blockcontents
0
2
4
6
8
A
C
E
I0
12
14
16
18
IA
IC
IE
Mode ICBMFd supplied by user
# Receive Descriptors ICBNRDFd supplied by user
# Transmit Descriptors ICBNTDFd supplied by user
Reserved
Logical Address Filter ICBLAFFd
Receive Interrupt Handler
Address ICBRIHAFd
Transmit Interrupt Handler
Address ICBTIHAFd
ICBBIHAFd
Bus Interrupt Handler
Address
Ethernet Station Address ICBESAFd
supplied by user
supplied by user
supplied by user
supplied by user
supplied by user
29
Table 7 InitializationResponse Block
byteaddress
0
2
4
6
8
C
i0
14
18
name of block
Ethernet Station Address IRBESAFd
contents
supplied by ENP
Reserved
Status Routine Address IRBSRAFd supplied by ENP
Receive Routine Address IRBRRAFd supplied by ENP
Transmit Routine Address IRBTRAFd
Timer Routine Address IRBTORAFd
ICBBIHAFdAddress
supplied by ENP
supplied by ENP
supplied by ENP
byteaddress
Table 8 Status Control Block
name of block
contents
0
2
4
6
Function Code
CSR0 Return
Statistics Block Address
SCBFCFd
SCBRFd
SCBSBAFd
supplied by user
supplied by ENP
supplied by ENP
3O
SBFg
logical
SBAd
maketransmit
packet
buffer address
bu )r
transm controlblock
transm
ess
Kernel/transmit
mit
addf
put onwait-for-acknowlegement
stack subroutine
tran_/mit
pa£ket
address
WFASk FIFOtransmit packet addresses
ITCBSk LIFO
transmit control block addresses
Figure I Data Flow Diagram-- Transmit Protocol
31
put onreceive packet
stack subroutine
WFASk FIFO
transmit packet addressesI
[i: _P]
tran= mit Kernel/receivepacl :et
addrt ss
IBSk
buffer addresses
[pC
bt
receive _ address
RCBSk [1_] FIFO
receive packet addresses
receJv_
receive
buffer
ackn¢)SS
buffer
ANASkII
active node array
processreceived
packets
co, _mandb, ffer
checkfor
acknowledgedpack,s
ackn(
ess
processcommand
buffer
trans, controlblock
Kernel/transmit
;hi3k LIFO
tramsmit control block addresses
trans controladdress
bL
add
[p ;h]
CBSk LIFO
command buffer addressesI
Figure 2 Data Flow Diagram -- Receive Protocol
32
RTFg
Kernel/time out
ar] TOCSS
WFASk
add sses
retransmit
packets
FIFO
;mit:ket
Figure 3 Data Flow Diagram -- Time out Protocol
33
9. Appendix B Structured Flow Diagrams of Protocol
Revision D
9.1. Stack and Queue initialization definitions
9.1.1. Stack
InitializeStack
StartingAddress
EndingAddress
Pointer
Head
Head + ASCn
Tail
9.1.2. Queue
InitializeQueue
In Pointer
I ouT_Pointe rHead
I
..I,I It
StartingAddress
Head+ASCn
I
mmmmmmmmmmm
34
Tail
I
It
EndingAddress
mmmm
9.2. Definition of [ ] operator
On the right hand side of the "<-" read "[ x ]" as: the contents
of the location pointed to by x.
On the left hand side of the "<-" read "[ y ]" as: store in the
location pointed to by y.
9.3. Functions operating on stacks
STACK POINTER HEAD TAIL
ITCBSk ITCBSPp ITCBSHd ITCBST1
IBSk IBSPp IBSHd IBSTI
ANASk ANASPp ANASHd ANASTI
General Push and Pop functions
PUSH procedure
I PUSH (item, pointer, tail, numb)
( pointer = tail ) ?
YES
NO print ( 'STACK "numb" is full')
STOP system
pointer _ pointer + ASCn
[pointer] _ item
EXIT
35
9.3.1.2. POP procedure
POP (item, pointer, head, numb)
( pointer < head ) ?
_o I
YES
I'!
print ('STACK "numb" is empty') ISTOP system l
item _ [pointer]
pointer _ pointer - ASCn
return item (address)
EXIT
36
9.3.2. PUSH POP ITCBSk
PUSH
t PUSH_ITCBSk (item)
PUSH (item, ITCBSPp, ITCBSTI, i) I
J EXIT Jprocedure call
POP
POP ITCBSk
POP (item, ITCBSPp, ITCBSHd, i) Ji
J EXIT Ifunction call
37
9.3.3. PUSH POP IBSk
PUSH
PUSH
PUSH IBSk (item)D
I
l L°CK-IBS () 1
I(item, IBSPp, IBSTI, 2)
IUNLOCK IBS ()
IEXIT
procedure call
POP
i POP_IBSk
1LOCK_IBS ()
I
POP (item, IBSPp, IBSHd, 2)
I
I UNLOCK_IBS ()
I
I EXITfunction call
38
9.3.4. LOCK IBS and UNLOCK_IBS
LOCK_IBS ( )
yesis IBSk resereved
I reserve IBSk
is IBSk locked
+-
i. lock IBSk
2. un-reserve IBSk
yes
-+
UNLOCK_IBS ()
un-lock IBSk
lEXIT
39
9.3.5. PUSH ANASk
ANASK_TEST I
ANASPp _ ANASPp + ANLCn
YESI
ANASPp > ANASTI ? I
NO I_
print ('STACK ANASk IS FULL')
STOP system
EXIT
PUSH_ANASk (addr, pointer) I
L,[pointer+ ANAFOs] _ [addr + SAFOs]
[pointer+ ANNFOs] _ [addr + SNFOs]
[pointer+ ANRPNFOs] _ [addr + PNFOs]
[pointer+ ANTPNFOs] _ 0
40
9.4. General operations on Queues
QUEUE _N-_OINTER OUT-POINTER HEAD
CBSk CBSIn CBSOt CBSHd
RCBSk RCBSIn RCBSOt RCBSHd
WFASk WFASIn WFASOt WFASHd
TAIL
CBSTI
RCBSTI
WFASTI
9.4.1. Join QUEUE procedure (QUEUE_IN)
QUEUE_IN (item, Head, Tail, In, Out, numb)
QUEUE_FULL (In, Out) ?
NO
YES
print (' attempt to add to
full queue "numb" ')
STOP system
ENTER_QUEUE (item, Head, Tail, In)
EXIT
41
9.4.2. Serve QUEUEprocedure (QUEUE_OUT)
QUEUE_OUT(item, Head, Tail, In, Out, numb)
QUEUE_EMPTY(In, Out) ?
NO
YES
Print ('attempt to read froman empty queue "numb" ')
STOP system
I DELETE_QUEUE(item, Head, Tail, Out) I
I EXIT I
42
9.4.3. ENTER_QUEUEand DELETE_QUEUE
9.4.3.1. ENTER_QUEUE
ENTER_QUEUE(item, Head, Tail, In)
i
In _ In + ASCn I
[In] _ item I
l
( In = Tail ) ? IJ
YES
NOIn _ Head - ASCn
EXIT ]
43
9.4.3.2. DELETE_QUEUE
DELETE_QUEUE(item, Head, Tail, Out)
I
Out _ Out + ASCn [
item _ [Out] I
( Out = Tail ) ?
NO
YES
Out _ Head - ASCn
_
return item): an address
EXIT [
44
9.4.4. Test CIRCULAR QUEUEOperation
9.4.4.1. EMPTYFunction
I QUEUE_EMPTY(In, Out): Boolean I
NO
YES
4
Return (TRUE)
4
4
Return (FALSE)
4
EXIT
9.4.4.2. FULL Function
QUEUE_FULL (In, Out): Boolean
14
(In + ASCn) = Out ?NO
YESI Return
4
Return (TRUE)
4
EXIT
4
FALSE)
45
9.4.5. JOIN and SERVE operation on QUEUE
9.4.5.1. QUEUE IN OUT_CBSk
Join QUEUE
I QUEUE IN CBSk (item) I
QUEUE_IN (item, CBSHd, CBSTI, CBSIn, CBSOt, i)
EXIT
Serve QUEUE
I QUEUE-OUT-CBSk I
QUEUE_OUT (item, CBSHd, CBSTI,CBSIn, CBSOt, i) I
i
EXIT
46
9.4.5.2. QUEUE_IN_OUT_RCBSk
Join QUEUE
QUEUE_IN_RCBSk (item) I
I QUEUE_IN (item, RCBSHd, RCBSTI, RCBSIn, RCBSOt, 2)I
I EXIT I
Serve QUEUE
I QUEUE_OUT_RCBSk
I QUEUE_OUT(item, RCBSHd, RCBSTI, RCBSIn, RCBSOt, 2)I
I EXIT
47
9.4.5.3. QUEUE_IN_OUT_WFASk
Join QUEUE
QUEUEIN WFASk (item)
I QUEUE_IN (item, WFAHd, WFASTI, WFASIn, WFASOt, 3) I
Serve QUEUE
QUEUE_OUT_WFASk I
QUEUE_OUT (item, WFASHd, WFASTI, WFASIn, WFASOt, 3))
I EXIT I
48
9.5. AMPS Communication Network Structured Flow Diagram
9.5.1. Top level flow diagram
I START i
I. INITIALIZATION
2. RECEIVE STATE
I 3. TRANSMIT STATE I
5. TIMEOUT STATE
6. INCREMENT NETWORK
ALIVE COUNTER
49
9.5.2. -- Level 1 INITIALIZATION
KRNLINIT _ IAFDDO
L_I i.I Make STACKS
I 1-2 Make QUEUES J
I 1"3 Make BUFFERS I
I_-__°_Ic_ l
i .5 Read and Store kernel subroutine addresses J
FCFO _ LANCEGO iKSTS (SCBuf)
i 1"6 call Kernel Receive Ring Fill I
YES
I SNCn = EPSC ?
NO
i 1 7 NETINITQ
J
1.8 Start transmitter timeout
Go To 2. RECEIVE STATE
50
9.5.2.1. -- Level I.I Make STACKS
make ITCBSk STACK
BufVr _ BASEADD
ITCBSHd _ BufVr
ITCBSPp _ ITCBSHd - ASCn
BufVr _ BufVr + (ITCBSCn * ASCn)
ITCBSTI _ BufVr - ASCn
make IBSk STACK and clear locks
IBSHd _ BufVr
IBSPp _ IBSHd - ASCn
BufVr _ BufVr + (BCn * ASCn)
IBSTI _ BufVr - ASCn
[MAILBOX + IBSKRQOS] _ 0
[MAILBOX + IBSKLKOS] _ 0
make ANASk STACK
14
ANASHd _ BufVr
ANASPp _ ANASHd - ANLCn
BufVr _ BufVr + (ANACn * ANLCn)
ANASTI _ BufVr - ANLCn
EXIT
51
9.5.2.2. -- Level i. 2 Make QUEUES
make CBSk QUEUE
CBSHd _ BufVr
CBSIn _ CBSHd
CBSOt _ CBSHd
BufVr _ BufVr + (CBSCn * ASCn)
CBSTI _ BufVr - ASCn
make RCBSk QUEUE
RCBSHd _ BufVr
RCBSIn _ RCBSHd
RCBSOt _ RCBSHd
BufVr _ BufVr + (RCBSCn * ASCn)
RCBSTI _ BufVr - ASCn
make WFASk QUEUE
WFASHd _ BufVr
WFASIn _ WFASHd
WFASOt _ WFASHd
BufVr _ BufVr + (WFASCn * ASCn)
WFASTI _ BufVr - ASCn
14
EXIT
52
9.5.2.3. -- Level 1.3 Make BUFFERS
I 1.3.1 make RCBk buffer
I i. 3.2 make TCBk buffer
i. 3.3 make IBSBk buffer
make TOCBk buffer
TOBuf _ BufVr
BufVr _ BufVr + TOCBLCn
make IRBk buffer
IRBuf _ BufVr
BufVr _ BufVr + IRBLCn
J,make SCBk buffer
SCBuf _ BufVr
BufVr _ BufVr + SCBLCn
make ICBk buffer
ICBuf _ BufVr
BufVr _ BufVr + ICBLCn
4
BufVr > RAMTOP ?
NO
EXIT
YES
Print ('Too much memory used
for stacks and buffers')
STOP system
53
9.5.2.3.1. -- Level 1.3.1 make RCBk buffer
I_O ]
NO
I < RCBCn ?
I YES
I QUEUE IN RcBSk (Bufvr) IBufVr--_ BufVr + RCBLCn
EXIT I
54
9.5.2.3.2. -- Level 1.3.2 make TCBk buffer
I I _0 I
II < TCBCn ? I
i
YES$
PUSH_ITCBSk (BufVr) IBufVr _ BufVr + TCBLCn
NO
55
9.5.2.3.3. -- Level 1.3.3 make IBSBk buffer
I I < BCn ?
YES
NO
PUSH IBSk (BufVr)
BufVr _ BufVr + BLCn
_
EXIT
56
9.5.2.4. -- Level 1.4 Form ICBk
[ICBuf + ICBMFOs] _ LANCMODE
[ICBuf + ICBNRDFOs] _ RCBCn
[ICBuf + ICBNTDFOs] _ TCBCn
[ICBuf + ICBLAFFOs] _ 0
[ICBuf + ICBRIHAFOs] _ RX_INT
[ICBuf + ICBTIHAFOs] _ TX INT
[ICBuf + ICBBIHAFOs] _ BUS_INT
call KRNLINIT with ICBk on stack (ICBuf, IRBuf)
EXIT I
9.5.2.5. -- Level 1.5 Read and Store kernel subroutine addresses
SACn _ [IRBuf + IRBESAFOs]
KSTS _ [IRBuf + IRBSRAFOs]
KRCV _ [IRBuf + IRBRRAFOs]
KXMT _ [IRBuf + IRBTRAFOs]
KOUT _ [IRBuf + IRBTORAFOs]
EXIT I
57
9.5.2.6. -- Level 1.6 call Kernel Receive Ring Fill
temp _ RCBSIn
temp = RCBSOt ?
YES
NO
RCBVr _ QUEUE_OU__RCBSkIBVr _ POP IBSk
[RCBVr + RBLFOs] _ BLCn
[RCBVr + RBAFOs] _ IBVrKernel call rece] subroutine (RCBVr)
58
9.5.2.7. -- Level 1.7 KRNLINIT
TCVr 4- POP ITCBSkm
[TCVr + TBAFOs] 4- POP_IBSk
IBVr 4- [TCVr + TBAFOs]
[TCVr + TBLFOs] 4- HLCn
[IBVr + DAFOs] 4- BCASTAd
[IBVr + SAFOs] 4- SACn
[IBVr + AKFOs] 4- NICn
[IBVr + PNFOs] 4- 0
[IBVr + SNFOs] 4- SNCnXMSTVr 4- 0
Kernel call transmit subroutine (TCVr)
QUEUE_EMPTY (WFASIn, WFASOt) ?
NO
YES
t
XMVr 4- QUEUE_OUT_WFASk
TCBSVr 4- [XMVr + TBSFOs]
(TCBSVr n TCVERR) = 0 ?
NO
YES
QUEUE_IN_WFA (XMVr )
XMSTVr 4- XMSTVr + 1
XMSTVr < XMCn
J YES
EXIT
NO
Print ('NETWO
ERROR')
STOP system
59
9.5.2.8. -- Level 1.8 Start transmitter timeout
[TOBuf + RTFOs] _ TOSET[TOBuf + TOFOs] _ TOCnkernel call timeout subroutine (TOBuf)
I EXIT
6O
9.5.3. -- Level 2. RECEIVE STATE
I From i. INITIALIZEor 6. INCREMENT
RCBSOt = Temp ? I
NO
YES
RBVr 4- QUEUE_OUT_RCBSk
BSVr 4- [RBVr + RBSFOs]
RBAd 4- [RBVr + RBAFOs]
[RBVr + RBAFOs] 4- POP IBSk
Kernel call receive subroutine (RBVr)
TEST_AKVr 4- [RBAd + AKFOs]
J (BSVr n RCVERR) = 0 ?}
$_TEST_AKVr= AKCn
?
YES
I 2.1RECEIVE_ACK
_
I YES
NO TEST AKVr
= CCn
?
I YES
NO
22 IRECEIVE_CCn
NO
4--
PUSH_IBSk (RBAd)
I TEST AKVr _O= NICn, NICl
or = NIACn ?
YES
I 2.3RECEIVE_NICn
Go to 3.
4
TRANSMIT STATE
4--
61
9.5.3.1. -- Level 2.1 RECEIVE ACK
2.1 RECEIVE ACK(Receive Acknowledgement)
I Templ _ WFASIn r
i WFASOt = Templ? I
PACKVr _ QUEUE_OUT_WFASk
IBVr _ [PACKVr + TBAFOs]
LDVr _ [IBVr + LDFOs]
SNVr _ [RBAd + SNFOs]
_
LDVr = SNVr ?
YES
I YES I$
NO
I SPNVr _ [IBVr + PNFOs]RPNVr _ [RBAd + PNFOs]
_ NO I -4 < (SPNVr - RPNVr) < 0 ? 1
I QUEUE IN WFASk (PACKVr) I
YES
J PUSH_ITCBSk (PACKVr) 1PUSH_IBSk (IBVr)
PUSH_IBSk (RBAd) I
I'EXIT
4--
_
4--
62
9.5.3.2. -- Level 2.2 RECEIVE CCn
2.2 RECEIVE_CCn(receive command)
II
QUEUE_FULL (CBSIn, CBSOt) ? I
ISNVr *-
Templ
[RBAd + SNFOs]
ANASHd
Templ> ANASPp ?
I NO
ANVr _ [Templ+ ANNFOs]
SNVr = ANVr ?
NO
YES
Templ _ Templ+ ANLCn
EXIT
YES
2.2.1
CHECK COMMAND
PUSH_IBSk (RBAd)
YES
@-
63
9.5.3.2.1. -- Level 2.2.1 CHECK COMMAND
2.2.1 CHECK COMMANDm
(check to see expected command)
I
RPNVr _ [RBAd + PNFOs]
ARPVr _ Templ+ ANRPNFOs
ARPNo _ [ARPVr ]
RPNVr = ARPNo ? I
YES
QUAEUE_IN_CBSk (RBAd)
[ARPVr] _ ARPNo + i
NO -*
PUSH_IBSk (RBAd) I
_
-4 < (RPNVr- ARPNo) < 0 I-
2.2.1.1 GENERATE ACK
YES
NO
EXIT I
64
9.5.3.2.1.1. -- Level 2.2.1.1 GENERATE ACK
2.2.1.1 GENERATE ACK
Generate Acknowledgement packet
1TCVr _ POP ITCBSk
[TCVr + TBAFOs] _ POP IBSk
IBVr _ [TCVr + TBAFOs_
[TCVr + TBLFOs] _ HLCn
[IBVr + DAFOs] _
[IBVr + SAFOs]
[IBVr + AKFOs]
[IBVr + PNFOs]
[IBVr + SNFOs]
[RBAd + SAFOs]SACn
AKCn
[RBAd + PNFOs]
SNCn
Kernel call transmit subroutine (TCVr)
EXIT IGENERATE_ACK procedure
65
9.5.3.3. -- Level 2.3 RECEIVE NICn
I 2.3 RECEIVE_NICn I]
2.2.1.1 GENERATE ACK
Generate Acknowledgement packet
l YES
I TEST_AKVr = NICL ? I
NO
2 . 3 .1 CHECK ANASk
2.3.2 CHECK NICnm
PUSH_IBSk (RBAd)
2.3.3 CLEAR PROTOCOL
EXIT
66
9.5.3.3.1. -- Level 2.3.1 CHECKANASk
2 . 3 . 1 CHECK ANASk
II
SNVr _ [RBAd + SNFOs] I
Tempi _ ANASHd I
Templ> ANASPp
ANVr _ [Tempi + ANNFOs] II
NO
Templ _ Templ+ ANLCn I
4--
I EXIT
YES
4--
ANSAK TEST
PUSH_ANASk (RBAd, Tempi)
67
9.5.3.3.2. -- Level 2.3.2 CHECKNICn
2.3.2 CHECKNICn
TEST_AKVr = NICn ? I NO
YES
-+
TCVr _ POP ITCBSk
[TCVr + TBAFOs] _ POP IBSk
[TCVr + TBLFOs] _ HLCn
IBVr _ [TCVr + TBAFOs]
[IBVr + DAFOs]
[IBVr + SAFOs]
[IBVr + AKFOs]
[IBVr + PNFOs]
[IBVr + SNFOs]
[IBVr + LDFOs]
[RBAd + SAFOs]SACn
NIACn
0
SNCn
[RBAd + ANFOs]
4
Kernel call transmit subroutine (TCVr)
EXIT I
68
9.5.3.3.3. -- Level 2.3.3 CLEAR_PROTOCOL
Templ _ WFASIn
L'WFASOt = Templ?
YES
NO
TCVr _ QUEUE_OUT_WFASk
IBVr _ [TCVr + TBA_ ]
PUSH ITCBSk ( TCVr )
PUSH IBSk ( IBVr )
ANASPp _ ANASHd - ANLCn
Templ _ RCBSIn IJ
RCBSOt = Templ?
NO
YES
RBVr _ QUEUE_OUT_R( BSk
Kernel call receive _ubroutine (RBVr)
Templ _ CBSIn
CBSOt = Templ?
NO
YES
CBVr _ QUEUE_OUT_CBSk
PUSH_IBSk ( CBVr )
69
9.5.4. -- Level 3. TRANSMIT STATE
FROM 2. Receive State
START
I SBFg = 1 ? _NO
YES
( ITCBSPp - ITCBSHd ) < 3 ?
NO
YES
-+
3.1 MAKE PACKET
GO to 4. CLEAN UP STATE
7O
9.5.4.1. -- Level 3.1 MAKE PACKET
I 3.1 MAKE_PACKET
_
TCVr _ POP ITCBSk
[TCVr + TBAFOs] _ SBAd
PACKVr _ [TCVr + TBAFOs]
[TCVr + TBLFOs] _ [PACKVr + DLFOs] + HLCn
SBFg _ 0
3 .i. 1 SEARCH ANASk
14
EXIT
71
9.5.4.1.I. -- Level 3.1.i SEARCH_ANASk
I 3 1 1 SEARCH_ANASk
I
I LDVr _ [PACKVr + LDFOs] 1Temp 4- ANASHd
I Temp > ANASPp ? J
NO
YES
I PUSH_ITCBSk (TCVr)PUSH_IBSk (PACKVr)
ANVr 4- [Temp + ANNFOs]
YES
i LDVr = ANVr ?
NO
I Temp 4- Temp + ANLCn
4-- i TPvr 4- Temp + ANTPNF°s i
[PACKVr + DAFOs] _ [Temp + ANAFOs]
[PACKVr + SAFOs] _ SACn
[PACKVr + AKFOs] _ CCn
[PACKVr + PNFOs] _ [TPVr]
[PACKVr + SNFOs] 4- SNCn
[TPVr] 4- [TPVr] + 1
Kernel call transmit subroutine(TCVr)
EXIT
4-
72
9.5.5. -- Level 4. CLEAN UP STATE
From 3. Transmit State
Start
TempWFASIn
I WFASOt = Temp ? I
NO
YES
Remove Acknowledgement andInitialize Packet
TCVr _ QUEUE_OUT WFASk
BAVr _ [TCVr + TBAFOs]
AKVr _ [BAVr + AKFOs]
(AKVr = AKCn) or (AKVr = NICn) ? _1
NO
1 QUEUE_IN_WFASk (TCVr) I
PUSH_ITCBSk (TCVr)PUSH_IBSk (BAVr)
1
GO TO 5. TIME OUT STATE
73
9.5.6. -- Level 5. TIMEOUT STATE
From 4. CLEAN UP STATE
I'RTFVr _ [TOBuf + RTFOs]
I'(RTFVr n TODONE) = 1 ? I
YES
I [TOBuf + RTFOs] _ 0
tamp _ WFASIn
_
I
WFASOt = tamp ? II
TCVr _ QUEUE_OUT_WFASk
IPACKVr _ [TCVr + TBAFOs]
AKVr _ [PACKVr + AkFOs]
NO
YES
i NOAKVr < 0 ]
YES
I [PACKVr + AkFOs] _ - AKVrQUEUE_IN_WFASk (TCVr)
I [PACKVr AkFOs] _ - AKVr I
I+
I
I
1 Kernel call transmit subroutine (TCVr) I
r,
I Go To 6. INCREMENT
74
i0. Appendix C Protocol source code in FOURTH
.)"? :::i_ t ..J S i
L;, ( E:omp:i ] er) HEX1i FOR I FI : II"IHEH)IATE 8000 F'b:EVlrIIS NAHE _1..... CFA ,I+ NAHE. -......
:2 I1,:!._ _ V(3C: W@ 0,:):-_3 V(]C: b.l! TARGET V(]C _,.,1!
3 F:I:_F," I }1 : [ [:OMF'] L._: ] F[!R] H COI,It EXI b,l@ 0003 E:OI_IE Xt W }
4 IEXECI.JI E: CE)Iq ]-EiXF W ! ; TAF:;:GET I--I(::_SI DEC I MAI ....
_:, ] r.:iJi.)l:- ?AI [(rT ( _, .- -!, ) H t..!) DO I'IOV S )+ DO ADD 1 _{..! DO _:.:dT:.,!_
6 0 # t)0 E',Ci.F;: DO D.I. I,IOV 250 # I)i ADD I31. S CMF'
? L:S H{:Yl IF :bO t-.-1 t..!) I-IOV E:L}:I']" :i:_RA IHEN I S -) HOV i',.IE.XI
F{i : AI I..C}I ( t_) '?Ai I..01 ABORI " diatic_r_art,." "_ul 1 " ; RECOVER
........... ._B _:t: I:',:} ADD -. o ,.J,..,._ 6 _ DO AND:::" [::i:]l)E ':'(:;El..[ S _ I)0 HOV -:.,"-i_ .... =_ .
1._ i i)() ..%/"- ) l"i(:)",) I".11_:::4]
i:i : E::, ,: r_._ FIE:RE!: [::! J H +! ; : , ( r'_) 4 AL..L.D] HERE 4- _
:1:,::! : I..,.l, ( __ 2 Ai t...0i I.-tE-:RE 2 ..... W! :
j ::::, {::i-H)t:i:: [:OMF:'II..Ei il L]) AO MOV ] )-I.. i:bl(:) ) .-1.. IL¢iE]V A,:') H II) l"i[:.t ......... t,JE::,::I
, :I.,ELi.. IF: COMF'II..I_-: :1.onO _ - _':":J.'i : i .1:1E-:RAL. ; n) ....' .... El...,.._f..
.i '..!, L: CiM i-::':1:f. _- c::_-'..,:1 ] b,I, [ I-1E!t",1 _ 1 I"tM E: D I AT E
3,:_,:::_ i.ISI
:1
4
:5
6_
7
8
9
10
.I t
:i :,."
! Y,
J C? t
J
2:
4
4-:)
.;
9
J. 0
:i:J
:t L'
t 3
i 4
:i !:,75
.',_: ">,:':C.R Q:U2.LITY
L j-L-L_::_F..• .i
:_':_"..-i i [ :iiii;
(:., I .>,.rcf (-.,1 (.::c:_ri_[.:_.i ] er 4 e::,r ii:!NF:'- :7'.".:) Fi!I'iF']Y I.)EC I ItAI ....
i : Itl7{] I-' :1..SO4- Illi:t.. l::'tii; ; ,. iiliTL:L.I::' 1-4E:X :i.,7)J.() bllO]H W ! DEC.[HAt
::t S:;F-h':_:i.)i:!l-'+_S;20 .... COI',tSfAt,il F.ib::b,i i.-!;O6 CONS'TAI',.vt " ENF'3C:,
3 : _lt---Iti:.l::_C, ( ..... .::,) .tl'.i W,;i:.-' 3:2 WORi:_ SWAP >IN W! ;
-"} ,_ } [ii:i _ : . I.-'Jl'"tt'i!.i':i.:F!; ) :i (} }.[)_.:i[)
!h (71"LI_:!:Ati'7: I'#I..-_AS) 5;2 All.f)] CFTEAFE7 H)'}S 4 fgl..I._13"t CREA-IE ?tLqO
,7:, YAF'TAP, I.E b,l() YAR]A[q.._E I--7 'vJAR1ABI...E: R W'JAR]ABLE VOC
/ ,: Ci:l,<ar_g_-:-::]t,:.;,a iiI c_c..!f:(:z,i1.7;2.FEli-IF<?:;,)app ] ] cat i on DW (jAil)
i:::i , i"i_..,l i<,;, ,:t6 1_OA[> HOSI i:)E F I Iq :1T I OF.IS
_-:_ ;', t::}t::;:{:.i ( a) :i .+ ,:!, :,?-_ " Ii ! l : I--tEF::IT: ,; - a) "H @ ;
i t_ : i-..;f:!i_';' ( ri > Fli::!b'[7 .I (::!l:.,:(i:i ; : ]HEF;:E ( .... a )I J t"1[':.:'.1 : L4:1:FIOI]I'.-I ': rl ) _{.)L!I:-:' O l::;:(:;j t,.,I,:} i C, ' R !
:t 2 F-tF A;) 20 li:!F,.A!7{;I-ii: ; _)Ei:C i HAl.
i:{!; : ', ':} t"l_)!i; t.,J! : : f:;_E:E::t]',)[i-IR ....zi (:_AF' ;
:t 4 c (::e::,mr_ :i .I ,_:, i. c:., F,:AI'i > 4t.:::.;0:.:!, L OA)> ( As'-::;E,nll::) ] er )
:i t-i : i';ii .i (:} i ( i '__ " F:;: ;. ! ;
'R @ ;C.>Cx:iEi VOC W!
;:)l_:::i:: J:t"h::d
._!!,,:::)I. EIA].>
J W,,
3 : :::-t ( a ..... <:-_)
/:t
_:, : I(:(_ ( _:c ..... r,)
: TL,.!,::7 ,:. ,z_ .... ,i)
7 -" I' 1.'.1 "1 ! ( r i 4::, :'
8 : 'i {.., F-ii-IP,{-: IC!
"::' ' {:::,,ml:, :i } c--.' I _:.:, F;.:AH E:h a,I i<:f(:!:'d < c:,r :::!;:2t< apl:::, :i ])b7 L.IAH 7--:i (.,--$9)
.I i;Rf:7lq 117"_ I::;:lqf"l ,:l-':)c_,:bO i';:ll.1 ()i-
:..< : )) :I {:::1 ]: {.il..IAb: f ( r i > F;:AH --i0960 .,::_............F 7:11 l--t[.if:i; :::!:t-.:,Llt-::' t,.qt :,:!.+ t,.i I. ;
bi,:::i (:! .... .4Og:'_::;::i:7 I"tt:lg RAH + ;
>i (:@ ; : !C! I_ a) >t _::; ;
t I,,!,._<7_; : FW ( I_ a) :::T W! i
:::-T t,J..i- ! ; : t ! ( d .:.:_> ::: I
1 H .-t--! ;, : L',I, ;2 (_:lAP I.-IIE:I:RE:: :::.:..... 1 L,.J! ;
9 : , 4 I::;AF' tII{7!Ft'.E 4 .... 'I ! ;
10 : t:;:l"ll:::lVE t :s cl r_) :::R ::T F:,:;: (:::HOVI:: ',;
:i t. : i:E;'!.IHF:' ,: <::_ r_;, {::i'v'E:.F:: .+ :)!:',b<!A }::' ]:,{::i {:::R :i 7 I..J.b,: l 20 -i. .t. H;l/,.! ] l.>i::.l
.I:,::: :i: 7 ,qi',l).:) O:= ::..::._ {:i;,r:',<:::d:t!:::':, [ iI.*Y_ 6 !..I,,l::i ;2 /L.O(:)}::' 120 4.i i.)OP' {:_F'lq{]:liT: ;
1:.:!, : F i.!ISH F,'AH I,.!l_::i..,.i :,::'U, + l..!i-:71d ]:::,{::._ ])!.:tF: J ]:-ll..(.l{;:l< JO:PZl - I"lU'vq:7)
<:1 ! !F'DAIE :I O:;"4 -i. t...O!.)F-' !)l:,'!::!l:' I--i. !!SH :
i :!,:) 4 L 1::!.-::,i
i
,:' i_:HF"..";(.) i. {];:i).) i;omF, :i 1 i--.,::i: [,c., .! {.!F,: i b.l 4: i.::)l< ] ll :i f.!i. E-,llV i F Ol"tfllE:'l'l_t:
.:!; i'-.i,:_:,,,, D i (:,q_ .<,m.:_r <::_ ,>:_ ,::::,:::)ln t:::,:i ]e-_d .i(:) I::.,.to,::::1.::::<. [5_:_,4-6()Ozt
_:, !i:: I_ I .(,! II"ii:'
6 I it:: i:::.:l:i ! t.
> t i-IFf.:F:I ! t.,
C,,
| _'_
:i
I ,:
iJLt0Jl::, :-:>!.I ,_:,I _..__.:'L ;:<(.! d _"e E-_:_ .-sF:,a e: P, rl b y t es at
t:, r I (::,r_ }:: i ":'F:' ":"f: l:.£_rqe.z:t ,:J:i ct :i or/ary
I-.;_:,_ '! <7,....:.:_.i I _1:::l _., t ,:_l. qe,! l::,:6-'d"l :1 ocat: i on
l:: (:1:i. I A'_: _- [ o t. a :t76 OF F'O¢;_ (_dAL.ITY
.:_:.i:ii_.__:,(.:,) :i::_:-i_E) ) SF'Ht:7.; AMI::'S/-I RW/MSF C :1."01 /O0 t]il::J_t:>{-;k> J I::' (:._.1yP LJF,: I ii, .:!,..:::
(.) ( E-il.JF'-:-:,C_ 2rid load street, ]c:)adec:l {rc:,m :i3()6)
:1. r:oolL: x HERE 10 - HE:_AD ! HEAD DI..IF' 4+ 28 MOVE
2 FtEX 8020 HE:RE 6 .... TW! DECIMAl.
.3
4 ( I.l.,c :I {{::,,.tP.) 63 69 1 HI::, .I :i 08 109 7HRU 70 71 'fHl:-_li
t::;.... ,', 1 ..._r(:]{ei:.. c:csml::,:i':i {--,r) 51 ._,=.-,.... IHRI. I.. FORGET VARIABLE
;.' ( l _:.>,+'_.:.:1 ::l ) .:*2 ?4 THI::;.:LJ ( Hu] t i pr c)grammer):Fi ,tIF.i:::,: H E R E ft.t E R E- D li<C I I"1A L.
, ----- -i I t - i;...... _c:, { t..H. ,. E: ;' ,:,U LOA:[} :10 :! C) W I ]L)T H l,'J
:i .;::::1.29 t...[::JA D
1275 12T7 THRU
::.!;0 ,':-, I. J ::7!i;
,:_ i::!:l,IF'-;:f!;O 1.<::_(::Ig:l c,c:: i:: 6/i/{-7,5 )
;t HEL.F' CR HOST :t)EI::: :1:N I ]- i (:)I'..IS FORGE] ALl. E)I
..:' : At. I.(:J I ( t_ ) i'-;: + ! ; FlEX F-tI)z!-CxIx:) E(I!U F'F:t:OM3 :,.::6 I:::,I:Ct IONAIRY F'F-,:!-fl-I I.<II:IqD[:IW F:'ROH 8 + {IR(::,
4 F(.,4(>0() Eg!L! FIRS] DE:CIMA/.
!:_.... I:: I IRS1 '.::'FIA, "::'1:2'..i_._l "*_" -'" i:)l. IF' E(7-!!_I ' OF'ERA'i'Ot::;' .... ":":-;<..'..'..'_" +
6> :}'C'E" LOAD
7 i{::.rmir_a] ) ( 8:1. E:I3 -11--11:4.'t..! 79 I_ILiAD)
8 Di.sk) ( 9L-> 98 IHIRt.I) ( Irtit ferm:Lnal) ( 8(} l._t-]At.:))
9 1307 L EiAir) 1.:7::08 L 0 A D
.I0 FlEX :1.000 I.-I S "1 ! 1000 i.--I'S Zl. -_ r! DECIMAL.)
:i :i l--.IEq:k:E I-I"S 1! HERE H'S 4 + ]!
.i:,< I. iriks) HIL'!S] HFLA]:) r-am 2+ :32 CMOVE
:i ::!, HE X HE F.'.ET_ IHEI-_:E [)E:C l MAL..
I :-I i41._._ ] FI_!.JSH
I !-', 7::{7/I':7I i"1
'R !
CF.: (:::R CR TODAY b.t@ . £)A] E 2 SPACE:S @"I"IME . i ].ME
.L
:.:" ! :F,..'i:ilAf E OF'ERA/OF;'
4
6
x
_-:i I.;P,:t}] Vi ! i: t <:,,,
9 <, ( .7
.i {:) (:, , () ,i :i
i .q
i f-i
] I _:i I :i 7.:,]. F:(AH ..,,'__,] Li.E-.'E7 _.(:::1"eel _ ]oaded -f:r om sc::r ee:,r_ :i.::!!,,:::)t..::,.) FIE:,:
' OF'ERArOR , ' [:.]F::'IL:..F_AI(:)t:,: P:_.) .....
4EF9 lt*,l, " OF'ERA]'(]IR ,, C' . 0 W,, ( mini.(.:, ,.} ,,
() W, 0 , 4() W, C, , ,., ,+
(:, , 0 , 0 ,, F::F I: i::..i .:!, t t:- I-: 7052 ) ,
<.' _ t 6.iE,'ETI it' :6 ;:-! i.-ii:.:E:' 0 , OA W,
77
i !,,,I, 20 [:;AF :<
,:-i ,, () ,,.
() ,, !:_ ,, 0 W,
OF'ERA I(:JF: i:::() - ,
.I5!h:)_::!Ji S !
(_ _ E:I4F'3(:' V,<_L...be,r t,l-::, so:r _:_.,_:,l, t _.,_ .i_;.d 4 t ':..q. :::i._;.:'iS, i--I_:
;.::_ I Aii:E:t :-::ii AF:I ii r _:m .:;.it.i_F::i4 q_-_.!: H(' VE:
:;!_ (.iF'i:_ F:A I(fi_: :-::: -i- ::-_i ,:4 t [./!ii; ill:,(J!:::_ I ':.)0 EF;:A!(ii, iiii 4 .:!::. i i.ii i:l:-
":t ":.i..F.'! ('i1(2 ;.1 [lu!"fu ]_(!'( :! I_J ( _(,::, i' t ! i ! _ _ ffc:,
_!!:: _! ::.i-: .-, .... :.... _ :1.4 :._:_].ivE,
I ,:,-:,i_., _!-i F:. blCr.: 2,:i),:_xl) _t,4 HTSR)
_, : i # ii I"IC_V
_ . _d::'_::k:AtEff:i: i)I./F' ¢t: LI I"i()\ _ E',(:' .... _ '.'(i_ I*"i(3'v' !1 F_ 14L_k....
J.4 I.}1_:-:_:1 # A:,:? HCf",.' b:2 S ....) HOV },JE:.[X 'i
:i _!, I'I E::F:;:E: F:'F,_ }"i (i[::(t(-_; C' ,, F::'[]L4ED.:-_..It::' , OF:(:(i.i
(_ _ t'i,:_..'_.* coc.t_:-_ !.r_ Eii,.tF:'-30) HE:i.X
•5 : ,:_.! ¢_,t_t::_ C:t:.iO,:),:, + _.,l ! ;
q- : ,_-Z,l_!:.,mc,v L)CI [I _.::' -_ v:@er_p
!;:, : ,:.:lo,:.zt_l:-_ C:V, OOq !,.lq! C:10()4 W!
6
7
8
9
1.1
:} i,:i
:1.".,
J q
i( %
] 2 -_ w!¢_-,r,p L.O0t::' _,
i.i]:t::).L>[i _: W,::.:_ C:;:[ '.i::-,6 b.i ! ',BOSO ii :1,:_.)' L'.!! ;
J 3 :i (:, I. i| ¢S1
()
:i
ii!:,
i:i,
/:
J ii.::
:i 3
:1 4 78 OF ,:'C]:'R QUALITY'
-!;'i t I,._SI
0
3
,/
3
/i i
6
7
8
9
il i,_i
i 3
I t S I
.i
2
9
0
2
.i %
F(W / l'i S F i.i
79_u/_L_'_
I i,51 .q i i[_i_,I
Q
I
;-i'
i
I J
.:!,
_4
lP,
i "::i__,i ]._i_I
0
:I,
_,+'.
+:i
K,
7
t3
9
I.0
:lJ
:i:::5
lq
:I:!5:I_!_I..I'!ST
J
:_:'.
q+.+
_::,
/
S?
"iC:'
iI
:I::5
1480
i:!_]/ I .('.!!_!
()
.S
/
,,:_:_
J L::
i.S
Li-Q
I Vi
i_,:iii: I ii_i)I
:i
ii!:,
._.-_
G
7
8
9
I 0
J L!,
]i '..[,
iil!!;;i'-}'I...,Ii'i÷;I
•i!;
4
.IiL-,
I ._:i
J '!=i
81
Iq:":?l{ 1.] SI
()
z!
5
?
;i ,:>
[ .1
:i k::'
:1.3
:i "1
t 5
'::'.':::_',-'.. I. :1.!:i;I
(i)
;[
2
:3
5
7
8
9
1 (::,
:i :i
t .q
:,:':_ > I ISI
<:, _ F:K.F"-'5:I. II\I]T IA[. ] 2AI ION CE}NTROL BLOCK CONSI AN I S> HEX
:i :iii!,.)O0 COI'ISTAI'._] 1 ar,c:mode
2 <,3,:i0 (;;(i_t,l:i-_fAl4]F;_CBIL:
3 ,; F,::).I:iOO COIq!-i}IANT r::.',hndlr
•q F ,]:,:i.;2!;O(,CLll,.l:ii!;T AIqT
5 t:I::F <iO I (-:LiI\I'.-]_ IANI hlF'!!(:;'.-'-.'r
_!:, FO:l:i_,/:':2 ['i3NSfPdq! r_iF.,..b
/' I:.:01 :i I "1 t]ONSfAIqi "< ,::_one
':; F,:>i :i :,:::1:>i::ONS tANt r L::,cb
i.,.> I:-:01:16:,4 CONSTAN/ l_-_:i ] r
1 :i }.fl:-[;llfiAi 1,200.i 2OOe:, T i-.IRlI
J :..::
i q
t.-:C) I. 004 COi'4S T AIql i n i (::1::._
O,:-):l.O C[]NSIANI T[]B[I:
I[ FO 1 18(i) COI"..ISIAI",.IIL ,."hi_d 1 i-- )
r_ i b
IE CONSTANT I"lF'Usek.
.... . • _,..,FOI 160 L..[.Nc, IANI head_r
82
.:::,i::,._O,:.,._;ASEiL, SF:'I'i'5.;AMF:'S/IFU,'J/MSF:[% i/(>I, i()C' OL_i!:ii::i--:I I::,o]x,F:Ld-,:li i :..!,:2
2 0 0 L I S r
0 ,, E:]xlF'3C_Kerr_e] c:a]1 rout.'ir_e: :i.rl assember May 14 _) HE-X
I
2 C[J;OE. c:r-,]].eril::_ ( l;:,arm@ sul::,(_!--. l::)arm@ £?.])
3 S _+ AO l-li]V S )+ R -) NOV
4 A,:;.,;, OSR F;: )+ S ---) MC)V DO S -) MOV NEX
5
7
8
(?
.I:I
;I..!;
:i.,::I
.I5
.,:<.),:)i.::' I.I S I
() ,:. Ei:lqF:'--30 [E;t.t-_F._,rr_-,t bo_,r ct aF, P] ,, bl oc:I.::s ;3 L)t.._l:l
_::: F-tEi:F;:E ASSEiME':I.ER
4
5
6
7
8
.....(..'f:',-'i:i5 F"IE X
F:C)] ].64 AB AO MCIV ( qet L)c:L) Lai] )
4 R) A'.J ) MC}V ( move i_e_-.J i-(::,- b(::b Lo T..::.*i] )
4 #C! AO A:i:)D ( bump ta:i. 1 pc:,ir_t:er )
FC)1160 # AO C';PIF' 0:= IF ( clef:: i-f wrap ar,.:_uu_,::l)
F:C,:I.120 # AO HC]V ( wrap arour_d L.c:,[;,_-:-_c_l_.l_of f:i.fo
THEN
9 FO.1 J60 AB AO CMP ( c:hecI:: if f_eac:I .... taJ ]. )
10 ()= IF R]-S THEN < h(.-,ad := Lai]. =: c,"er-rLU_,do_'t: uq::),:::ta!:_m ,our.
:1 ] AL) FOI 1_,4 AB MOV R[S ( u.F:,c:fatE, Lai Z[ Ibo:i. r_tE-:-,r ;,
1 :>' (X)Iq.S 1-ANT r'::-:hr-_d]. r
] 5
14
',,:?:>C):SI..I S
_) Eit..IF'.-..:_!;O E!fJerr_e..,t boar cl ap[)] .]
12 f-IE!F,'I_: ASE;EM£-:L. EF_
.;!Z; i # FC, I014 Ai_ fdOV RIS
-,1, Ci. d,.i_;l Ai..I I t ::.:_,r_cJ 1 r
t:i
(:?
J.]
_2
13
14
] !::;
IllCZ C C: C (Z
83
3 0 ,.._r, -- ...... ' = , .__,c:_-"L:,_..,, H E. X
4 k :Z:._: Vi.!:_L!"_"
:i-::0C:,4 I..]:-:-:!
,.:) ,: E::i,.IF:'-::Ib::) E:_:fJEerrlE,'L L)Dard _:pp]..!
2 ItE_ PE _::_SSEI"ii?,L. E:R
:i": R IS
•-'1 [::[:.rN:Sli-:flql L-,Lt:::.hi_d].r
!:]
{:::,
if::
:p
i :I
:I_r:
.':!
:I.:S
flIC: C: C C: C:. ::!; Li LLn-"O .P_,'-- E_::; ) FIE X
_:) {: E!I'4F::'::::;C) tE::i::', _i:_::'tL_I:::, -i-c:)r Ll_::ff4 _::mpt:_ l-,rc)t(::,c:o] _.:_::,r ].t :?:!., _iV:_';, I.-t_:i.::
:I -" enI:]m.ask ( _:_d_.........PIL:].L i (:iu...,_...¢a._I::'_-:<::_:-')
:i:' OFFFF #_NI.) f:_OC_C:,C) + _ ,:: m_:.-___-k t.c:, e.':n_p H_.tIi. t:E(.',L_. _,dr _,p.-:,._:::_::, >
::_; : ENPmasl.:: ,_ ad_ .......... t-..Nt ..:--. :_1..........+.... )
4. C)FFF:F Aid):::, FO.:),::.)O0 -+ _ ,: masik _:_.::, ENF':.!,O prJ.-,at.._-_, _(.:tr "e_pu,.:::_.::,>
.'..:J ." I"l-St]_;:[n:.:_sk ( ,_..d_........... Hu.]t:.:i. Eq.:_. (_]. _l:_a,::_ )
_, OFFF:F _::'_NI_ :::OC::OC:: _- I _1 r._sk t.c:, MS.r:_C:I I"IL_iL_._L_s_ _:,dr _:!.[.3_::c-_:÷:,
-7
9 _ "-s{:_i: er:p HF'I..J':et:. liF:'U(::._sr C;! :rt:i ..1:::, :.:::4. ER_-]!.gI_:10 :i.r_:i. b :l_ri.c.mc::,dG: OVER t.-,J! F::E;E',C: CiVE:R ii! 4. N! TC:)SC:: CY;-q_IF;: 4 4- N!
"y ....., I ...:1 .I r>'h_diLr' L../Ef: iO .I- l--<t"_nd]._ .... :):.2ER ::i.4. + :
J:_:i _:,t_;tIFiL-I].t- _iib.l(':lF' 1._{ "1" ! :i.rl] .b F:O:l,:iJO4 :# II)LIF' SI../)E_A[:, ! c:.__] 1 :-:.:,_p
:t .S SIA_I:::' :1.L: + 1 _'. C:HCiVE:.: ;
J:::, _" ] [i:L...'t :L'i:D 1" I::,(_:1:.) 4(:: t!'[:{:t:.:iSE: r .be:l::, i:)L.JF:' I"lez_.i:c:l r ! t..:_::l.l•..r : l
,) i.>t:i:{.: :I:Ph:.'4..
I
/I.
] .:_;
i:: O :2 _ L. Ci ;._l::> i;" 0 :._.:) L.{:::l{::_D
84' ...... . _Z _.; _._ _ |T Y
.,:,i >,::'5, i ii '.;i_I
3
8
9
i 0
11
ii i_.i
J 3
I ..'1
1
2.
3
/.
9
iJ i,:i
_L5,
J 5
85
ULlc::,c:;l'.. J _...,LJ.t _ I" L.li"( I i i ,.
_ ' t::_:"_ Ir_..-,] _ e,.'-.iqz_(-_r_sex, k:_] c.,c I.: ._,::.i<tr c:s-ii_ c::c::,r___-te_rlt, s arid _,e_t'-J..-:do] e,s 6--i :i.&i%_)
:,::' I:::0 :i ?,4,:i> i i I.l_i:i; I i.:_l-.JI ::i _ r_i. e:,r c _ m F::() :t .]_!JS() C_OI4'_-;T _:ff,_/ < _ 1 ] ve
:._;I=()1 ;M::_i4C OI,i{;I i%t._i ::.k rr_ ] _-.-.I--a .i: F-,:Z:,I ..:,,_,<_COHS 'IAH T < r_,>_,I.:sL a.t
4- "" " "' ' ' _:-,.-_-_F,.I_-E,l...[. c.c,ci_:_ VF_F_ I P_BL E c _,r _._,g)
?
':7'
(,
I
il
0 iiEiX .t
1
2
4
,.s7
8
1 0
1 1
:i 15
I 4
i '5
'Y"I,:I 7 I...i !:] I
I
!i
.:'i
'.:i
?
,:?
J ,>
]3
i.:I
I!::_
86
_L.Y ; ....:_!_ _.:!i.i\LiTY
,.:-,.-:;,. :_i ih-:_Sf:i:!_ SF:"MS #dqPS/1F:,;W/HSF C i ,:i:,.t -,:..:-.:_ Ui:-il,bSk- i. p,:.,.l, yF: UI,.: t _-4 ._'
:-:i ;,q'::;' I. I S I
0
]
2
3
4
5
E_
q.,
;t '{:,
II
:J2
ljl
:i .'.:_5
::'0'.:,_:' t } E.ii,[
-.. i:.: -, .- - C,t •,_ _ i.)E:!f: ]. NE; (:::ONSI ANI :t ...............SL _. ' .,::.,.-I-- _::,r ) l--'l[i::X
Ozt CONS-IAI,Ii Ac;CN 16 []:[]IqS-[A|q] F'.IL.CI',I
OA (::;OI'.ISTAI'...I] AKCN OP., C(iN!.::I-AN] CCN OC COI",IS1AIqI i,i:l:CIq
q Oi:.> C:OI',ISi ANt N I ACI'4 c>E CONST At',II N I {::;l.._
!P:_ 04 COIqSTAI,d i RTFOS 0,5 C...II..L.-.,I AI,.tl 'IOF:'CE-;
6 08 C01"4SfAI4t .... IBAFOS 06 C(:]I4STAI'4I ...... ' ........" a1bLF-- Lk:_ CQI,.ISI AN] ] E,__'_F:'C.........L.k,c:
7 00 CONSIAI,II ANAFOS 06 CE)I'.]STAI',II AiqlqFOS
8 0:?. CONSr ANT ANrF:'NF OS ()8 [:OI,.ISrANI At,.IF:::F'NF{::IS
9 0 :) CONSTAi-,.II DAF:: (IS 0,5 C ;;.NS fAN I SAF:: (:::IS OC CQNS 1_.if,..tI AKF 0.':-;
J._-) ,::::,]>CONSTANT SNFOS OE C[:H,.E:I;i ANI- PNFt::Y,:.i; OF CONSIAN-I [.I}FOS
I :i :16 CONSTANI DI..J:::::iS OA CE)NSIAI,.IT AIqLCN
::' ,:.:,_!i CONSIANI- F;.:BAFOS 06 CONc;-I ANI F:;.BL.FE:S 04 I::::ONS]AIqI FRFi_SF:O2;
.. T f" ' ('" "2] 3 :1 CEJI'qS]AI,.I[ TI:R(!E 0 CONC;TANT F Ht_,.-:,.L........., ; ..... _..... ";q.l .;r.:: , -, "" •:J ':t q.o()O COI'qSIANT I L..vE:f,.F-..,I.I ,':t,::)00 CONSIANT F........,...I:.,,F-_I_,I..I
:i %
:I S I
{> ( I)EF]:I,.IE VAR]AB[E--) HEX
:1 VAI::,::t:AEq....E SIq(::::N
.,::: "-"r',F,::i P,:i:::l.E- I1' (::BSF'F' VAR I ABLE ]ICBSHD VAR I ABL.E I ]CBS-f L
3 "/Al_:iAl-::L..tii.: :[BSI-::'F' VARIABLE IE-kSH:O VARIABLE iBS]L.
4 k,'f-'_F:]:A_..',L.E Ai,.IASF'F:' VAR ]:ABL..E ANASHi.) VAR IABL_E ANASTL
5 V,'.-:flR:LAt:_L...E.CBS.I:N VAF:IABL.E E}E_SOT VARIABI_E CBSHD VARIABLE CBSTL
6 ( ',Jf_F:,'.] AE:q...._-:f:::CRS :1N VAR I AP,L.E F,,'CBC;E}i7 '_'AF:] A_-;I.I:_ F'Ck_STI..)
[-:_ L.'A;::,:] AIfq _}] WF ASI--tI:)
'9 ")AR .1A:{;i E '.,-i_;Ai}.}l".l[.:i (:, 'dAF: 1AL.',t E F:I. A{:-i
_i ] 9r:-_,RIA)BI E 1 {])3( !t:::
:1.,/ 'dAt.:;::LAE',I E: 1 i:.:,:i :5 '..'At-::.'.:l AF',I E R(::}P,S t N
.! 4 ';AFt; iA]?L E:.: F::(::}E_S11:i %
VARIABLE WFASIIq
VAR I ABL E WF ASi] ....
V A R I A E!I...E S A C N I_,_"2
',,-"AFRiAE',I.E F:,'.(:;BS(:::II
87
JARIf-_ELE RCBSHD
VARIABL.E WFASOT
VARIABLE SACNH
'.dAF:::i A_?L.E F:G..:::E',SH:D
:.::!(:)5:,-::I..i S
()
1
:2
:5
4
5
?.
(:.,
i ()
1.1
1.:3 l::_O'.::.i::S,:)CE:dgSI ANT m[:,v
4
]. iz;'._!
E)E.FiNE MAIL.BOX OFFSE-I > HEX
AC,23() CONS] AN] MA ]: L.BE:)X0 CONSTANT SBFGOS
;1 CONS-[ ANT RDFGOS
8 CONSIAN I SBAD[:iS
C)C CONSI ANT PtBSNCNOS
10 CONSTANI <a] iv(-eOS
:1.q i::E_NS[F'ff.JT EF<F'OS1 E: CE)IqSI AII'4i NE_,tl:4LIF
1E; CE)NS-I AN-I []I_DBIJF 2[] [::i:)NSIANI F:L.OS
2',::i CONS IAF.Ii '::) ]I { _ _'" II _ I: ' :_,_I C[_-tN:_TANT sah:7!,(, E:(::INSIANT '._sa] 2
AO4C8 C(]NSTAI'q-I _'I' "El _n _:)
28 C O I'%l S 'rI A N Il Sa ]
$_d::)z}.:};() CI.']I'Q'E}'II_::d"..II_i I_,I[::,[:, ::.{ _:l{:)4 _ (::) CONS-I'ANI t.rE/rIl_g
AO48C, CONS fANI S]SA:O A,:)4AO CONSFANT rec:r v
O I-Zx [ I
1
:2
,.t
I:: I
7
8
9J()
il12
3
t 5
<) F'!JSH AND F'(]F' OF'EF_AI ION):1
..,::,
4
5 : F'LIE, H
?
_i_ : i)Ol:::'(ZiF:'
1.() : F:'Cd-"'
:12
1:3I '4
j!!-,
)
Ol.IlF' (.'..__ASCIq + DUF' R(]I
( e_,dc:lr' NO SF' T [II -- .......
(_ I.:::IVEI:;: @ .... IF DREiF:'
EL.SE !S_'JrI.:lF' [:)[:::{::i_::' [)([]e'lI_JEi;H ]HEN ;
£_'UI":' (_._ (_ SWAF' i:)LIJF' (_! ASCN .... SWAF' I ;( I-J(] SF' H (:::' ........ _:_1:_1:_rII ::1
(Y OVER @ SWAF .... :: ]:F DROP MAI[..BE)X ERROS + !
EI....SE SWAP DROP DOF'OF' I-HEN ;
88
>
MAILBOX ERROS + '
,::.,.i::',V" )0 E:ASEi'I) SF'MS AMF'S/T RbJ/MSF E; i ." 01 , ()() OB68K--i. p o 1 yF UF< I _i :, ,_
-,. r: F:::,::_ .... I. l !i3 I
:i 0
lJ
J ?)
:13
J I.
; 5
0 _ F'LISH F:'OF' E)F:'EF:;',F-YFION ON SIAE:KS)
:1
2
..... ' "3 c'... ,3 : F:'L!SH i [ C[.,;._... _ &_cldl....... )
4 .1 t f C:E_SF'F:' I "f'i.._.E,,:,"_ .......EL. PI. tSH
,, : F::'OF' I fC:E',SK ( ........ aclclr ) 2 i-IC:BSF'F:' I-ICBSH:E) F'OF' ;
,5
i,; : F:'IISt.I IIgSK ( actdr ......... )
8 3 ] BSF'F:' IIBSTI_ F'LJSH :
9 : F:'OF:' IE;SK ( ....... adclr ;
4 I E',!3F:'I::' ]: 13SI"I}:.) F'Ci F' ;
) _ I:::'LISH AF.]ASk: F'F;,'LiC:EE)UF;:E :'
:t
:2 : F'I. ISH AI',IASK: ( addr ptr3
5
6
/
8
...... )
:::-F: O!!F' SAFOS + @ I AIqAI:::C)S ÷ !
DUF' SAF OS "''i .... W(i':!F.,.n._.N -+ + I ANAFOS ASCI,.I + -+ !.,,I
Di!F' SNF:C]S + C@ I AIqI',IFO_ .-r C::!
F'NFOS -r C:@ I ANF;:PNF:OS + {:::!
C) R::: AHTF:'NFOS _ I::: ! ;
9 : ] E!.ST AI'.,IASK
J.0
J :1
I 5
( ......... )
ANASF'F:" DUF' @ AI".]t...C:N + DUF' F;,'OI ! ANASil.. @ ::
IF 5 MAIL.BDX E.F:F;:OS + ! 'IHI_!:N :
,.:'J ....... I. ISf
_, : I.:l F...[i: OF'E:F,'f.:fT ION 1 , I].!I..JEL.JE if',.I -. JOIN C!L..IEUE[):1
3 : 'C!!.IE!.;Ei FL!I...[. ( IK! dll_j] -.... 4 )
::t ,:!-_ SWAF' (a A'-_CN ..r...... 0=- ;
.I
6 : EI...IIEF;: [TLIEE.!..IE ( addr FID 'I-L. IN ........ )
r,, ¢.-_ (-_;: i]LJF' DI.JF:' _! Ho....N + SWAF' ! >F: FtOF I @ ! R> DUF' @ ROT @ =:
_; :1:F: S,bh'::_F:' '_'f ASE N SWAF:' _ ' '........... . ELSE:. DROP [)RDF' THEN ;9
J '::_ : Cfi!I{LIE: IN ,:. a-,ddr HD ] [. I f'.] F.ILIMP, I1",.I OUT - ...... )
1 ] ..'Q tli_:l..!E F:I.jI..I. IF: MA]:I_B(:]:X: E I::,'.F: [] S +
] :J I{ I.. _,-;E_ iZ)F,:OF:' ENT EF:<... (:.)LJt]ii:L.tE i I...IEi:h)i.._;
:i.4 89:i 5
:J:,c,........-.> _.',_:_bk:.i.,_I-'l"i',:::;i._d4P_.:-'IRW/MSFL: i ./!])I.iOO U_:.6L4f.:-J. pc.,Jyk t.ik,.ilil.:<,/
:.::i.)P;';_I.I {i7;I
(., ( [_!L.IE UE: DF'ERA"II ON 2, QLIELJE:.. OU] - SERVE C!UEL!E)
2 : ( IN CILII - ....... -f ) @ SWAF' @ .... 0=:. :3 : DE-I.ET[E C!!JE-LII::.[ ( HD TI_ OUT --'- addr ) DUF' DUP DLJI::'
4 @ ASCI'4 -_ SWAF:' ! @ @ :::'R DLIF:' @ ROT @ =
5 IF ISWAF' @ ASCN - SWAF' ! EL.SEE DRCIF' DROF' THEN R> ;
C, _ C!..IEL.IE: [JUI ( HI) TL [ILl] NUMB tN OU] -.... addr >
? ?C!UEUE F[I4F' IY IF MAII._BOX ERROS + '
8
,q,
10
]]
J 2
.!!;
_4
.[ '.::.,
EI.SE ]:)RC}F' I)ELE-IE_DUELIE THEN ;
,:'::",::,? i :t Si
0 :. dOIN _i,: SEiF,:VF OF'EF:AIION ON Qt...IEL.IE)
:1 FIE-:X
2 : C!UEUE i1':,1 C;BSK ( adclr ........ )
3 CBSHD [-BSTL. CBSIN 6 CBSIN CBSOT
q : C!L.IEUE OLJ'I CBSK ( ..... addr )
.5 CBSHD CBSIL :H-:-kSF}I- 7 C:DSIN CDSOT
6 : QUEUE I N PE:;BSK ( addr ........ )
7 RCBSHD RCBS'II .... RC:SSIIq 8 RCBStN RCBSOf
8 : C!UE:UE OU-f RCBSK ( .... adclr )
9 RCBSHD RC::E_S]I .... RCBSOf 9 RCBSIN RCB'30T
10 : g!I.;EUE IN WF:ASk: ( addr ..... )
I.I. WFASHD WFAS"ft_ WFASIIq A WI::ASII'q WFASOT
"J2 : C!L!EUE OUf WF:ASK ( ....... addr >
.13 WFASHD WFASTI... WI::ASOr 8 WF AS It'-.] WI::A:!-_C:tI
1 q
:I.P_
QUE[]IZ.... I lq ;
Q .IELIE...Ol.-Il;
QI. JEIJE t I-J ;
[-)L.IEI If:: :::il I t ;
Q[JE.IE :IN ;
(.,!UE:I _IE: (-djl
(.:* ,.': WOF:i) I)E:F I N:I:-t I [INS; ........... COMMON I:)EF I NE- WORD S[.
] I _E::x
3 : ::i:.-_ E:ACf:::
q
5 : :: ICVF:,.'.
6
?
9
1 0
I _ : !SAC:I,4
;I ,:" : !SI,JC::N
1 :i_,
14
15
,: add]C addlE' ....... [:"I_.ISII I BSK: F:'L.lS H._ ]7T C; ]_:_S t::Z ;
FOI3tC W@ SACI'-,IH W! FO13J. E;
,... ....... " u". .... ,, "-u-. Ir_ MA :1:L I:'u"i X MEI,-.:,t'.tCNO:_ + . :
@ SACNL. !
90
(_-"0 1 - 6iq'
( ...... a d d '1 [:: a d d I B )
F'OF' I ICt:3SK
F:'OF:' :I;BSK CJVEF< -IBAF:OS + OVER SWAP I
OVE::R HI...CN SWAF' IEq..FOS + W !
,:",,t:::_:_,:...,,i L:,::_:::i:;i:::Li,,_::i;i:'!"li!:i_¸ F.:_MF'_:;/I F:'.:W,,HSF I., I . , _.i. '..,,_' [..)_._O_i-:..-:i poJ yr ¸ i _ ! H/3.,:::
,:::,::'61 t tSt
_> ( .....IOI::;':F>i)E}FINIIIONS ............ i_:L)HFiL:It.I DEFIIqE WORI)
.I
3 : F:it L F:.'ACt<ET
4 :::.I::;:
5
6
?
8c:/
J ,..:,
JJ
:12
:i 3
:t 5
F:'N At-:: i;,AH i}AI .... acldr ......1 :[)AF:OS + 2 + !
i OAF: [)S 4- W!
SACNL. ,:]a. I SAFOS + 2 +
SACNH W,_.! :t: SAFOS + W
.[ AKFOS 4. (- !
I PNFi:IS + C!
'.:_:.']NCH@ R> SNFQS + C!
St... _,-.() 1 -89 )
:,::'.':11)6:2 I_.[ S 1
(> t SEI UI-' MA:II. BOX )i
2 : GE:_fNAME ( ........ )
.::_ I"IAII...BE)X HBSNCI'40S + {'_! SNCN _ ;
4
5 : ['iAILBOX SE:] !Jl::" r ....... )
,5 MA I I_E_OX >F::'
7
8
g
_1.0
:I 1
:1:2:i 3
I 4
(> I 1"4E:WBLJF .r. ! () :J. OL[)FWIF 4-. t
0 R::: ERRiZiS 4- ! ;
2063 I.. J:S I
() '. I<Ei:FCtNFL CAi...t .... RE(::E :1>'E , i 7:;:_::_!-.ili!:;l',lIT_ T IMEOUT SLIE;F;:O/.II INE. -............E;[ ;,:1 t--iF:x
]/:i
3 : _:::Ei. F:,tEL:V
4 r s p... i.)i::,i
,:!::, : t_:.Eit Xi'l t !
7' r :_-I.::' I:::, ,:)A
9 : l(Eit 1 I filE[ I I]
t ,:) .--q:;). I::, OElJ
J 2
:lq
(. a cl (Jr........ ,,
6 +' @ c:.::_i I enp DRCIF::' DROP ;
( _::,,:::ld r........... )
+ (.:3_ (:::a ] :i ,_er_p DR[JP g!UEUE IN WFASK
( a d ,:::t_......... )
_ @ ,:::.:._:I ] en p :DF;:[3F:' DR[]F' :
91
.:,r t1-:, __td'::,, ,¸ i F.:W,"MbFi.; J./
".:.!(i;,:!::,_:I t I S I
0 ( OF'ERATIOI4 OF IBSI-:: _ NEW, OL.D BUFFEP, HEX
.l
2 : (::llt:rrew I'"IAIi_i%)X 1.'4EWBUF:: + @ NtTtl IF:: F'DP IBSK
:3 ()f::f:-f::f:: AND r.:;,:),:I_cx} + MA I LBO X NEWBtJF. + _ THEI4L, ,.,1.,.4 : (:.l_i-::c:,td MAIL..BE._X []L.i-)BUF + @ IF MAIL.BOX []LI.)BLIF + @. F'LISH I-":::"
P, ,.:::, MAII..]E,'OX OI._:[)Lq.LtF * _ ]HEN :,
{-I
9
J (:,
J :1
:t:Z
J 3
:j .,:!
.I 5
.',: ,.::,t::, L ] Si
,:.:, ,:: FF.'[:ii.E ["lEiil"i(::_F:;.:_" SF'I:-:_CE ............
J
:2
4
u:: I
6ii
7
8
9
I ,:}
:11
1:2
:i 3
I .q
:i %
F'LACE: A NUL..[ L.',K)Fq:D SL.. (_--()5--.89 )
:,-::,:.)66 I.. I ( '
,.:.:, ( },>EF: II4E. {]::(]NS]ANI -:) HE-X
2 F(:)i-ii',(.,:::,/l. C[)NSI ANI BASE:ADD (::, COt\ISTANT EF'SC
3 I,.:) CC)1.'.JSTANI ANACN 20 CONS]ANT BCN
4- :t,:::)O COI'4SfAI"4I BLCN 05 C:ONS]ANf (]BSCN
5 I 4 COHSIAI\iI :[tCBSCIq
:!:) zl,:::, [::OkiSl ,qN I XMCN
•" :i {..i l:::l::jl'..i'.:i:.;} A1.q f I-(]CBI..CN
',P, :I z! Ci:fl.-ISlAl".l I WFASCI"4
9 (:Jq] (]Efl',IE,/Ab.{i I-;.'MI..FOS
C) ..-i:2 COhIS fANi IC}-:I. CN
:[ :1 :1,:::i i-: ::)f'..IS 1 A1.\lr RC;P,L.CN
J .2 20 CO1`4STANI ] I:::EIL(Z:N
I 30 C(]1.,4SIANT IC}SE:I
j zi
] %
16 C:oIqS T A1"4T I R B L CN
lC) CONS]ANT -ICB[:N
}8 [::[]1`4S]ANT '[[]SAFOS
10 C [] It ST A 1"41 R C B C N
:L() CONSTANI .... ICBL.CN
:2;8 CDNS-FANI P1A:I LCN
2: U.N_IHIql ]OCN92
,? ,.....__.,_ CONSTAN]" ITC:BI...C:Iq
14 CONSTANT RCBSCN
(;)8 CONSIAixII SC][3t...C:Iq
............ I P,W / PtDF C (LIi6_e,('_id:> 1 V' (:-'ii :,.EI _i _ ! _ iii,i,::i6_::_,) L:_-:C_::[:L:, %FHS AHF'S /_' "_..... :i./C, i/,:>(.'
2 C,'!__7 L,.I S
0
1
ii.:!
3
21.
c.:_
7
8
C?
1 ()
_J
2
I 4
.65
DEF:INE VARIABLE 2
L.'AP i ABI..E _:)UF::",-qq:
".)Al:k I[ABLE t mere
VAF(IABL.E SCBUF
VAR I ABL.E i
SL.. 6--05-89 )
VARIABL.E tCBUF::
2(._6ii? I ]Sf
O ( HAKE StA(.:t;:IS, it:TCBSK I}):SI< ANASK SlAC;g:_iJ) HEX
I
3 : HKS_ACKS ,:. ....... )
.,.'_.
7
8
:10
lJ
J 3
:1/.1
1 5
BASEADD
DUP I-FE:BSHD ! I)L!F:' ASCII'4 -" ]ItCBS_F'F' !
I "[CBSCN ASCN * _ DIJF' ASCA'4 ..... I I'CES'I-L .... !
DLIP IBSH, D ! DUF;' ASCN - IBSPF' I
BCN ASC:i"I _- + I)LJF' ASCN ..... IBSTL !
DLIF' AHAS'Hi) ! DL.IF:' ANI....Ciq -- AF',IASF'F' !
AI,IACN ANL.CN * + L)UP AI'.IL..Ct'.I ..... ANASTI .... !
BL/F VR !
;?,)6 ':-_' L..[ S 1
,:, ( I"h::_l::iE. (.;!UEi i?iS, CBSI< RC;B-SI-::I WF ASK QL.IELJES ) F-IE X1
3 : HK(;!UEL_ES ( .........;,
4 I?I..IF.-VR ,_i! DUF' CBSHO ! DUF' CE',SII'.I !
5 (:::P,S(::;I,.I ASE;N -_ + DLIP ASCN .... CE',S]L.. !
,..5 i:)lll:::' I::d::;BSI--ID DI.JI::' Fi:CI.?SIN Dl.Jf:' IRCE3SOI '
..' [::(:::BS(.:;N _:,_:;(:T:f,.I * + DUF' A{:.:;(::I'._ .... F,:CBSTL.
_i{ B!.II:::' L,-.JI::A!i-;H:[) DLJF:' WF: AS I [,1 t)L.tF' WFASIL]T I
c_, I.#F:ASCI4 AS[:;I._ -_. .+ i.:,!.tF:' ASCI",I -- WFASTL.
i (3
J]
1:2
] 3
i31!Fklp. 1
93
DUF' CBSC] 1
,", : ,._J'., (.h:.-it:::;E:1:' _:;}'i it_ _::HIF'_:i., I PbJ., I'lt':;/f - {; J ... :1 ....:..' L.L_:_6_i::!g." i pOJ !/f L_f< _ i i ,
•' t-'. ,,'(, ( tdf::4<LE BLJF F Ei[RS ..... RC_BF:::, f (Z:}._K, LB_F. BUF:F:EilF<)
l
12
:3, : I'tF:::]£1K ( _:,cfdr ....... addr ';
•4 RCBCN O DQ DLJF:' QUEUE IN RCBSK R(SBt._.CN + L..C)C]F'
,E, IE;E_C.:N O DO DLJF:' PUSH IlC:_{'Sg: TCBLCN + LEi[:)F'
.... [ E .DF.. BI CN +" L_OI::.'tF',5 B[IN (:_ }:::)(::J )._ IF' PI.JSFt... :_'-..... .... ;; : I :i S]:_JL.!F ,:: acldr .......... aclc:lr )
,_ii D!H:::' TL}][!._IIF: !
'::_ DLIF' :-:i_;(:::i:H.IF:: !
.I !, L)L!F' ]: C::E',UF: !
J:l
i :2 : I-1t:: ]:.:!..!F:F"Fi!R':2i_ (
] :$
_q
:i ',5
-r c}c B I...c::N +
s C EL<L..E21q -I
I[2BL.CN + ._
........ ) £:;L.IF:VF," _:_! t"IKBF:: T I S I BUF: BL.tF: \,'R ! ;
I } S}; I
.:'(: >,.:i i ].SI
0 E{ X :[ !
:2
4
8
9'
:f ,.)
:i.:l
] :i:
_.:-_,
] .q
i L,94
,!:,i.:iOO,:.) B_:-:_SE:g, SF'MS AHF'S/IRKI/I'ISF[:; ::1./i:)J/03 UB_)t.:.iF::-1 po.I .:,_ i.li:,: iiL 3:::::
",:-:0.; :::'; I. I S 1
(:, E X 11J
5'
3
4
...J
(.:)
7
i!i<
,:?
:1.,:::,
li
J :2
3
j.,J
15
..-":' :::":1 t :i SI"
O ( :l..__, CALL I':::E:F:dqE:L. F:I:EE:E!'-_E F':ING F:ILI.. -............SL. 5-' :.",:' - i::;'_')1 HE X
:2 : F',:II',iG FIL.L.
:7.!; DIJF:'
zl E L S Ei.5
6
7
B
9 : d{::.', rfil]
O
J
::it
!!::t
( I[-:HF ......... JEP!F' 4- ;
FI:C:BS[:II (a := IF TRUE
Q[.]E[ZEIE:::Eil..II F:_CBSK: EH..JF:'
L'_LCN SW_:iP RBI..FOS + (4 !
LH.JF' F'OF:' IBSF:: _;t_j#_F::' RRAFC/S +
rsp....b 0,% + ,'$._c:,-_.l] ..._tif.:, PF:OP DROPF:_::_1..SE THEN :
< ..... )
R C E'S I l".] _,_
BE:G 1N R I N(3 F 1L.L IRLtE :=: UNt I L.. t.)F<[] F'
J:_:St
':::' ': 1.;/ NE.II,4E_Fk:I-::: INITIALIZ_:YTI_::)N F::'Fi:O[:EDLIRE 1 ........ _:;L 5--::!};:1--_3':i_')I I-.lli-:X
,--,
(:i
?
',9
:1C)
:i:t
J :i!;
:[415
( addr .......... ;,
).F<
O I,.!ICN FFFF FFFFF:FFF
I:;{.::
F: I L..I... I:::'AC.r:::ET ;
95
,._,:::......-., .l :,-:,t:,i::J;, bFd"i_:, _..:_tii'E_., I F<L.'_ H!:';F i ,,.i ......:....... L.It::,!:>_:::F.:__ .i k,,..,.t ........_:r, !i t..:!,.,::
?
! [:,
.i "]
O _ :i . 7 HEI b._E:IFi:F::: I N ]:T :! r::d_ ]: i:.:_::_i ] _::Ii...i F::'F_EI[::EI:;,LIRE 2 ........... SL. ,5-::!, i ---8_ ' ;
1 l--tE ::<
...'
q _ _I:::' _ t:::, _:)r'+:, + i-_ (:: ._.1 ] _:::,i_f:< ]:)l::t:Ol::' i::i .!Ii_:LJE . ]: N. t41:#_::.
_:::, .E',£_!::;J j-,_i M;:::_::-::_i;:/]'J l_J,_,::_:.:;(..il ?I:_!i..JS.L_IEi 5J"IPI 7 J"lO] I_Jj",,rl ] I._
t-:, E:fl.!t!-:l...;li_:. Eil]l Ml:-:rh:iii;l:: i:.H.IP I-(.:_!_;F::__:iS + W(a..
i{:::'..._[_:i.t.:,.:F:,:(.:l..!_d".-!];, ,::::...... F:L._-:,G ! F:L.._:-"_I5 ({_ iI_]:LBI3× FLEIS +
i
::}
'o
7
9
:10
] :i
J.:.:::
:1!:
-I
E!;
] t-.i;I
<., ( t: I._ :il :i ¢_i ]. Z ;:, I ]: (::)H ............. :i , Ni_: i i._.](::ii::::t.::. ]: N :1:-I ]: F:d...] Z E:
:t
:,::: F.I,E X
..::, :; Nl:ii 1 ]. I.._J. i ,:. ........
'.-1 :::.i I:..VF;.: ,: ......... _.,'::..:-_<i,:::ir- ]: Ba(:Jdr )
i:, U[:;_-'_'_:JI :t I_.t]: 1
,:b Dill::' ]]i!;SFO[".:; -t :2::!!;E:,t) !::;b,t/:_j::' !..'-J
_iP., ×HE:!.i _.) i:){_
c_:, i){ It::' _; t _i_,_:::ll) ! _ "[ £:.'_i.-! J I_Ci l,!" (!(:It Etill
I {; '?!!i:,l _:_1 l_il::,:F: F _ i::_i.., (._
J i i:_i iF.-
iq 96
:1I:. I.E_r::d.,,_E THEi"-.I
I rl _:.),.I ,_
.;.._-; .......,k i;i: _:4 (:, L4"tit:_ #:,'f"IF:'S/i RI,,J/ bISF (L: J. /_._ :[ .."u'O Ol=:6b.d':.-- J. p o J . F '..i_, [t, L!!,:.<:
:,i:<)/':? I IS
0
1.
],:'
3 :
4
,'!b
>
8
9
t (_
JJ
:i 2
J .:!
i q-
} L:.,
INZIIAL. IZA]ION ...... 1.8 XMI]TEF_'. TIMEDUT
!XH TIMEOUT ( ...... )
TO_LJF (a DUF' R-IFigS + TOSET SWAP W!
D[IF' TOFOS 4- -fOE;N SWAF' W!
[<EL.... T I MEOLVI ;
St.. 6-02-.89
<..<(q!!9i.:,I_ [ S
,:b ': -[14i flAI.I2ATI(]N ........
:1 HE X
2
3 ; i MEM
4.
t5
6
7
89
i 0 : ) :i mere
2I :!!;
.:]
] %
I:::iLL. O 'fC} MEMORY /..OCA f I 0i-4
] ........ - "r-. ".1L.,[_,::_E...ir4ASCN * H{(:i]f"...!AS(:]I'4 _. 4-
ANACN ANI_C:I',t * 4.- CBSCN ASCN ._-+
RC[¢SCN ASC:N _ 4, WFASCN ASCN * 4.
RCBCN RCBLCN ._. + TCBCN 'fCBLCN _-+
BC:t4 BLCN _ -4- .!_4. Ac!;CN * + :[4. ASCN * + Ascr4 +
'}Z- .. n-i Eg. ft"l i
I..HEM E;AS;E:ADD t.. mere (9 O F: ]L.L ,_
S L _::,-0 9 -8 9
>'Oii_ :t i ]. !:,f
O I!!_:'-::[ !
:}
:-:t
:[!'.,
4
,:b
/
9
.I O
J 2
_.3:14
:1S
97
(,. =_.... _ QUALITY
:?Oi:-{2 I.._IS I
O [:!X ]i '1
.I
4r4:-.J
,5
7
8
::i.,::)
:1...=i:
:1.3
:i4
1 5
:::.'O_:-C!!;I t St
0 ( fESTII'-4G ....... ]:NIT]:AI_iZAflI:]I,-I S]AiE:
:1
2 : RI.IN ]:N1 I
3
._j
6
7
8
9
:10
:1:t.
] 2
:I :3
i 4
:t5
St .... 6 -. :;::::::.t-£_9 >
0 t p
,:i)r _:.mp t
C, rvbo; .{ !
! SACI"4 ! SNCN
HA]:I_BOX SET UI::' GE'TIIAME:
MAILBOX MBSNCIg[]S + @ EF:'S[:: = IF NI_!!TINII ]HEN! XM 1 IMl_OtJ-f
:1. iIAIL.B'OX F,:Z)FG[:Y-; -r
SACNH W@ I'IA:IL.BOX sat, + W! SAE::N[. @ MA]LBOX sal 4- _ ;
:,Y,>',i_.q.1. I S T
() E:X I 'i
:l
3
zl
5
:1011
:J.2
.I..7;:i 4 98
,_,:: ',_, :,,::, L{{:_SE.L) SF'I"tt".; AI"IF-'S, l F4:W/I"ISF C :t ,' (.) i ..' ()(.) lJ}:;_,_iJ.: - :} po.t ....v ! Ii; i ::,:,::'
C, fi X I ]
:1
:3
q
5
&.,
E}
9
J.0
JJ
I Zi:t
Z!3
]. 4
.i 5
,-'(iE4;O 1. ] '.!::;I
0 E..:<I ]
[2
5
6
7
9
10
Jl
1z,._
4
I5
20[:!{7 I. IS I
() EX ] I:1
q
5
,:.?
lJ] .2
.1.3
.1599
,::,_:',:._,.-:....Lh::,UE:i..>::'>F'i'k:i__U<iF'S/IRW/MSFC. J. (:'1.,'..)(.'
,.?()::?,::_I.Iq I
0 Ei.X I
.I
3
4-
5
.-?
,/
8
9'
:I0
JJ
]2
.i.4
.i.5
0 E: × J.
:1
2
3
45
6
8
9'
1()
:i:i
.I2
.i.I.
5
. ..... . ... ....) ]
0 ( F;Eii:;E IVE SIIATE - ........ 2. 1. RECE IIv'E A[::::KI'I..I[:]WL.ED[:-d_ii.MEIqI
i _ I.:'A(:_I<...i_:!I.JE..(::}U] ( adcJRB tem;::_ .... adc:lRB teml::, )
3
4
5
(t:,
?
'-' : ¢:_L::}::t::(E(::V
SL b"-"C, :l -$9 ;,
i0
:i:i
1:2
13
:i4
J5
:::.i-q: >R C'LIEUE!. OlJ1- WF:ASI< DLIF' ]BAF:C}S + @ I)LJF' L..I)FOS + (i:@
I SNF:"OS + C@. = IF DUF' F'NFOS + C@ I F'NFOS + I;::i2_
..... D!.!F' () ::: SWAF' J:)LIF' () = RO] OR SWAF' -4 > AND
:[ I::: ::;B BACI:::
ELSE: £)R(.]F:' QUEUE II,-t WFASK THEN
I::1_.:::,: OPOF::' QLJELIE I N.WF A:::,I.... THEIq R:::" R::: ;
( a d c:lEl:i::: ........ )
W F:A S ]: I"J (.i::!
_-Eii3 :l t..I_>!.ll'-' b.IF::ASOI _:_ .... IF TRUE
ELSE PACK QI.JE (::!UI FAI....fSE 'IHE:I--I
LINT :[I.... DRUF:' F::'LISH 1 E::'-%:: :I00
,,,,p .;,-:, . o':
,",i:;'"" _ .,_:h::di:,E!]) :-_i::'l_i_#:d-iF:'_i,-IF;:{-'J,-l"i_-i,Fi: ii....:,:i._.>0 ( }f.:(:,E31<.-"i pc:,] yF OF;,'IH/3::/
;¢0'::71I.ISI
I
3
,:I-
5
(:,
./
,'._p
ti.>
I 5
14
.15
0 _. F:F:.CE I '-._E7 SI AT E. ............ ::::'. 2' f::,'E E;E!:1 'v'E il)t.)t'ql"lAND
.t
:.# ." [:::iEi.IqEi::<¢-_IE f:ff:::l-::: ( -;_c:ldF,:i{'_ ........ ;'73 1:;1 (11:'-.2I:;i ( .......... a ci d T (i: a d d 1[D ) :::'1::;:
•q :-.;bJAf::' i.)Lff::' F'f'..!F::OS + (:::,:_!AI-:::CN
5 I:;:O1 SAI::'E++S -t. 0LIP AS[-N + bJ,:_ SHAF:' (a-
_, R 1:: F :J:L.i. F'Pd:I:KE'I I-:::E!:[ XH t I
7
8 : [i:t---1t:: CC)MMAIqD ( adcit::,::i:.; _:::,C..':i. Ii'__E{'I"........ )
10
:I :I
:1:,i:t
j zii 5
¢.::,- .,..1 " _-., :..
[41qI:;:PNt::E]S "_- E;t..!F' Ii:;(i_ ROT T-).!F::' F:'I",IF:OS + [1:1:@R[Tt SbJAF' (::P,,.'Ef;.: :.--
].F :1 + F:[::q {:::! i)l.i}:' Q[.JE L.IEi: I N CE'SI'::: GENEF,:Ai Ei. Pff.:::b::
EI.._SI:::: 11' 'ff"...v_:::.-,, 1:::'!...t53l..}t!:",SI:: {:::i'..2E:R F'NFOS + r::r,_ S!,.'.JAF.... DLIF' ,.'::) -::: 9_kJAF'
....4 ::: Pd".JD :1F- GE t-.lt:ii:t:;.:A}E: ,:.d2:l:: I_!![.'.E;E DF;.:t:.:_F'T HE:I,; DF_:(I]F::'T t-IE:I ,J
h:[:!.! :E i VE :ii:;I ;-:_1EZ .......... ::'. :2 F:;:_i!i: :L!i:l '._ii:. {::i:Z)HbiANI::>()
:I
7; ," ::_:;t::!Pd::;:C_.I(:{.:.l,.t ( at:It:IRE:; ........ )
'::}- t)l..ll:::' '31qFi::r.i_ -i. C,1.? ::d::,:
% Pfi,lp,'iBbli, <.s!
,'b _ E':[.-iI f,l
>' !:'t IF' AI'dASF:"I:::' ':i_ .:: I F::
c:, [:i t SEi i)!.!F::' ;_II',.IHF::E}ti; + (:.'ff! I =::
:t O (71"i1:: C(::}l'fll"h2flqi.i) ] F;:LII£:1:i !i! I St:i:: i::fl'q!..[21,.I + I:::#4 Si:ii THEI'.! 1 HE!.H
t :2 I..!N'I I l. f:,:1:: :Of:;:(:iF' ;
:i 3 101:i ,::1
5
SL. &--(::, :l -.-.g-F-)>
IF
"" '; "_--';..:, _'", : ','t. v2y
:l / i..>:i /OL_ I.........I. -,-[_OF,' I FI/ .:!,:,_:i
::i,:i)_:i_4 !. ]i !i-; i
5
] 0
.1.]
j,::'
] ::!:
t 4
(.:, ( F:E!:i:: E ]I V E STATE ........ 2.2 RE-E:EIVE COMMANI)
:1.
::::': E:C;I",_F<E'C"J _-.c:IdF;F_ ........ )
:S CI.:_S:1:N CI:-_SOT ?C!UELE:: FUt..L. :[ F
4 E:I. S E
:::SE(:_RC:H CE:;N
'I_-I[i:I:.!
SL.. E,-() 1 -8'::} ' )
PUSH I IgSI'(
0 I!ii::<il
:I
:::::
if,
6
8
I 0
]J
i U,
,::.? D::k :l:1
]
j!;
z:I.
(:p
] 0
]:1
i. :2
i :[!;
:i _:i
I ':,102
k
r .
_IO'V";'L I{'!
0 E.X iI
1
2
3
4
5
c:,7
8
q,
10
ll
J2
13
14
15
:(>';?E; L 1S 1
(:, ( RECEIVE STATE .........2.Z!, RECEIVE NI[:N,
.I
2
3 : ?ANASK FOUND ( addRB --. addRB ;,
4 DUP D!JP SNFOS + C@ -R ANASHO @
5
6
7
8
9
1.0
I]
1:>'
j.-:},
14
15
BEGIN
DUP ANASPP @ )
ELSE
ELSE
UNTIL. R>
N IA{._:N
IF: TES-[ ANASK TRUE
DUP ANNFOS + C@ I =: IF ]RUE
ANLCN + FALSE THEN [HEN
DROP PUSH ANASK ;
SL b-O1--89;,
()'?'? L IS[
O ( ["rECEIVE S]AfE --- 2.3 RECEIVE NICN
1 FlEX
2
•:_, : ':"l'-ii N].C:N ( addRB --- addRB >4
,.5
?
8
V
10
Ii
12
13
14
15
SL 6-01-89')
103
>ICVR ( .... addlC addI8 )
>R OVER SNFDS + C@ I LDFOS + C!
OVER C) NIACN ROT SAFOS + DUP ASCN + W@ SWAP @
R:> F I !_..L PACKE 1
i-_;I.:, .i::, OA + @ call enp DROP QUEUE._IN. WFASI<
,::-,::-,..........' M_-:_::::d:::.l.;,,':-q"'i"i.:.:,.,:.:d"iPu:::i,Ii:-i:i,,.J,.H'31:"[.: ] , :.i:i,-'...,...... LJ_:,::_UF..i f.,,...,.l:i"L:r:l::
(, ( F:;tE:E;E].VE SIA[E .............2,3 F;:E C::[-::IV E: I,.II[:::N
:I
.-::,
:3 : 1-41LN (:.;l--ll-:::( :-_dEIF;'F',..... )
4 ?ANASI'( FOUND
•'.".; ? I S 14].C14
./
%:,
] ()
:l:i
I :?
:i:3
;I":I
:i5
F:'USH I B'.SK
SL. 6"'"0 1 -8':?)
:2J,::::]! ]:SI
7
8
] 0
1].
J 2:
] J,
1 q
1%
O ,:. F_:E:CE! IVE S:IAi E .......... 2. :3 RECEI?%
]
Z,£'
:13 -" t,1:1:ACN f.::l--II-::: ( e,c.ldRE', ....... )
-q DL)F' GENEI:RAIE AC:K
5 :::::::::::::::::::::[::[.:I(.JFJD
6 F'USH :[I::{SI:::
t,..lI A C N
:2 I ,'",......' [. I ::.-,''"
,: t
1
:::::
4
, i
t
,,::z,..j
ED
:j,:,
] 2
: 3
I q
.I!.%
' '" ',,[::. h.li (:L.F::E::C:E]..,,E:. SI AT[::: ...........2, 3 F::ECE:I'" ....
:t (}1. EAF,: WF ASK ',,' ......... )
WFAS I I',1 ,:'3.
}-_E G I N
DI..IF:' K!FASC]T ca..= [)UF' If:
EI.SE QUEUE (]IJT WF:A'_K
:::i::' I::ACK TIHEN
UNI I L.. f)I::::OF' }l
DUI::'
104
SL 6-0]--89)
TBAFOS + @
,_:,k.:,:)()i.) ,k;A_::;E].) !:,I-:I"1S AMF'S/-IRW/MSFC 1 ,."01/()(. [:.!_(:A31::.--1. pc;] VF i ii I i.-i..'::!t:::i:
?Irks t. ISI
_7
8
,..?
1._..)
Jl
]:3
:i .":1
15
O RE[:::EIVEi SIATE ........... 2.3 RECEIVE NICL.
:I
:):t
3 : :2[ :l ..E A F,,' R C B S f::: ( ....... )
4 R CB S I lq @
_:, BE G I N
(:, [:)[..IF::' F;.'.EBSOT C<! .... DUF' IF
Ei...SE
F:,:[::i:-:'SHD F,'CP.,S]L RCBSO-[ 2 1 RCBS IN RCBSO]
rsF.,.b 6 + _ call., ellp DF:OF' DROF'IHEN
UIq'T IL DR(IF:' ;
SL. 6--0:1-89)
QUEUE_OUT
2:10-:1 L ISI
O ( RECEIVE SIAIE ............ 2.:3 I:::'ECE:tVE
]
:2
:}; : 7;[:1 EAR CBSK ( ......... ,_4 C B S I I".1 ,?:!.
5
7
8
9
10I]
:12i3
1.4
BEGIN
DLIF' CBS[]T @ = I)UP IF:
EI_SE QUEUE OUT (]BSK
UNI I L. DROP ;
IqICL. SL 8- O J -.iB':_' )
F:'LtSH :[ Bt-_F::: I I-IE::I".t
:,::i:t 0'.:5 I :!__:-:;I
'::) ( F:,:E[;E]:VE SIATE ........ 2,3 RECEIVE NIC[.]
:2
3 .'., CI..EAR F'ROFOC[:)L ( adclRB ..... )
4
6
1 (>1.]
12
J 3
14
][)LIP GENERATE ACK
::1(T.:LEAF< WFASK
ANASFtD ,:a ANL.CN .... ANASF'F'
2 [::L..EAF:;: F;:CBSK
:::..':C I_I-::A f::,: CBSKF'I..tSH IPSK
105
SI. 6--01.---8q)
_..,i:::,;_?_.' ). ;l.:;_::,k:i..' '=:._i"li'.:::: i:-:_l'ii"'t:i I t"_i_',1.,' i=i!->7 '_....
]
2
.i!:',
-,"7-
?
I I
:iii:!_
i 4
L 5
, C5 I
O il. F.E:.t._': . "...... SI ,:.:CIE
"j
2L'!; : C.(Hd"l¢.:flqD t.._. CitYl
.'-I
5
"7
:1"/
,:7
ii i.:!,
.'_i._
Off:.'EFt:AT I C.d..! :1 .......... S_.... e:.--..-O;t-.-E_9
,. , 7., AKFd SI AI_; .......... _.c. r", ..,
F:;_L;IS'gI'-ID Ft'.C)7!;STt. F-I'IZ:I3!'_CIi ;{;:!;. /::;',CI-3'{7:;It'1 (;_i]E..4,SL-.TT
l,])Lff.:' F;;_7;AI::t.]S ..I. Dt.li:"
@ Sblf:-_F::' F:'I.]F::'.. I t?,'73}::' ,.:!{:l,,-jf:;'..::' ! E;bIP, I":" DI.JP
.... ,C.FC.! S -_. I.,,l_ SWAP"F,,)!.,,.:, "-r _ f:, h ,_:_ + @ c:.;-_], l _:.:_r, p DI::;;OF:' Dt=:C.)P
fLiL.sEp. ,'_;]*i_"".;F: {.) _7]; -_ (.._ f'_jI !{}7;l_!,i fill P+_' i
(:._l_E.i..E;; C]I_! 1
;::t t ,/.,',73 I 1 {::i,l
. .t..,..-I:: Sll:!l '!l;]i LiF[::I-,;-I ](.!1..{ ;;::'C> ' F',.'.t{::.L:E:''"
.1
;,::'
% : i'A,kX::d CHK
"_7 i]i_!F'
i., {.'.:.t..{3t:i_E I. S E
E I.. S E
(i?
l O
:11
:1:,-"
:1:7!,
........... S L _-;:>.--0 1 " __9 )
( _, cl (:_1F';i7_ if;h:{ 7::d ....... )
I."-_I-::;C;N ..... I F: )]f,_Cil:::' ACL':I::]. F;:IECV
[)l. IP::: {71:C.]t"._=: ] F: []F:;'{]F:"' {][)N.... RECI''I
Lit.H:' I..IIL;t"_ .... .IF: iI:,RC]P N.CIT;N.....CHK
DLE:' !-1'[ C.i ..... ] F:: );>l::t'.t])F:" CL EAF:;', .PROTOCOL
t"JI ACI'q .... iF:: I",11AC'.N ...CH t::;
L I._Sl::i F:', tSll .. I E_'.:.]_;F::I
f H E |..l 1 I-.I{7 lq ! tr--I1:7.N '11-.117-irq t I-.11-]I...1 i
106
,_.,i:i:',_:,,:::K.:,_:.;FLbt::iL, _;F::'t"iS r:_HF'_£/1RbJ/MSFC .1./01 .-."(_0 (::IB ¢:,S F;::---:I pc.,1 vFi.:iF: 1 i-I ,,::
T:.::_.(:)'::J' i. ]: E_]
t,:) I: I_ t:::, (::: ,--_ _ ', ," (.:_ ' masse,£1e) HEX
i A,:::,4?"S C(]NS1F_t,;T £p.._.,_ai 1::::_ : J rl c:: r h,:e _:._c;t ,: ..... )
::!!: head r ,:i_ 4- .÷-I"_:tL_d r..... O=
4 IF t" bc:b ELSE I,_-i:,ad r _! 4 +I:" I..... 'IHE:I',i he-ad r .
? : n'_E.q_ (::..:(:::,in ( ...... ;,
'::;:: E',E G I N
10 [).lP {_ tp..Lai] @ - 0=: IF 1 EL.SE DLIF:' @ @ QLIEUE_IN_RCBSF:::i] i l_{: _- I-++::_.-_d,::i THEI'-I
1 ::_:: lff,.H :[ [. DRi:]P ;
........... _ 20 0 DO t r .-:_,r,,:: (_..'bJ+o:I :.!:, : ,-:f':_r:l :,, n,s{Ei_ rWFP t r .:ar__. ! _::_:3E:,O0 r{--_cr ,v .........
:lq r_-::_,:::l.v ,.'i_ b.J! _-_.:.:{,(:_-v _:a 2: + r,:_cr-,./ ! 't.r..ans ,:'_ 2 + {:_-.:_._ ! I..(:]OF:' ;
L.I.....,,
, _ ,: F:;.:EII.C:E]:_..._E :_;T,::_TE; i;:F'E:::F,:_::_T]: (:_N
J : t ._:a.c::v _l: ,.' ....... ).:::
j!;
'.:t
7
8
9
] 0
]]
i 2] :::.!,
J .I
.............. :_;[ a:,.-.-!::,1 --.E3_)
l::i{T;P,_._:[ N _,:_
_]E:(:_1N
DI.IP RC E_:-i;Ol (--'.:! .... DLIF' ]:F E:L_E':E
I::;:C]E-_SEYI ,'_ (__ J' ,,,'l::,o:.: ! ( £{-::-,sb 'For' rec:,,' m'.-:sE_
(::(:_HH#_Ni:)..[:..:t..C:_UT F:,:CVE:F:,:F_I:-:N_'._I',_i:)I',IEYT IF: e:l_;[::,ELSE r::,lR(:::l:::' PUSH I B'Sg: THEN
f HEN
t IN '1 ]: L _:,R (:::_F'
:,' .. m_.9t "::'F._KFc:l.. CHF:::
::?I.i i I..:!.:!_;I
C, E.x :l 1
:I
:$
z I.
_.!
.t:!!;
:14
:1'5 107
/,;:::_)_ ih:l':_i::_,; bF'lt5 Alit'_i I F@J, 1'1'eft L; t ........_] _' r'i_q"_
2 t t 2 L ] S 1
o E X I T
]
2
3
4
5
7
9
I 0
;I.:I
]. 2
.I 3
I -q
15
..#] :t3 i :I:SI
0 ( I RAN'L.-.:;M I T F;T AT E ...........
]
2 HFX
3 8(. 08 C;ONSI ANI IO]DOI,JE
4-
5
&
7
8
9
I 0
].J
12
j:-!,
] q
] 5
]3E F I l,I Ei V A P. I A B L..El ....... F:L..A(ii.i_S ,.r-.., ] -.-_:I-_ )Si ': "..... "-_
12.1 ]-":_ I ]ST
,, _ IF::AHSM]T .... I _-_l E SEARCF-_ ANASF::: I SL.. 5-7,1--B-/>
]
2
3 : F'AC:t{EI FfI...I,.E:, ( acldTC addlE_ t. emp@ .....
4
5
(:,
?
1 0
:l :l
.[ :2
]. 3
lq
] 5
SNAP >F;,' >R i ANFF:'NF:OS + DUP C@
DL.IF.' 3 + R[}] 1-::! [.CN
'", ....... W@f:;::: AI"--IAF{3S "+ ])I.JF:' .-'_,:M.,N + SbJAF' _ R }:"
F: I1,t .... F:'ACI.::E-[
F::}I_-:L. X M I T
I08
_:-',:;_.;uu f::ASED :::;PMSAMPS/]RW/MSF[.. i/,.,.I,,._? Ob',6Uk.-J F,c;IyFOK!il ,.'
ISI
0 ( TRANSMIT SIA]"E --- SEARCH ANASK 2
J
2 : -$:SEARCH ( -:,ddlC addlB LDVR temp@3
4-
5
6
7
ii.;: SEARCH ANASK ( addle addlB --
9 DUP LDFOS + C@ ANASHD @
] (3
11
3I]::
3 3
14
3 5
DUP ANASPP @ :> IF DROF:' DROP
EI SE OVER OVER ANNFOS + C@ =
IF SWAP DROP PACKET FOUND TRUE
E[SE ANLCN -I. FALSE THEN THEN ;
BEGIN
:$:SEARCH
UNTIL._ ;
SL 5.-31--89)
....... .f )
>B I-?d:_E:K TF,:IJFi:,+
2.i _16 i ]Si
0 ( iRANSMI] STATE ...... 3. i MAKE PACKE]
] HEX
2 : MAKE PACKEI ( -- )5
4
5
6
7
8
9
i0
JJ
12
_4
SL 5-.3 _ -i?,9 )
POP IFC}:_SK DUP TBAFOS + MAIL.BOX SBADOS + @ DUP ROT
OVER TBLFOS + OVER DLFOS + C@ HLCN + SWAf::' W!OVEiR TBSFOS .÷ 2300 SWAP W!
OVER ()C + 0 SWAP W!
0 MAILBOX SBFGOS + '
DROP KEL XMIT
SEARCH ANA'i:_::d< )
2_ _I::" t IS1
(_) _ IRANSHZ[T STALE OPERATION
I
..::'I"IE X
% : xm:i t sL t ...... )4
5
6
£
89
I0
.12
13
:1,]
......... SL 5-;};1 -_}_9 )
HAILBOX SBFGOS + @ J = IF ITCEi:SPP @ ITCBSHD @ - E: > IF
MAKE F:'ACKEf MA]:LBOX SBADOS + @ MAILBOX OLDBUF + t
MAIL[?,OX SB,ADOS ..'- @ MAILI_OX old'trap +I t-lEI4 THEN
tp ca rob.:.', t tp (a :t + tp t ;
109
/:: :t :l ::_ I. ;[ _t
0 ( 1_F::_NSHI ] S1-ATE] ....... 'rEs] t F,IG
:1 E X 1 t
:-_,
z_
?
:l 0
l J:
.-,:,
il '.:!_
6-. 1 _?-..89 L..AM)
..:' ii ii ':i, I ] _!i_i
0 E-X I I
]
£
7.!:
/[j.
_::,
6
7
8
c;
I 0
:I:I
;I Z!I
14
0 Eli? ]. i
:l
._!!;
,t-
_:_
7
,:?1 0
110
.......<:_....." (IF;:iH., 3,:e:,il..)L'.' Uf:-:_:_Eii.*'iiSF:'b"}'Ci;i:.:iP}F:'_;,.'i F:.'.b;...}"1!:d! _ ,,_ .....,,., L r.........._. J. pc:J]yF .
::!11.?..II I':3i
0 E )_.11I
I
2
q
7
:P,
c,
_.i._
J I
:t?.!;
J 4
i.!5
.,:7':I :,::.,::' i. ]: 'SI
0 ,:. C:L Ef-:iN LIF:' '_::;i PFTE ............ F:G_:Fi{Ir.,JE _:_(i:::t-:::,_ ]: N t: T F:'f_iL;I<:ET
:.2
:::!; _ F.;.:i".t,::tCg: 1 N ]: T ( .........
-'i L;!I._iE lJ E. :'.t_J'T b! I:: F1_i!_l::i {:)t.! I:::'
,., :0 LJF:' r _:.mF_
: I...(ili()F::' F;,E:_I'IUvt::: ....
7 RI-I AE:K ]: N ]: T
E} I)LIF' _:_:::E::I.I -:: SbJ#d:::' H]:Ct,.I ::: i:::)F;: DUF' r_{-:,crv !
9 El. SE_:: I:)IR(:iF' [::!1 tli_:l..tE: .[ I"..I t._jl::i:_!iii_::: fHEN :
10
:1.:1
J.:2
J :3
:l ..:':1
:[ t:_
!.-.;l..... - , ] ,:.,':' "
:_..::!:i Ii : a, d cl ]: E_ ¢:_}:::_::d )
T:i::.:F_F::O:ii3 + (_! DIJF' _:::ff::F:(LJi:3 + C:i._!
I F: ::::b: :[_r-d::::g:
:,:.i:t :i-:::.3 } :i _i:;I
,:) ,:: i::::l Ei._l,.l { tF' _:;Ffq[ E C:}F:'E:F;:(:_J :1{.q!
1
/:';
!::5 b,lt:: ;::._:!3:I:I".I @
:.:; :L)L.It::' L4F::P,_:i!;{::.lf ,:;-:.! ..... L)I._F:' ]: F::
:!3 EL.::_:_ff t..OOF:' F_:E[NOVE T HEN
'::..... !.INl ]: L i::'F,:t::JF'
1,::::,
:1.1
1.2
_. :i!;
14
......... (.:, "" ... L., ... ,
111
d:.t::u,i...,,.._Lq::_t:::,t:::i..'"_F:'HE,_;WIF"S/i I:RW/MSf:L.}::l ..:}_.i.,'L_L , I...Jc.4::,_::¢f;. J }.,[:_.1 yFtJf< I H, :},:,::i
:,.::I:,:::.g.t... t S 1
0 ["i >: I [
1
3
/}
d:,
7
8
9
1:1
:[ 2
13
1 zt.
.I 5
0 ( I I Plf:ii[[.l!.l] STA]E ............. 1 1MI£OLFI i I,.!I EFd'qAL. L. [J[.)F:'
:i IIE i_:
:2 : NEG AbT:VFt: ( addll_? AKFd ........ >
3
4 "
5
7
8
9
:1.0 :
:l.J
:i 2
:! 7,
:I 4
1 5
14t.:EGAiE- SWAF' AKF:OS + C!
] HER I...OOF::' ( ......... >
Q[IEL!E 01.]1 WFASI< DI.JF:'
DUF::' AI<FOS + C}@
I F IqEG AKVR
El. S1£ IqEG AKVR
I I MEOUf ( .........
WFAS I N @
BEG i N
DUP WFASC)I @
TBAFOS + @
E)L.!F:'80 AND 0 >
I<E L.. XMIT
Q[...IEL!E IN WFASK]
U I',.!'1 I[
::: D L..IF:' I F::
EI_SE I"I MER I_OOF' 'II-.IEEI"..I
[) F;:[]F' ._
SI. 5-31 89,
1 HE]4 ;
12.l :,{::6 i. ][ S t
(:' ( I I"IELd...IT S]AFE C}F'E:RAT I [IN .......... SL _,--..,='_ J -8 °, )
:I
:-!, : ! c:,L_[ _i_-I. ( ......... )
4 -IL}[{i;I.JI::: @ RTFOS + DUP W@ TF]L}C)I".iE AN15 IF
'.:: 0 SNAP W! <IIMEDUI EL,C:};E ][)F:;_I]jF' THEN ;
"'r'
.Ir,
J
:Iu
:I3
.I4
] !5
112
O),:",¢!:,i!:;K--:1 t::_oJ vF L;F:;_I FI... :]!!12
:::! 1 :,i::i:: t I S 1
(> E X ]]it
J.
-I
5
I]:?,
:t 2'
] 3
:t/I
.i 5
i,:il1.],_:i':? I I !i:_if
,., _:. I iiA]i> F::'F:,:OiC]!I.:OL '........ St .... 7,:t E',, _ili:<i.'
J
Y
,::,:,
:I.0
1 2
7!i
J Zl 113J 5
L!.t.',&,Ut:..J pL,! ::.Fi_JF,ittl %.:'
2 i ':Ii:?,1 I '.!:_;I
(:)
:I
:3
'.1
..J
9
;I.()
J1
j ::.'
1:17;
l.q
.L5
.....i .,,i.::? t t !::Jt
':i) '_ i:)ETIF:i I".IE IdFt ] I.. P,()X (]F'FSE'T
:1
;2
i!!:
/i
F,
7
9
1 0
I 1 :l& (L':Cit',ISTANT DL.F-OS
.111.' :2() []ONS'-fAI,IT BCN
:1.j;
:1 .':1
:I 5
> H E X
2:O2:15,,:1) C.'.ONSTAIq-F HA I I._I£_(]X
() t_.LJt,.L-.,I _-d..tl S}77F:[-iEiS- - ....... , -" i-',4 CCIIqSTANI f_[.)Ft:J(J.::
::. i:[:INSIAI",.tT SI:.:_AI)(]S
C)(:I: CONSTAIqT f l]E,._,FiUN,.J_,
i O C[]t"..IS-I- AI"..II :::a ]. i ve(:]S
:i .<.1 ::[iNS-FAIqI ERROS
:i {:i CE:iNSIANT NEWBIJF: 30 C:LJlqS] AI-._-I ".-_.a].2
IC C:OIgS]AIq-f OL.D][-',LJF 2C [::::i::]HSTAN] F:I...C)S
:,:::C) IZ:ONSIAN] c_].dtmp :24 [::i_:iI.,tSTANt _._.al_
20490 :Z:i::il",l'.::3]A HI t. r <xi '__
:.]::C,ZlSC) [::[]I',.tSIAi,Ji S1 SA)::)
.,r,
:,,!:C)5:30 [::;Ot',ISTANT rob,-: 2,::)4 ::7:,:::) C(:]NSTAI"qT r v l:::,,::,::.:
.......h:_F-,"I ABL_.E i. mt.:_l::,uf: ::::::::::::::::::::: [i:[iitt,.tC;T ANT l" e.,c: r v 20Zl.E:{i::t I::.i:[:llqE: I AI,.II r t.. m F,....F ".'¢...........:,_::,::)41.3,:.) /__.llq.:. IHI',il SUI_:_A[:' :7":::)4[:::"::)I:::::I:]I".tSTF::iFIT SiA:[)
:..:':1_-:.{:' L :IST
L) ,:: hle.,r,(::,r v MAP: MSBC1 ai_d E.NF::'-:]!;C, ]:I:-:'C ar c:.:,a) HEi X:i
:2 ( :::: Hr. st l..c:_ E-:F.JF' c::omm_rgcls)
;:.];
.q '..'r , ,",", ,_... C:(:Ii..ISI r::d"._l :::serial
5 ::::::::::::::::::::: C:ONStANf >l.c?sc:t
,:h ::'40," ) (:::(::iNS tAI'.,ll .::-t:::,c: b
7 ::::q.O,::.:,g. COI'.-.IS IAN T :::t. a i ].
E', :::'.:h:),-:,( :: C(:.]HSI_::ih]I x .f:bt:
g:' :::i;,:.:,'.!iih:.i i::l.-IF.l'.:_;fi:fl'-.il Gc:_ ,::::mcJ
] L.)
:I :1 _:)(:::: C:!::.:il-qSf Alql At<FCIS
:l. i::
:l:.:J: _:::'i_ r:(:lt,.tsrAi.,ll Sh.IFE:)S C,E CCIiqSIAt".-!T F:'F.tF{]!iii
_,4 114u:l
::70C),:7:,8 C[::iI'qS]ANI >srldaddr
..... ,, (2%7zl (.)6, () C [:)_-!,3 ] A N 2 > h e a d
24C:,,'!:,',L:_ CONSTANT ".,' -Fbl-t
,:::,F: C::[:H..IS IAIq I L [)F (::iS
.#!%:_ I. IS
0 ( Memc,r':/ MAP: MSBC :I and ENP-30 IF:'C: area;, HEX
J. ( <: ENF' to Host commands)
2 20024 COMSIAN] < sc:Ic,r_e 20()26. CONSTAI',Yr <sr_d_:,ddr
3 2:1!;900 CC]NS]ANT <".-.sts ( status _rom ENF')
4 2000E [X]NSIANf >si.:atus 2(>02A C[]NSTAI",.M <status
5 ].:2002C; C 0 N S fA NI < I:::,c:b 20070 (%C!N ST A N T < Ine a (--I
6 200,"4 CLih.ISIAI",_f .::ita_] 2C)07E_ CONSIAN] _bh r
i;; 2007(:i. CONS rAI.4I f I:,i:r
_:-;
9 2:1:2(>0 C[iI-4S fANI .::ida't a ( <EI,JF-'> ?2500 C(]I'4STANT >dat:a ( >ENF')
:10
J :i ,::'_()(:-bCCil,]SIANI ....__-r_p C40[)0 CONS[ANT enp
:1.:2 ( ;.i!'_i)(>O0 C;ONS 1 Aiql " _el_l::, f or RAM Lest J ru.:_l)
:I 3 _ F::8E;()C,() COt,]SIAI41 ' _:::_tr,o _: or F'F.:C)M b aF-.e )
:I..:_': t]l-_ar_,.:]ed!:::ii_6 ,:}()() t(::_f::E(E_C)O0 to a(:J]u.i_:i:.sLar!, i r,(::I._.,::l,:::Ii._-,:,a.i_i_for _i_:-::_.--_
:I_:, 161< _.I::,r,::,m:=_use:,rl i::c,r LIAH et.Iie,r r_e.t prc, toc:c.,] )
:w) '::.,,::"i.II:._i,
,.:)( I:::'oi:Iir_g EI.E::'i:_::,Hc:,st Backgr c:)ur,d task).t E :x.I t
::, _:::(} _:,:.]. j..r.:(} :_{qL:jC_:::(.IF_.rE:}[]I..IZ-.,.:::rteizda_za ( (:J_:_lLa _r(-,m ile,Lt,JC)l"k)
::_: _:_l:::) _._-_l- 15(:) E_AC::I<C_FRC}UNO t. dummy ( clummv task)
z_
6
7
8
9
i 0
:i .q
:i !!i
() F::'ol]:i. rlq E.I,.IF' _o Hc:,st Bac:I-::grc:,ur_ct Task) HEX
:1 t:{ .? I i
2 : L,] tie,rip :::r_er[ data B!...tIL..D::.;
,l VAF;'.:IA}'.IE 1_
5 : ::"t :i T1 @
_:.,
?
q:,
:i 0
_J
1:2
J 3
4
15 115
L..dummy BI.JlL..D ;VARIAE;L...EI T2 VARIABLE '1:3 '-;ARIABLE ].q
; : ?T:>: 12 @ ; : ?1:3 T:-:r, @ ; : ?T4 T4 @
,:._::h.'L+'_.... L..;rE_:_}:_I..) :::_q i_:_ i+i;iii':::::, t ri.d bb:':ii i.... ; ' _ ,..,: Ub:,_:,_::F - J pL,.L v _'"UF'_II1%/
:/{:::I9, :_ I :S i
,:_ < H-!,ii:(:J E!t:i_<,r r_--_t da[ _, _i{:,r _:-,,:::!(>, ir,:it:].at:i, za[ :i.olf) t--tFX
:i :: :i.l_:i _ :i ,_,::_ ::ibc::b 4.4 E{T:A!iiiJ:i -(L_c::l:_, i)_.P <he.-_.cl ! -(i-.:._i 1 ! ._
..... '=4. bJ t ; ;(i,::_(:Iclr= +_ >sr_d.-_ddr _ r+ >ser_d L:J '
:_, :: _ei"_-_bi <J_:,t.._ I I(:, ;i,:.__- EF.:AS[{ i::dat,a :1.I0 :_.:)+'_ E]:<'ASf-il;
t!.,_ i::,,?so<, .Ij (.:,_ ',!iil._ ,_. !
-:% : r :::: :i I _J ,:_,1"_i:d:::+-F
:tC, 0 D(} ](:-S, ::.d_,i._=_ ]i ]n s_:],t L_[JOF'
:i-i I0 () i:)(j ] ()(_ }:.c:l<ai.:aI I r, set L.[][]F'
'::' :_(:_ (, i;,(.i .. d .::.,i: a ] :i. i0 _ 1,:'-> + + -(data I b@ set LOOF'
_ 1,.) ,:) DI) .:_*:J_._L+._ l 1 1,:) -_. J.,:) + + >data I [email protected] LOOP ;
:i " ,:: !_:_il;:_ J() ,:.._ !I;,CI i ;Iq- :} :t::, ._ <(::lala +
:,::; [ .I :1(:, _ < ,:::1a i.. ,..a ..I.. ! I..OOF'
3 ,:::i_:,.L _._ I: t:, i _ r ! -:: ,::I.._i. a ,:)F :L J C' _ + _ I::;i. !
!!:, ,", ]}'}:i!::;}?,CJ :i r+:i _::i ';:,::, r x..i r+:i ,::::!+_r_}::.4:l:::, J4::]ac}Ei. ; EXIT
t :!3 +
(_ ,: Fi!::i:;F-:(:::i. ( [:: E]qF'30 C:OMH!Jf..! I [I}At I ',:.)i..! AF;.:EiA I)EIF: I I"..t] T ] !..IH'..IS) I-lE! X
;1 ,{ AI.S() t._O(Z:{:fl IC¢.1 AND DE!:F:IN] l(:)l'.tS F'C)F';.: SIA+II..!S C()t.fTF:[.]I.. BI+[3C:kI_
'[l [J+_:)tiil'fil.l.]+l 1 (-:9"IZ. i C)r'I {:_i" [{_,.:::_ .}
_:. .:.:',:)(),.):.:'[]ONE;,IANI -:,sI :i..e.,
e, 20(.:,,:>6 [7:OF--_SIAi'.I[ F,:dFA ( r ,:.,:+:,.._,,,:::t.........add 20()(.,f:3 COf,.!SIAI'.!T Si-..}:FA ( ser_d __.dcl)+,: ,, ;.--...m: " r_::"*...i=/+.., _'_.j._., I:rIf...JSTAI,_I F_:cJF:q _ _--,=,..:,,-_-,+, .+_.._...J_._[::i]l,J'.;:_;[_:._i-.Y[ S_3F:,:::I , ser_; I,
IEi:_',}AF:,: J:A}{;L E} EI;}}:'A,::J ( '_ii._-:-,r_[:i 1::__-_::_ c-.r a,:::tci "_AF:;: I Aii;I._E: i:::._:¢SI+.-I(::t ( c I::,u4: I_e,._::,d ';
9 '.-2A F-:.:]rA Bi. E ['.}]3 S 1 ]
:10 VAF,' I ABLE C:_-}}S(71_
} I '..'_.q:;: I ABL...E :t BS[ .t,:J
J 2 UAF," :t ABL.+[_ ] _}':._i;Pl:.,i }5 '...'AI:;: ] I:._BI._Ei:I ]¢,SI+.k
i q
cm,:.:l t::,_-;: ka:i]i_ _.¢AF:,:IABI..E[ C:Eu.:_I_+ ( ,:::rod bu,':: stl-:: :i+rl)
:i ,:::11,.::. I:::,:..t-.i: I, ,:!..-,,;::i, U At:,; I A:if-;l.. E:[ I _{:_S r ]. ( :i.d i ,:.:=,I:::,,..t f i:. a :i. ] )
:id]<:, bi_._- !,l+, l::,p :, '.2,u,F;t ]I A }::q .+E: ]BE:H:-<q ( idle, [::,u-'f: r+eq. _:i+,.::1] e i:.,+.+f: ] <::+_:::t-::)
:.:::i f:;,-:, i ] Si
,;.:, _ I,l.'.::;};i:::i s!. ar I:. :i._.:! i !_:;, +:;,!+r, !!,(' t:., 1 ,:)..Ei:9 dw) FIE.X
:t :: ,::t+:_,]+:.-,_;A:..ic::,:.:.:,+tt:, ::::::::::::::::::::::: ,:[, _)_._ i. O_A::'
:,::' : r _+!lc:,l_ V, " ]r_:it ,. E:i:.l+e::.q !+_.,i (:!.r;] . " (::R c:t+:.-,]ay. Oc:x_er_p :i D F:,:) ,:) :I. C3 : l.:>.::.-_J_.:,+:t, (": ] '::":":'2 r:@ [}L.IF:' , ,:::: ] F _::i[+:ff+i:;.:i " .::>t::L.I.- I E:..:::,I I:::(_ 1 l... I I--IE:-N -
zt- : (-"_+::,hr::_,.' :..:':['},:[)(, ,[) Ij:,(:.jl ][ ',':i"_i _::.:,!:[, q- I.+,J(_) ]: 2"X Eell_:::, "I- _-*Jt t Eli}iF:' ;
, _ S ,] (.::, (:' + t 1..) I iE. l: .r.:, • t:::, (j (.:_ ]. -::.i. 'y (] ,:.::, L{' _ _ !:, t:::, :-u, (.J (.:£' I i t:3 E.:' .r _ [:) _1"+O V
6 e:'r_i:, Zl .+ !..,.h:,_!C: :I ,.:,(>4 t.'_ ! +-:-:,r_i:::' 6 .-l.- t-.,b[_! C :1.OO& W !
;..... !:ii:.,Ei},::, C::i.(_()(:, l.*!! :
E:: : f._.'l_l:,_>._.,,:::!r '.q_l:' zl + bJG C}]()(:,.q- bJ! *c:,np _:, + W@ C10C)6 L.,.,I!;9
:J':, r, t+,:i_++:.ttl:.:, I.,.J,:[_!I.)! IF::' ':[:,F F A[-fi) ]. ,:::,,::, -_,i Sb.h:::+F' F:F: ,:),:::, Ab.lI?.' 1.C)0 / [}F: a
:i :i :: '_+.'!'::::"v_t:::' SI,,.J+:@' [:,tH::' OF:F: AN!::' 7i(,:) :_ SWAF:' F::F:()C' AI"_iJ.::, ]O,:J:' ..... I[}F.I Sl,4,,:"ff:' t-,,t
] },:' ." ':[_!(.::-ri I::_ }.)I .IF:' t.,,_t_!t,-:-:.lii:'_ :1.O,:Z:".}>,::' ._ E:;L'JA F:' 2 + _..,.,(!:-!+:--,r_I:::' EI F;; ,,;
t .15 _ !c.:,t _!:::, 2[:,Uf::' SI,,,IAF: 1 ,:-_(:_ ; ] ,:}:,(-, .., !!::;/,jF:_F, _..._iE._i...tt::, ]ii'-.l- SLdAI:'
:i q i:,t:: F:F F +::+1'.}]::'_::;t*.iPd::* ,...u_ £.'I ,[:, ":i'::, 11"6
"LJ .__,::a _ "L.li .........._.... I [_,c,] vF I::d:i: i H.,. :!!,:.:'
:,211:; !. I SI
,:::) ( MSP, CJ c:ommunic:atiori words ,:i:,:Z--2(._-Ei6 ) HEX
1 : dmisc: ; ( ,:Ji'.:iH::)] ay rascal to C:t:;."T )
2
2!; : J. IIC: tl_:]-_ad ( ....... ) 0 ::: _l_'_?_,c:l (9 ] ( c:: ] E_,_.._r I-::,[i-{: @ :J. i'1 .f: i {: c:, )
•g :::head ,:i) zl ÷ :::l_u_._ad .... O= ( CI:: :i.-F .:::head at: end oF -t:i..Fo)
5 iF:: .:::i::.,,: b Ei S,E :::t_e_d @ 4 + ! c:l_:;_t new .:::head va].ue )
6 IFt[::N .:::l-)ead ! ; ( upda_k e .:::head val u,e )
./
iii} : r i:_ ::"_:b " I"tS:{"::(::::t 4':L, @ ...... )
,::7,
:i ,:::,
1:1
J 2
:i 3
:! g
:i 5
;i:::,i_ r ,::a :1+ O=
:t F: :()t IF:' _:b_ r _ .... :1 SWAF:' I
EI_SE [)LtF' /:l::,l. z" @ t ( pt last t:b to added bur )
• :t [::L'E:Fk' ! ( _.:,1.. __,dde:.:,d 4:t::, _.(::, ].ast .--:L )
-l-b I: r ! ( ..H_:,dal-.e .f:t::Yl:.. r _:)t-:r )iI _lElq ?:t:)}, r <,_s :14 0 ....
:' i !::,::-: i ]Si
_:::, ,:: i _.::,_:;:t n_{_s _::.a q _:..' (::lE' r_e, r a, t i c)r_ ) H E!i:.):.
:t
:", ,: :i",EiG ] tq ) -:::he,.:.:_d _'_ .:::t::a i ]. @ ..... 0 .... NOi -_:_r_'-_- msq s :" ;'
-g Z[F: ,::J,'i'_,::3 ( d i sl::, ]. ;:_,":..... mi_._.q -t::o i.::::l::;:l )
t, ':: I:::'] _:_c e -:::I: ez,_:,_:I a ] _ (.:.:.:,F c::,r r t r, :::.L:,u .1:: ;
:i. H c:: I_ _.:-_ac:l ( a d i .:::h e a d p .1:-r )
7 r[r,:::_:L, ( rt..r_ d_.pl :,.' msc;i bu.i: to:, ._:L, pe:,D] )
8 1 Ht!:. N
<9 ( ::i_:.ad @ -:::t..;:,_ ] Q .... ::).... [t!..!i:I:1...) ; ( _.,,y' mc::,r e::, s Os .:'
10
] ] : . m'..s(g._ ( r l ....... ) ':::, I:)O ?"ms(:_ L..[:}[:.tF::' ; ( di sp 1 ay r, msg s
1 :,::
J ::i:,
i
:}T:_
,:, ( Il!::i;).:l:.:i ,::.omr. t..e.s_t wc, rds :S....6--8_-, '_ FlEX
:1
:.:-' : ,::1t:,_*.[ " t :{::_SF: b,uF t: er .... [::R CR
•3 i}:(:::l".i () _EO rob::< I .g * + @ CR I..OOF' ;
,t : ,:l_,u._..._ " r_L,_,abu.t: =: " MAIL...E_(:]X NE:WBLIF + @ CR
..... (:2:1,:.Jt:___: ..... " MA]II....J:_Fix'.......................fil [H::,,I If-: -+- (;._ CR
_. " (:.,] d-[m[ ....... " HA]:L.[-;[]X o:1 (::l-I:mp + (g CR
:' " l:ii:l:l_m.r_zrL addr h:i. qh by,l:_: .... " MAILBOX sah + W@
':::_ " t (i:d.,J [i<"f]E: .... " MAlL BOX sa] --t- ,:a [:R ;
9 :,. din:::: C:I:: CI::;: " r_. _ .!: imees .... " rob::." ,_ CR ;
:l ,::_ : uir ..m_:q {::::F:;: " r _:_<::e,,:i, v_=:., |ft_:i_.E.&_[:t_: -' _ [:::R
1 J r v'l:_{::,::_ ,::f_ ,::)F:F F: F AND ::::::::::::::::::::: _ -I..ml::,bu.f: ! tmpl:)u-f i:_.;. :
.I 3
:1.g 1 17
[: R
(.:_:::_.),...". k.h-:g:i:,[-i1;, ::.:f,t-'H',::_ _::diPt:;.. f t-.,.b,i,' l"i!-:iF ¸L: :i/,., .i.... _.... LIL::O_::_L. ¸ .i I-.'t_,.I ,:.t t.!i-,: I kl .:5.,:::
....'16C:' I..]S]
'::.> ( I F;:AI,ISMII m_,se.age _erJer,_t:i ol, ) FIE::,:
:1. : I.::,ce,::ldr- F:FI:F: MA:I:I....BC) X NEWEdJF + @ 0 + b.t !
:2 F-:F:F: F HA I LBi:.I;,: F.IEWE._LIF + ¢.! 2 + t,.,_!
3 F::F::F::I:: I"IA]:I...BEJX i..lt_bJl.:_LiF: + (a ,::I- W! ;
':., : i.scl .(i,.",,.. (-_........].:,(1 _:-:',l--:.',_-.i',_-:-::i '.::'-_ MAIL _-:.:_OX I,.IE:KIE<UF: -I. _a + :I.E-_ + w te, np
6 I..OOF' :
;: .'. Im_-i;,::i !.:::,(::,_:tl:::Ic:lr' m':'-.0 I'iA]:LEH'::!X NE.WBUF: .I. I_:! DL.IF' DLFDS + 80
_S Sb.JAI'::' C::! )';:,i..!p AI<FOS + '::::'C SWAP C::! I::'UF:' F'NF:OS + 0 SWAP C:! SNFOS + ':::.'
9 SHAF' {:.7:! MAIL :t.:(:l::,: I,.iEiI:-J:_-:.',I..IF:-I. ,:,'_! ::::::::::::::::::::::Al".il:) F00()00 + MAILBOX SBADL::d.::;
:i.0 + ! ;
• ) 1: ', F [:_ L _:_ "-I' . ,_:1 :l : -:;l::,msq :i MA:i I. :{"_C)X c .............. ,-. ,
I :,:i: :: c:t_:_,r i.... ,:-'-z,lrc:,-_.i!..... " MA I !.. I::i:]:x: EF;:F:::OS + ,:?-_ CR " -f: 1 aq =- "
:13 I"ti_ :I 1. l::-:[i X F::L O:!i!_+ _! C::F:;: . " s.t aL C.t'._ " SI-SAI::' (_'_! {::::F;.:
1.":[ ,+ " l:.r.:al_-_::: " I:i-.:÷,.i-+'s ,::_ l:::F.: " t e:.h::::r._ " re:_,c:rv' ,:.a.. (:.::h:
:l 5; " !9;! 1}-_ .... " _i_l..t:i:./,A:t:) ,?-.:! [Z::F:,{ . " '::!i;l'i:::; .... " r t. m[::, ?6 ;
:,::::i .:!::.i I. ] S i
_:' ( :t) +:::'l::.,,.._,_::_ t: r_x-:_.t: 'L c::,::::,:t s ) 2---':t.- 86 ) FtE ;7:
:1 AAS'.:.:; C .:]F.iS T AH t ST :t ,:_-1
2 : d:l'v s-rE ():I.F:FFF: 0 _>0 001:::' ;
::.5 : ._sl:s ( ...... >
-4 " ::st _::_tu_- .... " ::_:':-+;'t:atus b,h_+ J _:) SF'AE:Fii:S
5 !,,.Ka . t-:R ::: .--_.1:_i:.. 5,::::, HE X DI.JHF' _,:)E(-:]: MAI.. (::::F;: CF:;:
6,
7 : . a] :i ,.,e CI::,: ,:. ...... ) ( .show :i.-I:: Et',.IF::'..-:::!,,:::, i ".--; rur,l_:i nc:i ::,
8 " I',.IE1-W[-}RI::: F:'I::,:O::::ESS CCiI_.U'.ITli_:F:_: " C:R
c;:, ::;a]:i,./e @ ':W, .::, E:d::l t. OOF:' .:::_.:_:i:i vE. +:._!
10
:1 :i : '--.m_..:.c:l q-(:' 0 I:,l:.] A 1; 2* MAIL.B[:};'-: t".It_i;WE:LJF: + _::! + "" _ I::'
2 t ..[]C) F' ;
:1:.!!, : _.,sg L, caddr wmsg 2 I'IAI[P,O;_< l'_l[_:bJt-i-lL.It::: .i.. _! Fd-:::FO.c]i: ..I-. ["!:1 q i".IA ]: LI-:.!(::!:×: f'.][-:I._JBI.U::: .-I- ,::a. ,::H:::FFF:: Al'.iO F::(::,O(:,CiO .+
J !:::, MA :i L PE;i X :SI:i',(-:+:_::>i:}!i!;-! !
.... :: s L a t.. u _._i.......
.:::I 6 :,i:: I. :l;:iS1
(> ( i:),:-:-,Li,..,,'.::lL est L c::,c,] s ) ( 3-- :I gL---P,6 )
:i Hi!i: :X
2 : sm-i:.¢:+ ( a ............)
3 (.) [:;,C.i L mscl 1 I"gA:[LBOX c;I3F::G(:]S +
_:1 I. 0 C)F' ;
i/::
6 : c:!I.' i,,:-i;,:;.l
?
9
:t {:)
:1:1
12
:l 3
:l 4:i 5 118
:,:i:(.) _..:, i.::g..) ] :::::_. ::::.:.!::)r;+'_ + l>J@
( s;EiJxlD MSG )
L OOF' ;
f