(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "C120 CI CLUSTER TEST PROTOCOL RESPONDER"

;DFC1C 



SEQ 0001 



IDENTIFICATION 



DIAGNOSTIC CODE: 

PRODUCT NAME: 

VERSION: 

DATE RELEASED: 

MAINTAINED BY: 

AUTHOR: 

UPDATE AUTHOR: 



DFCIC 

^FCICCO CI Cluster Test Protocol Responder 
3 

August 21 . 1985 
Large Systems Diagnostics 
Ron Stravinski 
Gregory A. Scott 
COPYRIGHT (C) 198A, 1985 
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

TH.': SOFTWARE IS FURNISHLD UNDER A LICENSE FOR UfE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIL:) ONLY WITH THE INCLUSION 
OF THE ABOVE CUPYRIohT NOTICE. THIS SOFTWARE, OR ANY OTHER 
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE 
TO ANY JTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO 
AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE 
SOFTWARE SHALL AT ALL TIMES REMAIN IN DIGITAL EQUIPMENT 
CORPORATION. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE 
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT 
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION. 



Table of Contents 



Page ii 



SEQ 0002 



Table of Contents 



Page 



2.1 



1.0 Overy/iew of Diagnostic Product 

1 .1 Abstract ... 

1 .2 Users and Uses 

1.3 Pre-requ1s1te software . . . 
2.0 Product 6oals/Non-6oals . . . 



Performance goals 



2.1.1 
2.1.2 
2.1.3 
2.1.4 
2.1.5 
2.1.6 
2.1.7 

2.2 

2.2.1 

2.2.2 

2.2.3 

2.2.4 

2.2.5 

2.3 

2.3.1 
2.3.2 

2.4 

2.4.1 

2.4.2 

2.5 

3.0 

3.1 

3.2 
3.2.1 
3.2.2 
3.2.3 

3.2.4 
3.2.5 

4.0 

4.1 
4.1.1 



Program Size 

Program Run Time . . . 
Exec Mode Capability . 
User Mode Capability . 
Fault Detection . . . 
Fault Isolation . . . 
General User Interface Philosophy 



Compatibility Goals 

CPU Family 

Standard Diagr.ostic Supoort Software 
Operating systems (TOPS-10) . . 
Operating systems (TOPS-20) . . 
upeoi ...... I.e.... 

Failsoft Goals 

CPU/Memory Failures 

Power fail/restart . 

Restrictions ... 

User Mode Privileges 

User Mode Priority Interrupts . 



Non-Goals 

Requirements 

Hardware Design Requirements . 



Run Time Requirements 
CPU family .... 



Memory 

Load Device . . 
User Interface . 
Operating Systems 



Functional Description (Ov/ery/iew) 



Error Reporting Philosophy .... 
Error Reporting of Hardware Detected Erro 



. 1 



1 
1 
1 
2 



. 2 
. 2 
. 2 
. 2 
. 2 
. 3 
. 3 

. 3 
. 3 
. 3 
. 3 

. 4 
. 4 

. 4 

. 4 
. 4 

. 4 

. 4 
. 4 



5 
5 



. 5 



rs 



5 
5 
5 
5 
6 
6 



6 
7 



rtCMMHli«iMIM«MMMM 



Table of Contents 



Page iii » 



SEQ 0003 



A. 1.2 Reporting to SPEAR 7 

4.2 Response Decoding 7 

4.3 General Test Philosophy 7 

4.3.1 Rfisponder Data Structure 7 

4.3.2 Delay/Timeout Data Stru:ture 10 

4.3.3 Third Party Data Structure 10 

4.3.4 Request execution scheme 12 

4.4 Commarid/Response Descriptions 13 

4.4.1 Responder Function Set Request 13 

4.4.2 Buffer Nap Request 13 

4.4.3 Suffer Unmap Request 14 

4.4.4 Move Buffer Request 14 

4.4.5 Generate Message Request 14 

4.4.6 Generate Dataaram Request 15 

4.4.7 Generate Reset Re^'uest 15 

4.4.8 Generate Start Request . . 15 

4.4.9 Start/Stop Unsolicited Activity 15 

4.4.10 Configuration Data Request 16 

4.4.11 Counter Read Request 16 

^.4.12 Connect Request 16 

4.4.13 Listener Disconnect Request 16 

5.0 Program Interfaces 16 

5.1 Diagnostic Software Interfaces 17 

5.2 Operating System Interfaces (TOPS-10) 17 

5.3 Operating System Interfaces (TOPS-20) 17 

^.0 Appendices 18 

6.1 Appendix A (Figures) 18 

6.2 Appendix B (CTP Messages) 19 

6.2.1 CTP Message Formats 19 

6.2.2 Responder Function Set Messages 19 

6.2.3 Buffer Map Messages 21 

6.2.4 Buffer Unmap Messages 24 

6.2.5 Move Buffer Messages 26 

6.2.6 Generate Message Messages 29 

6.2.7 Generate Datagram Messages 31 

6.2.8 Generate Reset Messages 33 

6.2.9 Generate Start Messages 35 

6.2.10 Start/Stop Unsolicited Activity Messages ... 37 

6.2.11 Configuration Data Messages 39 

6.2.12 Counter Read Messages 41 

6.2.13 Connect Messages 44 

6.2.14 Listener Disconnect Messages 45 



L 



Overview of Diagnostic Product 



Page 1 



SEQ 0004 



1.0 Overview of Diagnostic Product 
1.1 Abstract 

The CI Cluster Test Protocol Responder is the slave portion of a 
master/slave pair of cooperating programs. Its function is to 
receive and act according to instructions from the master process 
referred to as a Controller Process. In the CI environment, the 
Controller Process may be the CI Node Tester (CINT) or a copy of the 
CI Exerciser Program (CIE) running in some CI Node. 

The CI Responder is a user mode only program that will run under the 
TOPS-20 Operating System (release 6.0 or newer) or the TOPS-10 
Operating System (release 7.03 or newer). The Responder will run 
during normal timesharing as an OPERATOR or [1,23 job and does not 
require exclusive use of any system resources. 

Command and Response Packets are passed between Controller and 

Responder Processes using the Cluster Test Protocol (CTP). The 

System Comnunication Service (US) of the Operating System will be 
used to send CTP messages over the CI. 



1 .2 Users and Uses 

The Responder will be used by Field Service and Manufacturing in the 
Dock Merge verification process along with the CIE. Manufacturing 
may c'o Quality Control checks at certa"n intervals in the 
manufacturing process in which they would use the Responder with the 
CINT. Since the Responder will be run as an OPERATOR lob, it will 
be accessible to anyone in a remote node who would like to checkout 
the CI, for example a Field Service person. Engineering will use 
the Responder in development of current and future CI Products. 



1.3 Pre-requisite software 

CPU Diagnostics 

Memory Diagnostics 

I/O Box Diagnostics 

CI Port Hardware Diagnostics 

TOPS-20 Operating System or 

TOPS-10 Operating System 



M il » 



Product Goals/Non-6oaLs 



Page 2 



SEQ 0005 



2.0 Product Goals/Non-Goals 
2.1 Performance goalr 

To be able to execute, with a high degree of predictability the 
commands received, and to respond with usable data for the CI 
Exerciser or CINT. The Responder is designed to return accurate 
status information to the controlling node. 



2.1.1 Program Size 

it is expected that the Responder will execute in less than. 30 
pages. The Responder has the ability to have 32 virtual connections 
open at any one time. 



2.1.2 Program Run Time 



The Responder is always be running in "Listen Mode 
connection from some controlling orocess. Run 



, awaiting a 
process. Kun time in the 
traditional sense does not apply. Once a connection is established, 
the amount of the work done by the Responder is determined totally 
by the Controlling Process. 



2.1.3 Exec Mode Capability 

The responder does not run in Exec Mode. 

2.1. A User Mode Capability 

The responder runs in a normal timesharing job. 

2.1.5 f^ault Detection 

The Responder has the ability to detect 2 types of errors. 

1. Failure to do what the Controller Requested. 

2. A JSYS or UUO failure when trying to send a response or perform 
some other monitor assisted operation. 



MfiiW!>*i»i«''»»*«*'M>'>Ma#>iw»»i» w »w»ii ii . ii I ■* " !>■ 



Procjct Goals/Non-Goals 



Page 3 



SEQ 0006 



2.1.6 Fault Isolation 



The Responder has no built in isolation capability. Any functional 
fault detected will be passed back to the CIE for analysis and 
reporting. The Exerciser will then isolate to the node and identify 
the function that was being performed when the error occurred. 
Information about broken connections or error returns from a JSYS or 
DUO 'monitor call) within the Responder will not be sent to the 
controller. 



2.1.7 General User Interface Philosophy 



There is not be any user interface to this Program. All commands 
and responses will be through an SCA Connection with a Controller. 



2.2 Compatibility Goals 

The Responder will be able to respond to CTP Commands received 
any CI node (HSC50, Vax, KLIO, CINT). 



from 



2.2.1 CPU Family 

The responder is a user program and is monitor dependent rather than 
hardware aependent. It will run on any 36 bit CPU provided the 
TOPS-10/TOPS-20 monitor supports the CI. 



2.2.2 Standard Diagnostic Support Software 

The Responder does not use any of the Standard Diagnostic Support 
Software. It is a self contained program with an .EXE extension. 
DIAMON, KCMON and SUBRTN are not applicable. There are no sense 
switch options. All error reporting, looping, and so on, is handled 
within the controller program. 



2.2.3 Operating systems (TOPS-10) 

The Responder will run under TOPS-10 release 7.03 and newer, and 
uses the SCS. UUO and the DIAG. UUO. 



Page 4 
Product 6oals/Non-6oa Is 

2. 2. A Operating systems (TOPS-20) 

The Responder will run under TOPS-20 release 6.0 and newer, and uses 
the SCSI JSYS and the DIAGX JSYS. 



2.2.5 Spear- 
When running under TOPS-20, this program will be upward compatible 
with all versions of SPEAR. Since ToPS-IO lacks a method for a user 
program to create SPEAR entries, no SPEAR entries are created under 
TOPS-10. 



2.3 Failsoft Goals 

2.3.1 CPU/Memory Failures 

The Responder will be aborted by the Operating System. 

2.3.2 Power fail/restart 

The Responder will be restarted when the System is reloaded. 

2. A Restrictions 

There should only be one Responder running on a system at any .one 
time. The Responder could be run continuously as an Operator job. 
However on TOPS-10 the responder has to lock itself in core so 
running it continuously is not a good idea. Under TOPS-20 the 
system could start it during boot time with no ill effects. 



2.A.1 User Mode Privileges 

Under TOPS-20, the SCSI JSYS requires Wheel. Operator or Maintenance 
privileges. Under TOPS-IO, the SCS. UUO requires the job be CI, 2] 
or have JP.POK privileges. 



2. A. 2 User Mode Priority Interrupts 

The Responder does not use any Hardware Interrupts. The Software 
Interrupt System is used on both TOPS-IO and TOPS-20. 



SEQ 0007 



i i rtW W f t H i i w i Wti ^» t«||Wi « iii 1 l U i tk ^ m t^m 



Product 6oals/Non-GoaLs 



Page 5 



SEQ OOOS 



2.5 Non-Goals 

The Responded does not do error retries unless directed to do so 
by a Controller. 

There Is no user interface. 

There is no exec mode support. 



3.0 Requirements 

3.1 Hardware Design Requirements 

No special hardware features are required. 

3.2 Run Time Requirements 

A TOPS-10 or TOPS-20 Timesharing Monitor needs to be running, 
Adequate user privileges. 



3.2.1 CPU family 

The KL10 CPU family with a C120 port and Star Coupler, 



3.2.2 Memory 

Any configuration running the supported versions 
Systems have sufficient memory. 



of the Operating 



3.2.3 Load Device 

The load device will be the system disk. 



,,<iia)IMifc<WMaM#atW^>|Mi»iiii*^*t»)*i |W" ^ 9m imth n im n 



Page 6 
Requirements 

3. 2. A User Interface 

There is not any human interface to the Responder. All the human 
interfacing will take place at the controller program. 



3.2.5 Operating Systems 

TOPS-10 and TOPS-20 are the only supported Operating Systems. 

TOPS-20 Operating System, release 6.0 or newer, supports necessary 
CI Diagnostic Features. T0PS-10 Operating System, release 7.03 or 
newer, supports the necessary CI Diagnostic Features. 



4.0 Functional Description (Overview) 

Under TOPS-20, the Responder is run on a priviledged OPERAiOR job 
and can be loaded and started during system boot time. It can also 
be loaded and started by an Operator. 

Under TOPS-10, the Responder should only be run when needed since it 
locks itself in core due to a restiction in T0PS-10*s SCS UUO. 

Once started, the Responder will execute an SCS LISTEN command which 
will allocate a Connection Block and listen for a connection request 
from a Confoller node. The Monitor will interrupt the Responder 
when a Controller node wants a connection. The Responder will 
establish connections ard send communications messages through the 
Operating System. The Responder uses the SCSX JSYS (TOPS-20) or 
SCS. UUO (TOPS-10) to send CTP Protocol messages across the CI. The 
Rtsponder communicates with the Controller Process using CTP 
Protocol. 

The Responder is able to talk to many Controllers at the same time. 
If by some reason the Responder stops running it will have to be 
restarted by the Operator. 



A.1 Error Reporting Philosophy 

Report back to Controller on functional errors. 

Publish a message and stop if an impossible error condition 
exists. If tne Responder fails in this .uanner a report should 
be made to Diagnostic Engineering. 



SEQ 0009 



Functional Description (Overview) 



Page 7 



SEQ 0010 



4.1.1 Error Reporting of Hardware Detected Errors 

Hardware errors are detected and logged by the Operating System. 

4.:. 2 Reporting to SPEAR 

Under TOPS-20, the following information is logged into the System 
Error Log for SPEAR use. 

The number of connections from each node to the Responder since 
it was started. 

The number of connections from each node to the Responder since 
the last SPEAR entry. 

No information is logged to SPEAR on TOPS-10, because TOPS-10 lacks 
the facility to create SPEAR entries from user mode programs. 

4.2 Response DeccJing 

The required Response is determined by the opcode of the incoming 
CTP Requests (see Appendix B). The Responder *s a slave to the 
Controller. 



4.3 General Test Philosophy 

Responders on the CI must respond to some subset of the cluster test 

protocol commands listed in the CTP documen:. Appendix B of this 

document lists in detail, all of the command. Response ^Messages. that 

are 

a 

rei 

or.^ . ^ _ ^^ ^ . ^ 

the use of CTP in a test that moves data from the responder to the 
controtler. Note the pairing of the CTP request and response. In 
general, the responder always returns one or more CTP responses for 
each CTP request. 




4.3.1 Respo.tcier Data Structure 

The Connection Blocks are used to store information about Virtual 
Circuits (one Connection Block/Virtual Circuit). On'.y when a 
connection is accepted by the Responder is a Connection Block 
allocated to a Virtual Circuit. 



Functional Description (Overview) 



Page 8 



SEQ 0011 



Connection Block (CBLKn) Format: 



^» ^k ^k ^B ^» ^k ^» ^» ^B ^M ^B i^ ^» «• ^» ^B ^M ^B W ^B 4^ *■ ^M ■ 

I Connect ID 






1 


! Status 


! 1ST RHBU Address 






1 


! 2ND RHBLK Address 


1 System Block Index 


, ,Port Number 






1 Local Port Number 


(CI port numbe 


jr) 




} 1ST - SCA's Buffer 


Name 






I 1ST - Our Buffer Name (BUFx) of 


above 


word 1 


2ND - SCA's Buffer 


Name 






! 2ND - Our Buffer Name (BUFx) of 


above 


word I 



The Request Header Blocks are used to store information about CTP 
requests (one Requert Header Block/CTP Request). Only when a CTP 
request is received by the Responder is a Request Header Block 
allocated. 

Reouest Header Block (RHn) Format: 



6 bit CID (3rd Party),, Forward Link (FLINK) I 



Repeat Count,, Backward Link (BLINK) 

Status,, CBLKn Address 

Start of CTP packet (RBn address) 



When a request has been received it must ^i executed. First, 
Request Header Block is linked into the execution list as foil 
The 



the 
ows. 



he Responder has two pointers used to point to the top and bottom 
of the execution List. They keep track of the order that the 
request are received, and therefore the order in which they should 
be executed. If another request arrives from a Controller that 
already has a request on the linked list, it must wait for the first 
request to complete before the second is put en the linked list. 



Functional Description (Overview) 



Page 9 



SEQ 0012 



Once there is at least one CTP request to process, the mainline 
routine can begin executing. It will find the first Request Header 
Block by looking at the location "TOPEXE ' which points. to the first 
Request Header Block to execute. The value of topexe is written to 
"CUREXE". From now on CUREXE is used to keep track of which Request 
Header Block is currently being executed. 

The mainline routine finds the CTP request, which is pointed to by a 
field in the ^-^quest Header Block, and cases off the CTP opcode to 
request specif i routines to handle each of the possible CTP 
requests. 

An example of how the FLINK and the BLINK words are used when there 
are 3 requests on the linked list awaiting execution: 

TOPEXE: I RHI ! First Request Header Block on the linked 
tist. 

BOTFXE: i RHAA I Last Request Header Block on the linked 
list. 

CUREXE: I RHnn I Current Request Header Block being 
executed. 



RHI 



RH56 
TOPEXE 
STATUS 
RBI 



I FLINK - next Request Header Block to be 

— executed. 

I BLINK - Request Header Block that was 

— just executed. 



CTP Packet Address 



RH56: 



RH4A 
RHI 



STATUS 
RB1 



Functional Description (Overview) 



Page 10 



SEQ 0013 



RHA4 : 



TOPEXE 



RH56 
STATUS 
RBI 



4.3.2 Delay/Timeout Data Structure 



can not be executed 
PITWR UUO (TOPS-10) is 



If a request has a delay count, the request 

immediately. A TIMEi^ JSYS (TCPS-20) or ...., 

executed which will signal, via the software interrupt system, when 
it is time to execute the request. The code executed at tne timer 
interrrupt sets the "GOBIT" in the Request Header Block signifying 
that th's CTP packet is now ready to be executed. 



The data * 
tables. 
Header ?. 
indica >:5 
cont?^ - 
ha' Dfcen 
of a ral 
count) or 



jcture associated with this request is three paralel' 

. first table, DLYADR, contaT>s the addresses of Reques 

k . that are currently be^^.g t ^ed. A zero in the t=^bU 

.r!3t this slot is free. "he second table. DLYUPT, 

•.e system uptime in millisecani . at which time the delay 

satisfied. The third table, OLYRTN, contains the address 

: "jutine to call to either set the GOBIT (requested delay 

j^'^DUE (to timeout a connection). 



A. 3. 3 Thir'^ ' jrty Data Structure 

When a Controller wants the Responde- to do a CTP Request that vIU 
include third party, he must fir<;t s?nd a CTP Connect R3que3t shich 
will cause the Responder to open up a connection to the ii3f».ed 
Responder. When a connection is mai'j the 6 bit cid that re rences 

Ion is placea into the left half of the 



thai third party connectii 
FLINK word in the RHB^K. 



Example: ;This RHBLK is used to hold a third party CTP Request 
.•message. It will get put on the Linked List. 

RHn: 6 bit cid,, FLINK 
Repcount,, BLINK 
Status,, CBLK 
0,, Address of CTP request 



The Recponders' Interrupt Routine (CONACC - connection was accepted) 
will tnen act 2 unused RHBLKs and «?et them up so they will be able 
to be used wnen the response message.^ come in from .he third party 



1 



Functional Doscription (Overview) 



Page 11 



SEQ 00^^ 



Responder. 

Example: ;These 2 RHBLKS will never be put on the Linked List, 



RHn: -1 




CCBLK 

0,, Address of CTP request 



RHn: -1 



0,,CBLK 

0,, Address of CTP request 



The CBLK also gets set up: 



CBLKn: CID 

THIRDIGTINFO,,0 

i 



The Mainline Routine has a subroutine that gets called to set up the 
CBLKs with more information. All the C8LKs that have the "GTINFO 
bit set in its status word will get updated in this routine. 



Example: CBLKn: ? 

GTINFO, ,0 

I 

SBL,Node number 
CI Port number 



;"GTINFO" gets cleared 



When we send out a CTP Request to a third party Responder, we wUi 
receive a CTP Response back from that Responder. We receive the 
Response from the interrupt routine "IN°MS6". This routine can set 
up the CBLK as follows: 



Example: CBL<n: ? 



GA1C0N1GA2C0NIGANRES 

RHBLK 

RHBLK 



I 



^ 



'>ndl Description (Overview) 

^^^^B» ft 

4. 3. A Request execution scheme 



Page 12 



SEQ 0015 



/e many "equests to service 

some mechan.sm for determining the 

request. The method used is a 

, suDDOse two requests are received 

three. The responder 

then execute the other 

'"""*"• ^*"- been 

repeat 

• 

The exception to this rule occurs when two CTP requests originate 
from the same controller. In this case the responder executes the 
request received first until it has been completed before executing 
the second request. 

An example of this algorithm is shown below. The second column in 
the diagram contains symbols representing the source of the. CTP 
request. Also, the top of the list contains the request received 
first, the bottom contains the request received last. 



1 REQUEST 1 i 


A 


1 REP CNT 2 1 


SEND DG 


1 "^ZiiUEST 2 I 


r 


! REP CNT 3 1 


SEND nSG 


1 REQUEST 3 I 


A 


1 REP CNT A 1 


SEND nSG 


1 RECUEST 4 1 


B 


! PEP '•NT 3 1 


SEND DATA 



Frjm the diagram above, four requests have been received, two e<ith 
f om node A and node B. REQUEST 3 will not ? executed until 
F/EQUEST 1 is finished, and REQUEST 4 will not be ex^^cuted until 
(REQUEST 2 is finished. 

Thur, the order of execution for the above diagram is as follows: 

REQUEST 1 
REQUEST 2 
REQUEST 1 
REQUEST 2 
REQUEST 3 
REQUEST 2 
REQUEST 3 
REQUEST 4 
REQUEST 3 
REQUEST 4 
REQUEST 3 
REQUEST 4 



wijiiWi taJ'MwiiaiMl^rttiiif^iMirii miWli; J 



] 



Functional Description (Overview) 



Page 13 



n 



SEQ 0016 



4.4 Command/Response Descriptions 

The following sections provide verbal descriptions of all the .CTP 
requests, supported by this Software, along with the appropriate 
Responses which must be taken for each. A detailed description of 
all the CTP Protocol implemented by the Responder is contained in 
Appendix 6 of this document 



4.4.1 Responder Function Set Request 



This CTP request causes the responder to return a CTP function set 
response to the controller. The function set response contains a 52 
byte field specifying the CTP functions implemented by the 
responder. Each bit in the 256 bit field corresponds to a CTP 
opcode which is implemented by the responder. If a bit is set, the 
responder implements the function specified by that request. 



If a bit is clear, then the responder can receive that particular 
CTP request, but will return a response with a NOT IMPLEMENTED 
status field. 



4.4.2 Buffer Map Request 

This CTP message tells the responder to map a buffer in the 
responder 's node for access by the controller. Three types of 
buffer are distinguished in a field of the incoming request. Real 
Memory buffer is mapped when the controller wishes to examine the 
contents of the buffer after a transfer has occurred. Black Hole 
buffer is used for test cases in which the controller wishes to 
create a high level of CI traffic but does not care to check the 
contents of the buffer after the transfer. The Maintenance Data 
Buffer is not used in this responder. The size of the desired 
buffer area is also given in a field in the buffer map request. 

When mapped, buffers are filled with one of three types of data 
patterns specified by a field in the CTP request. They are: byte 

8 airs (bytes zero and one contain 00, bytes two and three contains 
1, etc); the r-sponder's node number; or a constant given in 
another field in the request. This allows a buffer to Be read 
without first writing a specific data pattern to it.. The 
appropriate information needed by the controller to access the 
buffer including the buffer name and size is sent back to the 
controller in the CTP Buffer Map Response. 



The buffer map information should be kept on a per-connection basis. 
The responder will unmap all the buffers for a connection if the 
connection is broken. Whenever the responder detects the breaking 
of a connection, it should check for and unmap any buffers mapped 
over that connection. 



i[ r 1 . 1 1 r [tm 



Functional Description (Overy/iew) 



Page U 



SEQ 0017 



A. 4. 3 Buffer Unmap Request 

This CTP message causes the responder to surrender a previously 
mapped buffer. The name of the buffer along with the buffer type 
and size are contained in fields in the request. When the unmapping 
has been completed, the responder returns a CTP Buffer Unmap 
Response to the controller. 



4. A. 4 Move duffer Request 

This CTP message causes the responder to move a block of data 
between itself and another node. Fields in the request specify the 
direction of the data movement, the other node involved, and the 
buffer names and offsets. A repeat count in the request makes it 
possible to perform multiple buffer transfers and a delay count in 
the request causes a delay (in 500ms increments) before starting the 
first transfer. 

After the buffer transfer has been completed, the responder returns 
a CTP Move Buffer Response to the controller. This response 
contains a byte of status ^ibout the last move performed, a longword 
containing the Port status used for the last buffer transfer, along 
with the information contained in the original request. 

A connection must exist between the two nodes prior to performing 
the buffer transfer. If no connection exists, the responder will 
return status back to the controller stating so. 

It is not the responsibility of the responder, however, to map 
buffers that have not yet been mapped when the move buffer request 
is received. 



4.4.5 Generate Message Request 

This CTP message causes the responder to send the controller a 
stream of CTP Generate Message Response messages. Fields in the 
incoming request specify a repeat count, a delay (in 500ms 
increments) prior to returning the first response, the data with 
which to fill the response^ and the length of the CTP response. The 
CTP response contains fields to reflect the status of the last 
message sent, a count field to indicate the count of the message 
sent, a field specifying the type of data contained in the response 
message, and the N bytes of generated data. 

The number of messages sent by the responder should be one greater 
than the repeat count specified in the request. Thus, for a repeat 
count of zero, one response should be returned, and a repeat count 
of one should yield two responses. 



L 



iiMMlliWill»IW 



Functional Description (Overview) 



Page 15 



SEQ 0018 



4. A. 6 Generate Datagram Request 

This CTP message causes the responder to send the controller a 
stream of CTP Generate Datagram Response messages. Fields in the 
incoming request specify a repeat count, a delay (in 5Q0ms 
increments) prior to returning the first response, the data with 
which to fill the response, and the length of the CTP response. The 
CTP response contains fields to reflect the status of the last 
datagram sent, a count field to indicate the count of the datagram 
sent, a field specifying the type of data contained in the response, 
and the N bytes of generated data. 

The number of datagrams sent by the responder should be one greater 
than the repeat count specified in the request. Thus, for a repeat 
count of zero, one response should be returned, and a repeat count 
of one should yield two responses. 



A. A. 7 Generate Reset Request 

This function will cause the responder to generate a specific reset 
packet on the CI. This request contains a target node and a extend 
field specifying whether to do a conditional or forced reset. This 
function will be used only when a CINT is connected to the CI. 



4.4.8 Generate Start Request 

This function will cause the responder. to generate a specific start 




4.4.9 Start/Stop Unsolicited Activity 

This CTP message causes the responding system to either 
resume activity on the CI. This means that if a node has 
that checks configuration information by executing request .^ - 
other nodes, then upon receipt of this request this activity is 
stopped. This function will be used only when a CINT is connected 
to the CI. 



stop or 
a poller 
ID'S to 



L 



Functional Description (Overview) 



Page 16 



SEQ 0019 



4.4.10 Configuration Data Request 

This CTP message causes the responder to collect from. ii 
SCA's) internal data tables information about a third node on 



ts own 



(or 

^v^ ., ...v^...«v « the 

CI. The responder returns this information to the controller in a 
CTP Configuration Data Response Message, included in this response 
are fields containing information about the target node s^ 



- Number of node 

- Path A status 

- Path B status 

A status field is also contained in the configuration response. The 
responder may indicate a refusal to gather the information, may not 
have had knowledge about the target node, or may indicate a 
successful gathering of the information in this field. 



4. A. 11 Counter Read Request 

This CTP message causes the responder to read the event counters 
maintained in its own CI port. The responder then returns a. CTP 
Counter Read Response which contains the contents of the eight 
counters (ACK, NAK, NORSP and DISC for each path) and the status of 
the counter reads. 



4.4.12 Connect Request 



For third party buffer transfers it is necessary for connections to 
be established between responders. This is accomplished by using 
this function. 



4.4.13 Listener Disconnect Request 

This CTP message causes the responder to shut down its 
communications with the controller in an orderly manner. Upon 
receiving this CTP request, the responder deallocates any resources 
used for the connection. It then returns a CTP Listener Disconnect 
Response to the controller with a status field indicating a 
successful orderly disconnection. After sending this CTP response, 
the responder issues a local SCA disconnect request. 



5.0 Program Interfaces 



Prografn Interfaces 

5.1 Diagnostic Software Interfaces 
Not Applicable. 



Page 17 



SEQ 0020 



5.2 Operating System Interfaces (TOPS-10) 

The programming interface is with the monitor using the SCS. UUO, as 
implemented in TOPS-10 release 7.03 and later. 



5.3 Operating System Interfaces (TOPS-20) 

The programming interface is with the monitor. Packets of 
information will be sent and received using the SCSI JSYS, supported 
in TOPS-20 Release 6.0 and later. 



■ MPi i iwjii w i y^* 



8 



Appendices 



Page 18 



SEQ 0021 



6.0 Appendices 

6.1 Appendix A (Figures) 



CONTROLLER 



RESPONDER 




MOVE BUFFER REQUEST ! 
= " >l 

SNODAT i 
< 1 

SNDDAT (LP) i 
< 1 



MOVE.BUFFER.RESPONSE 1 



WRITE 



SEND MSG 



Cluster Test Protocol Request/Response 
CI Data Link Packet 

Figure A 



wiii^WWNWiBW 



> . Mi r i m< i m iii W iii>wi ip' i i iiii 



Appendices 



Page 19 



SEQ 0022 



6.2 Appendix B (CTP Messages) 

6.2.1 CTP Message Formats 

This section describes the formats of the messages that are passed 
between processes speaking CTP. All of the messages are sent using 
the SCA, and this section does not address the SCA portions of the 
messages. Refer to the SCA documents for those formats. 

formats and syntax of the 



This section merely presents the encoding 
messages used in CTP version 2. 



Note that all messages begin with a one-byte opcode, indicating what 
type the message is. Digital reserves opcodes in the range to 
Uf, while values in the range 128 to 254 are reserved for customer 
and CSS additions to the protocol. Opcodes aenerated by the 
responder as a result of a message from the controller will be 6A 
greater than the controller's opcode. The opcode value 255 is 
reserved for extending the opcode space to multiple byte values. 

All messages have a four-byte reference number in the second through 
fifth bytes. This number is not used by the responder. 

All responses contain a status code in the sixth byte. Various 
possibilities for success, failure and refusal can be described by 
the responder in the status field. In all cases, successful status 
values are indicated using positive values in the status field, 
while negative status field values indicate a failure or refusal on 
the part of the responder. 



6.2.2 Responder Function Set Messages 

Responder Function Set Request Message 



B I- 
Y 

T 
E 



? 



Bit 



I 



001 Opcode 00 
041 



? 



I Reference I 

C7777T7f7/ //// \ ////// \ 
.f f •♦• •♦•• 



00/CTP$0PC0DE 
01/CTP$REFERENCE 



1 
1 


U 







3 


R 


5 


D 


■f 




1 
1 


1 


•f 




1 


2 



1 Byte, value is 00/CTP$FUNCTREQ. 
4 Bytes, contains reference number. 



■■*ilfc , JB rt » H III < ^« 



Appendices 



Page 20 



SEQ 0023 



Responder Function Set Response Message 



B 1- 
Y 

T 
E 

OOl' 

04! 



Bit 



08! 

■f" 

121 
161 
20! 
241 
28! 
32! 
36! 



? 



Opcode 64 



STATUS 



1 i 

5 f 

.+ + 

Reference 

i'iFBYTES OR !256 BIT ARRAY 
. -...-————4.——— — — — 



3 

5 






00/CTP$OPCODE 
01/CTP$REFERENCE 
05/CTP$STATUS 
06/CTP$FMASK 



.+ + ^•«.....4. 

\ ////// \ ////// \ 
.^ ^^ f. 



1 Byte, value is 64/CTP$FUNCTRSP. 
4 Bytes, contains reference number. 
1 Byte, value is 00/CTP$SUCCESS. 



W 

R 
D 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 



a 256 bit array, 

if the opcode is 

responder and 

The least 

the first byte 



32 Bytes, arranged as 
with each bit set 
implemented by the 
cleared otherwise, 
significant bit of 
corresponds to opcode zero, and the 
most significant bit of the 32nd byte 
corresponds to opcode 255. For CTP 
functions not implemented, the 
responder must still be able to 
receive the CTP packet type. but 
should return the response with a NOT 
IMPLEMENTED status value. 



11 



Appendices 



Page 21 



SEQ Q02^ 



6.2.3 Buffer Map Messages 



B I- 
Y 

T 
E 

00! 

04! 



12! 



Buffer Map Request Message 



Bit 




7 



1 
5 



2 
3 



3 
I 



01/CTP$REALBUF 
02/CTP$FA<EBUF 



Real Memory Buffer. 
•Black Hole" Buffer. 



06/CTP$RESERV06 
08/CTP$GENFUNCT 



2 Bytes, must be zero. 

1 Byte specifying the function to 
for the initial contents of 
allocated buffer. Values are: 



-! U 



3 R 

5 D 



Opcode 01 


x_ 




Reference 


•' 


1 




■"T" 

^ 


Buftype 


! MBZ 






Genfunct 




Genconst 


1 Pktsiz ! Pktmult 








'"T~ 


Bui 


flenath 







1 



4. + -». -f ^ 

00/CTP$OPCODE 1 Byte, value is 01/CTP$BUFMAPREQ. 
01/CTP$REFERENCE 4 Bytes, contains reference number. 

05/CTP$BUFTYPE 1 Byte indicating type of buffer to 

allocate, values are: 



use 
the 



00/CTP$GENFFILL Fill buffer with constant. 
01/CrP$GENFBPAIR Fill w/bvte pair numbers. 
02/CTP$5ENFNODE Fill w/ri?sponder node number 



09/CTP$GENCONST 
10/CTP$P)CTSIZ 



00/CTP$PS512 
01/CTP$PS576 



11/CTP$PKTMUlT 



1 Byte holding the fill constant, only 
used with the 00/CTP$GENFFILL function. 

1 Byte, contains the base packet size 
to use for the transfer. 

Size is a multiple of 512 bytes. 
Size is a multiple of 576 bytes. 

1 Byte, specifying the packet size multiple, 



12/CTP$BUFLENGTH 4 Byte integer indicating number of 

bytes to allocate. 



Appendices 



Page 22 



SEQ 0025 



Buffer Map Response Message 



B !• 
Y 

T 
E 

00! 

OAI 



12! 
16! 



Bit 




7 



1 
5 



2 
3 



3 

1 



3 

5 



Opcode 65 




+ 

Reference 


— ^. — 








^♦^ 


Status ! 


MB2 




B.<f «.»•<>» 


Genfunct 


^x^ 


Genconst ! Pktsiz 


1 


Pktmutt 


..4...... 




^ A ^^ 


Buflength 










— f- 


6u ft name 
+ — 






.- + — 



u 


R 
D 

1 

2 



00/CTP$0PC0DE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 Byte, value is 65/CTP$BUFMAPRSP. 

4 Bytes, contains reference number. 

1 Byte indicating type of buffer 
allocated, values are: 



001.(001)/CTP$REALBUF Real Memory Buffer. 

002.(002)/CTP$FAKEBUF 'Black Hole" Buffer. 

250.(372)/CTP$BUFLIMIT Buffer Map Limit Exceeded. 

253.(375)/CTP$N0RES0URCE Resource Failure. 

25A.(376)/CTP$N0NSENSE Request Not Understood. 

255.(377)/CTP$N0TIMP Function Not Implemented. 



06/CTP$RESERV06 
08/CTP$GENFUNCT 



2 Bytes, must be zero. 

1 Byte specifying the function to 
for the initial contents of 
allocated buffer. Values are: 



use 
the 



00/CTP$GENFFILL Fill buffer with constant. 
01/CTP$GENFBPA1R Fill w/byte pair numbers. 
02/CTP$6ENFN0DE Fill w/responder node number 



09/CTP$GENC0NST 

10/CTP$PKTSJZ 

00/CTP$PS512 
01/CTP$PS576 

ll/CTPSPKTMULT 

12/CTP$BUFLENGTH 



1 Byte holding the fill constant, only 
used with the 00/CTP$GENFFILL function. 

1 Byte, contains the base packet size 
to use for the transfer. 

Size is a multiple of 512 bytes. 
Size is a multiple of 576 bytes. 

1 Byte, specifying the packet size multiple, 

A Byte integer with number of bytes 



m ^ttiim'** i' » * 



013 



Appendices 



Page 23 



SEQ 0026 



16/CTP$BUFLNAHE 



actually allocated. 

A Byte value with the name of the 
buffer allocated. 



aiaMMM«iMM«Mi 



momm^muf iiiKirrtwi' 



Appendices 



Page 2A 



6. 2. A Buffer Un^:ap Messages 



B 1- 
Y 

T 

E 



081 

12 



161 



Buffer Unmap Request Message 



Bit 




7 



1 
5 



? 



001 Opcode 02 
OAl 



Reference 



i + + -f + 



Buftype 



M6Z 



Buflength 



Buf Iname 
f — 



00/CTP$0PCODE 

01/CTP$REFERENCE 

05/CTP$BUFTYPE 



1 Byte indicating type of buffer 
deallocate, values: 



01/CTP$REALBUF 
02/CTP$fAKEBUF 



Real Memory Buffer. 
•Black Hole" Buffer. 



06/CTP$RESERV6 

10/CTP$RESERV10 

12/CTP$8UFLEN6TH 

16/CTP$BUFLNAME 



4 Bytes, must be zero. 

2 Bytes, must be zero. 

4 Byte integer indicating number 
bytes to release. 



3 

5 



U 

R 
D 



+ f + f i — . — "f 

MBZ 
+ + + + i "f 



+ f i 4 + + 



3 



5 



^ + + 

1 Byte, value is 02/CTP$BUFUNMREQ. 
4 Bytes, contains reference number. 



to 



4 Byte value with the 
buffer to release. 



of 
name of the 



SEQ 0027 



Appendices 



B 



Page 25 



Buffer Unmap Response Message 



Bit 



T 
E 





7 


1 
5 


2 
3 




00! 


Opcode 66 


1 


Reference 


B»^W»«»W»> 


.»«««*«.4»»aB«»» 


04! 




1 


Status 


MBZ 


»«>«»«» w4»«M»«» 


08! 




^♦^" 


hbz 


.«.'4«WM»»« 


»*«««..«4.»»*»* 


12! 




^▲^_ 


Buf length 


.^'i.^a.MWW* 


.......4.....*. 


16! 




"▼"■ 
.-+— 


Buf I name 


.-+— — — 





u 


R 
D 



5 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 Byte, value is 66/CTP$BUFUNMRSP. 

4 Bytes, contains reference number. 

1 Byte indicatirg type of buffer 
deallocated, values are: 



Real Memory Buffer. 
•Black Hole'' Buffer. 



001.(001)/CTP$REALBUr 
002.(002)/CTP$FAKE3UF 

249.(371)/CTP$N0BUFMAPPED No Buffer Mapped. 
253.(375)/CTP$NCRESOURCE Resource Failure. 
254.(376)/crP$N0NSENSE Request Not Understood. 
255.(377)/CTP$N0TIMP Function Not Implemented. 



06/CTP$RESERV6 

10/CTP$RESERV10 

12/CTP$BUFLENGTH 

I6/CTP$BUFLNAME 



'♦ Bvtes, must be zero. 

2 Bytes, must be zero. 

4 Byte integer indicating numbe' 
bytes released. 

4 Byte value with the name of 
buffer released. 



of 
the 



SEQ 0028 



i i Kn I i i m'mmtu'mim t < ii! - • mt ini i . i nmm 



1 



Appendices 



Page 26 



6.2.5 Move Buffer Messages 



Move Buffer Request Message 



B :• 

Y 

T 
E 



Bit 




7 



1 
5 



f 



1 



-.' U 



3 R 

5 D 



OOl" 
OA! 


Opcode 03 




Refe 
Delay 


— .f — 

rence 

..... — ^ 

Repcount 


--|- 


1 1 1 
1 1 1 
1 1 1 


Of! 


Movetype 


^ A ^ 


Othernode ! Pkt 


siz 


1 Pktmult 
.^.. ......... 


M^WMM 


1 


12! 




^♦^ 


Buf length 




.4..........>i 






16! 






Buf I name 




.^..... ...... 






20 : 




^♦■* 


Buflofset 




>.^..w........ 






24; 




^ ^ 


Bufrname 




>.^........... 






?£ 






Bufrofset 











1 

2 



5 
6 
7 
8 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$DELAY 

06/CTP$REPC0UNT 

08/CTP$M0VETYPE 



1 Byte, value is 03/CTP$M0VBUFREQ. 

4 Bytes, contains reference number. 

Byte specifying delay prior to 
tion ("SDOms/count). 

2 Byte integer containing a repeat 
count. 

1 Byte specifying the type of buffer 
move to perform: 



1 
ac 



00/CTP$MOVEFROM 
01/CTP$MOVETO 



Responder does a read. 
Responder does a write. 



09/CTP$OTHERNODE 
10/CTP$PKTSJZ 



00/CTP$PS512 
01/CTP$PS576 



11/CTP$PKTMULT 



1 Byte containing the number of the 
other node involved. 

1 Byte, contains the base packet size 
to use for the transfer. 

Size is a multiple of 512 bytes. 
Size is a multiple of 576 bytes. 

1 Byte, specifying the packet size multiple, 



SEQ 0029 



■i ttW i « W lii H ^w H Mwi U 'wHiil 



Appendices 



Page 11 



SEQ 0030 



12/CTPSBUFLEN6TH 



16/CTP$BUFLNAME 



20/CTP$BUFLOFSET 



24/CTP$BUFRNAME 



28/CTP$BUFR0FSET 



4 Byte integer containing the size of 
the move in bytes. 

4 Byte value with the local buffer 
name. 

4 Byte value containing the local 
buffer offset. 

4 Byte value with the remote 
buffer name. 

4 Byte value containing the 
remote buffer offset. 



Nove Buffer Response Message 



B 
Y 



Bit 



T 
E 

4 








.^. 




..4....... 


00! 


Opcode 67 


"T"' 
^♦^ 


Reference 






««»^«>W«»<»«« 


04! 




^▲^ 


status I Actcount 


r 

..4...... 


08! 


ncvetype 


, ^ -4 ^ 


Othernode ! Pktsiz 


1 


Pktmult 


1 

1 

..4...... 


12! 




•^♦^ 


Buflength 






..4....... 


16! 






Buflname 


.^. 




..4...*.. 


20! 




.^X^ 


Buflofset 






..4....... 


24! 






Bufrname 






.»«»4«««iww» 


28! 




— f- 


Bufrofset 
....... — ...f.— .... 






— 4. 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



U 

R 
D 



1 Byte, value is 67/CTP$M0VBUFRSP. 

4 Bytes, contains reference number. 

1 Byte with the SCA or CTP status of 
the last move performed. Values are: 



000.(000)/CTP$SUCCESS 



Function Successful. 



3 



5 



8 



!46.(366)/CTP$N0C0NNECT Noconnection exits. 
|47.(367)/CTP$PKTS1ZFA1L Unable to use specified packet size 
?49.(371)/CTP$N0BUF«APPED No Buffer Mapped. 
f51.(373)/CTP$FAILURE Function failure. 
•52.(374)/CTP$REFUSE Request refused. 



Appendices 



Page 28 



253.(375)/CTP$NORESOURCE Resource Failure. 
254.(376)/CTP$N0NSENSE Request Not Understood. 
255/CTP$NOTIMP Function Not Implemented. 



06/CTP$ACTC0UNT 
08/CTP$MOVETYPE 



2 Byte integer holding the 
number of moves done. 

1 Byte specifying the type of 
move performed: 



actual 
buffer 



00/CTP$WOVEFROM 
01/CTP$MOVETO 



Responder did a read. 
Responder did a write. 



09/CTP$OTHERNODE 

10/CTP$PKTSIZ 

00/CTP$PS512 
01/CTP$PS576 

11/CTP$PKTMULT 

12/CTP$BUFLENGTH 

16/CTPSBUFLNAME 

20/CTP$BUFLOFSET 

24/CTP$BUFRNAME 

28/CTP$BUFR0FSET 



1 Byte containing the number 
other node involved. 



of the 



1 Byte, contains the base packet size 
to use for the transfer. 

Size is a multiple of 512 bytes. 
Size is a multiple of 576 bytes. 

1 Byte* specifying the packet size multiple. 

4 Byte integer containing the size of 
the move in bytes. 

A Byte value with the local buffer 
name . 

4 Byte value containing the local 
buffer offset. 



4 Byte value with 
buffer name. 

4 Byte value 
remote buffer offset. 



the remote 
containing the 



SEQ 0031 



Appendices 



Page 29 



SEQ 0032 



6.2.6 Generate Message Messages 



B !- 
Y 

T 

E 



Generate Message Request Message 



Bit 



? 



I 



f 



i 

1 



3 

5 



00;" 


+- 

Opcode 04 ! 






Refe 


> 

rence 


^ — 


""l 


04! 




Delay 


■"T^ 




Repcount 


.•«««4.... 




08! 


Gen tunc t I 


Genconst 






M6Z 


w...4.»»» 




12! 


Genleng 


th 






Imagedata 


t 





00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$DELAY 

06/CTP$REPCOUNT 
08/CTP$GENFUNCT 



1 Byte, value is 04/CTP$GENMSGREQ. 

4 Bytes, contains reference number. 

1 Byte spec 1 tying delay prior 
action ("SOOms/count). 



U 

R 
D 

1 

2 

3 

4 



to 



2 Byte integer containing a repeat 
count. 

1 Byte specifying the function to use 
for the data field in the generated 
packets. Values are: 



00/CTP$GENFFILL Fill packet with constant. 

01/CTP$GENFBPAIR Fill w/byte pair numbers. 

02/CTP$GENFNODE Fill w/responder node number 

03/crP$6ENF IMAGE Fill w/data in this packet. 



09/CTP$GENCONST 

10/CTP$RESERV10 
12/CTP$GENLENGTH 

14/CTP$1MAGE0ATA 



1 Byte holding a fill constant if 
CTPlGENFFILL, or zero otherwise. 

2 Bytes must be zero. 

2 Byte integer indicating the 
generated message length. 

N bytes of image function data if 
appropriate. 



Appendices 



121 



Page 30 



Generate Message Response Message 



B !- 
Y 

T 
E 






^^^^^^^^^^« 




Bit 




3 

5 


u 


R 
D 


001 


Opcode 68 


^x^ 




B»^S 


Reference 


....•«4.».M 




1 


OAI 




^ J ^ 


status 


1 
1 


Actcount 


...•s»4.— »• 




2 


08! 

4— 


Gen tunc t 


— f- 


Portstat 


1 


M6Z 

. .«— - — + 


f — 




3 



Genlength 



Gendata 



00/CTP$OPCODE 1 Byte, value is 68/CTP$GENMS6RSP. 

01/CTP$REFERENCE 4 Bytes, contains reference number. 

05/CTP$STATUS 1 Byte with the SCA or CTP status 

the last message sent. Values are: 

000.(000)/CTP$SUCCESS Function Successful. 
253.(375)/CTP$N0RES0URCE Resource Failure. 
254.(376)/CTP$N0NSENSE Request Not Understood. 



of 



06/CTP$ACTCOUNT 
08/CTP$GENFUNCT 



2 Byte integer containing the count of 
messages sent. 

1 Byte specifying the function used 
for the data field in the generated 
packets. Values are: 



00/CrP$GENFFILL Fill parget with constant. 

01/CTP$GENFBPAIR Fill w/byte pair numbers. 

02/CTP$GENFNODE Fill w/responder node number 

03/CTP$GENF IMAGE Fill w/data in this packet. 



09/CTP$PORTSTAT 

10/CTP$RESERV10 
12/CTP$GENLENGTH 

1A/CTP$GENDATA 



1 Byte containing the port returned 
status of the last message sent. 

2 Bytes of filler, MBZ. 

2 Byte integer indicating the 
generated message length, 

N Bytes containing the generated data. 



SEQ 0033 



Appendices 



Page 31 



SEQ 0034 



6.2.7 Generate Datagram Messages 



6*! 
Y 

T 
E 

001 

04! 

08! 

12! 



Generate Datagram Request Message 



Bit 



? 



1 
5 



? 



Opcode 05 


-+ — — — ..... 




Refe 


+ 

rence 


f — 


'"1 




! Delay 


B.^. 




Repcount 
....... 4...... ...• 


.....4.... 




Genfunct 


I Genconst 


B.^. 




MBZ 


.....4.... 




Gent 


. ^...... ...... 

ength 






Imagedata 


t 





00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$DELAY 

06/CTP$REPCOUNT 
08/CTP$GENFUNCT 



1 Byte, value is 05/CTP$GENDGRREQ. 

4 Bytes, contains reference number. 

1 Byte specifying delay prior 
action (~5D0ms/count). 



-! U 



3 R 

5 D 



1 
2 
3 
4 



to 



2 Byte integer containing a repeat 
count. 

1 Byte specifying the function to use 
for the data field in the generated 
packets. Values are: 



00/CTP$6ENFFILL Fill packet with constant. 

01/CTP$6ENFBPAIR Fill w/byte pair numbers. 

02/CTP$6ENFNODE Fill w/responder node number 

03/CrP$6ENF IMAGE Fill w/data in this packet. 



09/CTP$GENCONST 

10/CTP$RESERV10 
12/CTP$GENLENGTH 

14/CTP$IMAGE0ATA 



1 Byte holding a 
appropriate. 



fill constant, if 



2 Bytes must be zero. 

2 Byte integer indicating the 
generated DATAGRAM length. 

N bytes of image function data if 
appropriate. 



12 



Appendices 



Page 32 



SEQ 0035 



Generate Datagram Response Message 



B !■ 
Y 

T 
E 



Bit 





7 



1 
5 



2 
3 



121 



Genlength 



Gendata 



3 

1 



OOl" 


-+— — 

Opcode 69 ! 


— ^ + 

Reference 


\ 


OAI 


• Status 


: Actcount 


1 


08; 


Genfunct 1 Genconst 


mi 


1 



u 


R 
D 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 Byte, value is 69/CTP$GEND6RRSP. 

4 Bytes, contains reference number. 

1 Byte with the SCA or CTP status of 
the last datagram sent. Values are: 



000.(000)/CTP$SUCCESS 
253. (375)/CTPSN0RES0URCE 
25A.(376)/CTP$NONSENSE 



F ction Successful. 
Re urce Failure. 
Request Not Understood. 



06/CTP$ACTCOUNT 
08/CTP$GENFUNCT 



2 Byte integer containing the count of 
datagrams sent. 

1 Byte specifying the function to use 
for the data field in the generated 
packets. Values are: 



00/CrP$GENFFILL Fill packet with constant. 

01/CTP$GENFBPAIR Fill w/byte pair numbers. 

02/CTP$6ENFN0DE Fill w/responder node number 

03/CTP$GENF IMAGE Fill w/data in this packet. 



09/CTP$GENCONST 

10/CTP$RESERV10 
12/CTP$GENLENGTH 

U/CTP$GENDATA 



1 Byte holding a fill constant, if 
appropriate. 

2 Bytes of filler, MB2. 

2 Byte integer indicating the 
generated datagram length. 

N Bytes containing the generated data. 



t\ im m »* ' { •> itit*i - » w i»i 



23 



Appendices 



Page 33 



SEQ 0036 



6.2.8 Generate Reset Messages 



Generate Reset Request Message 



Bit 



T 
E 


? 


1 2 3 
5 3 1 


00 : 


Opcode 06 ! 

A 


Reference • 


oa: 




Delay • Repcount I 


08! 


Extend 


Othernode 1/////////////I 
♦ + f 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$DELAY 

06/CTP$REPCOUNT 
08/CTP$EXTEND 



1 Byte, value is 06/CTP$GENRSTREQ. 

A Bytes, contains reference number. 

1 Byte specifying delay prior 
action (""SDOms/count). 



U 

R 
D 



to 



2 Byte integer containing a repeat 
count. 

1 Bytes specifying whether the reset 
is conditional: 



00/CTP$UNCONDRST 
01/CTP$CON0RST 



Forced reset. 
Conditionally reset. 



09/CTP$OTHERNODE 



1 Byte containing number of the node 
to reset. 



■»# : T i W »MiiW>i^«*«f»*warti»*W) Jl" t»W »» ! 



l_ 



Appendices 



Page 3A 



SEQ 0037 



B 1- 
Y 

T 

E 

001 

OA! 

08! 



Generate Reset Response Message 



Bit 




7 



1 
5 



? 



Opcode 70 






.4. + + 

Reference 1 




"T" 

^x^ 


Status 


: Act count J 


Extend 


-4— 


Othernode 


.4 4 4 



-; u 


3 R 

5 D 

1 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 Byte, value is 70/CTPS6ENRSTRSP. 

4 Bytes« contains reference number. 

1 Byte with the SCA or CTP status of the 
last reset request. Values are: 



000.(000)/CTP$SUCCESS 
251.(373)/CTPSFAILURE 
252.(374)/CTP$REFUSE 



Function Successful. 
Function failure. 
Request refused. 



253.(375)/CTP$N0RES0URCE Resource Failure. 
25A.(376)/CTP$NONSENSE Request Not Understood. 



255.(377)/CTP$N0TIWP 
06/CTP$ACTCOUNT 



Function Not Implemented. 



08/CTP$EXTEND 



2 Byte integer containing number of 
resets sent. 

1 Bytes specifying whether the reset 
is conditional: 



00/CTP$UNCONDRST 
01/CTP$CONDRST 



Forced reset. 
Conditionally reset. 



09/CTP$OTHERNODE 



1 Byte containing number of the node 
that was reset. 



tmmiimiif»it»iK*>}'^'»' 



• M tnm'..tm i *'''>tt U m i^ »i i^ i . iii - aiiii 



Appendices 



Page 35 



SEQ 0038 



6.2.9 Generate Start Messages 



Generate Start Request Message 



B 
Y 
T 
E 



Bit 



? 



? 



oo!" 


. f- 

Opcode 07 ! 


Reference 




04! 


! Delay 


! Repcount 


.•...4.*«..te. 


08! 


Extend I Othernode 


MBZ 





12! 



Start Address 
♦ 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$DELAY 

06/CTP$REPCOUNT 

08/CTP$EXTEND 



•! U 



3 R 

5 D 

1 



™.-4— — — — — - — 4- — + 

1 Byte, value is 07/CTP$GENSTRREQ. 
4 Bytes, contains reference number. 

1 Byte specifying delay prior to 
action (~5D0ms/count). 

2 Byte integer containing a repeal 
count. 

1 Byte specifying whether t-he st«rt 
address is default: 



00/CTP$DEFALTADR 
01/CTP$SPECIFADR 



Use node's default address. 
Use the specified address. 



09/CTP$OTHERNODE 

10/CTP$RESERylO 
12/CTP$STARTADR 



1 Byte contai'>ing number of the node 
to start. 

2 Bytes must be zero. 

4 Byte value containing a node-specific 
start address. 



026 



Append ices 



Page 36 



B ! 
Y 

T 
E 

00! 

04! 

08! 

12! 



Generate Start Response Message 
Bit 









• »»«»»» ^SB^^^S^M 




Opcode 71 




Ret"! 


^ence 


..—^..4.*...>. 






Status ! 


Actcount 


.^..w.-f »«»»M 


Extend 


A 


Othernode ! 


NBZ 


»««»«»« 4>«»»w««» 


^^mt^^^^^^tm^m 


.-• f- 


start Address 
-— + — 


— f 


^ 



1 


W 







3 


R 


5 


D 


f 






1 


•f 






2 


"f 






3 


-f 






4 


•f 





00/CTPSOPCODE 1 Byte, value is 71/CTP$6ENSTRRSP. 

01/CTP$REFERENCE 4 Bytes, contains reference number. 

05/CTP$STATUS 1 Byte with the SCA or CTP status of the last 

start sent. Values are: 



000.(000)/CTP$SUCCESS 

251.(373)/CTP$FAILURE 

252.(374)/CTP$REFUSE 

253. (375)/CTP$N0RES0URCE 

254.(376)/CTP$N0NSENSE 

255.(377)/CTP$N0TIMP 



Function Successful. 
Function failure. 
Request refused. 
Resource Failure. 
Request Not Understood. 
Function Not Implemented. 



06/CTP$ACTCOUNT 
08/CTPSEXTEND 



2 Byte integer conta 
starts sent. 



ng number of 



1 Bytes specifying whether start address 
was defaulted: 



00/CrP$DEFALTADR 
01/CTP$SPECIFADR 



Node's default was used. 
Specified address was jsed. 



09/CTP$0THERN00E 

10/CTP$RESERV10 
12/CTP$STARTADR 



1 Byte containing number of the node 
started. 

2 Bytes, must be zero. 

4 Byte value containing the node-specific 
start address. 



SEQ 0039 



g ii nin gi r i r tt 



Mtmmiimmmmimiimmivi^mm vmmm^mmmm 



Appendices 



Page 37 



SEQ OOAO 



6.2.10 Start/Stop Unsolicited Activity Messages 

Start/Stop Unsolicited Activity Request Message 



B 1- 
Y 

T 
E 

00! 

0/4! 

08! 



Bit 





7 



1 

5 



3 

1 



+ 

Opcode 08 1 


Reference \ 


• — *- — •""•• — "'""'" T """"• — "••*• 

1 
1 


MBZ 


MBZ 

« 4. — — 


! Noactflag 1 ////// 1 
+ + + 



00/CTP$OPCODE 
01/CTP$REFERENCE 
05/CTP$RESERV5 
10/CTP$NOACTFLA6 



00/CTP$NOACTON 
01/CTP$NOACTOFF 



-I U 



3 R 

5 D 



1 



1 Byte, value is 08/CTP$NOACTRSP. 

4 Bytes, contains reference number. 

5 Bytes, must be zero. 

1 Byte contains flag to either stop or start 
normal unsolicited activity. 

Turn normal unsolicited activity on. 
Turn normal unsolicited activity off. 



WARNING: If the poller has been stopped and the 
connection to the controller that requested the 
stop is lost, it is the responsibility of the 
responder to automatically restart the poller. 



Start/Stop Unsolicited Activity Response Message 



B !• 
Y 

T 
E 



Bit 



? 



} 



? 



001 Opcode 72 I 

4. f. 

OA : 
^ — — — — — — f. 



status 



Reference 1 

.f i f. 

\ ////// \ ////// \ 
,f— 4 ^. 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 

• 


W 







3 


R 


5 


D 


+ 




1 


1 


■f 




1 
1 


2 



1 Byte, value is 72/CTP$NOACTRSP. 
A Bytes, contains reference number. 
1 Byte indicating status of request: 



000.(000)/CrP$SUCCESS 
251.(373)/CTP$FAILURE 



Function successful. 
Function failure. 



Appendices 



Page 38 



SEQ 0041 



252.(37A)/CTP$REFUSE 

254.(376.VCTP$N0NSENSE 

255.(377)/CTP$NaTIMP 



Request refused. 
Request Not Understood. 
Function Not Implemented, 



Appendices 



6.2.11 Configuration Data Messages 



B 
Y 



Configuration Data Request Message 



I ...^»^.»^»»»»«»»»»«»»»»»»«» 



Bit 



Page 39 



T 
E 


A 




I 1 


I 


00! 


Opcode 09 ! 

_ - - -A 




Reference 


....*«»»»»»4>~*»»~» 


04! 






MBZ 


.«.wak»***M»<f »«»»■>» 


08! 


MBZ 
+- 


Othernode 


.^. + — 


/////! 
• ^. 






00/CTP$OPCODE 
01/CTP$REFERENCE 
05/CTP$RESERV5 
09/CTP$OTHERNODE 



W 

R 
D 



1 Byte, value is 09/crP$CONFI6REQ. 

4 Bytes, contains reference number. 

5 Bytes, must be zero. 

1 Byte containing number of node for 
which configuration information is 
desired. 



SEQ 0042 



Appendices 



Page 40 



SEQ 0043 



B !■ 
Y 

T 

E 



Configuration Data Response Message 



Bit 



? 



? 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



1 Byte, value is 73/CTP$C0NFI6RSP. 

4 Bytes, contains reference number. 

1 Byte indicating knowledge 
specified node: 



000.(000)/CTP$SUCCESS Function successful. 

248.(370)/CTP$NODEUNKNOWN Node Unknown To SCA. 

253.(375)/CTP$NORESOURCE Resource Failure. 

254.(376)/CTP$NONSENSE Request Not Understood. 



06/CTP$RESERV6 
09/CTP$OTHERNODE 

11/CTP$CFGP0STS 

00/CTP$PATHBAD 
01/CTP$PATH600D 



3 Bytes, must be zero. 

1 Byte containinq number of node 
information in this message. 

1 Byte containing path status. 

Path is marked bad. 
Path is marked good. 



3 

5 



00!" 


^ ^ + + — 

Opcode 73 ! Reference ! 


! 


04! 


! status ! MBZ 




08! 


MBZ ! Othernode ! MBZ 1 CfgpOsts ! 




12! 


Cfgplsts !//////!//////!//////! 





u 


R 
D 



of 



for 



12/CTP$CF6P1STS 1 Byte containing path 1 status. 



00/CTPSPATHBAD 
01/CTP$PATHGOOD 



Path is marked bad. 
Path is marked good. 



Appendices 



Page A1 



SEQ OOAA 



6.2.12 Counter Read Messages 



Counter Read Request Message 



B 1- 
Y 

T 

E 



Bit 




7 



2 
3 



3 
1 



OOl" 


— « ^ ♦- 

Opcode 10 ! 


Reference 




OA! 


____^x ____••»__»••» ^« 


MBZ 


.4.............. 'f ...... 


08! 


MBZ 1 Othernode ! 


Cntilg 


!//////! 



4 + — 

00/CTP$OPCODE 
01/CTP$REFERENCE 
05/CTP$RESERV5 
09/CTP$OTHERNODE 

10/CTP$CNTFLG 



— . 4 — 4 4 — 

1 Byte, value is 10/CTP$C0UNTSREQ. 

4 Bytes, contains reference number. 

A Bytes, must be zero. 

1 Byte containing number of node which 
future counts should monitor or which 
counts are read. 

1 Byte indicating to keep or release 
of counters. Values are: 



1 


u 







!; 


R 


5 


D 


■f 






1 


+ 






2 


•f 






3 



control 



00/CTP$RELCNT 
01/CTP$KEEPCNT 



Release counters. 
Keep counters. 



Appendices 



Page A2 



SEQ OCA 5 



Counter Read Response Message 



B 



Bit 



T 
E 






7 


1 

5 


2 
3 


1 ! 


00! 


Opcode 7A 


^-^mt 


Reference 


• wf ■>»«»»»« 


.»...«4...M»»< 


OA! 






Status ! 


MBZ 


.......4-»«»»~»< 


08! 


MBZ 




Othernode I 


MBZ 


...... 4....... ■ 


12! 




•^♦^ 


4 bytes for CntrpOack 


.«4.. ....«« 


......4...... 


16! 






4 bytes for CntrpOnak 


B«^«W«»««»« 


......4...... 


20! 




.»X^ 


4 bytes for CntrpOnrsp 


»«4»«»««««B«i 


........f...... 


24! 




A.— 


4 bytes for Cntrplack 


»«^«W»«*«.« 


1 

.......4«k..... 


28! 

1 






4 bytes for Cntrplnak 


B«»^«W«W«W« 


........4...... 


32! 






4 bytes for Cntrplnrsp 


.«^«<»«««»« 


.......4...... 


36! 






4 bytes for Cntrdisc 

- — — - — — f — — 


— + . 


4 



u 


R 
D 



5 



8 



10 



00/CTP$OPCODE 1 Byte, value is 74/CTP$C0UNTSRSP. 

01/CTP$REFERENCE 4 Bytes, contains reference number. 

05/CTP$STATUS 1 Byte with the CTP status. Values 

are: 

000.(000)/CTP$SUCCESS Function Successful. 
253.(375)/CTP$NORESOURCE Resource Failure. 
254.(376)/CTP$N0NSENSE Request Not Understood. 



06/CTP$RESERV6 
09/CTP$0THERN0DE 

10/CTP$RESERV10 
12/CTP$CNTRP0AC< 

16/CTP$CNTRP0NAK 

20/CTP$CNTRP0NRSP 



3 Bytes, must be zero. 

1 Byte containing number of node which 
future counts will monitor. 

2 Bytes, must be zero. 

4 Bytes containing total ACKs received 
on path 0. 

4 Bytes containing total NAKs received 
on path 0. 

4 Bytes containing total no responses 



II 1 1, 11 1 1 11 11 ni l H i UH Wim i n 



13 



Appendices 



Page 43 



SEQ 0046 



24/CTP$CNTRP1ACK 



28/CTP$CNTRP1NAK 



32/CTP$CNTRP1NRSP 



36/CTP$CNTRDISCDG 



received on path 0. 

4 Bytes containing total ACKs received 
on path 1. 

4 Bytes containing total NAKs received 
on path 1. 

4 Bytes containing total no responses 
received on path T. 

4 Bytes containing total Discarded DGs 



-..^ 



Appendices 



Page 44 



SEQ 0047 



6.2.13 Connect Messages 



B 

Y 



Connect Request Message 



Bit 



T 
E 








1 2 3 
5 3 1 


00! 


Opcode 11 






Reference ! 


04! 




»M^« 


MBZ 


MBZ 


08! 

-1— 


M6Z 


— f- 


Othernode 


!/////////////! 



! U 

3 R 
5 D 

I 1 



00/CTP$OPCODE 1 Byte, value is 11/CTP$C0NNECTREQ. 

OI/CTPSREFERENCE 4 Bytes, contains reference number. 

05/CTP$RESERV5 4 Bytes, must be zero. 

09/CTP$OTHERNODE 1 Byte containing the node to connect to. 



Connect Response Message 



B I- 
Y 

T 

E 



Bit 



? 



1 
5 



2 
3 



3 

1 



00! Opcode 75 

04! 

4.™— ——— . 






Reference 






Status 



////// 



!//////! 



00/CTP$OPCODE 

01/CTP$REFERENCE 

05/CTP$STATUS 



3 

5 



1 Byte, value is 75/CTP$C0NNECTRSP, 

4 Bytes, contains reference number. 

1 Byte, contains status of requested 
operation. 



000.(00Q)/CTP$SUCCESS 

H5.(365)/CTP$C0NTRANS 

!48. (37Q)/CTP$N0DEUNKN0UN 

^51.(373)/CTP$FAILURE 

f53.(375)/CTP$N0RES0URCE 

►54.(376)/CTP$N0N3ENSE 



U 

R 
D 

1 

2 



Function Successful. 

Connection is in state of transition 

Node ynknown To SCA. 

Function Failure. 

Resource Failure. 

Request Not Understood. 



■ rail i<*i— p*rfimw 



m»m '» iiH0*'i-» H" *m>i*m KiW iHi —t 



Appendices 



Page 45 



SEQ 0048 



6.2.1A Listener Disconnect Messages 



B !• 
Y 

T 

E 



Listener Disconnect Request Messd9e 



Bit 




7 



1 
5 



2 
3 



Reference 



3 
I 



00 ; Opcode 12 ! 
4. ♦ + i ^• 



00/CTP$OPCODE 
01/CTP$REFERENCE 



1 Byte, value is 12/CTP$FINISHREQ. 
4 Bytes, contains reference number. 



•! U 



3 R 

5 D 

I 1 



Listener Disconnect Response Message 



6 !- 
Y 

T 
E 



Bit 




7 



1 
5 



f 



00! Opcode 76 

04! 

4.— — — — — . 



Reference 



? 



Status 



. t 
.4 ♦ 4-' 

!//////!//////! 
.f ♦ ♦• 



00/CTP$OPCODE 

01/CTPSREFERENCE 

05/CTP$STATUS 



1 
1 


U 







3 


R 


5 


D 


•f 




1 
1 


1 


♦ 




1 


2 



1 Byte, value is 76/CTPSFINISHRSP. 
4 Bytes, contains reference number. 
1 Byte, value must be 00/CTP$SUCCESS. 



♦♦♦♦♦♦*♦♦♦*♦*»•♦♦♦**»♦*•»♦♦•*♦**♦*♦***♦***♦♦♦***♦***♦*♦**♦*♦*♦♦♦♦♦♦** 



SEQ 00A9 



PRODUCT CODE: 

PRODUCT NAME: 
DATE RELEASED: 
UPDATE AUTHOR: 



MAINDEC-10-DFCIC-A 
VERSION 0.1 

PDP10 COMPUTER INTERCONNECT(CI) RESPONDER 

OCTOBER 1984 

R. Stravinski 



1. Preliminary Release 



PRODUCT CODE: 

PRODUCT NAME: 
DATE RELEASED: 
UPDATE AUTHOR: 



MAINDEC-10-DFCIC-B 
VERSION 0.2 

PDP10 COMPUTER INTERCONNECT(CI) RESPONDER 

November 198A 

R. Stravinski 



1. Fixed filling of data buffer in MAP buffer routine (ACT01). 



♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦•♦♦♦**♦**♦♦♦♦♦♦♦*♦•♦♦*♦♦♦*♦♦♦♦♦♦♦♦*♦♦♦♦♦♦*♦*♦♦♦♦*♦♦♦ 



SEQ 0050 



PRODUCT CODE: 
VERSION: 
PRODUCT NAME: 
DATE RELEASED: 
UPDATE AUTHOR: 
REASONS: 



MAlNDEC-10-DFCIC-C 

3 

DFCIC - CI Cluster Test Protocol Responder 

August 21, 1985 

Gregory A. Scott 

Update for TOPS-10 operation. 

Add support for SCS. UUO and DIAG. UUO. 
Add code for TOPS-10 software interrupt 
system, getting system uptime and time of 
day, output ting numbers and text. 

Rework timing routine to use TIWER JSYS 
and PITMR UUO. The old method of using 
forks was not compatible with efficient 
operation or TOPS-iO. 

Output an announcement message at startup 
time. 



r ii I'f ' j-mhimiimHir^mtgf'itim 



038 



SEQ 0051 



)039 



DFCIC 0,534X2 1X34 nit^ini . RX3C/.$X2 



DECDOC VER 00.25 27-AUG-85 11:20:15 PAGE 1 



SEQ 0052 



DOCUMENT 
DFCIC Cluster Test Protocol Responder 



COPYRIGHT 1985 

DIGITAL EQUIF-MENT CORPORATION 

MAYNARD, MASS. 0175A 



1 



DFCIC C,53AX2 TX3A ?2/i^/»/ . RX30/.$22 

TABLE OF CONTENTS 

15 Definitions 

353 Initialization Code 

AAA Mainline Code 

5A2 CTP Function Set 

609 CTP Buffer Map 

81A CTP Buffer Unmap 

928 CTP Move Buffer 

1216 CTP Generate Message and Datagram 

1A22 CTP Generate Reset 

1591 CTP Generate Start 

1773 CTP Unsolicited Activity 

18A8 CTP Configuration 

19A2 CTP Counter Read 

211A Ci.-^ Connect 

2203 CTP Disconnect 

2233 Subroutines 

3167 Send CTP Response 

3220 Timeout Routines 

3A15 Interrupt System 

3536 Return Uptime/Time Of Day 

3580 Print Message Subroutines 

3628 Perform SCS JSYS/UUO 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 2 



SEQ 0053 






n 



DFCIC C,53AX2 TX34 VlK^tni . RX30/.$X2 

TABLE OF CONTENTS 

3767 Send Um'mpLemented Opcode 

3817 Send No Resource 

3865 Request Connection 

3933 Listen for Controller 

3978 Listen for Responder 

4023 Accept Connection 

4060 Reject Connection 

4098 Close Connection 

4135 Queue Message Buffer 

4174 Queue Datagram Buffer 

4213 Recieve Message 

4255 Recievr Datagram 

4297 Send nes^^age or Datagram 

4364 Connection State Poll 

4426 Return Local Node Number 

4459 Return Buffer Sizes 

4495 Return Status 

4533 Return Configuration Information 

4597 nap Buffer 

4633 Unmap Buffer 

4670 Send Data 

4711 Read Data 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 3 



SEQ 0054 



■MMMkiMWaMlddMIMMaailiAMIiaMMWMiM*- 



1 



DFCIC C.53AX2 TX34 \^limni , RX30/.$X2 



TABLE OF CONTENTS 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 4 



SEQ 0055 



4751 Get Data Queue Entry 

4785 Get Event Queue Entry 

4843 Perform OIAG JSYS or UUO 

4958 TOPS-10 Interrupt Dispatch 

4989 TOPS-20 Interrupt Dispatch 

5042 Interrupt Routine For Inputting Datagrams 

5141 Interrupt Routine For Inputting Messages 

5273 Interrupt Routine For DMA Transfer Complete 

5320 Interrupt Routine For Connections & Errors 

5611 Interrupt System Tables 

5658 Tabl-r 



ii rt t > M>i>l«aH*l|>lli i'* ' M 



DFCIC C,53AX2 TX3A ?2f(^/Mf . RX30/.$X2 



DECDOC VER 00.25 27-AUG-85 11:20:15 PAGE 5 



SEQ 0056 



15 



353 



4AA 



542 



609 



8U 



928 



1216 



Definitions 



27 



Copyright 1984, 1985 

Digital Equipment Corporation 

Marlboro, Massachusetts 01752 

Author: Ron Stravinski 
Update Author: Gregory A. Scott 



Initialization Code 

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦*♦♦»♦♦♦♦♦♦♦♦♦♦♦♦♦♦*♦**♦♦♦*♦*♦♦♦♦*♦♦*♦♦♦♦♦♦**♦♦ 

Mainline Code 
♦♦♦♦♦♦♦♦♦♦♦♦♦♦»♦♦♦♦♦♦♦♦*♦♦♦♦*♦♦*♦*♦♦♦♦*♦*♦♦♦*♦♦♦♦♦♦♦♦♦♦♦♦♦*♦♦**♦♦ 

CT? Function Set 

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦**»*********»****»*****»*»*******»**********'^*** 

CTP Buffer Map 
♦♦♦♦♦»♦♦♦♦♦♦♦♦♦♦♦♦♦♦•♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦*♦♦*♦*♦♦♦♦♦ 

CTP Buffer Unmap 

CTP Move Buffer 

♦♦♦♦♦*♦♦♦♦*♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦*♦*♦♦*♦♦♦♦♦*♦♦*♦♦♦ tttt************* 

CTP Generate Message and Datagram 



OFCIC C,53AX2 TX3A ?imini . RX30/.$X2 
1422 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 6 



SEQ 0057 



CTP Generate Reset 



1591 CTP Generate Start 

1773 CTP Unsolicited Activity 

1848 CTP Configuration 

1942 CTP Counter Read 

2114 CTP Connect 

2203 CTP Disconnect 

2233 Subroutines 

3167 Send CTP Response 

3220 Timeout Routines 



OFCIC C,53AX2 1X34 ^limni . RX30/.$X2 
3415 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 7 



SEQ 0058 



Interrupt System 



3536 Return Uptime/Time Of Day 

3580 Print Message Subroutines 

3628 Perform SCS JSYS/UUO 

3767 Send Um'mplemented Opcode 

3817 Send No Resource 

3865 Request Connection 

3933 Listen for Controller 

3978 Listen for Responder 

4023 Accept Connection 



DFCIC C,53AX2 TX3A ?2/k/n/ . RX30/.$X2 
4060 



DECDOC VER 00.25 27-AUG-85 11:20:15 PAGE 8 



SEQ 0059 



Reject Connection 



A098 Close Connection 

A135 Queue Message Buffer 

A17A Queue Datagram Buffer 

A213 Recieve Message 

A255 Recieve Datagram 

A297 Send Message or Datagram 

A36A Connection State Poll 

AA26 Return Local Node Number 

AA59 Return Buffer Sizes 



DFCIC C,53AX2 1X34 ?limni . RX30/.$X2 
4495 



DECDOC VER 00.25 27-AU6-85 11:20:15 PAGE 9 



SEQ 0060 



Return Status 



4533 Return Configuration Information 

4597 Map Buffer 

4633 Unmap Buffer 

4670 Send Data 

4711 Read Data 

4751 Get Data Queue Entry 

4785 Get Event Queue Entry 

4843 Perform DIAG JSYS or UUO 

4958 TOPS-10 Interrupt Dispatch 



D48 



DFCIC C, 534X2 1X34 Vlimni . RX30/.$X2 
4989 



DECDOC VER 00.25 27-AUG-85 11:20:15 PAGE 10 



SEO 0061 



TOPS-20 Interrupt Dispatch 



5042 Interrupt Routine For Inputting Datagrams 

♦♦♦♦*♦♦♦♦♦* tt***»******»*************»*************************** 

5141 Interrupt Routine For Inputting Messages 

♦♦♦♦♦*»♦♦♦♦*♦♦♦♦♦♦*♦♦♦*♦*♦♦♦♦♦**♦♦*♦♦*»*♦♦*♦♦♦♦♦♦♦♦♦♦**♦**♦♦♦*♦♦♦ 

5273 Interrupt Routine For DMA Transfer Complete 

5320 Interrupt Routine For Connections & Errors 

5351 *♦♦♦»♦♦*♦ Virtual circuit broken »»»*♦*♦♦♦* 

5404 ♦♦♦♦♦♦*♦» Connect to a listen *****♦*♦♦» 

5467 ♦»*♦♦♦♦♦♦ Connection yas acceptedCfor 3rd party) *♦♦*****♦* 

5479 ********* Connection was reiected(for 3rd party) ♦♦*♦♦♦♦♦*♦ 

5490 ♦»♦»»♦*♦» Message or datagram send complete *♦♦♦*•*«♦♦ 

55S1 ♦♦♦♦»»»*♦ Little credit left *♦**♦*♦♦♦♦ 

5561 ♦♦*»»♦♦•♦ Node went offline **»♦**♦♦»» 

5567 ♦♦♦♦*♦♦»♦ Node went online ♦*•♦♦»♦•»* 

5573 »♦»♦♦♦♦*♦ Ok to send messages »»*****»*t 

5594 ♦»♦♦»»♦*♦ Remote initiated disconnect ♦♦♦•♦♦♦♦•• 

5600 ♦♦*♦♦♦♦♦» Port broke connection »♦♦♦♦♦♦♦♦♦ 

5606 ♦♦•♦♦♦♦♦♦ Credit is ay/ailable ♦♦♦♦♦♦•♦♦♦ 



■MUlMMMMnWil- 



r 



DFCIC C, 534X2 TX34 ?imilil . RX30/.$X2 
5611 



DECDOC VER 00.25 27-AUG-85 11:20:15 PAGE 11 



SEQ 0062 



Interrupt System Tables 



♦******t***************<^***************** ************************ 

5658 Tables 



X)50 



DFCIC 
DFC1C1 

1 



4 
5 

II 
1 

]§ 

H 
15 

]^ 
i? 

22 
23 
24 

!5 



Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 1 
MAC 27-Ajg-85 08:25 Definitions 



SEQ 0063 



000014 
000003 

000137 

000137 000300 00001 A 

000000' 



000000 
000001 
000002 
000003 
000004 
000005 
000006 
000007 

000010 
000011 
000012 
000013 



Z:<6SC0TT.DFCIC>DFCIC1.MAC.8A 27-Aug-85 08:17:22, Edit by GSCOTT 

Add SCS8LK, SCSFCN, SCSCAL, SCSERC ^^ ^^ ^^ ^^ ^^. ^ ^^^^^^ 

Z:<6SC0TT.DFCIC>DFCIC1.MAC.79 2-Aug-85 16:06:16, Edit by GSCOTT 

Turn off interrupts when processing thinos to do at lower level 

Z:<GSC0TT.DFCIC>DFCIC1. MAC. 72 31-Jul-85 16:40:54. Edit by GSCOTT 

Don't smash first word of SCS UUO arg block on the 10, leave it for debugging 

Z:<GSC0TT.DFCIC>DFCIC1.MAC.69 30-Jul-85 18:54:14, Edit by GSCOTT 

Output error number in diag uuo errors ,^ ,^ 

Z:<6SC0TT.DFC1C>DFCIC1.MAC.65 30-Jul-85 11:38:31, Edit by GSCOTT 

Fix ill memory ref on TOPS-10 cause by bad index generation at GETINA^a few. 

Z:<GSC0TT.DFC1C>DFCIC1.MAC.15 16-Jul-85 13:30:13, Edit by GSCOTT 

Start TOPS-10 conversion 

TITLE DFCIC Cluster Test Protocol Responder 
SUBTTL Definitions 



; Program version 



VEDIT==14 
DECVER==3 



LOC 137 

<DECVER>B1UVEDIT 

RELOC 



;Edit number 
.-Major version 

.•Where versions a stored 
;Set version number 
.'Relocatable code 



Comment 



Copyright 1984, 1985 

Digital Equipment Corporation 

Marlboro, Massachusetts 01752 

Author: Ron Stravinski 
Update Author: Gregory A. Scott 



.•Assembler directives 

SEARCH MONSYM.UUOSYM ;Get symbols for program use 
SALL .'Suppress rr^cro expansions 

.DIREC FL8LST .-First line binary listing only 

.-Define the ACs we will use today 

ACO==0 
AC1==1 
AC2==2 
AC3==3 
AC4==4 
AC5=:.5 

im 

AC10==10 
AC11==11 
AC12==12 
AC13==13 



0O51 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 1-1 
DFC1C1 MAC 27-Aug-85 08:25 Definitions 



SEO 006A 



60 



000016 


AC16==16 


000016 


CURSTS==AC16 


000017 


P==17 



.-Current rhblk 
;Staclc ac 



- status, ,cbU a(idress 



0052 



DFCIC 
DFCIC1 



I 

72 
73 
74 
75 

80 
13 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 2 
MAC 27-Aug-65 08:25 Definitions 



SEQ 0065 



000000* (u- 106 103 111 103 



.•Macros for our use today 

;Macro to produce a trace message 



;; Trace in effect? 

AC1 ;;Yes, save ACl 

AC1.CASCIZ ""TEXt 

;;Load the message 
;; Print on terminal 
; .-Restore ACl 
; .-Return 



PkINTT 
«C1 



DEFINE TRMS6(TEXT).< 
SKIPE TRACE 
GO [PUT 
HRROI 
-] 

GO 
GET 
RTN] 
>;end of DEFINE TRMSG 

.-Macro to produce a fatal error m«»ssage then exit 

DEFINE CRASH(CODE.TEXT).< ' . ^ , 

S..*CODE':!JRST [HRROI AC1.CASCIZ/? fatal error 'CODE': TEXT 

GO PRINTT .-.-Print message 
JRST HALTP] .-.-Halt program 
>;end of DEFINE CRASH 

.-Macro to produce announce text. 

DEFINE PRVERS (EDIT.DEC)-< .... . ..-r. /.rrxtr. ^ 

ASCIZ /DFCIC - Cluster Test Protocol Responder version 'DtC ('EDIT') 

/>;End of DEFINE PRVERS 



ANNOUN: PRVERS(\VEDIT.\DECVER) 



.-Generate text here 



-aiawMilMliitMMiMM 



iW U Mil Wnn I 'l l Kl lli i l 'm i ll ii n. ' |«1I| i Hil < ii « X . im i rw ill r i ii i n ili r il1#i ' im>»iwfc»«l ij> M) l 



1 



DFCIC 
DFC1C1 

93 
9A 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
1U 
115 
116 
117 
118 
119 
120 
121 
122 
123 
12A 
125 
126 
127 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 3 
MAC 27-Aug-85 08:25 Definitions 

; Static definitons 



SEQ 0066 



000040 


COUNT==^D32 


000010 


RHBPER==^D8 


000230 


MXD6M==^D152 


000004 


RHBLEN==4 


000012 


CBKLEN==^D10 


000020 


MAX0PC==^D16 


000100 


RES0FS==*D64 


000074 


TIMELN==*D60 


000020 


SP0FST==*D16 




; Index symbols 


000000 


FLINK==0 


000000 


SIXCID==0 


000001 


BLINK==1 


000001 


RPCNT==1 


000002 


STATUS==2 


000003 


CTPPKT==3 




; Index symbols 


000000 


CID==0 


000001 


CBSTS==1 


000002 


REQ1==2 


000003 


REQ2==3 


000004 


N0DE==4 


000005 


L0CPRT==5 


000006 


BFSCA1==6 


000007 


BUFF1==7 


000010 


BFSCA2==8 


000011 


BUFF2==9 



Maximum number of virtual circuits 

M Of req header blks/connection block 

Ei. 4 Msg l 4 dgm buffers are queued/connection 

Maximum datagram size 

Request header blk length 

Connection blk length 

Maximum number of opcodes 

Response offsetCrequest opcode+64) 

Time(min) between spear entries 

Max 15 other nodes/ci. Spear table offset. 



for the cblk 



;Forward link(rh) 

;6 Bit cid used in sea connect(lh) 

.-Backward link(rh) 

;Storage for ctp repcount(lh) 

;Status,,cblk address 

.•Start of ctp packetCrblk address) 



Connect id 

Cblk status word 

1st rhblk address 

2Nd rhbvk address 

Node number 

Local port number (ci number) 

32 Bit name sea gave us for 

Our buffer(bufxT address 
32 Bit name sea gave us for 

Our buffer(bufxT address 



r 



DFCIC 
0FCIC1 

128 

129 

130 

131 

132 

133 

134 

135 

136 

137 

138 

139 

140 

141 

142 

143 

144 

145 

146 

147 

148 

149 

150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 

161 

162 

163 

164 

165 

166 

167 

168 

169 

170 

171 

172 

173 

174 

175 

176 

177 

178 

179 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 4 
MAC 27-Aug-85 08:25 Definitions 



SEQ 0067 



000400 
000200 
000100 
000040 
000020 
000010 
000004 
000002 
000001 



200000 
100000 
040000 
020000 
010000 
004000 
002000 

000040 
000010 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



000000 
000000 
000000 
000000 
000000 
000000 
000000 

000000 
000000 



000000 
000003 
000000 



000000 
000001 
000002 



260740 000000 

263740 000000 

2617^*0 000000 

262740 000000 



000014' 777577 000014* 

000015' 

000215* 000 00 00 000000 

000216* 000000 000000 



;Bit definitions for rhblk(cursts) st&tus word 



DGMS6==1809 

CONT==1B10 

WAITT==1B11 

0VRDUE==1B12 

D6M==1B13 

VC60NE==1B14 

0NETIM==1B15 

0ONE==1B16 

G0BIT==1B17 

;Bit definitions for cbU status word 

THIRD==181 

6TINF0==1B2 

DMA==1B3 

0KT0SD==1B4 

6ANRES==1B5 

6A1C0N==1B6 

GA2C0N==1B7 

0VRDUE==1B12 
VCG0NE==1B14 

.•Connection & listen data definitions 

PCLTYP==0 
PCLVER=^3 
PCLREV==0 

;Sca reject and disconnect coJes 

NMATCH==0 

nATCH==l 

NRESRC==2 

.-Operator defined instructions 



OPDEF GO 

OPDEF RTN 

OPDEF PUT 

OPDEF GET 



[PUSH J PJ 

[POP J PJ 

[PUSH PJ 

[POP PJ 



.•Storage for the pushdown list 

PLIST: PLIST-PLISTE..PLIST 
PLISTS: BIOCK 200 
PLISTE: Z 

TRACE: 



Datagram via Message sery/ice. 

Continue bit(gobit) for 3rd party 

Waiting for a connection or a move resp 

Ctp response overdue 

Packet was received via a datagram 

Virtual vircuit has gone away 

One time flaa 

finished witn this ctp packet 

This ctp packet is ready to be executed 



This cblk is a 3rd party connection 
Store various information in the cblk 
Dma xfer(read or write) has completed 
"OK TO StUO" Data to remote node 
Generate activity no resource bit 
"REQV In cblk received its response 
"REQ2" In cblk received its response 

Ctp response overdue 

Virtual vircuit has gone away 



.•Protocol type 
.•Protocol version 
.•Protocol revision 



;No matching listen found 
.•Matching listen found 
;No resources available 



.•Subroutine call 
.•Subroutine return 
;Put data on push list 
;Get data from pu . ' .st 



;bnd of pushdown list 

;-1 r Typeout program text 



DFCIC 
DFC1C1 

180 

181 

182 

183 

18A 

185 

186 

187 

188 

189 

190 

191 

192 

193 

19A 

195 

196 

197 

198 

199 

200 

201 

202 

203 

204 

205 

206 

207 

208 

209 

210 

211 

212 

213 

214 

215 

216 

217 

218 

219 

220 

221 

III 

III 

11^ 

115 

lit 

111 

lis 

229 
230 



Cluster Test Protocol Res 
MAC 27-Aug-85 08:25 



i 



000217' 
000217' 
000220' 
000221 ' 
000222' 
000223' 
000224 ' 
000225' 
000226' 
000227' 
000230' 
000231 • 
000232' 
000233' 
000234 ' 
000235 ' 

000236' 
000237' 
000240' 
000241 • 

000242' 
000243' 
000244 ' 
00C245' 
000246' 
000247' 
000250' 
000251 ' 
000252' 
000253' 
000254 ' 
000255' 
000256' 
000257' 
000260' 
000261 ' 
000262' 
000263' 
000264 ' 
000265 • 
000266' 
000267' 
000270' 
000271 ' 
000272' 
000273' 



000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 





















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



nder MACRO 1538(1242) 11:18 27-Aug-85 Page 5 
Definitions 



.•Storage area for flags 

STRTF: 
SPEARF: Z 
INTFL6: Z 
WAITF: Z 
LASTF: Z 
RESPFG: Z 
GENFUN: Z 
GENCON: Z 
GENLEN: Z 
BUFLEN: Z 
BUFNAM: Z 
OPCODE: Z 
OTHERN: Z 
MOVETY: Z 
MONTYP: Z 
CYCL60: Z 

SCSCAL: BLOCK 1 
SCSERC: BLOCK 1 

scsFCN: Block i 

SCSBLK: BLOCK 1 



SEQ 0068 



000 00 
000 00 
000 00 
000 00 
000 00 
OoJ 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 



00 
00 
00 
00 
00 
00 
00 
00 
00 



00 






















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



DLYTIM 

DlYRBK 

CONIDC 

CONIDR 

CIDLOC 

OURNOD 

UAITIM 

UAITRB 

STRTAD 

UNSACT 

TIMES? 

SYSAC2 

CIPORT 

D6MSRV 

MSGSRV 

DMAURT 

DMARD 

DMACMP 

GAFLAG 

MAXMSG 

MAXDGM 

SCALBF 

SCARBF 

LBUFOF 

RBUFOF 

OGMMSG 



Z 
Z 
Z 
Z 
Z 
I 
I 
I 
I 
I 
I 
I 
I 
2 
I 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 



Start of storage area for flags 

If make a spear entry on start up 

Number of interrupts to service 

Uait jsys flag 

Last xfer - used in msg/dgm test 

-1 = Connect from a responder 

Storage for genfunct 

Storage for genconst 

Storage for aenlength 

Storage for Buflength 

Storage for bufname 

Storage for opcode 

Storage for other node 

= Read 1 = write 

-l=Tops20 0=topslO 

Divisor for jiffies: 50 or 60 

Remembered SCS caller 

SCS error code from last error 

Remembered SCS function code 

Remembered SCS arg block addr 

SCSBLK must follow SCSFCN! 

Temporary storage of the delay byte 

Temporary storage of the current rhblk 

Connect id of a recent cntrlr listen 

Connect id of a recent responder listen 

Used to make a cid when needed 

Storage for our node number 

3Rd party storage of the wait time 

3Rd party storage of the current rhblk 

Storage for the start address 

Storage for the unsolicited activity byte 

Time(min) of our last entry into spear 

Block length for "SYERR" 

Our local ports can be different ci's 

Count of recieved dgms 

Count of recieved msgs 

Count of dma writes 

Count of dma reads 

Count of dma xfers completed 

Gen act test 

Maximum msg xfer size 

Maximum dgm xfer size 

Sea local buffer 

Sea remote buffer 

Local buffer offset 

Remote buffer offset 

Flag for dgm u.ider msg service 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 6 
DFCIC1 MAC 27-Aug-85 08:25 Definitions 



SEQ 0069 



231 

232 

233 

234 

235 

236 

237 

238 

239 

2A0 

2A1 

242 

243 

244 

245 

246 

247 

248 

249 

250 

251 

252 

253 

254 

255 

256 

257 

258 

259 

260 

261 

262 

263 

264 

265 

266 

267 

268 

269 

270 

271 

111 



; Execution words 



000274' 000 00 00 000000 


TOPEXE: Z 


000275' 000 00 00 000000 


BOTEXE: 2 


000276' 000 00 00 000000 


CUREXE: 2 


000276' 


ENDF==.-1 




;Ctp status byte symbols 


000000 


SUCCES==00 


000001 


REALBU==01 


000002 


FAKEBU==02 




;Ctp status byte error s 


000366 


NOCONN==*D246 


000] 167 


PKTS2F==*D247 


000370 


N0DEUN=='*D248 


000371 


N0BUFM==*D249 


000372 


BUFLIM==*D250 


000373 


FUNCFL==*D251 


000374 


ROREFU==*D252 


000375 


NORESO==*D253 


000376 


NONSEN=='*D254 


000377 


NTI«PL==*D255 



;First ctp request to be executed(rhblk address) 
;Last ctp request to be executed 

.•Current address of executing rhblk 

;End of storage area for flags 



.'Successful status 

;Real buffer mapped/unmapped 

;Black hole buffer mapped/unmapped 



No connection exits 

Unable to use specified packet size 

Node unknown to sea 

No buffer mapped 

Buffer map limit exceeded 

Function failure 

Request refused 

Resource failure 

Request not understood 

Request not implemented 



000277' 111111 000301' 
000300' mill 000305' 



000301' 103 124 120 044 103 

000305' 103 124 120 044 122 

00031 1 ' 000 003 000 000 00 

000312' 000 00 00 000000 



;Byte pointers for the sea jsys monitor call. 

CNTRLR: -1,,CNTLR 
RSPNDR: -1,,RSPDR 

;Asc iz text storage for the sea jsys monitor call. 

CNTLR: ASC12/CTP$C0NTR0LLER / 
RSPDR: ASCI2/CTP$RESP0NDER / 
CONDAT: BYTE (8) PCLTYP.PCLVER,PCLREV,0 ;Two words 

2 ; Of Connection Data 



)7 



OFCIC 
DFC1C1 

273 

274 

275 

276 

277 

278 

279 

280 

281 

282 

283 

284 

285 

286 

287 

288 

289 

290 

291 

292 

293 

294 

295 

296 

297 

298 

299 

300 

301 

302 

303 

304 

305 

306 

307 

308 

309 

310 

311 

312 

313 

314 

315 

316 

317 

318 

319 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 7 
MAC 27-AUCI-85 08:25 Definitions 



SEQ 0070 



000313' 34 10 01 000000 



000314' 04 30 01 000000 



000315' 24 10 01 000000 
000316' 24 10 01 000000 
000317' 24 10 01 000000 



000320' 04 20 01 000000 
000321 ' 04 20 01 000000 



000322' 34 10 01 000000 
000323' 34 10 01 000000 
000324' 34 10 01 000000 
000325' 04 40 01 000000 
000326' 04 40 01 000000 



000327' 24 10 01 000000 
000330' 24 10 01 000000 
000331' 24 10 01 000000 



000332' 14 10 01 000000 
000333' 14 10 01 000000 



000334' 04 10 01 000000 
000335' 04 10 01 000000 



000336' 
000337' 
000340' 
000341 ' 
000342' 
000343' 
000344 ' 



24 20 
34 10 
04 40 
04 40 
04 40 
34 10 
34 10 













01 
01 
01 
01 
01 
01 
01 



000000 
000000 
000000 
000000 
000000 
000000 
000000 



.•Symbols for byte pointers. ^ ..... _.^ 
;Wnen using these byte pointers ad must contain the rbu address. 



.•Starting at byte 
OPCO: POINT 8.(AC1).7 

.•Starting at byte 1 
REFE: POINT 24.(AC1).31 

Starting at byte 5 



&UFT 
DELA 
STAT 



POINT 6.(AC1).15 
POINT 8.(AC1).15 
POINT 8.(AC1).15 



.-Starting at byte 6 
ACTC: POINT 16,(AC1).31 
REPC: POINT 16.(AC1).31 

Starting at byte 8 

POINT 8.(AC1).7 



§XTE 
GENF 
MOVE 
ACTB 
FCMD 



POINT 8.(AC1).7 
POINT 8-(ACl),7 
POINT 32.(AC1).31 
POINT 32.(AC1).31 



.•Starting at byte 9 



GENC 
PORT 
OTHE 



POINT 8.(AC1).15 
POINT 8.(AC1).15 
POINT 8.(AC1).15 



.•Starting at byte 10 
NOAC: POINT 8,(AC1).23 
PKTZ: POINT 8.(AC1).23 

:Starting at byte 11 
^KTM: POINT 8.(AC1).31 
POST: POINT 8.(AC1).31 

.•Starting at byte 12 



GENL 
P1ST 
BUFL 
CNOA 
STAR 
ACTN 
FSTS 



POINT 16.(AC1).15 
POINT 8,(AC1),7 
POINT 32.(AC1).31 
POINT 32.(AC1).31 
POINT 32.(AC1).31 
POINT 8.(AC1).? 
POINT 8.(AC1).7 



;1 Byte for opcode 

;3 Bytes for cmd reference * 

;1 Byte for buffer type 

;1 Byte for delay 

;1 Byte for ctp status 

;2 Byte for actual action count 
;2 Byte for repeat count 

;1 Byte for defaults 
;1 Byte for function 
;1 Byte for type of move 
;4 Bytes for activity buffer 
;4 Bytes for the failed cmd 



1 Byte for fill constant 
1 Byte for port/sea status 
1 Byte for othernode 



;1 Byte for unsolicited activity action 

;1 Byte for packet size 

;1 Byte for packet size multiple 

;1 Byte for path status 



2 Byte for generated length 

1 Byte for path 1 status 

4 Byte for size of buffer 

4 Byte for acks on path 

4 Byte for optional start address 

1 Byte containing # of activity cmds 

1 Byte containing status of failed cmd 



DFCIC 
DFC1C1 

320 

321 

322 

323 

32A 

325 

326 

327 

328 

329 

330 

331 

332 

333 

33A 

335 

336 

337 

338 

339 

3A0 

3A1 

3A2 

3A3 

34A 

345 

346 

347 

348 

349 

350 

351 

352 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 8 
MAC 27-Aug-85 08:25 Definitions 



SEQ 0071 



000345' 04 40 01 000000 
000346' 04 40 01 000000 



000347' 04 40 01 000000 
000350' 04 40 01 000000 



000351 ' 04 40 01 000000 
000352' 04 40 01 0^0000 



000353' 04 40 01 000000 
000354' 04 40 01 000000 



000355' 04 40 01 000000 



000356' 04 40 01 000000 



000357' 00 11 01 000000 
000360' II 03 01 000000 
000361 • 00 04 01 000000 



.•Starting at byte 16 
BUFS: POINT 32.(AC1).31 
CNON: POINT 32,(AC1),31 

.•Starting at byte 20 
BUFO: POINT 32.(AC1).31 
CONR: POINT 32.(AC1).31 

.•Starting at byte 24 
BUFD: POINT 32.(AC1).31 
CN1A: POINT 32.(AC1).31 

.•Starting at byte 28 
BUDO: POINT 32.(AC1).31 
CN1N: POINT 32.(AC1).31 

.•Starting at byte 32 
C1NR: POINT 32.(AC1).31 

.•Starting at byte 36 
DSDG: POINT 32.(AC1).31 



;4 Byte for local buffer name 
.•4 Byte for naks on path 

;4 Byte for local buffer offset 
;4 Byte for path no response 

;4 Byte for remote buffer name 
;4 Byte for acks on path 1 

;4 Byte for remote buffer offset 
;4 Byte for naks on path 1 

;4 Byte for path 1 no response 

.•4 Byte for total discarded dgm's 



;Symbols for "SPEAR" table byte pointers. .... 

;Wnen using these byte pointers ad must contain a spear table address. 

SPRBLN: POINT 9.(AC1).35 ;Block length for responder stat block 

SPRCIN: POINT 3.(AC1).26 ;Ci number 

SPRNOD: POINT 4.(AC1).35 ;Node number 



"1 



"1 



DFCIC 
DFCIC1 

353 

354 

355 

356 

357 

358 

359 

360 

361 

362 

363 

364 

365 

366 

367 

368 

369 

370 

371 

372 

373 

374 

375 

376 

377 

378 

379 

380 

381 

382 

383 

384 

385 

386 

387 

388 

389 

390 

391 

392 

393 

394 

395 

396 

397 



Cluster Test Protocol Responder 
MAC 27-Aug-85 08:25 



000362' 200 17 00 000014' 



000363' 402 00 00 000217* 
000364' 200 00 00 261040 
000365' 251 00 00 000276' 



000366' 
000367* 
000370' 
000371 ' 
000372' 
000373' 
000374 ' 
000375 ' 



200 01 

047 01 

400 01 

602 01 



334 01 
334 01 
476 00 
256 00 










000376' 561 01 00 000000' 
000377' 260 17 00 004550' 



000400' 2u! 00 00 000274' 
000401 ' 202 00 00 000274 ' 
000402' 202 00 00 000275' 



000403' 260 17 00 004472' 



MACRO Z53B(1242) 11:18 27-Aug-85 Page 9 
Initialization Code 

SUBTTL Initialization Code 

;The following code is executed only once (during start up). 



SEQ Q072 



START: MOVE P,PLIST 

;Init the flags area 

SETZM STRTF 

MOVE ACO, [STRTF, ,STRTF-H] 

BLT ACCENDF 

; Figure out the monitor type first 

AC1,CXCNHNT] 

AC1, 

AC1, 

ACU4823 

AC1,CRESETZ] 

ACKCCALLI 03 

MONTYP 

AC1 

.•Announce ourselves. 

HRROI AC1.ANN0UN 
6Q PRINTT 

.-Initialize the execution header words. 

MOVEI ACO.TOPEXE 
MOVEM ACO.TOPEXE 
MOVEM ACO.BOTEXE 

.•Enable capabilities 

GO ENABLE 



00 261041 


MOVE 


00 000041 


6ETTAB 


00 000000 


SETZ 


00 040000 


TRNE 


00 261042 


SKIPA 


00 261043 


SKIPA 


00 000234' 


SETOM 


00 000001 


XCT 



.•Initialize pushdown list 



.•Clear 1st flag 

.•Start of bit 

;End location of bit 



.-Load XCNMNT monitor type word 

;This will not call PA1o50 on the -20 

;Oops 

;Skip if T0PS-10 

;TOPS-20. load a twenty reset 

;TOPS-10. load a ten reset 

;T0PS-20- set the flag indicating that 

.•Reset the world 



.•Point to announce text 
.•Print that 



.•Get header address and 

; Store it in the top & bottom saying 

; No request blocks nave been received 



.•Enable your privi ledges 



.-Set up an interrupt channels and system. TOPS-20: Enable interrupt channel 
;for TIMERX and 4 channels for SCSI interrupts (datagram available, message 
.•available. DMA transfer complete, virtual connections and SCA related errors) 
;TOPS-10: two interrupt vectors are used, one for SCS. UUO and one for PITMR. 
;UUO interrupts. 



000404' 260 17 00 004360' 



GO 



IFPINT 



.•Inferior process interrupt 



OFCIC Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 10 
DFC1C1 MAC 27-Aug-85 08:25 Initialization Code 



SEQ 0073 



398 

399 

400 

401 

402 

403 

404 

405 

406 

407 

408 

409 

410 

411 

412 

413 

414 

415 

416 

417 

418 

419 

420 

421 

422 

423 

424 

425 

426 

427 

428 

429 

430 

431 

432 

433 

434 

435 

436 

437 

438 

439 

440 

441 

442 

443 



000405* 260 17 00 005136* 
000406' 260 17 00 005177* 



000407' 260 17 00 005635' 

000410' 201 01 00 005657' 

000411' 200 00 01 000001 

000412' 202 00 00 000247' 



000413' 137 00 00 261044 



000414' 
000415' 
000416' 
000417' 
000420' 
000421 • 
000422' 
000423' 



000424 • 
000425 ' 
000426' 
000427' 
000430' 
000431 ' 
000432 ' 
000433' 



260 17 

201 01 
200 00 
242 00 

202 00 
200 00 
242 00 
202 00 



402 00 
201 02 
260 17 
255 00 
201 01 

200 00 

201 01 
137 00 














00 005661 ' 

00 005704' 

01 000001 
00 000002 

00 000265' 

01 000002 
00 00000? 
00 00026u' 



00 000001 
00 000001 
00 005737' 
00 000000 

00 005767' 

01 000023 
00 007553' 
00 000360' 



000434' 260 17 00 004507' 
000435' 231 01 00 165140 
000436' 202 01 00 000254' 



;Here we "LISTEN" for a "CONNECT" from a controller and a resjjonder for the 
[•first time. When this "LISTEN" is answered with a "CONNECT"^ another TISTEN 
;is executed but from the interrupt routine. 



GO 
60 



LISTNC 
LISTNR 



.•Listen for an connect from controller 
.•Listen for an connect from responder 



;Get our node number and store it in ournod. 



GO LOCALN 

MOVEI ACl.LOCARG 

MOVE AC0,.SQLNN(AC1) 

MOVEM ACO. OURNOD 



;Get local node number 

;Use local node arg block for index 

;6et our node number 

; And store it 



.-Also store our node number in the spear block 

DPB ACO.CPOINT 4.SYSE10M.353 

;Get the maximum buffer transfer sizes for "TISG" and "D6M". 



GO 


BUFFSZ 


MOVEI 


AC1.BUFARG 


MOVE 


AC0..SQLMG(AC1) 


LSH 


ACO. 2 


MOVEM 


ACO.MAXMSG 


MOVE 


AC0..SQLDG(AC1) 


LSH 


ACO. 2 


MOVEM 


ACO.MAXDGM 


' port 


number and store 


SETZM 


ACl 


MOVEI 


AC2.1 


GO 


CONFIG 


JFCL 




MOVEI 


ACl.CNFARG 


MOVE 


AC0..SQLPN(AC1) 


MOVEI 


AC1.SYSE10*4 


DPB 


ACO.SPRCIN 



Do buffer size jsys 
Use buffer size arg block for index 
Get max "TISG" buffer size in words 
Now convert words to bytes 

And store it 

Get max "DGM" buffer size in words 
Now convert words to bytes 

And store it 



.-Zero cid 

;Use node # of 1 

;Do the config jsys 

.•Ignore errorTunlikelv) 

;Use config argument block for inde; 

;Get the port number 

;Use spear block for index 

;Port# to spe?*" table 



; Set up a time in location "TIMESP" which will be used for spear entries. 



GO UTIME 

IDIVI AC1.'"D1000**D60 

MOVEM ACl, TIMESP 



;Get the uptime in milliseconds 

.'Change ms to minutes 

.•Store the time count in minutes 



061 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 11 
DFCIC1 MAC 27-Aug-85 08:25 Mainline Code 



SEQ 0074 



4A4 

445 

446 

447 

448 

449 

450 

451 

452 

453 

454 

455 

456 

457 

458 

459 

460 

461 

462 

463 

464 

465 

466 

467 

468 

469 

470 

471 

472 

473 

474 

475 

476 

477 

478 

479 

480 

481 

482 

483 

484 

485 

486 

487 

488 

489 

490 

491 

492 

493 

494 

495 

496 
497 



000437' 
000440* 
000441 • 
000442' 
000443' 
000444 ' 
000445' 
000446' 

000447' 
000450' 
000451 ' 
000452' 
000453' 
000454' 
000455' 
000456' 
000457' 
000460' 
000461 ' 
000462 ' 

000463' 
000464 • 
000465 ' 
000466' 
000467' 
000470' 
000471 ' 



402 00 
260 17 
200 17 
200 00 
306 00 
254 00 
202 00 
260 17 

200 01 
200 00 
603 00 
260 17 
260 17 
200 01 
200 00 
323 00 
306 00 
254 00 
202 00 
254 00 

260 17 
260 17 
260 17 
336 00 
254 00 
370 00 
254 00 



































00 
00 
00 
00 
00 
00 
00 
00 

00 
01 
00 
00 
00 
00 
01 
00 
00 
00 
00 
00 



000221 • 
004425 • 
000014' 
000274 ' 
000274 ' 
000463' 
000276' 
003706' 

000276' 

000002 

000001 

000502' 

003164' 

000276' 

000000 

000463' 

000274 ' 

000463 ' 

000276' 

000447' 



00 003164' 
00 003263' 
00 004005' 
00 000220' 
00 000472' 
00 000220' 
00 000437' 



000472' 
000473' 
000474' 
000475' 
000476' 
000477' 

000500' 
000501 • 



476 
260 
332 
104 
201 
047 
255 
254 



00 
17 
00 
00 
01 
01 
00 
00 














00 
00 
00 
00 
00 
00 
00 
00 



SUBTTL Mainline Code 

.-This mainline routine runs in a loop looking for ctp request packets that are 
.•awaiting execution. If their aren't any request packets awaiting execution we 
;see if its time to make another spear entry, and see if any connections are 
;opened. If no connections are opened we disconnect all our connections to any 
;3rd party responder. We then suspend execution of this program until we get 
.•interrupted. 



MAINLN: SETZM 
GO 

HOVE 
HOVE 
CAIN 
JRST 
HOVEH 
GO 



HAINA: 



HAINC: 



HOVE 

HOVE 

TLNE 

GO 

GO 

HOVE 

HOVE 

JUHPLE 

CAIN 

JRST 

HOVEH 

JRST 

GO 

GO 

GO 

SKIPN 

JRST 

SOS 

JRST 



WAITF 

DISINT 

P.PLIST 

ACO.TOPEXE 

ACO.TOPEXE 

HAINC 

ACO.CUREXE 

GETINF 

AC1.CUREXE 

ACO.STATUS(ACI) 

ACO.(GOBIT) 

EXECT 

RHCBLK 

AC1.CUREXE 

ACO.FLINIC(ACI) 

ACO.HAINC 

ACO.TOPEXE 

HAINC 

ACO.CUREXE 

HAINA 

RHCBLK 

KIL3RD 

SPEAR 

INTFLG 

HAINC1 

INTFLG 

HAINLN 



No longer waiting for interrupt 

Diable interrupt system 

Safe to reset stack now 

Get top of execution list 

Have we received any requests yet? 

No 

Yes. store currently executing routine 

Store info in cblk 

Get rhblk address 

Get rhblk status word 

Is go set? 

Yes. request can be executed 

Check if any cblks should be removed 

Get rhblk address 

Get flink pointer to the next rhblk 

If -1 buffer has only been queued 

Have any more requests to do? 

No 

Store currently executing routine 

Now look for a rhblk with "GO" set 



Check if any cblks should be removed 
Kill 3rd party conn. Deq all rhblks 
See if we should make a spear entry 
Have any interrupts occured ? 
No 

Decrement interrupt count 
Off we go 



.-The yAIT jsys (or HI8ER forever UUO) dismisses this program from getting any 
.•runtime indefinitely. The only way we get out of the wait state is by qetting 
.•interrupted. When the interrupt is finished we come back tu the wait state, 
.•unless we change the return PC word in the interrupt routine. We do this in 
;the 'VC8RKN". '^INPDGH" "INPHSG", 'IIOSNpC". "INFPT"^And "DHAXFR" interrupt 
.•routines. We change the pc to ><AINLN" 



000221 • 


HAINC1: SETOH 


WAITF 


004440' 


GO 


ENAINT 


000234 • 
000306 


SKIPE 


HONTYP 


WAITX 




000000 


HOVE I 


ACl.O 


000072 
000000 


HIBER 


ACT. 


JFCL 




000437' 


JRST 


MAINLN 



Set the wait flag 
Enable interrupts 
Skip if TOPS-ID 
Stay here til we 
Load infinate wa 
ZU.,. 

Should never return 
but if it does, loop 



•? 

lit 



et an 
time 



interrupt 



062 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 12 
DFCIC1 MAC 27-Aug-85 08:25 Mainline Code 



SEQ 0075 



A98 

499 

500 

501 

502 

503 

50A 

505 

506 

507 

508 

509 

510 

511 

512 

513 

51A 

515 

516 

517 

518 

519 

520 

521 

522 

523 

524 

525 

526 

527 

528 

529 

530 

531 

532 

533 

534 

535 

536 

537 

538 

539 

540 

541 



<here we actually dispatch to a subroutine to execute a particular ctp 
lonwand. First we load the ac register "CURSTS with the stdtus(lh) 



;This is where we 

.•request command. First we load the ac reg.^..^. vw.w.- "■^■' ^"^ -v-v^-.... 
;and the cblk address(rh) of this ctp reguest. Then we check to see if this 
.•opcode is vol id. If not. we return a 17 in ac2 which will execute. the 
.••tiOTIMP*' routine. If the opcode is a valid one we use the opcode in ac2 as an 
; index pointer. 



000502' 

000502' 
000503' 
000504 ' 
000505 • 
000506' 
000507' 
000510' 
000511' 
000512' 
000513' 



261 17 00 000001 

261 17 00 000002 
200 01 00 000276' 
200 16 01 000002 
260 17 00 003521' 
260 17 1 02 000515' 
200 01 00 000276' 
202 16 01 000002 

262 17 00 000002 
262 17 00 000001 



EXECT 
;(12) 



000514' 263 17 00 000000 



(12) 



GO DISINT 

PUT AC1 

PUT AC2 

MOVE AC1.CUREXE 

MOVE CURSTS. STATUS(ACI) 

60 OPCHK 

60 aTSTTBL(AC2) 

MOVE AC1.CUREXE 

MOVEM CURSTS. STATUS(ACI) 

6ET AC2 

6ET AC1 

60 ENAINT 

RTN 



000515' 
000516' 
000517' 
000520' 
000521 ' 
000522' 
000523' 
000524 • 
000525 ' 
000526 ' 
000527' 
000530' 
000531 ' 
000532' 
000533' 
000534' 
000533' 
000536' 



000000 
000000 
000000 
000000 
OuJOOO 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



000537* 
000607' 
001034' 
001165' 
001477' 
001477' 
001717' 
002114' 
002320' 
002410' 
002515' 
002714' 
003027 • 
003337' 
003337' 
003337' 
003337' 
003337' 



.•Dispatch table for ctp request! 



TSTTBL: 



FUNCST 
MAPBUF 

UNMAPe 
MOVEBF 
GENMS6 
6EN0GM 
6ENRST 
6ENSTR 
SSUNSO 
CNF DAT 
CNTRRD 
CTPCON 
LISDIS 
NOT IMP 
NOT IMP 
NOT IMP 
NOT IMP 
NOT IMP 



.•Disable the interrupt system 
;Save ac's 

;6et rhblk address 

;6et rhblk stati'S word in the ac 

.•Check if opcode is a valid one 

.•Do the ctp function 

;6et rhblk address 

.•Restore rhblk status word 

.•Restore ac's 

.•Enable the interrupt system 
.•Return 



Opcode - function 



Ob - 


Function 


rsp - 


38 


01 - 


Buff map 


rsp - 


20 


02 - 


Buf unmp 


rsp - 


20 


03 - 


Move buf 


rsp - 


i2 


04 - 


6en msg 


rsp - 


128 


05 - 


6en dtgm 


rsp - 


512 


06 - 


6en rest 


rsp - 


11 


07 - 


6en strt 


rsp - 


16 


08 - 


S/s unso 


rsp - 


06 


09 - 


Con data 


rsp - 


13 


10 - 


Cntr rd 


rsp - 


40 


11 - 


Connect 


rsp - 


06 


12 • 


Lstr dis 


rsp - 


06 


13 - 


Mbuf map 


rsp - 


20 


14 - 


Mbf umap 


rsp - 


f!2 


15 - 


Mov mbuf 


rsp - 


28 


16 - 


Mn state 


rsp - 


06 


Non 


valid ctp opcode 



mandatory 



mandatory 
mandatory 



mandatory 
mandatory 
mandatory 

mandatory 



, - |.l<fc««. H i -^ ti<l.« 



r 



X)63 



DFCIC 
DFCIC1 

542 

5A3 

5A4 

545 

546 

547 

548 

549 

550 

551 

552 

553 

554 

555 

556 

557 

558 

559 

560 

561 

562 

563 

564 

565 

566 

567 

568 

569 

570 

571 

572 

573 

574 

575 

576 

577 

578 

579 

580 

581 

582 

583 

584 

585 

586 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 13 
WAC 27-Aug-85 08:25 CTP Function Set 

SUBTTL CTP Function Set 



SEQ 0076 



000537* 
000540' 
000541 • 
000542* 
000543' 
000544* 
000545* 
000546* 
000547* 
000550* 
000551 * 
000552* 



332 
260 
260 
260 
260 
661 
621 
200 
202 
260 
255 
263 



00 
17 
17 
17 
17 
16 
16 
01 
16 
17 
00 
17 














00 
00 
00 
00 
00 
00 
00 
00 



01 









00 
00 
00 



000216* 

261052 

003543* 

000553* 

000560* 

000002 

000001 

000276* 

000002 

004124* 

000000 

000000 



000553* ^61 17 00 000000 

000554* 201 00 00 000000 

000555* 260 17 00 003450* 

000556* 262 17 00 000000 

000557* 263 17 00 000000 



000560* 
000561 * 
000562* 
000563* 
000564 • 
000565* 
000566* 
000567' 

000570* 
000571 * 
000572' 
000573' 
000574' 
0005^3' 
0005^6' 



261 
2o' 
200 
200 
350 
200 
436 
505 
350 
540 
271 
251 
262 
262 
263 



17 
17 
01 
01 
00 
00 
00 
00 
00 
00 
01 
00 
17 
17 
17 










1 






1 







00 
00 
00 
01 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 

000001 

000276' 

000003 

000001 

000577' 

000001 

000600' 

00000 1 

000001 

000007 

000001 
000001 
000000 
000000 



:This routine tells the controller what set of opcodes this responder 
;Has implemented. Ue send back the table "OPCARY as part of the 
.-Response message, each bit represents an implemented opcode. 

FUNCST: TRWSG (Opcode: Function set) 



GO 

GO 

GO 

TLO 

TLZ 

MOVE 

WOVEN 

GO 

JFCL 

RTN 



CHGOPC 

VALOO 

AC TOO 

CURSTS,(DONE) 

CURSTS,(GOBIT) 

ACKCUREXE 

CURSTS,STATUS(AC1) 

SEND 



Change opcode from a req to a res. 
Check validity of the ctp request 
Perform action for the request 
Set the done bit 
Clear the gobit 

/*^«. 4.U^ .UCi L 



Get the rhblk 
Store the status 
Do the scsX jsys 
Error return 
Return 



;Load the ctp response status field. 

VALOO: PUT ACO 

WOVEI ACO^SUCCES 

GO LDSTUS 

GET ACO 
RTN 



;Save ac*s 
;Zero the 
; Status byte 
.'Restore ac*s 
.•Return 



in the ctp packet 



;Put the "OPCARY" table in the ctp response message, 



ACTOO: PUT ACO 

PUT AC1 

HOVE AC1.CUREXE 

HOVE ACI.CTPPKT(ACI) 

AOS AC1 

HOVE ACO. OPCARY 

lORH ACO. SAC 1 

HRLI ACO.OPCARY^I 

AOS AC1 

HRR AC0.AC1 

ADDI AC1.*D7 

BLT ACO.dACl 

GET AC1 

GET ACO 
RTN 



Save ac*s 

Get the rhblk 

Get the rblk address 

Hake it rblk^l 

Get start of 256 bit array 

Set in bytes 6 i 7 

Start with byte 8 or 3rd word 

Increment start address for bit 

Copy to the buffer area 

Xfer 7 words 

Do the block xfer 

Restore ac 

Return 



r 



DFCIC 
DFCIC1 

587 
588 
589 
590 
591 



59A 
595 
596 
597 
598 
599 
600 
601 
602 
603 
604 
605 
606 
607 

608 



Cluster 
«AC 



Test Protocol Responder 
27.Aug-85 08:25 



000577' 
000600' 
000601 • 
000602 • 
000603' 
00060A • 
000605 • 
000606' 



000003 
000000 
000003 
000000 
000 00 
000 00 
000 00 
000 00 



770760 

000000 

770760 

000000 
00 000000 
00 000000 
00 000000 
00 000000 



MACRO :53B( 1242) 11:18 27-Aug -85 Page U 
CTP Function Set 

.•This table is a 256 bit array used in the ''RESPONDER FUNCTION SET" response. 

;The start of this tab! j is actually the 6th byte of the response packet. 

;The 1st word represent '.s the ctp request commands used by this responder. 

;The 3rd word represents the ctp response commands used by this responder. 

;1St word = .'reference #(bits 0-7) lstatus(bits 8-15)1256 bit array.' starts at bit 161 



SEQ 0077 



OPCARY: 3,, 770760 

3,, 770760 



Z 

Z 

Z 

Z 



;Each bit represents a 
; Request opcode 
;Each bit represents a 
; Response opcode 



;Bit definition of the 1st and 3rd words of opcary: 

iiiask — 1 1 ,, 1 1 1 ! 1 1 1 I : 1 1 1 ; 1 1 ; 



; Opcode — 



00,,000!000;nnn:il1 I 00- I 

76,,543:2io:uuu:2io:98-: 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 15 
DFCIC1 MAC 27-Aug-85 08:25 CTP Buffer Map 



SEQ 0078 



609 

610 

611 

612 

613 

614 

615 

616 

617 

618 

619 

620 

621 

6^2 

6*>3 

624 

625 

626 

627 

628 

629 



000607' 
000610' 
00061 1 • 
000612' 
000613' 
000614' 
000615' 
000616' 
000617' 
000620' 
000621 ' 
000622 ' 
000623' 
000624 • 



332 
260 
260 
260 
254 
260 
255 
661 
621 
200 
202 
260 
255 
262 



00 
17 
17 
17 
00 
17 
00 
16 
16 
01 
16 
17 
00 
17 



00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
01 
00 
00 
00 



000216' 

261064 

003543' 

000625' 

000622 ' 

000701 ' 

000000 

000002 

000001 

000276' 

000002 

004 1 24 ' 

000000 

000000 



SUBTTL CTP Buffer Map 

;In this routine we map a buffer for the controller to. use. 
;We get an unused buffer (bufx) from our resource and give it to sea. 
;Sca gives us a name associated with that buffer. Ue in turn give 
;That name to the controller. 

MAPBUF: TRMSG (Opcode: Buffer map) 



MAPBUI 



60 

60 

JRST 

60 

JFCL 

TLO 

TLZ 

MOVE 

MOVEM 

60 

JFCL 

RTN 



CH60PC 
VAL01 
MAPBUI 
ACTOl 

CURSTS,(DONE) 

CURSTS,(60BIT) 

ACUCUREXE 

CURSTS,STATUS(AC1) 

SEND 




return 
;Set the done bit 
.•clear the gobit 
;6et the rhbU 
; Store the status 
;Send the ctp response message 
.-Virtual circuit gone return 
; Return 



._-......» 1 



DFCIC 
DFCIC1 

630 

631 

632 

633 

63A 

635 

636 

637 

638 

639 

6A0 

6A1 

6A2 

6A3 

6A4 

645 

646 

647 

648 

649 

650 

651 

652 

653 

654 

655 

656 

657 

658 

659 

660 

661 

662 

663 

664 

665 

666 

667 

668 

669 

670 

671 

672 

673 

674 

675 

676 

677 

678 

679 

680 

681 

682 



Cluster Test Protocol Responder MACRO X53B(1242) 
MAC 27-AUQ-85 08:25 CTP Buffer Map 



11:18 27-Aug-85 Page 16 



SEQ 0079 



000625' 
000626' 
000627* 
000630' 
000631 • 
000632' 
000633' 
000634' 
000635' 
000636' 
000637' 
000640' 
000641 ' 
000642' 
000643' 
000644 ' 
000645' 
000646' 
000647' 
000650' 
000651 ' 
000652' 
000653' 



17 
17 
17 
17 



261 
261 
261 
261 
200 01 

200 03 

201 01 
135 00 
302 00 















307 00 
254 00 
201 00 
254 00 
260 17 



254 
201 
254 



00 
00 
00 



201 
135 



01 
00 



307 00 



254 
201 
254 



00 
00 
00 



000654' 550 01 

000655' 33? 00 

000656' 5ic 00 

000657' 254 00 

000660* 201 00 

000661 ' 254 00 



00 000000 
00 000001 
00 000002 
00 000003 

00 000276' 

01 000003 
03 000001 
00 000315' 
00 000000 
00 000641 • 
00 000376 
00 000671 • 
00 000002 
00 000645' 
00 000376 
00 000671 ' 
00 003450' 
03 000002 
00 000323' 
00 000002 
00 000654' 
00 000376 
00 000671 ' 



00 000016 

01 000006 
01 000010 
00 000662' 
00 000372 
00 000671 ' 



000662' 
000663' 
000664 * 
000665* 
000666 * 
000667* 
000670* 

000671 * 
000672* 
000673* 

000674 * 

000675 * 
000676* 
000677' 
000700* 



201 

135 

260 

202 00 

307 00 

254 

201 



01 
00 
17 



00 
00 



260 
334 
350 
262 
262 
262 
262 
263 



17 
00 
00 
17 
17 
17 
17 
17 



03 000003 
00 000340* 
00 003463* 
00 000227' 
00 002000 
00 000673' 
00 000375 

00 003450' 
00 000000 
17 77777^ 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



;Check the validity of the ctp request 



VAL01 : PUT 
PUT 
PUT 
PUT 
MOVE 
MOVE 
MOVE I 
LDB 
CAIE 
JRST 
MOVE I 
JRST 

VAL01G: CAIG 
JRST 
MOVE I 
JRST 

VAL01A: 60 

MOVE I 

LDB 

CAIG 

JRST 

MOVE! 

JRST 



ACO 

AC1 

AC2 

AC3 

ACUCUREXE 

AC3,CTPPICT(AC1) 

AC1J(AC3) 

ACO.BUFT 

ACO-0 

VAlOiG 

ACO-NONSEN 

VAL01X 

ACO-2 

VAL01A 

ACO-NONSEN 

VALOIX 

LDSTUS 

AC1..2(AC3) 

ACO^GENF 

AC0.2 

VAL01C 

ACO.NONSEN 

VALOIX 



;Sa\/e ac's 



Get rhblk 

Now get the rblk 

Get Buftype address word 

Get buftype 

Value 0? 

No 

Yes, do reguest not understood 

Take the +1 error return 

Value bigger than 2? 

No, continue 

Yes, do reguest not understood 

Take the "♦■i error return 

Go load status value of 1 or 2 

Get genfunct address word 

Get genfunct 

Value bigger than 2? 

No, continue 

Yes, do reguest not understood 

Take the -♦■i error return 



; Check to see is if we already have 2 buffers mapped. 



VAL01C: 



HRRZ 

SKIPE 

SKIPN 

JRST 

MOVE I 

JRST 



AC1,CURSTS 

BFSCAKACI) 

BFSCA2(AC1) 

VAL01D 

ACO-BUFLIM 

VALOIX 



;Check to see if 'BUFLENGTH" is to big, 



VAL01D: 



MOVE! 

LDB 

GO 

MOVEM 

CAIG 

JRST 

MOVE I 



VALOIX: GO 

SKI PA 

VAL01S: AOS 
GET 
GET 
GET 
GET 
RTN 



AC1,3(AC3) 

ACO,BUFL 

PlltiO 

ACO,BUFLEN 

AC0/D1024 

VALOIS 

AC0,NORESO 

LDSTUS 

-4(P) 

AC3 

AC2 

AC1 

ACO 



;Get cblk 

;Is this sea buffer being used? 
;Yes, is this sea buffer being used? 
;No, we have room to map anotner 
;Yes, do buffer map limit exceeded 
;lake the +1 error return 



;Get buf length address word 

;Get buflength 

; Change pdpTI word to pdpIO word 

.-Store the buffer length 

;Over max no of words? 

;No, take the +2 return 

;Yes, do resource failure 

;Load the status byte in the rblk 
;Take the -♦'1 error return 
;+2 Return 



;Return 



■■•- ~-i 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 17 
0FCIC1 MAC 27-Aug-85 08:25 CTP Buffer Map 



SEQ 0080 



683 

684 

685 

686 

687 

688 

689 

690 

691 

692 

693 

694 

695 

696 

697 

698 

699 

700 

701 

702 

703 

704 

705 

706 

707 

708 

709 

710 

711 

712 

713 

714 

715 

716 

717 

713 

719 

720 

721 

722 

723 

724 

725 

726 

111 

72% 

729 



000701 • 
000702' 
000703' 
000704' 
000705 • 
000706' 



000707' 
000710' 
00071 1 • 
000712' 
000713' 
000714' 



261 17 00 000000 

261 17 00 000001 

261 17 00 000002 

261 17 00 000003 

261 17 00 000004 

261 17 00 000005 



260 17 00 003243' 
202 01 00 000230' 
332 00 00 000001 
254 00 00 000715' 
201 00 00 000375 
254 00 00 001022' 



000715' 200 01 00 000001 
000716' 200 02 00 000227' 
000717' 260 17 00 006013' 
000720' 254 00 00 000740' 
000721 ' 202 01 00 000005 



000722' 476 00 1 00 000230' 



000723' 
000724 ' 
000725' 
000726' 
000727' 
000730' 
000731 • 
000732' 
000733' 
000734 • 
000735 • 
000736' 
000737' 
000740' 
000741 ' 



550 01 
332 00 
254 00 
202 05 
200 04 
202 04 
254 00 
332 00 
254 00 
202 05 

200 04 
202 04 
254 00 

201 00 
254 00 



;Do the function the ctp request packet demanded 



ACT01: 



PUT 


ACO 


PUT 


AC1 


PUT 


AC2 


PUT 


AC3 


PUT 


AC4 


PUT 


AC5 



;Sa\/e ac's 



;Get an available buffer(bufx). 

GO BUFAV 

MOVEM ACI^BUFNAM 

SKIPE AC1 

JRST ACT01A 

MOVEI ACO.NORESO 

JRST ACTOIX 

;6et a buffer name from sea. 

ACT01A: MOVE AC1,AC1 

MOVE AC2,BUFLEN 

GO GETBUF 

JRST ACT01M 

MOVEM AC1,AC5 



;6et a buffer 

; Store buffer name 

;Any buffers available? 

;Yes, continue 

;No, do resource failure 

;Exit, take •♦•1 error rtn 



.•Memory address (bufx) 
;Size of buffer 
;6et the sea buffer name 
;Error - do noresources 
;Store buffer name in ac5 



;Make this buffer (bufx) unavailable to everyone else. 
SETOr aBUFNAM ;-1 to Bufx 





;Now store both 


buffer nam<»s in the 


cblk. 


00 000016 


HRRZ 


AC1.CURSTS 




01 000006 


SKIPE 


BFSCAKACI) 




CO 000732' 


JRST 


ACT01L 




01 000006 


MOVEM 


AC5.BFSCA1(AC1) 




00 000230' 


MOVE 


AC4,BUFNAM 




01 000007 


MOVEM 


AC4.BUFF1(AC1) 




00 000742' 


JRST 


ACTOIN 




01 000010 


ACT01L: SKIPE 


BFSCA2(/J) 




00 000740' 


JRST 


ACT01M 




01 000010 


MOVEM 


AC5,BFSCA2(AC1) 




00 00023 0' 


MOVE 


AC4,BUFNAM 




01 000011 


MOVEM 


AC4.BUFF2(AC1) 




00 000742' 


JRST 


ACTOIN 




00 000375 


ACTCIH: MOVE] 


ACO-NORESO 
ACTOIX 




00 001022' 


JRST 





Get the cblk 

1st location empty? 

No, iry 2nd location 

^es, store the sea buffer name 

Get our buffer name(bufx) 

And store it 
Continue 

2Nd location empty? 
No, do no resources 
Yes, store the sea buffer name 
Get our buffer name(bufx) 

And store it 
Continue 

No< do resource failure 
Exit, take +1 error rtn 



DFCIC 
DFCIC1 

730 

731 

732 

733 

73A 

735 

736 

737 

738 

739 

740 

741 

742 

743 

744 

745 

746 

747 

748 

749 

750 

751 

752 

753 

754 

755 

756 

757 

758 

759 

760 

761 

762 

763 

764 

765 

766 

767 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 18 
MAC ?7-Aua-85 08:25 CTP Buffer Mao 



MAC 27-Aug-85 08:25 



000742' 
000743' 
000744 • 
000745* 
000746* 
000747' 
000750' 



200 00 
242 00 
260 17 
200 01 

200 03 

201 01 
137 00 



00 000005 
00 11111k 
00 003502' 

00 000276' 

01 000003 
03 000004 
00 000345' 



000751' 200 01 00 000276' 
000752' 200 03 01 000003 
000753' 201 01 03 000002 
000754' 135 00 00 000323' 
000755' 202 00 00 000224' 



000756' 135 00 00 000327' 
000757' 202 00 00 000225' 



000760' 201 01 03 000003 
000761' 135 00 00 000340' 
000762' 260 17 00 003463' 
000763' 20? 00 00 000227' 



000764' 200 04 00 000230' 
000765' 201 00 00 000000 
000766' 312 00 00 000224* 
000767' 254 00 00 000775' 



CTP Buffer Map 

;Now store the buffer nawe in the ctp packet. 



SEQ 0081 



ACT01N: MOVE 
LSH 
GO 

MOVE 
MOVE 
MOVE I 
DPB 



AC0,AC5 

AC0,-4 

P10T11 

AC1,CUREXE 

AC3,CTPP)CT(AC1) 

AC1,4(AC3) 

ACO.BUFS 



;6et genfunct and store it 

MOVE ACUCUREXE 

MOVE AC3,CTPP<T(AC1) 

MOVEI AC1,2(AC3) 

LDB AC0,6ENF 

MOVEM ACO^GENFUN 

;Get genconst and store it 



LDB 
MOVEM 



ACO,GENC 
AC0,GENCON 



;Get buffer name in ^cO 

.•Right justify it 

; Change name to pdp11 format 

;Get rhblk 

;Now get the rblk 

;Get Duflname address word 

.-Store buffer name in the ctp packet 



.-Get rhblk 

.-Now get the rblk 

;Get genfunct address word 

;6et genfunct 

.•Store it 



;6et genconst 
.•Store it 



;Get buf length and store it 

MOVEI AC1.3(AC3) 

LDB ACO.BUFL 

GO P11T10 

MOVEM ACO.BIIFLEN 

;Here we fill the buffer with one of the following: a constant. 
;8yte pairs, or the responder node number. 



;Get buflength address word 
;Get buflength 

.•Change pdpTl word to pdpIO word 
.•Store it 



MOVE 
MOVEI 
CAME 
JRST 



AC4.8UFNAM 
ACO.O 

ACO.GENFUN 
ACT01B 



;Get bufx 

.-Get a v/alue 

;Fill buffer with constant? 

;No 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 19 
DFC1C1 MAC 27-Aug-85 08:25 CTP Buffer Map 



SEQ 0082 



768 

769 

770 

771 

772 

773 

774 

775 

776 

777 

778 

779 

780 

781 

782 

783 

78A 

785 

786 

787 

788 

789 

790 

791 

792 

793 

794 

795 

796 

797 

798 

799 

800 

801 

802 

803 

804 

805 

806 

807 

808 

809 

810 

811 

812 

813 



000770* 
000771 • 
000772 • 
000773' 
000774 • 
000775 • 
000776* 
000777* 



001000* 
001001* 
001002* 
001003* 
001004* 
001005* 
001006* 
001007* 
001010* 
001011* 
001012* 
001013* 



001014* 
001015* 
001016* 
001017* 
001020* 
001021* 

001022* 
001023* 
001024* 
001025* 
001026* 
001027* 
001030* 
001031* 
001032* 
001033* 



200 03 
200 00 
200 02 
136 00 



367 03 
201 00 
312 
254 



00 
00 










00 000227* 
00 000225- 
00 261071 
00 000002 
00 000773* 
00 000001 
00 000224* 
00 001011* 



200 03 00 

201 05 00 
200 02 00 

200 00 00 
136 00 00 
242 00 00 
136 00 00 
350 00 00 
367 05 00 

201 00 C 00 



312 00 
254 00 



00 
00 



000227* 

000000 

261071 

000005 

000002 

777770 

000002 

000005 

001003* 

000002 

000224 * 

001024* 



200 03 00 000227* 
2uJ 00 00 000247* 
200 02 00 261071 
136 00 00 000002 
367 03 00 001017* 
254 00 00 001024* 

260 17 00 003450* 
334 00 00 000000 
350 00 17 777772 
262 17 00 000005 
262 17 00 000004 
262 17 00 000003 
262 17 00 000002 
262 17 00 000001 

262 17 00 000000 

263 17 00 000000 



;Fill buffer with constant 



MOVE 
HOVE 
HOVE 
IDPB 
SOJG 
ACTOIB: HOVEI 
CAME 
JRST 



AC3,BUFLEN 

ACO.GENCON 

AC2, [POINT 8,(AC4)] 

AC0,AC2 

AC3,.-1 

ACOJ 

AC0.6ENFUN 

ACT01C 



;FUl buffer with byte pairs 



HOVE 

HOVEI 

HOVE 

ACT01H: HOVE 
IDPB 
LSH 
IDPB 
AOS 
SOJG 

ACT01C: HOVEI 
CAME 
JRST 



AC3,BUFLEN 

AC5,0 

AC2, [POINT 8,(AC4)3 

AC0,AC5 

AC0,AC2 

AC0,-'*D8 

AC0,AC2 

AC5 

AC3,ACT01H 

AC0,2 

AC0-6ENFUN 

ACT01S 



;Yes, get size of bufsiz in bytes 

;6et tne fill constant 

;Init pointer 

.•Deposit the fill constant in the byte 

;Fill ♦The buffer 

;Get a .ue ... 

;Fill buffer with byte pair numbers? 

;No 



Yes, get size of bufsiz in bytes 

Get tne 1st byte pair number 

Init pointer 

Get 1st byte pair 

Deposit the 1st byte 

Go to 2nd byte 

Deposit the 2nd byte 

Increment byte pair number 

Fill up the buffer 

Get a value 

Fill buffer with responder node number? 

No 



.-Fill buffer with the responder node number 



ACT01X: 
ACT01S: 



HOVE AC3,BUFLEN 

HOVE ACO^OURNOD 

HOVE AC2, [POINT 8,(AC4)] 

IDPB AC0,AC2 

SOJG AC3-.-1 

JRST ACTOIS 

GO LDSTUS 
SKIPA 

AOS -6(P) 

GET AC5 

GET AC4 

GET AC3 

GET AC2 

GET AC1 

GET ACO 
RTN 



;Yes, get size of bufsiz in bytes 

;Get our node number 

;Init pointer 

.•Deposit the node number in the byte 

;Fill up the buffer 

;No 

;Load the status byte 
;Take the •♦•I error rtn 
.•Normal skip return 
.-Restore ac*s 



;Error return 



"1 



ro 



DFCIC 
DFCIC1 

8U 

815 

816 

817 

818 

819 

820 

821 

822 

823 

824 

825 

826 

827 

828 

829 

830 

831 

832 

833 

83A 

835 

836 

837 

838 

839 

840 

841 

842 

843 

844 

845 

846 

847 

848 

849 

850 

851 

852 

853 

854 

855 

856 

857 

858 

859 

860 

861 

862 

863 

864 

865 

866 

867 

868 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 20 
MAC 27-Aug-85 08:25 CTP Buffer Unmap 



001034' 
001035' 
001036' 
001037' 
001040' 
001041' 
001042' 
001043' 
001044' 
001045' 
001046' 
001047' 
001050' 
001051' 



332 
260 
260 
260 
254 
260 
255 
661 
621 
200 
202 
260 
255 
263 



00 
17 
17 
17 
00 
17 
00 
16 
16 
01 
16 
17 
00 
17 




















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
01 
00 
00 
00 



000216' 

261077 

003543' 

001032' 

001047' 

001111' 

000000 

000002 

000001 

000276' 

000002 

004124' 

000000 

000000 



001052' 
001053' 
001054' 
001055' 
001056' 
001057' 
001060' 
001061' 
001062' 
001063' 
001064' 
001065' 
001066' 
001067' 
001070' 
001071' 



001072' 
001073' 
001074' 
001 C75' 
001076' 
001077' 
001100' 
001101' 
001102' 
001103' 
001104' 
001105' 
001106' 
001107' 
001110' 



261 
261 
261 
261 



17 
17 
17 
17 







200 01 
200 03 



201 01 
135 00 
30? 00 

CO 

201 








254 00 
307 00 
254 00 
201 00 
254 00 



00 
00 



00 000000 
00 000001 
00 000002 
00 000003 

00 000276' 

01 000003 
03 000001 
00 000315' 
00 000000 
00 001066' 
00 000376 
00 001101 • 
00 000002 
00 001072' 
00 000376 
00 001101' 



260 
201 
135 
260 
307 
254 
201 
260 
334 
350 
262 

262 
263 



17 
01 
00 
17 
00 
00 
00 
17 
00 
00 
17 
17 
17 
]7 
17 





















00 003450' 
03 000003 
00 000340' 
00 003463' 
00 002000 
00 001103' 
00 000375 
00 003450' 
00 OQOQOO 
17 777m 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



Unmap 

SUBTIL CTP Buffer Unmap 
;Here we unmap a buffer from sea. 
JNMAPB: TRMS6 (Opcode: Buffer unmap) 



UNMAP 1 : 



GO 

GO 

JRST 

GO 

JFCL 

TLO 

TLZ 

HOVE 

MOVEM 

GO 

JFCL 

RTN 



CHGOPC 
VAL02 
UNMAP1 
ACT02 

CURSTS,(DONE) 

CURSTS,(GOBIT) 

ACUCUREXE 

CURSTS,STATUS(AC1) 

SEND 



.•Check the validity of the ctp request 



VAL02 : PUT 
PUT 
PUT 
PUT 
MOVE 
MOVE 
MOVE I 
LDB 
CAIE 
JRST 
MOVEl 
JRST 

VAL02G: CAIG 
JRST 
MOVE I 
JRST 



ACO 

ACl 

AC2 

AC3 

AC1,CUREXE 

AC3,CTPPKT(AC1) 

AC1J(AC3) 

ACO.BUFT 

ACO.O 

VAL02G 

ACO-NONSEN 

VAL02X 

ACO-2 

VAL02A 

AC0,NONSEN 

VAL02X 



.-Check to see if 'BUFLENGTH" is to big. 



VAL02A: GO 

MOVE I 

LDB 

GO 

CAIG 

JRST 

MOVE I 

GO 

SKI PA 

AOS 

GET 

GET 

GET 

GET 

RTN 



VAL02X: 
VAL02S: 



LDSTUS 

AC1.:(AC3) 

ACO.BUFL 

PllflO 

AC0/D1024 

VAL02S 

ACO.NORESO 

LDSTUS 

-4(P) 

AC3 

AC2 

ACl 

ACO 



SEQ 0083 



Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity check 

Perform action for the reque?*" 

Error return 

Set the done bit 

Clear the gobit 

Get the rhblk 

Store the status 

Send the ctp response message 

Virtual circuit gone return 

Return 



.-Save ac's 



Get rhblk 

Now get the rblk 

Get Duftype address word 

Get buftype 

Value 0? 

No 

Yes. do reguest not understood 

Take the *T error return 

Value bigger than 2? 

No, continue 

Yes, do reguest not understood 

Take the ♦! error return 



Go load status value of 1 or 2 

Get buflength address word 

Get buflength 

Change pdpTi word to pdp10 word 

Over max no of words? 

No, take the ^2 return 

Yes, do resource failure 

Load the status byte in the rblk 

Take the +1 error return 

^2 Return 



.-Return 



..J 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 21 
DFC1C1 MAC 27-Aug-85 08:25 CTP Buffer Unmap 



SEQ 008A 



869 

870 

871 

872 

873 

87A 

875 

876 

877 

878 

879 

880 

881 

882 

883 

884 

885 

886 

887 

888 

889 

890 

891 

892 

893 

89A 

895 

896 

897 

898 

899 

900 

901 

902 

903 

904 

905 

906 



001 11 r 261 17 00 000000 

001112' 261 17 00 000001 

001113' 261 17 00 000002 

001 1U' 261 17 00 000003 



001115' 
001116* 
001117' 
001120' 
001121' 
001122' 
001123' 



001 124' 
001125' 
001126' 
001127' 
001130' 
001131' 
001132' 
001133' 
001 1 34 ' 
001135' 

001136' 
001137' 
001140' 
001141' 
001142' 
001143' 
001144' 
001145' 



200 01 

200 03 

201 01 
135 00 
260 17 
242 00 

202 00 













00 
01 
03 
00 
00 
00 
00 



000276' 

000003 

000004 

000345' 

003463' 

000004 

000267' 



476 00 
201 03 
350 00 
200 04 
312 00 



254 00 
402 00 
200 00 









402 00 1 
254 00 



00 000002 
00 000040 
00 000002 
02 010556' 
04 000006 
00 001136' 
04 000006 
04 000007 
00 000000 
00 001151' 



3ii 00 
367 03 
336 00 
254 00 
402 00 
200 00 
402 00 
254 00 









1 




04 
00 
00 
00 
04 
04 
00 
00 



000010 

001126' 

000003 

001146' 

000010 

00001 1 

000000 

001151' 



;Do the function the ctp request packet demanded 

ACT02: PUT ACO ;Say/e ac's 

PUT AC1 

PUT AC2 

PUT AC3 

;6et the 'BUFLNAME" from the ctp packet 

MOVE AC1,CUREXE 

MOVE AC3,CTPPKT(AC1) 

MOVEI AC1,4(AC3) 

LDB ACO,BUFS 

60 P11T10 

LSH ACO, 4 

MOVEM ACO^SCALBF 

;See if this buffer is really mapped by looking in the cblks. 



;6et rhblk 
;Now aet the rblk 
;6et Duflname address 
;6et buffer name from 
.'Change pdpll word to 
.-Left justify it 
;Save it 



word 

the ctp packet 

pdpIO word 



SETOM 
MOVEI 
ACT02A: AOS 
MOVE 
CAME 
JRST 
SETZM 
MOVE 
SETZM 
JRST 



ACT02B: 



CAME 

SOJG 

SKIPN 

JRST 

SETZM 

MOVE 

SETZM 

JRST 



AC2 

AC3,CBLSTE 

AC2 

AC4,CBLST(AC2) 

AC0.BFSCA1(AC4) 

ACT02B 

BFSCA1(AC4) 

AC0-BUFf1(AC4) 

aACO 

ACT02E 

AC0,BFSCA2(AC4) 

AC3,ACT02A 

AC3 

ACT02C 

BFSCA2(AC4) 

AC0.BUFF2(AC4) 

aACO 

ACT02E 



I nit index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Is this sea buffer the same? 

No, continue 

Yes, clear cblk location 'BFSCAI 

Get bufx address 

Make this buffer (bufx) available 

This buffer is mapped 

Is this sea buffer the same? 

No, keep looking 

Looked in the whole table? 

Yes 

Yes, clear cblk location •BFSCA2: 

Get bufx address 

Make this buffer(bufx) available 

This buffer is mapped 



• • 



12 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 22 
DFC1C1 MAC 27-Aug-85 08:25 CTP Buffer Unmap 



SEQ 0085 



907 
908 
909 
910 
911 
912 
913 
91A 
915 
916 
917 
918 
919 
920 
921 
922 
923 
92A 
925 
926 
927 



001 U7' 260 17 00 003A50' 
001150' 25A 00 00 001160' 



001 U6' 



00 00Q371 



.•Buffer is not mapped 

ACT02C: MOVEI ACO-NOBUFM 
GO LDSTUS 
JRST ACT02X 

;Unmap this buffer from sea 



001151* 
001152' 
001153' 
0011 54' 
001155' 
001156' 
001157' 
001160' 
001161' 
001162' 
001163' 
001164' 



200 
260 
254 
201 
260 
254 
350 
262 
262 
262 
262 
263 



01 
17 
00 
00 
17 
00 
00 
17 
17 
17 
17 
17 


















00 
00 
00 
00 
00 
00 
17 
00 
00 
00 
00 
00 



000267' 

006040' 

001157' 

000375 

003450' 

001160' 

11111k 

000003 

000002 

000001 

000000 

000000 



ACT02E: MOVE 
GO 

JRST 
MOVEI 
GO 

JRST 
ACT02S: AOS 
ACT02X: GET 
GET 
GET 
GET 
RTN 



AC1,SCALBF 

RMVBUF 

ACT02S 

ACCNORESO 

LDSTUS 

ACT02X 

-4(P) 

AC3 

AC2 

AC1 

ACQ 



;Yes, do no buffer mapped , 
;Load the status byte in the rblk 
;Exit, take •♦•1 error rtn 



;Get the buffer name 
;Unmap this buffer from sea 
;Good return 

.-Error, do resource failure 
.-Load the status byte in the rblk 
;Take the -♦■1 error return 
.-Normal skip return 
.-Restore ae's 



.-Return 






DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 23 
DFC1C1 MAC 27-Aug-85 08:25 CTP Move Buffer 



SEQ 0086 



928 

929 

930 

931 

932 

933 

93A 

935 

936 

937 

938 

939 

9A0 

941 

9A2 

943 

944 

945 

946 

947 

948 

949 

950 

951 

952 

953 

954 

955 

956 

957 

958 

959 

960 

961 

962 

963 

964 

965 

966 

967 

968 

969 

970 

971 

972 

973 

974 

975 

976 

977 

978 



001165' 
001166* 
001167' 
001170' 
001171' 
001172' 
001173' 
001174' 
001175' 
001176' 
001177' 
001200' 
001201' 
001202' 
001203' 
001204' 
001205' 



332 00 

260 17 

261 " 
261 
261 



17 
17 
17 



603 16 
254 00 
260 17 
254 00 
260 17 
254 00 
254 00 
402 00 
200 02 
554 01 
336 00 
476 00 























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
02 
00 
00 



000216' 

261111 

000000 

000001 

000002 

000004 

001201' 

001236' 

001223' 

004170' 

001231' 

001223' 

000222 • 

000276' 

000001 

000001 

000222 ' 



001206' 260 17 00 001322' 
001207' 254 00 00 001223' 
001210' 254 00 00 001230' 
001211' 600 00 00 000000 



001212' 
001213' 
001214' 
001215' 
001216' 
001217' 
001220' 
001221' 
001222' 

001223' 
001224' 
001225' 
001226' 
001227' 
001230' 
001231' 
001232' 
001233' 
001234' 
001235' 



200 02 



5:> • 01 
322 01 
370 00 
260 17 
312 00 
254 00 
350 00 
260 17 



260 
476 
260 
255 
661 
621 
661 
262 
262 
262 
263 



17 
00 
17 
00 
16 
16 
16 
17 
17 
17 
17 


























00 000276' 
02 000001 
00 001223' 
00 000001 
00 003364' 
00 000001 
00 001231' 
00 000000 
00 003402' 

00 003543' 
00 000222' 
00 004124' 
00 000000 
00 000002 
00 000001 
00 OOOOOA 
00 000002 
00 000001 
00 000000 
00 000000 



SU8TTL CTP Move Buffer 

;This routine either reads from or writes to a bufferCdma xfer) in^ another 
;node. For 3rd party transfers we should have received a CONNECT request 
;from this same controller, establishing a 3rd party connection to a responder, 

MOVEBF: TRMS6 (Opcode: Move buffer) 



MOVEBl 



MOVEBA : 



PUT 

PUT 

PUT 

TLNE 

JRST 

GO 

JRST 

60 

JRST 

JRST 

SETZM 

MOVE 

HLRZ 

SKIPN 

SETOM 

GO 
JRST 
JRST 
NOP 

MOVE 

HLRZ 

JUMPE 

SOS 

GO 

CAME 

JRST 

AOS 

m 



M0VEB2: GO 

SETOM 
GO 
JFCL 
TLO 
MOVEBA: TLZ 
M0VEB5: TLO 
GET 
GET 
GET 
RTN 



ACO 

ACl 

AC2 

CURSTS,(ONETIM) 

MOVEBl 

VAL03 

M0VEB2 

EXDLY 

H0VEB5 

M0VEB2 

LASTF 

AC2,CUREXE 

AC1,RPCNT(AC2) 

ACl 

LASTF 

ACT03 

M0VEB2 

M0VEB4 



AC2,CUREXE 

AC1,RPCNT(AC2) 

AC1,M0VEB2 

ACl 

GETACT 

AC0-AC1 

M0VEB5 

ACO 

STRACT 

CHGOPC 

LASTF 

SEND 

CURSTS,(DONE) 

CURSTS,(GOBIT) 

CURSTS,(ONETIM) 

AC2 

ACl 

ACO 



.-Save ac's 



First time here? 

No, go around the delay 

ChecK the validity of the ctp request 

Error in the validity check 

Do the delay 

^^ Delay has been started, go around 

♦2 "CFORK" Failure 

Init the 'lAST XFER FLAG" 

Get rblk address 

Get the repeat count 

Repeat count =0 

Yes, set the 'lAST XFER FLAG" 

Perform action for the request 
ERROR return 
Transfer started return 
Dma done return 

Get rblk address 

Offset to the repcount 

If repeat = we are all done 

Ue start counting at so subtract rep. 

Get the actcount 

Actcount = repcount 

No 

Yes, increment the actcount 

Now store it 

Change opcode from a req to a res. 
Set the '^lAST XFER FLAG^ 
Send the ctp response message 
Virtual circuit gone return 
Set the done bit 
Clear the gobit 
Set the onetim flag 



.-Return 



[)7A 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 24 
DFCIC1 MAC ?7-Aug-85 08:25 CTP Move Buffer 



SEQ 0087 



979 

980 

981 

982 

983 

98A 

985 

986 

987 

988 

989 

990 

991 

992 

993 

99A 

995 

996 

997 

998 

999 

1000 

1001 

1002 

1003 

100A 

1005 

1006 

1007 

1008 

1009 

1010 

1011 

1012 

1013 

10U 

1015 

1016 

1017 

1018 

1019 

1020 

1021 

1022 

1023 



001236* 261 17 00 000000 
001237' 261 17 00 000001 
001240* 261 17 00 000002 
001241' 261 17 00 000003 
001242' 200 01 00 000276* 
001243' 200 03 01 000003 



001244' 
001245' 
001246' 
001247' 
001250' 
001251' 
001252' 
001253' 



201 01 
135 00 
303 00 
254 00 
307 00 
254 00 
201 00 
254 00 














03 
00 
00 
00 
00 
00 
00 
00 



000002 

000324 ' 

000003 

001302' 

000001 

001254' 

000377 

001312* 



001254* 201 01 03 000002 
001255* 135 00 00 000333* 
001256* 307 00 00 000001 
00125^* 254 00 00 001261' 
001260* 254 00 00 001302* 



001261* 2o' 01 03 000002 

001262* 135 00 00 000331* 

001263* 335 00 00 000000 

001264' 254 00 00 001302* 



001265' 
001266' 
001267* 
001270' 
001271' 

001 2^:* 

0012^3* 
0012^^4' 



201 01 
135 00 
260 17 

202 00 
307 00 
254 00 
201 00 
254 00 














03 
00 
00 
00 
00 
00 
00 
00 



000003 

000340* 

003463* 

000227* 

002000 

001275* 

000375 

001312* 



.-Check the validity of the ctp request 



VAL03: PUT 
PUT 
PUT 
PUT 
HOVE 
HOVE 



ACO 

AC1 

AC2 

AC3 

AC1,CUREXE 

AC3,CTPPKT(AC1) 



.-Validate the "HOVETVPE" byte 



HOVE I 

LDB 

CAILE 

JRST 

CAIG 

JRST 

HOVE I 

JRST 



AC1.2(AC3) 

ACO, HOVE 

ACO-3 

VAL036 

ACO-1 

VAL03A 

ACO-NTIHPL 

VAL03X 



.-Validate the "PKTSIZ" byte 

VAL03A: HOVEI AC1.2(AC3) 

LDB ACO.PKTZ 

CAIG AC0.1 

JRST VAL038 

JRST VAL03G 

.-Validcte the "OTHERNODE" byte 

VAL03B: hOVEI AC1.2(AC3) 

LDB ACO.OTHE 

SKIPGE ACO 

JRST VAL03G 

.-Check to see if 'BUFLENGTH" is to big. 



VAL03C: MOVE! 
LDB 
GO 

HOVEH 
CAIG 
JRST 
MOVE I 
JRST 



AC1.3(AC3) 

ACO.BUFL 

P11T10 

ACO.BUFLEN 

AC0/D1024 

VAL03F 

ACO.NORESO 

VAL03X 



;Sav/e ac*s 



;Get rhblk 
;Get rblk 



;Get "TIOVETYPE" address word 

;Get move type 

.'Value over max? 

;Yes. do request not understood 

.-Asking for maintenance? 

;No. continue 

;Do function not implemented 

;Do ♦I error return 



.-Get "PKTSIZ" address word 

.-Get pktsiz 

.-Value over max? 

;No. proceed 

.-Request not understood 



.-Get "OTHERNODE" address word 
.-Get othernode 
.-Value a negative number? 
;Yes. request not understood 



.-Get 'BUFLENGTH" address word 

.-Get buflength 

.-Change pdpTi word to pdpIO word 

.-Store it 

.-Over max no of words? 

;No, proceed 

.-Yes. do resource failure 

.-Take the ♦! error return 



075 



DFCIC 
DFC1C1 

102A 

1025 

1026 

1027 

1028 

1029 

1030 

1031 

1032 

1033 

103A 

1035 

1036 

1037 

1038 

1039 

1040 

10A1 

1042 

1043 

1044 

1045 

1046 

1047 

1048 

1049 

1050 

1051 

1052 

1053 

1054 

1055 

1056 

1057 



Clus 
WAC 



ter Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 25 
27-Aug-85 08:25 CTP Move Buffer 



SEO 0088 



^V. 



001275* _, 

001276* 135 

001277* 260 

001300* 317 

001301* 254 

001302* 201 

001303* 254 



01 03 000005 
00 00 000347* 
17 00 003463* 
00 00 000227* 
00 00 001304* 
00 00 000376 
00 00 001312* 



001304* 260 17 00 003364* 
001305* 200 02 00 000276* 
001306* 506 00 02 000001 



001307* 402 00 00 000000 
001310* 260 17 00 003402* 
001311* 254 00 00 001314* 



001312* 
001313* 
001314* 
001315* 
001316* 
001317* 
001320* 
001321* 



260 
334 
350 
262 
262 
26? 
2oi 
263 



17 
00 
00 
17 
17 
17 
17 
17 














00 
00 
17 
00 
00 
00 
00 
00 



003450* 

000000 

77770, 

000003 

000002 

000001 

000000 

000000 



.•Check and see if the buffer of fset(buf lofset) is to big. 



VAL03F: MOVE I 
LDB 
60 

CAHG 
JRST 

VAL03G: MOVE I 
JRST 



AC1,5(AC3) 

ACO-BUFO 

PlltiO 

ACO.BUFLEN 

VAL03H 

ACO.NONSEN 

VAL03X 



;6et repcount and store it 



VAL03H: GO 

MOVE 
HRLM 



GETREP 

AC2,CUREXE 

AC0,RPCNT(AC2) 



;Init the actcotnt field. It should 
; to the way the HSC does it. 

SET2M ACO 

GO STRACT 

JRST VAL03S 

VAL03X: GO LDSTUS 

SKI PA 

VAL03S: AOS -4(P) 

GET AC3 

GET AC2 

GET ACl 

GET ACO 

RTN 



Get 'BUFLOFSET" address word 

Get buflofset 

Change pdpll word to pdplO word 

Offset greater than the buffer length? 

No« proceed 

.Yes, do reguest not understood 
;Take the ♦! error return 



;Get repcount and 
; Store 
; It 

return value of 1 first to conform 



;Init actcount to 
; For the first time 
;Take the good return 

;Load the status byte in the rblk 
.-Take the ♦I error return 
.•♦2 Return 



.•Return 



3076 



DFCIC Cluster Test Protocol Responder MACRO Z538(12A2) 11:18 27-Aug-85 Page 26 
DFCIC1 MAC 27-Aug-85 08:25 CTP Move Buffer 



SEQ 0089 



1058 

1059 

1060 

1061 

1062 

1063 

1064 

1065 

1066 

1067 

1068 

1069 

1070 

1071 

1072 

1073 

1074 

1075 

1076 

1077 

1078 

1079 

1080 

1081 

1082 

1083 

1084 

1085 

1086 

1087 

1088 

1089 

1090 

1091 

1092 

1093 

1094 

1095 

1096 

1097 

1098 

1099 

1100 

1101 

1102 

1103 

1104 

1105 

1106 

1107 

1108 



001322' 261 17 00 000000 

001323* 261 17 00 000001 

001324' 261 17 00 000002 

001325' 261 17 00 000003 

001326' 261 17 00 000004 

001327' 261 17 00 000005 



001330' 201 00 00 000000 
001331' 260 17 00 003450' 



001332' 550 01 00 000016 
001333' 200 01 01 000005 
001334' 202 01 00 000256' 



001335' 200 01 00 000276' 
001336' 200 03 01 000003 
001337' 201 01 03 000002 
001 34C' 135 00 00 000324' 
001341' 202 00 00 000233' 



001342' o-^ 00 00 000331' 
001343' 202 00 00 000232' 



001344' 
001345' 
001346' 
001347' 
001350' 
001351' 
001352' 

001353' 
001354' 
001355' 
001356' 
001357' 
001360' 
001 36T 
001362' 



201 01 
135 00 
260 17 
242 00 

202 00 
336 00 
254 00 



03 000004 
00 000345' 
00 003463' 
00 000004 
00 000267' 
00 000267' 
00 001363' 



476 00 
201 03 
350 00 
200 04 
312 00 
316 00 
254 
367 














00 
00 
00 
02 
04 
04 
00 
00 



000002 

000040 

000002 

010556' 

000006 

000010 

00^365' 

001355' 



;Do the function the ctp request packet demanded 

.-Save ac's 



ACT03: 


PUT 


ACO 




PUT 


ACl 




PUT 


AC2 




PUT 


AC3 




PUT 


AC4 


1 


PUT 


AC5 



;Set up the status byte for success. 

MOVEI ACO^SUCCES 
60 LDSTUS 



;Load successful status 
;Do It 



;6et the controllers ci number and store it. 



HRRZ ACKCURSTS 
MOVE AC1,L0CPRT(AC1) 
MOVEM ACKCIPORT 

;Get moMetype and store it 

ACT03A: MOVE ACUCUREXE 

MOVE AC3.CTPP»CT(AC1) 

MOVEI ACK2(AC3) 

LDB ACO, MOVE 

MOVEM ACO.MOVETY 

;6et othernode and score it 



LDB 
MOVEM 



ACO^OTHE 
ACO.OTHERN 



Get the cblk in acl 
Now get the local port number (ci #) 
And store it 



;Get rhbU 

;Now get the rbU 

:Get movetype address word 

;6et genfunct 

; Store it 



;Get othernode 
.•Store it 



; Check and see if we have the same local buffer mapped (buf I name). 

address word 



MOVEI 

LDB 

GO 

LSH 

MOVEM 

SKIPN 

JRST 

SETOM 
MOVEI 
ACT03B: AOS 
MOVE 
CAME 
CAMN 
JRST 
SOJG 



AC1.4(AC3) 

ACO -BUF S 

PlltiO 

ACO. 4 

ACO.SCALBF 

SCALBF 

ACT3B1 

AC2 

AC3.CBLSTE 

AC2 

AC4.C8LST(AC2) 

AC0.8FSCA1(AC4) 

AC0.BFSCA2(AC4) 

ACT03C 

AC3.ACT03B 



Get 'BUFLNAME" 
Get buflname 
Change pdp11 word to pdp10 word 
Left justify it 
Store buffer name 
Skip if non zero buffer name 
It was 

Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Is this sea buffer the same? 

No, is this sea buffer the same? 

Yes, this buffer is mapped 

No, keep looki ^g 



0077 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 21 
DFCIC1 WAC 27-Aijg-85 08:25 CTP Hove Buffer 



SEQ 0090 



1109 

1110 

1111 

1112 

1113 

11U 

1115 

1116 

1117 

1118 

1119 

1120 

1121 

1122 

1123 

1124 

1125 

1126 

1127 

1128 

1129 

1130 

1131 

1132 

1133 

113A 

1135 

1136 

1137 

1138 

1139 

1U0 

1U1 

11A2 

1143 

1144 

1145 

1146 



C01363' 201 00 00 000371 
001364* 254 00 00 001464' 



001365' 
001366' 
001367' 
001370' 
001371' 
001372' 
001373' 
001 374 • 
001375' 
001376' 
001377' 
001400' 
001401' 
001402' 
001403' 



001404' 
001405' 
001406' 
001407' 
001410' 
001411' 
001412' 
001413' 
001414' 
001415' 
001416' 



476 00 
201 03 
350 00 

200 04 
336 00 
254 00 
550 01 
312 01 
254 00 
550 01 
316 01 
254 00 
367 03 

201 00 
254 00 



607 
254 
200 
6u' 
254 
621 
202 
621 
254 
201 
254 



00 
00 
00 
02 






















04 
00 
04 
00 
00 
04 
00 
00 
00 
00 
00 



16 00 


00 00 


00 04 


00 00 


00 00 


00 00 


00 04 


16 00 


00 00 


00 00 


00 00 



000002 

000040 

000002 

010556' 

000000 

001401' 

000005 

000256' 

001401' 

000004 

000232' 

001404' 

001367' 

000366 

001464' 



000100 

001417' 

000001 

040000 

001415' 

040000 

000001 

000100 

001466' 

000373 

001464' 



;Buffer 
ACT3B1: 

;See if 
; packet 

ACT03C: 

ACT03D: 



is not mapped 

HOVEl ACO-NOBUFH 
JRST ACT03X 



;Yes, do no buffer mapped 
;Exit, take ♦I error rtn 



we have a connection open to the other node specified in the ctp 
It could be the contollers node or a 3rd party node. 



ACT03E: 

;See if 
ACT03F: 



SETOH AC2 

HOVE I AC3,CBLSTE 

AOS AC 2 

MOVE AC4.CBLST(AC2> 

SKIPN CJD(AC4) 

JRST ACT03E 

HRRZ AC1,L0CPRT(AC4) 

CAME AC1-CIP0RT 

JRST ACT03E 

HRRZ AC1,N0DE(AC4) 

CAMN ACl-OTHERN 

JRST ACT03F 

S0J6 AC3,ACT03D 

MOVE I ACO-NOCONN 

JRST ACT03X 



Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Is this cblk beina used? 

No, look for anotner 

Get the controllers ci number 

Is this 3rd party on the same 

No 

Get this cblks 3rd party node 

Do we have a connection open? 

Yes, continue 

No, keep looking 

Yes. do no connection exist 

Exit, take +1 error rtn 



CI 



the last rj>^d or write we did was completed 



ACT03G: 



TLNN CURSTS,(WAITT) 

JRST ACT03I 

MOVE AC0,CBSTS(AC4) 

TLNN ACO.(DMA) 

JRST ACT036 

TLZ ACO,(DMA) 

MOVEM AC0,CBSTS(AC4) 

TLZ CURSTS,(WAITT) 

JRST ACT03Z 

MOVEI ACO/UNCFL 

JRST ACT03X 



Waiting for a move(r/w) to complete? 

No 

Yes. get the cblk status 

Has the xfer(read or write) completed? 

No. error 

Yes. clear the "DMA" flag 

Update the cblk status 

Yes. clear the '\rfAITT" flag 

Take the ^2 good return 

Yes. do no function failure 

Exit, take -♦•1 error rtn 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 28 
DFCIC1 MAC 27-Aug-85 08:25 CTP Move Buffer 



SEQ 0091 



1U7 

r.48 

11A9 

1150 

1151 

1152 

1153 

115A 

1155 

1156 

1157 

1158 

1159 

1160 

1161 

1162 

1163 

116A 

1165 

1166 

1167 

1168 

1169 

1170 

1171 

1172 

1173 

1174 

1175 

1176 

117/ 

1178 

1179 

1180 

1181 



001417' 260 17 00 003364' 
001420' 350 00 00 000000 
001421' 260 17 00 003402' 



001422' 
001423' 
001424' 
001425' 
001426' 
001427' 
001430' 



200 01 

200 03 

201 01 



135 00 
260 17 
242 00 
202 00 



00 000276' 

01 000003 
03 000006 
00 000351 • 
00 003463' 
00 000004 
00 000270' 



001431- 201 01 03 000005 
001432' 135 00 00 000347' 
001433' 260 17 00 003463* 
001434' 202 00 00 000271' 

001435' 201 01 03 000007 
001436' 135 00 00 000353' 
001437' 260 17 00 003463' 
001440' 202 00 00 000272' 

001441' 550 01 00 000016 
0014^2' 200 01 01 000000 



001443' 200 00 00 000233' 
001444* 306 00 00 000001 
001445' 254 00 00 001455' 



; Increment the actcount field 



ACT03I: 60 
AOS 
GO 



GETACT 

ACO 

STRACT 



;Get actcount 
.•Increment it 
;Now store it 



;Now we are ready to send or receive data. 



MOVE ACnCUREXE 

MOVE AC3,CTPPKT(AC1) 

MOVEI AC1,6(AC3) 

LDB ACO.BUFD 

GO P11T10 

''^:. ACO, 4 

MOVEM ACO^SCARBF 

MOVEI AC1,5(AC3) 

LDB ACO-BUFO 

GO PllflO 

MOVEM ACOABUFOF 

MOVEI AC1,7(AC3) 

LDB ACO-BUDO 

GO PlltlO 

MOVEM ACO^RBUFOF 

HRRZ AC1,CURSTS 

MOVE AC1,CID(AC1) 

;Do either a read or a write. 

MOVE ACCMOVETY 

CAIN AC0,1 

JRST ACT03J 



;Get rhblk 

;Now get the : blk 

;6et remote buffer aodress word 

;6et remote buffer (bytes 24-27) 

.•Convert to pdpIO word 

;Left justify it 

; Store it 

;Get local buffer offset address word 
;Get local buffer offset (bytes 2U-23) 
.•Convert to pdpiO word 
; Store it 



;Get remote 
;Get remote 
.•Convert to 
.-Store it 

;Get cblkn 
;Get the cid 



;Get the movetype byte 

;Do a writ?? 

;Yes 



buffer offset address word 
buffer offspc (bytes 28-31) 
pdpIO word 



DFCIC Cluster Test Protocol Responder MACRO 5;53B(12A2) 11:18 27-Aug-85 Page 29 
0FC1C1 MAC 27-Aug-85 08:25 CTP Move Buffer 



SEQ 0092 



1182 

1183 

1184 

1185 

1186 

1187 

1188 

1189 

1190 

1191 

1192 

1193 

1194 

1195 

1196 

1197 

1198 

1199 

1200 

1201 

1202 

1203 

1204 

1205 

1206 

1207 

1208 

1209 

1210 

1211 

1212 

1213 

1214 

1215 



001446* 
001447' 
001450' 
001451' 
001452' 
001453' 
001454' 



001455' 
001456' 
001457' 
001460' 
001461' 
001462' 
001463' 



200 02 
200 03 
514 04 
540 04 
260 17 
661 16 
254 00 



00 000270' 
00 000267' 
00 000272' 
00 000271 • 
00 006115' 
00 000100 
00 001467' 



200 02 00 
200 03 00 
514 04 00 
540 04 00 
260 17 00 
661 16 00 
254 00 00 



000267' 
000270' 
000271 ' 
000272 • 
006066 ' 
000100 
001467' 



001464' 260 17 00 003450' 
001465' 254 00 00 001470' 



001466' 350 
001467' 350 



001470' 
001471' 
001472' 
001473' 
001474' 
001475' 
001476' 



262 
262 
262 
2oi 
262 
262 
263 



00 
00 

17 
17 
17 
17 
17 
17 
17 



17 111172 
17 111112 










00 
00 
00 
00 



00 








00 
00 



000005 
000004 
000003 
000002 
000001 
000000 
000000 



;Here we do the read. 



MOVE AC2,SCARBF 

MOVE AC3,SCALBF 

HRLZ AC4,RBUF0F 

HRR AC4,LBUF0F 

60 REDATA 

TLO CURSTS,(WAITT) 

JRST ACT03S 



;Here we do the write. 



ACT03J: MOVE 
MOVE 
HRLZ 
HRR 
GO 
TLO 
JRST 



ACT03X: 



ACT03Z: 
ACT03S: 

ACT03T: 



GO 
JRST 

AOS 
AOS 

GET 
GET 
GET 
GET 
GET 
GET 
RTN 



AC2,SCALBF 

AC3,SCARBF 

AC4,LBUF0F 

AC4,RBUF0F 

SEDATA 

CURSTS,(WA1TT) 

ACT03S 

LDSTUS 
ACT03T 

-6(P) 
-6(P) 

ACS 
AC4 
AC3 
AC2 
AC1 
ACO 



;6et remote buffer name 

;Get local buffer name 

;Get remote buffer offset 

;6et local buffer offset 

;Do the read ^.. ,. 

;Set "WAITING FOR A MOVE(R/W)" flag 

;Do ^2 good return 



Get local buffer name 

Get remote buffer name 

Get local buffer offset 

Get remote buffer offset 

Do the write 

Set '^JAITING FOR A MOVE(R/W)" flag 

Do ^2 good return 

Load the status byte in the rblk 
Do +1 error return 

Here for DMA done skip return 
Here for transfer has started skip 

return 
Restore ac's 



l^TTOT return 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 30 
DFC1C1 MAC 27-Aug-85 08:25 CTP Generate Message and Datagram 



SEQ 0093 



1216 

1217 

1218 

1219 

1220 

1221 

1222 

1223 

1224 

1225 

1226 

1227 

1228 

1229 

1230 

1231 

1232 

1233 

1234 

1235 

1236 

1237 

1238 

1239 

1240 

1241 

1242 

1243 

1244 

1245 

1246 

1247 

1248 

1249 

1250 

1251 

1252 

1253 

1254 

1255 

1256 

1257 

1258 

1259 

1260 

1261 

1262 

1263 

1264 

1265 



SUBTIL CTP Generate Message and Datagram 
;This routine will send back to the controller 1 or more messages or datagrams. 



001477* 

001477' 

001500* 

001 501 • 

001502' 

001503* 

001504' 

001 505 • 

001506' 

001507' 

001510' 

001511' 

001512' 

001513' 

001514' 

001515' 

001516' 

001517' 

001520' 

001521' 

001522' 

001523' 

001524' 

001525' 

001526' 

001527' 

001530' 

001531' 

001 532 ' 

001533' 

001534' 

001535' 

001536* 

001537' 

C01540' 

00154 V 

001542' 

001543' 

001544' 



332 

260 

261 

261 

261 

603 

254 

260 

260 

254 

260 

254 

254 

402 

200 

554 

326 

603 

621 

476 

260 

254 

200 

554 

3V 

3? J 

260 

312 

254 

350 

260 

603 

621 

476 

2t0 

255 

621 

661 



00 

17 

17 

17 

17 

16 

00 

17 

17 

00 

17 

00 

00 

00 

02 

01 

01 

16 

16 

00 

17 

00 

02 

01 

01 

00 

17 

00 

00 

00 

17 

16 

16 

00 

^7 

00 

16 

16 












































00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
02 
00 
00 
00 
00 
00 
00 
00 
02 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000216' 

261126 

000000 

000001 

000002 

000004 

001514' 

003543' 

001552' 

001540' 

004170' 

001545' 

001540' 

000222' 

000276' 

000001 

001523' 

000400 

000420 

000222' 

001700' 

001540' 

000276' 

000001 

001543' 

000001 

003364 • 

000001 

001545* 

000000 

003402 * 

000400 

000420 

000222 • 

004147' 

000000 

000001 

000002 



00154 5' 661 16 00 000004 

001546' 262 17 00 000002 

001547' 262 17 00 000001 

001550' 262 17 00 000000 

001551* 263 17 00 000000 



GEND6M: 
GENMSG: trmsG 

PUT 

PUT 

PUT 

TLNE 

JRST 

GO 

GO 

JRST 

GO 

JRST 

JRST 

GENMS1: SET2M 
MOVE 
HLRZ 
JUMPN 
TLNE 
TLZ 
SETOM 

GENMS6: GO 

JRST 

MOVE 

HLRZ 

JUMPE 

SOS 

GO 

CAME 

JiiSJ 

AOS 

GO 

TLNE 

TLZ 

GENMS2: SETOM 
GO 
wFCL 

6ENMS4: TLZ 
TLO 



(Opcode: Generate Message/Datagram) 



GENHS5: 



TLO 
GET 
GET 
GET 
RTN 



ACO 

AC1 

AC2 

CURSTS,(ONETIM) 

GENMS1 

CHGOPC 

VAL04 

GENMS2 

EXDLY 

GENMS5 

GENMS2 

LASTF 

AC2,CUREXE 

AC1,RPCNT(AC2) 

ACUGENMS6 

CURSTS,(DGMSG) 

CURSTS,(DGMIDGMSG) 

LASTF 

ACT04 

GENMS2 

AC2,CUREXE 

;C1,RPCNT(AC2) 

AC1,GENMS4 

AC1 

GETACT 

ACO^ACI 

GENMS5 

ACO 

S TRACT 

CURSTS,(DGMSG) 

CURSTS,^D6»i!DGMS6) 

LASTF 

SEN04 

CURSrS,(G08IT) 
CURSTS,(D0NE) 

CURSTS,(0NEriM) 

AC2 

AC1 

ACO 



;Sa\ie ac's 



First time here? 

No, go around the delay 

Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity rheck 

Do the delay 

-(-1 Delay has been started, go around 

♦2 'tFORK" Failure 

Init the TAST XFER FLAG" 

Get rblk address 

Get the repeat count 

Jump if repeat count =0 

Yes, check dgmsg bit 

Clr dgm and dgmsg bits 

Yes, set the *\AST XFER FLAG" 

Perform action for the request 

Error return 

Get rblk address 

Offset to the repcount 

If rppsdt = we are all done 

U'e start counting at so suo«.ract rep, 

Get the actcount 

Actcount = repcount 

No 

Yes, increment the actcount 

Now sto» e it 

Ch«^ck dgmsg bit 

Clr dgm «na dgmsg Dits 

Set the 'lAST XFER FLAG" 

Send the ctp response message 

Virtual circuit gone return 

Clear the gobit 

Set the done bit 

Set the onetim flag 



.-Return 



DFCIC 
DFCIC1 

1266 

1267 

1268 

1269 

1270 

1271 

1272 

1273 

1274 

1275 

1276 

1277 

1278 

1279 

1280 

1281 

1282 

1283 

128A 

1285 

1286 

1287 

1288 

1289 

1290 

1291 

1292 

1293 

1 294 

1295 

1296 

1297 

1298 

1299 

1300 

1301 

1302 

1303 

1304 

1305 

1306 

1307 

1308 

1309 

1310 

1311 

1312 

1313 



Cluster Test Protocol Responder MACRO X538(1242) 11:18 27-Aug-85 Page 31 
MAC 27-Aug-85 08:25 CTP Generate Message and Datagram 



;Ch ;ck the validity of the ctp request 



001552' 
001553* 
001554' 
001555' 
001556' 
001557' 

001560* 
001 561 ' 
001562' 
001563' 
001 564 ' 
001 565 ' 
001566' 
001567' 



001570' 
001 571 ' 
001572' 
001573' 
001 574 ' 
001 575 ' 
001 576 ' 



261 
261 
261 
261 
261 
261 
200 
200 
201 
135 
307 
254 
201 
254 



17 
17 
17 
17 
17 
17 
01 
02 
01 
00 
00 
00 
00 
00 



260 17 
202 00 
607 
254 



:6 

00 



317 00 



254 
254 



00 
00 






























00 
00 
00 
00 
00 
00 
00 
01 
02 
00 
00 
00 
00 
00 



000000 

000001 

000002 

000003 

000004 

000005 

000276' 

000003 

000002 

000323' 

000003 

001570' 

000376 

001666' 



00 003416' 
00 000226' 
00 000020 
00 001577' 
00 000266' 
00 001603' 
00 001601' 



001577' 317 00 00 000265' 
001600' 254 00 00 001603' 

001601' 2u' 00 00 000375 
001602' 254 00 00 001666' 



001603' 260 17 00 003364' 
001604' 200 02 00 000276' 
001605' 506 00 02 000001 



001606' 200 01 00 000276' 
001607' 200 02 01 000003 
001610' 201 01 02 000002 
001611' 135 00 00 000323' 
001612' 202 00 00 000224' 



VAL04: PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
HCVE 
MOVE 
MOVE I 
LD6 
CAIG 
JRST 
MOVE I 
JRST 



ACO 

ACl 

AC2 

AC3 

AC4 

AC5 

AC1,CUREXE 

AC2,CTPPKT(AC1) 

AC1,2(AC2) 

ACO.GENF 

AC0.3 

VAL04A 

ACO-NONSEN 

VAL04X 



.-Check to see if "6ENLENGTH" is to big. 



VAL04A: GO 

MOVEM 

TLNN 

JRST 

CAMG 

JRST 

JRST 

VAL04B: CAMG 
JRST 

VAL04C: MOVE I 
JRST 



GETGLN 

ACO.GENLEN 

CURSTS,(DGM) 

VAL04B 

ACO-MAXDGM 

VAL04D 

VAL04C 

ACCMAXMSG 
VAL04D 

ACO.NORESO 
VAL04X 



;Get repcount and store it 



VAL04D: GO 
MOVE 
HRLM 



GETREP 

AC2,CUREXE 

AC0,RPCNT(AC2) 



SEQ 0094 



;Sa\/e ac's 



;Get rhblk 

;Now get the rblk 

;6et genfunct address word 

;Get genfunct 

; Value bigger than 3? 

;No^ continue 

;Yes, do reguest not understood 

;Take the ^\ error return 



;Get the corrected "GENLENGTH" 

.-Store it 

:Heceiv/ed as a dgm? 

.-No. go ahead 

.-Over fnax no of hytes for dgm scsX jsys? 

.-No, 

;Yes 

.-Over max no of oytcs for msg scs jsys? 
;No. c?t the repeat count 

.-yes, do resource failure 



.-Get repcount and 
; Store 
; It 



.-Set up the function the ctp request packet demanded 
.-Get genfunct and store it 



MOVE AC1,CUREXE 

MOVE AC2.CTPP<T(AC1) 

MOVE! AC1.2(AC2) 

LDB ACO.GENF 

MOVEM ACCGENFUN 



.-Get rhblk 

.-Now get the rblk 

.-Get genfunct address word 

.-Get genfunct 

.-Store it 



, ! 



DFCIC 
DFCIC1 

13U 

1315 

13'.6 

1317 

1318 

1319 

1320 

1321 

1322 

1323 

132A 

1325 

1326 

1327 

1328 

1329 

1330 

1331 

1332 

1333 

133A 

1335 

1336 

1337 

1338 

1339 

13A0 

13A1 

13A2 

13A3 

13A4 

13A5 

13A6 

13A7 

13A8 

13A9 

1350 

1351 

1352 

1353 

135A 

1355 

1356 

1357 

1358 

1359 

1360 

1361 

1362 



Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 f 
MAC 27-Aug-85 08:25 CTP Generate Message and Datagram 



—'■^ 



Page 32 



SEQ 0095 



001613' 135 00 
001 6U' 202 00 



00 000327' 
00 000225' 



001615' 260 17 00 003A16' 
001616' 202 00 00 000226' 



001617' 200 OA 00 000276' 
001620' 200 02 OA 000003 
001621' 201 OA 02 000003 

001622' 201 00 00 000000 
001623' 312 00 00 00022A' 
001 62A' 25A 00 00 001632' 



001625' 
001626' 
001627' 
001630' 
001631 • 
001632' 
001633' 
001 63A' 



001635' 
001636' 
001637' 
001 6A0' 
001 6A1' 
001 6A2' 
001 6A3' 
001 6AA' 
001 6A 5' 
001 6A6' 
001 6A 7' 
001650' 



200 03 
200 00 
200 02 
136 00 
So' 
201 

312 00 
25A 00 



03 
00 



200 03 

201 05 
200 02 

200 00 
136 00 
2A2 00 
136 00 
350 00 
367 03 

201 00 
312 00 
25A 00 





























00 
00 
00 
00 
00 
00 
00 
00 



00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000226' 
000225' 
261133 
000002 
001630' 
000001 
00022A ' 
001 6A6' 



000226' 

000000 

261133 

000005 

00QQ02 

777770 

000002 

000005 

001 6A0' 

000002 

00022A ' 

001656' 



;Get genconst and store it 

LDB ACO.GENC 
MOVEM AC0,GENCON 

;Get genlength and store it 

GO GETGLN 
MOVEM ACO,GENLEN 

;Here we fill the imagedata with one of 
; The responder node number or the data 



;Get genconst 
.•Store it 



;6et genlength 
; Store it 



the following: a constant, byte pairs, 
already supplied in the packet. 



;Get the start address of the imagedata word(byte 1A) in acA 

MOVE AC A, CURE XE 
MOVE AC2,CTPPICT(ACA) 
MOVEI ACA,3(AC2) 

MOVEI ACO,0 
CAME ACO-GENFUN 
JRST VALOAE 

;Fill buffer with constant 



MOVE 
MOVE 
MOVE 
IDP8 
SOJG 
VALOAE: MOVEI 
CAME 
JRST 



AC3,GENLEN 

AC0,GENCON 

AC2,CP0INT 8, (ACA), 15] 

AC0,AC2 

AC3,.-1 

AC0,1 

ACO.GENFUN 

VALOAG 



;Fill buffer with byte pairs 



MOVE 

MOVEI 

MOVE 

VALOAF: MOVE 
IDPB 
LSH 
IDPB 
AOS 
SOJG 

VALOAG: MOVEI 
CAME 
JRST 



AC3,GENLEN 

AC5,0 

AC2, [POINT 8, (ACA), 15] 

AC0,AC5 

AC0,AC2 

AC0,-"D8 

AC0,AC2 

AC5 

AC3, VALOAF 

AC0,2 

ACO^GENFUN 

VALOAH 



;Get rhblk 

;Now get the rblk 

;Get ^IMAGEDATA" address word 

;Cet a value 

;Fill buffer with constant? 

;No 



;Yes, aet size of imagedata in bytes 

;Get tne fill constant 

;Init pointer 

; Deposit the fill constant in the byte 

.-Fill up the buffer 

;Get a value ' 

;Fill buffer with byte pair numbers? 

;No 



Yes, get size of imagedata in bytes 

Get tne 1st byte pair number 

Init pointer 

Get 1st byte pair 

Deposit the 1st byte 

Go to 2nd byte 

Deposit the 2nd byte 

Increment byte pair number 

Fill up the buffer 

Get a value 

Fill buffer with responder node number? 

No 



r 



DFCIC 
DFCIC1 

1363 

1364 

1365 

1366 

1367 

1368 

1369 

1370 

1371 

1372 

1373 

1374 

1375 

1376 

1377 

1378 

1379 

1380 

1381 

1382 

1383 

1384 

1385 

1386 

1387 

1388 

1389 

1390 
1391 
1392 
1393 
1394 
1395 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 33 
MAC 27-Aug-85 08:25 CTP Generate Message and Datagram 



SEQ 0096 



001651' 200 03 00 000226* 
001652' 200 00 00 000247' 
001653' 200 02 00 261133 
001654' 136 00 00 000002 
001655' 367 03 00 001654' 



001656' 200 01 00 000276' 
001657' 200 02 01 000003 
001660' 201 01 02 000002 
001661' 201 00 00 000000 
001662' 137 00 00 000327' 



001663' 476 00 00 000000 
001664' 260 17 00 003402' 
001665' 254 00 00 001670' 



001666' 
001667' 
001670' 
001671' 
001672' 
001673' 
001674' 
001675' 
001676' 
001677' 



260 
334 
350 
262 
262 
262 
26? 
2oJ 
262 
263 



17 
00 
00 
17 
17 
17 
17 
17 
17 
17 
















00 
00 
17 
00 
00 
00 
00 
00 
00 
00 



003450' 
000000 

mm 

000005 
000004 
000003 
000002 
000001 
000000 
000000 



;Fill buffer with the responder node number 

MOVE AC3,GENLEN ;Yes, get size of imagedata in bytes 

MOVE AC0,OURNOD ;Get our node number 

MOVE AC2, [POINT 8,(AC4)J5] ;lnit pointer . . . ^ 

IDPB AC0,AC2 .-Deposit the node number in the byte 

SOJG AC3,.-1 ;F'M up the buffer 

.-This is where we build the remaining byte fields in the ctp response packet 



VAL04H: MOVE ACUCUREXE 

MOVE AC2.CTPPICT(AC1) 

MOVEI AC1,2(AC2) 

MOVE I ACO,0 

DPS AC0,GENC 

.•Initialize the actcount field 

SETOM ACO 

GO STRACT 

JRST VAL04S 

VAL04X: GO LDSTUS 

SKIPA 

VAL04S: AOS -6(P) 

GET AC5 

GET AC4 

GET AC3 

GET AC2 

GET AC1 

GET ACO 

RTN 



;Get rhblk 

;Now get the rblk 

;Get genconst address word 

.-Clear the genconst byte making 

; It the portstat byte 



.-Init actcount to -1 
; For the first time 
.-Take •»-2 return 

.-Load the status byte in the rblk 
.-Take the •♦■1 error return 
.-'♦'2 Return 



.•Return 



r 



DFCIC 
DFCIC1 

1396 

1397 

1398 

1399 

1400 

1A01 

1402 

1403 

1404 

1405 

1406 

1407 

1408 

1409 

1410 

1411 

1412 

1413 

1414 

1415 

1416 

1417 

1418 

1419 

1420 

1421 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 34 
MAC 27-Aug-85 08:25 ''"^ 



CTP Generate Message and Datagram 

;Do the function the ctp request packet demanded 



SEQ 0097 



001700' 261 17 00 000000 
001 70r 261 17 00 000001 
001702' 261 17 00 000002 



001703' 201 00 00 000000 
001704' 260 17 00 003450' 



001705' 260 17 00 003364' 
001706' 350 00 00 000000 
001707' 2tO 17 00 003402' 



ACT04: PUT 
PUT 
PUT 



AGO 
AC1 
AC2 



;Save ac's 



;Set up the status byte for success. 

MOVEI ACOJ'JCCES 
60 LDSTUS 

;Update actcount field 



GO 

AOS 

GO 



GETACT 
ACQ 
S TRACT 



;Now we are ready to send the message 



001710' 
001 71 1 ' 
001712' 
001713' 
001714' 
001715' 
001716' 



260 
254 
350 
262 
262 
262 
263 



17 
00 
00 
17 
17 
17 
17 













00 
00 
17 
00 
00 
00 
00 



004147' 

001713' 

777775 

000002 

000001 

000000 

000000 



GO 

JRST 
ACT04S: AOS 
ACT04X: GET 
GET 
GET 
RTN 



SEN04 

ACT04X 

-3(P) 

AC2 

AC1 

ACO 



;Load successful status 

;Load the status byte in the rblk 



;Get actcount 
; Increment it 
;Now store it 



;Send a message 
."••I Error return 
.•Normal skip return 
.•Restore ac's 



.'Error return 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 35 
DFCICI MAC 27-Aug-85 08:25 CTP Generate Reset 



1 



SEQ 0098 



1422 

U23 

U2A 

1425 

1426 

1427 

1428 

1429 

1430 

1431 

1432 

1433 

1434 

1435 

1436 

1437 

1438 

1439 

1440 

1441 

1442 

1443 

1444 

1445 

1446 

1447 

1448 
1449 
1450 
1451 
1452 
1453 
1454 
1455 
1456 
1457 
1458 
1459 
1460 



001717' 

001720' 

001721' 

001722' 

001723' 

001724' 

001725' 

001726' 

001727' 

001730' 

001731' 

001732' 

001733' 

001734' 

001735' 

001736' 

001737' 

001740' 

001741' 

001742' 

001743' 

001 744 » 

001745 

001746' 

001747' 

001750' 

001751' 

001752' 

001753' 

001754' 

001755' 

001756' 



332 

260 

261 

261 

261 

603 

254 

260 

260 

254 

260 

254 

254 

260 

254 

200 

554 

370 

260 

312 

254 

661 

621 

200 

2ui 

260 

255 

661 

262 

262 

262 

263 



00 
17 
17 
17 
17 
16 
00 
17 
17 
00 
17 
00 
00 
17 
00 
02 
01 
00 
17 
00 
00 
16 
16 
01 
16 
17 
00 
16 
17 
17 
17 
17 





















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



00 
02 





















00 
00 
00 
00 
00 
00 
00 
01 
00 
00 
00 
00 
00 
00 
00 



000216' 

261141 

000000 

000001 

000002 

000004 

001734' 

003543' 

001757' 

001750' 

004170' 

001752' 

001750' 

002006' 

001750' 

000276' 

000001 

000001 

003364 ' 

000001 

001752' 

000002 

000001 

0002/6' 

000002 

004124' 

000000 

000004 

000002 

000001 

000000 

000000 



SUBTTL CTP Generate Reset 

;This routine will generate a reset .packet on the the ci. Before we get here 
;we should have received a "CONNECT* '^request From the cint. establishing a. 3rd 
.-party connection to a responder. This routine will only be use^ wrth a cint. 

6ENRST: TRMSG (Opcode: Generate reset) 



PUT 

PUT 

PUT 

TLNE 

JRST 

GO 

GO 

JRST 

GO 

JRST 

JRST 

GENRS1: GO 

JRST 

MOVE 

HLRZ 

SOS 

GO 

CAME 

JRST 

TLO 

TLZ 

MOVE 

MOVEM 

GENRS2: GO 

JFCL 

GENRS3: TLO 
GET 
GET 
GET 
RTN 



ACO 

AC1 

AC2 

CURSTS,(ONETIM) 

GENRSl 

CH60PC 

VAL06 

GENRS2 

EXDLY 

GENRS3 

GENRS2 

ACT06 

GENRS2 

AC2.CUREXE 

AC1.RPCNT(AC2) 

ACl 

GETACT 

AC0,AC1 

GENRS3 

CURSTS.(DONE) 

CURSTS,(G0BIT) 

ACl.CUREXE 

CURSTS,STATUS(AC1) 

SEND 

CURSTS,(0NET1M) 

AC2 

ACl 

ACO 



;Save ac's 



First time here? 

No, go around the delay 

Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity check 

Do the delay 

•♦•1 Delay has been started, go around 

+2 "CFORK" Failure 

Perform action for the request 

Error return 

Get rblk address 

Offset to the repcount 

We start counting at so subtract rep. 

Get the actcount 

Actcount = repcount 

No 

Set the done bit 

Clear the gobit 

Get the rhBlk 

Store the status 

Send the ctp response message 

Virtual circuit qone return 

Set the onetim flag 



.•Return 



}6 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 36 
DFCIC1 MAC 27-Aug-85 08:25 CTP Generate Reset 



SEQ 0099 



H61 

H62 

H63 

1464 

1465 

1466 

1467 

1468 

1469 

1470 

1471 

1472 

1473 

1474 

1475 

1476 

1477 

1478 

1479 

1480 

1481 

1482 

1483 

1484 

1485 

1486 

1487 

1488 

1489 

1490 

1491 



001757' 
001760' 
001 761 • 
001762' 
001763' 
001764' 
001 765 ' 
001766' 
001767' 
001770' 
001 771 ' 



261 
261 
261 
200 
200 
201 
135 
307 
254 
201 
254 



17 
17 
17 
01 
02 
01 
00 
00 
00 
00 
00 

















00 
00 
00 
00 
01 
02 
00 
00 
00 
00 
00 



.-Check the validity of the ctp request 

ACO 

AC1 

AC2 

ACUCUREXE 

AC2,CTPPICT(AC1) 

AC1,2(AC2) 

ACO.EXTE 

ACO-1 

VAL06A 

ACO-NONSEN 

VAL06X 

.-Validate the "OTHERNODE" byte 



000000 VAL06: PUT 


000001 


PUT 


000002 


PUT 


000276' 


MOVE 


000003 


MOVE 


000002 


MOVE I 


000322' 


LDB 


000001 


CAIG 


001772' 


JRST 


000376 


MOVE I 


001777' 


JRST 



001772' 201 01 03 000002 

001773' 135 00 00 000331' 

001774' 331 00 00 000000 

001775' 254 00 00 002001' 

001776' 201 00 00 000376 



VAL06A: MOVE I 
LDB 
SKIPL 
JRST 
MOVE I 



00\777' 
002000' 
002001 ' 
002002' 
002003' 
002004 ' 
002005' 



260 
334 
350 
262 
262 
262 
263 



17 
00 
00 
17 
17 
17 
17 













00 
00 
17 
00 
00 
00 
00 



003450' 

000000 

777775 

000002 

000001 

000000 

000000 



VAL06X : 
VAL06S: 



GO 

SKI PA 

AOS 

GET 

GET 

GET 

RTN 



AC1,2(AC3) 

ACO.OTHE 

ACO 

VAL06S 

ACO.NONSEN 

LDSTUS 

-3(P) 
AC2 
AC1 
ACO 



.-Save ac's 



.-Get rhblk 

.-Now get the rblk 

.-Get extend address word 

;Get extend 

.-Value bigger than 1? 

.-No. continue 

.-Yes, do reguest not understood 

.-Take the -♦•T error return 



.-Get "OTHERNODE" address word 

.-Get othernode 

.-Value a negative number? 

;No. continue 

;Yes, do request not understood 

.-Load the status byte in the rblk 
.-Take the -t-l error return 
-,'^2 Return 



; Return 



1 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 37 
DFC1C1 MAC 27-Aug-85 08:25 CTP Generate Reset 



SEQ 0100 



1492 

1493 

1494 

1495 

1496 

1497 

1498 

1499 

1500 

1501 

1502 

1503 

1504 

1505 

1506 

1507 

1508 

1509 

1510 

1511 

1512 

1513 

1514 

1515 

1516 

1517 

1518 

1519 

1520 

1521 

1522 

1523 

1524 

1525 

1526 

1527 

1528 

1529 

1530 

1531 

1532 

1533 

1534 

1535 

1536 

1537 

1538 

1539 

1540 

1541 

1542 



002006' 261 

002007' 261 

002010' 261 

002011' 261 

002012' 261 

002013' 261 



17 00 000000 
17 00 000001 
17 00 000002 
17 00 000003 
17 00 000004 
17 00 000005 



002014' 550 01 00 000016 
002015' 200 01 01 000005 
002016' 202 01 00 000256' 



002017' 603 16 00 000004 

002020' 254 00 00 002024' 

002021' 260 17 00 003364' 

002022' 200 02 00 000276' 

002023' 5Co 00 02 000001 



002024' 201 01 03 000002 
002025' 135 00 00 000331' 
002026' 202 00 00 000232' 



002027' 201 00 00 000000 
002030' 260 17 00 003450' 



002031 ' 
002032' 
002033' 
002034' 
002035' 
002036' 
002037' 
002C40' 
002041 ' 
002042' 
002043' 
002044 ' 
002045' 
002046' 
002047' 



476 00 
201 03 
350 00 
200 04 
336 00 
254 00 
550 01 
312 01 
254 00 
550 01 
316 01 
254 00 
367 03 
201 
254 



00 
00 




















;Do the function the ctp request packet demanded 



ACT06: 



PUT 


ACO 


PUT 


ACl 


PUT 


AC2 


PUT 


AC3 


PUT 


AC4 


PUT 


ACS 



;Sa\/e ac's 



;Get the controllers ci number and store it. 



HRRZ ACUCURSTS 

MOVE ACIAOCPRT(ACI) 

MOVEM ACKCIPORT 

;Get repcount and store it 



;Get the cblk in acl 

;Now get the local port number (ci #) 

; And store it 



TLNE 


CURSTS,(ONETIM) 


.-First time here? 


JRST 


ACT06A 


;No, go around 


60 


GETREP 


;Get repcount and 


MOVE 


AC2,CUREXE 


; Store 


HRLM 


AC0,RPCKT(AC2) 


; It 



;Get the othernode field and store it. 

ACT06A: MOVEI AC1,2(AC3) 
LDB ACO.OTHE 
MOVEM ACO^OTHERN 

;Set up the status byte for success. 

MOVEI ACO,SUCCES 
GO LDSTUS 



;Get "OTHERNODE" address word 
;Get othernode 
; Store it 



;Load successful status 
;Do it 



;See if we have a connection open to this other node 



00 000002 


ACT06B: 


SETOM 


00 000040 




MOVEI 


00 000002 


ACT06C: 


AOS 


02 010556' 




MOVE 


04 000000 




SKIPN 


00 002045' 




JRST 


04 000005 




HRRZ 


00 000256' 




CAME 


00 002045' 




JRST 


04 000004 




HRRZ 


00 000232' 




CAMN 


00 002050' 




JRST 


00 002033' 


ACT06D: 


S0J6 


00 000366 




MOVEI 


00 002102' 




JRST 



AC2 

AC3,CBLSTE 

AC2 

AC4.CBLST(AC2) 

CID(AC4) 

ACT06D 

AC1,L0CPRT(AC4) 

ACl-CIPORT 

ACT06D 

ACl. NODE (AC4) 

ACl.OTHERN 

ACT06E 

AC3.ACT06C 

ACO-NOCONN 

ACT06X 



;Init index pointer 

;Get size of cblst 

; Increment index 

;Get cblk address 

;Is this cblk beina used? 

;No. look for anotner 

;Get the controllers ci number 

;Is this 3rd party on the same ci? 

;No 

;Get this cblks 3rd party node # 

;Do we have a connection open? 

;Yes. continue 

;No, keep looking 

;Yes, do no connection exist 

;Exit, take ♦! jrror rtn 



r' 



DFCIC 
DFCIC1 

15A3 

15AA 

15A5 

1546 

1547 

1548 

1549 

1550 

1551 

1552 

1553 

1554 

1555 

1556 

1557 

1558 

1559 

1560 

1561 

1562 

1563 

1564 

1565 

1566 

1567 

1568 

1569 

1570 

1571 

1572 

1573 

1574 

1575 

1576 

1577 

1578 

1579 

1580 

1581 

1582 

1583 

1584 

1585 

1586 

1587 

1588 

1589 

1590 



Clyster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 38 
MAC 27-Aug-85 08:25 CTP Generate Reset 



SEQ 0101 



002050' 201 01 00 000105 

002051' 202 01 00 006342' 

002052' 5H 01 00 000256' 

002053' 540 01 00 000232' 

002054' 202 01 00 006343' 



002055' 
002056' 
002057' 
002060' 
002061 ' 
002062' 
002063' 



200 01 

200 02 

201 01 
135 00 
476 00 
302 00 
402 00 













00 
01 
02 
00 
00 
00 
00 



002064' 200 01 00 261146 
002065' 260 17 00 006247' 
002066' 254 00 00 002070' 
002067' 254 00 00 002072' 

002070' 201 00 00 000373 
00207V 254 00 00 002102' 



002072' 
002073' 
002074 ' 
002075 • 
002076' 
002077' 
002100' 
002101' 

002102' 
002103' 
002104' 
002105' 
002106' 
002107' 
002110' 
002111' 
002112' 
002113' 



603 

CD 

260 
260 
350 
260 
254 

260 
334 
350 
262 
262 
262 
262 
262 
262 
263 



16 
00 
00 
17 
17 
00 
17 
00 

17 
00 
00 
17 
17 
17 
17 
17 
17 
17 

























00 
00 
00 
00 
00 
00 
00 
00 



000004 
002076' 
000000 
003402' 
003364 ' 
000000 
003402 ' 
002104' 



00 003450' 
00 000000 
17 777772 
00 000005 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



;Now do the "RESET" 

ACT06E: MOVEI ACU.DGRST 

MOVEM AC1.DIAGA6 

HRLZ ACUCIPORT 

HRR ACUOTHERN 

MOVEM ACl.DIAGAG+1 

;Look at the extend byte 



ACKCUREXE 

AC2.CTPPICT(AC1) 

AC1,2(AC2) 

ACO,EXTE 

DIA6AG^2 

ACO,0 

DIA6AG^2 

AC1,C-3,,DIAGA6] 

DIAGJ 

ACT06F 

ACT06H 

ACO-FUNCFL 
ACT06X 



000276' 


HOVE 


000003 


MOVE 


000002 


MOVEI 


000322' 


LDB 


006344' 


SETOM 


000000 


CAIE 


006344 • 


SETZM 



MOVE 
60 
JRST 
JRST 

ACT06F: MOVEI 
JRST 



.•Increment the actcount field 



ACT06H: TLNE 
JRST 
SETOM 
GO 

ACT06J: GO 
AOS 
GO 
JRST 



ACT06X: 
ACT06S: 



GO 

SKI PA 

AOS 

GET 

GET 

GET 

GET 

GET 

GET 

RTN 



CURSTS,(0NETIM) 

ACT06J 

ACO 

STRACT 

6ETACT 

ACO 

STRACT 

ACT06S 

LDSTUS 

-6(P) 

AC5 

AC4 

AC3 

AC2 

ACl 

ACO 



Store the "RESET" 
Function code 
Port # to Ih 
Node # to rh 
Put the port*,,node# to arg block 



;Get rhblk 

:Now get the rblk 

;Get extend address word 

;Get expend 

;Set up for "UNCONDITIONAL RESET" 

;Do an "UNCONDITIONAL RESET"? 

;No 

;Neg length of arg block,, address 
; Do the ^lAG" jsys 
;Error rtn 
; Success 

;Do function failure 
;Do ♦! error rtn 



First time here? 
NOf go around 
Init actcount to -1 
For the first time 
Get actcount 
Increment it 
Now store it 
Take the ♦2 good rtn 

Load the status byte 

Normal skip return 
Restore ac's 



;Error return 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 39 
DFCIC1 WAC 27-Aug-85 08:25 CTP Generate Start 



SEQ 0102 



1591 

1592 

1593 

159A 

1595 

1596 

1597 

1598 

1599 

1600 

1601 

1602 

1603 

160A 

1605 

1606 

1607 

1608 

1609 

1610 

1611 

1612 

1613 

1614 

1615 

1616 

1617 

1618 

1619 

1620 

1621 

1622 

1623 

1624 

1625 

1626 

1627 

1628 
1629 



002114' 

002115' 

002116' 

002117' 

002120' 

002121' 

002122' 

002123' 

002124' 

002125' 

002126' 

002127' 

002130' 

002131' 

002132' 

002133' 

002134' 

002135' 

002136' 

002137' 

002140' 

002141' 

002142' 

002143' 

002144' 

002145' 

002146' 

002147' 

002150' 

002151' 

002152' 

002153' 



332 00 
260 17 



261 
261 
261 



17 
17 
17 



603 16 
254 00 
260 17 
260 17 
254 00 
260 17 
254 00 
254 00 
260 17 
254 00 



















200 02 

554 01 

370 00 

260 17 

312 00 
00 
16 
16 

200 01 
16 
C 









254 
661 
621 



2ui 












260 17 



255 
661 



00 
16 



262 17 
262 17 



262 
263 



17 
17 



00 000216' 
00 261154 
00 000000 
00 000001 
00 000002 
00 000004 
00 002131' 
00 003543' 
00 002154' 
00 002145' 
00 004170' 
00 002147' 
00 002145' 
00 002203' 
00 002145' 
00 000276' 
02 000001 
00 000001 
00 003364' 
00 000001 
00 002147' 
00 000002 
00 000001 

00 000276' 

01 000002 
00 004124' 
00 000000 
00 000004 
00 000002 
00 000001 
00 000000 
00 000000 



SUBTTL CTP Generate Start 

;This routine will generate a start packet on the the ci. Before we get here^ 
;ye should have received a "CONNECT"^ request From the cint. establishing a.5rd 
.•party connection to a responder. This routine will only be used with a cmt. 



GENSTR: TRMSG (Opcode: Generate start) 



PUT ACO 

PUT ACl 

PUT AC2 

TLNE CURSTS.(ONETIM) 

JRST GENSTl 

GO CHGOPC 

m VAL07 

JRST 6ENST2 

GO EXDLY 

JRST GENST3 

JRST GENST2 

GENSTl: GO ACT07 

JRST GENST2 

MOVE AC2,CUREXE 

HLRZ AC1.RPCNT(AC2) 

SOS ACl 

60 GETACT 

CAME ACO, ACl 

JRST GENST3 

TLO CURSTS,(DONE) 

TLZ CURSTS.(G081T) 

MOVE ACl, CURE XE 

MOVEM CURSTS,STATUS(AC1) 

GENST2: GO SEND 

JFCL 

GENST3: TLO CURSTS, (ONETIM) 

GET AC2 

GET ACl 

GET ACO 

RTN 



;Save ac's 



First time here? 

No, go around the delay 

Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity check 

Do the delay 

^^ Delay has been started, go around 

♦2 "CFORk" Failure 

Perform action for the request 

Error return 

Get rblk address 

Offset to the repcount 

ye start counting at so subtract rep 

Get the actcount 

Actcount = repcount 

No 

Set the done bit 

Clear the gobit 

Get the rhblk 

Store the status 

Send the ctp response message 

Virtual circuit 3one return 

Set the onetim flag 



.•Return 



090 



DFCIC 
DFCIC1 

1630 

1631 

1632 

1633 

163A 

1635 

1636 

1637 

1638 

1639 

16A0 

16A1 

16A2 

16A3 

16AA 

16A5 

16A6 

16A7 

16A8 

,6A9 

1650 

1651 

1652 

1653 

1654 

1655 

1656 

1657 

1658 
1659 
1660 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 40 
WAC 27-Aug-85 08:25 CTP Generate Start 



SEQ 0103 



002154' 
002155' 
002156' 
002157' 
002160' 
002161' 
002162' 
002163' 
002164' 
002165' 
002166' 



261 17 
261 17 
261 17 
200 01 

200 02 

201 01 



135 00 
307 00 
254 00 
201 00 
254 00 



00 000000 
00 000001 
00 000002 

00 000276' 

01 000003 

02 000002 
00 000322' 
00 000001 
00 002167' 
00 000376 
00 002174' 



002167' 201 01 03 000002 
002170' 135 00 00 000331' 
002171' 331 00 00 000000 
002172' 254 00 00 002176' 
002173' 201 00 00 000376 

002174' 260 17 00 003450' 
002175* 334 00 00 000000 
002176' 350 00 17 lllll'i 
002177' 262 17 00 000002 
002200' 262 17 00 000001 
002201' 262 17 00 000000 
002202' 263 17 00 000000 



.-Check the validity of the ctp request 

VAL07: PUT ACO 

PUT AC1 

PUT AC2 

«OVE ACUCUREXE 

HOVE AC2,CTPPICT(AC1) 

nOVEI AC1,2(AC2) 

LDB ACO.EXTE 

CAIG AC0.1 

JRST VAL07A 

HOVE I ACO.r^ONSEN 

JRST VAL07X 

.-Validate the "OTHERNODE" byte 

VALC7A: HOVE! AC1.2(AC3) 

LDB ACO.OTHE 

SKIPL ACO 

JRST VAL07S 

HOVEI ACO.NONSEN 

VAL07X: GO LDSTUS 

SKIPA 

VAL07S: AOS -3(P) 

GET AC2 

GET AC1 

GET ACO 

RTN 



;Sa\/e ac's 



.-Get rhblk 

;Now get the rblk 

;Get extend address word 

;Get extend 

.-Value bigger than 1? 

;No, continue 

.-Yes. do reguest not understood 

.-Take the '••T error return 



.-Get "OTHERNODE" address word 

.-Get othernode 

.-Value a negative number? 

.-No. continue 

.-Yes, do request not understood 

.-Load the status byte in the rblk 
.-Take the ■••1 error return 
.-•♦•2 Return 



.-Return 



DFCIC 
DFCICl 

1661 

1662 

1663 

166A 

166*^ 

1666 

1667 

1668 

1669 

1670 

1671 

1672 

1673 

167A 

1675 

1676 

1677 

1678 

1679 

1680 

1681 

1682 

1683 

168A 

1685 

1686 

1687 

1688 

1689 

1690 

1691 

1692 

1693 

1694 

1695 

1696 

1697 

1698 

1699 



Cluster Test Protocol Responder MACRO :53B(12A2) 11:18 27-Aug-85 Page 41 
MAC 27-Aug-85 08:25 CTP Generate Start 



SEQ 0104 



002203' 261 
002204' 261 
002205' 261 
002206' 261 
002207' 261 
002210' 261 



17 00 000000 
17 00 000001 
17 00 000002 
17 00 000003 
17 00 000004 
17 00 000005 



002211' 550 01 00 000016 
002212' 200 01 01 000005 
002213' 202 01 00 000256' 



002214' 603 16 00 000004 

002215' 254 00 00 002221' 

002216' 260 17 00 003364' 

002217' 200 02 00 000276' 

002220' 506 00 02 000001 



002221 • 201 01 03 000002 
002222' 135 00 00 000331' 
002223' 202 00 00 000232' 



002224' 201 01 03 000003 
002225' 135 00 00 000342' 
002226' 202 00 00 000252' 



002227* 201 00 00 000000 
002230' 260 17 00 003450' 



;Do the function the ctp request packet demanded 



ACT07: 



PUT 


ACO 






PUT 


ACl 






PUT 


AC2 






PUT 


AC3 






PUT 


AC4 






PUT 


AC5 






con 


trollers 


• 

CI 


number and 



.-Save ac's 



store it. 



HRR2 AC1,CURSTS 
MOVE ACKLOCPRTCACI) 
MOVEM ACl CIPORT 

;Get repcount and store it 



;Get the cblk in ad 

;Now get the local port numberCci 

; And store it 



#) 



TLNE 


CURSTS,(ONETIM) 


; First time here? 


JRST 


ACT07A 


:Uo, go around 


GO 


GETREP 


;Get repcount and 


MOVE 


AC2,CUREXE 


; Store 


HRLM 


AC0,RPCNT(AC2) 


; It 



;Get the ouhernode field and store it. 

ACT07A: MOVEI AC1,2(AC3) 
LDB ACO,OTHE 
MOVEM ACO,OTHERN 

;Get the start address and store it. 

MOVE! AC1J(AC3) 
LDB ACO, STAR 
MOVEM ACO,STRTAD 

;Set up the status byte for success. 



MOVE! 
GO 



ACO.SUCCES 
LDSTUS 



;Get "OTHERNODE" address word 
;Get othernode 
; Store it 



;6et "START ADDRESC" address word 
;Get the start address 
.-Store it 



;Load successful status 
;Do it 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 42 
DFCIC1 MAC 27-Aug-85 08:25 CTP Generate Start 



SEQ 0105 



1700 

1701 

1702 

1703 

1704 

1705 

1706 

1707 

1708 

1709 

1710 

1711 

1712 

1713 

1714 

1715 

1716 

1717 

1718 

1719 

1720 

1721 

1722 

1723 

1724 

1725 

1726 

1727 

1728 

1729 

1730 

1731 

1732 

1733 

1734 

1735 



002231 ' 
002232' 
002233' 
002234' 
002235' 
002236' 
002237' 
002240' 
002241 ' 
002242' 
002243' 
002244' 
002245' 
002246' 
002247' 



476 00 
201 03 
350 00 

200 04 
336 00 
254 00 
550 01 
312 01 
254 00 
550 01 
316 01 
254 00 
367 03 

201 00 
254 00 




















00 
00 
00 
02 
04 
00 
04 
00 
00 
04 
00 
00 
00 
00 



00 



002250' 201 01 00 000106 

002251' 202 01 00 006342' 

002252' 514 01 00 000256' 

002253' 540 01 00 000232' 

002254' 202 01 00 006343' 



002255' 
002256' 
002257' 
002260' 
002261 ' 
002262' 
002263' 



200 01 
2uJ 02 

201 01 
135 00 
402 00 
302 00 
254 00 



00 
01 



02 
00 
00 
00 
00 



000276' 

000003 

000002 

000322' 

006344 ' 

000001 

002270' 



;See if we have a connection open to this other node 



000002 


ACT07B: 


SETOM 


000040 




MOVE I 


000002 


ACT07C: 


AOS 


010556' 




MOVE 


000000 




SKIPN 


002245 • 




JRST 


000005 




HRRZ 


000256' 




CAME 


002245' 




JRST 


000004 




HRRZ 


000232 • 




CAMN 


002250' 




JRST 


002233' 


ACT07D: 


S0J6 


000366 




MOVE I 


002306' 




JRS: 



AC2 

AC3,CBLSTE 

AC2 

AC4,CBLST(AC2) 

CID(AC4) 

ACT07D 

AC1,L0CPRT(AC4) 

AC1-CIP0RT 

ACT07D 

AC1,N0DE(AC4) 

ACKOTHERN 

ACT07E 

AC3,ACT07C 

ACO-NOCONN 

ACT07X 



;Now do the start 



ACT07E: MOVE I 
MOVEM 
HRLZ 
HRR 
MOVEM 



ACU.DGSTR 
ACKDIAGAG 
ACUCIPORT 
AC1,0THERN 
AC1,DIAGAG^-1 



;Look at the extend byte 

MOVE AChCUREXE 

MOVE AC2,CTPPKT(AC1) 

MOVEI AC1,2(AC2) 

LDB ACO,EXTE 

SETZM D]AGAG^2 

CAIE AC0,1 

JRST ACT07G 



Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Is this cblk beincj used? 

No, look for another 

Get the controllers ci number 

Is this 3rd party on the same 

No 

Get this cblks 3rd party node 

Do we have a connection open? 

Yes, continue 

No, keep looking 

Yes, do no connection exist 

Exit, take -♦■1 error rtn 



; Store the "START" 
; Function code 
;Port # to Ih 
;Node # to rh 
;Put the port*,,node# 



ci? 



to arg block 



;Get rhblk 

;Now get the rblk 

;Get extend address word 

;Get extend 

;Set up to use "DEFAULT ADDRESS' 

;Use the "DEFAULT ADDRESS"? 

;Yes 



n 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 43 
DFC1C1 MAC 27-Aug-85 08:25 CTP Generate Start 



SEQ 0106 



1736 

1737 

1738 

1739 

17A0 

1741 

1742 

1743 

1744 

1745 

1746 

1747 

1748 

1749 

1750 

1751 

1752 

1753 

1754 

1755 

1756 

1757 

1758 

1759 

1760 

1761 

1762 

1763 

1764 

1765 

1766 

1767 

1768 

1769 

1770 

1771 

1772 



002264' 200 00 00 000252' 
002265' 242 00 00 17777 1, 
002266' 260,17 00 003463' 
002267' 202 00 00 006344' 

002270' 200 01 00 261146 
002271' 260 17 00 006247' 
002272' 254 00 00 002274' 
002273' 254 00 00 002276' 

002274' 201 00 00 000373 
002275' 254 00 00 002306' 



002276' 
002277' 
002300' 
002301 • 
002302' 
002303' 
002304' 
002305 ' 

002306' 
002307' 
002310' 
00231 1 ' 
002312' 
002313' 
002314' 
002315' 
002316' 
002317' 



603 
254 
476 
260 
260 
350 
260 
254 

260 
334 
350 

7:ol 
2t2 
262 
262 
262 
262 
263 



16 
00 
00 
17 
17 
00 
17 
00 

17 
00 
00 
17 
17 
17 
17 
17 
17 
17 

























00 
00 
00 
00 
00 
00 
00 
00 

00 
00 
17 
00 
00 
00 
00 
00 
00 
00 



000004 

002302' 

000000 

003402' 

003364 ' 

000000 

003402' 

002310' 

003450' 

000000 

777772 

000005 

000004 

00j003 

000002 

000001 

000000 

000000 



;Use the supplied start address 



MOVE 
LSH 
GO 
MOVEM 

ACT07G: MOVE 
GO 
JRST 
JRST 

ACT07F: MOVEI 
JRST 



ACO^STRTAD 
AC0,-4 
PllflO 
AC0,DIAGAG^'2 

ACU[-3,,DIA6A6] 

DIAGJ 

ACT07F 

ACT07H 

ACO-FUNCFL 
ACT07X 



; Increment the actcount field 



ACT07H: TLNE 
JRST 
SETOM 
GO 

ACT07J: GO 
AOS 
GO 
JRST 

ACT07X: GO 

SKI PA 

ACT07S: AOS 
GET 
GET 
GET 
GET 
GET 
GET 
RTN 



CURSTS,(ONETIM) 

ACT07J 

ACO 

S TRACT 

GETACT 

ACO 

STRACT 

ACT07S 

LDSTUS 

-6(P) 

AC5 

AC4 

AC3 

AC2 

AC1 

ACO 



;Get the start address 
;Shift right 4 places 
;Get It in pdpIO format 
;Put It in the argument block 

;Neg length of arg block,, address 
;Do the T)IAG" jsys 
;Error rtn 
; Success 

;Do function failure 
;Do ♦I error rtn 



.-First time here? 
:NOf go around 
;Imt actcount to -1 
; For the first time 
;Get actcount 
.•Increment it 
;Now store it 
;Take the ^2 good rtn 

.-Load the status byte 

.-Normal skip return 
.-Restore ac's 



llrror return 



DFCIC 
DFCIC1 

1773 
177A 
1775 
1776 
1777 
1778 
1779 
1780 
1781 
1782 
1783 
178A 
1785 
1786 
1787 
1788 
1789 
1790 
1791 
1792 
1793 
1794 
1795 
1796 
1797 

1798 
1799 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 44 
MAC 27-Aug-85 08:25 CTP Unsolicited Activity 

SUBTIL CTP Unsolicited Activity 



SEQ 0107 



002320' 
002321 • 
002322* 
002323' 
002324 • 
002325 • 
002326' 
002327' 
002330' 
002331 ' 
002332' 
002333' 
002334 ' 



332 
260 
260 
260 
260 
255 
661 
621 
200 
202 
260 
255 
263 



00 
17 
17 
17 
17 
00 
16 
16 
01 
16 
17 
00 
17 


















00 
00 
00 
00 
00 
00 
00 
00 
00 
01 
00 
00 



00 



000216' 

261170 

003543' 

002335 ' 

002342' 

000000 

000002 

000001 

000276' 

000002 

004124' 

000000 

000000 



002335' 261 17 U 00 000000 

002336' 201 00 00 000000 

002337' 260 17 00 003450' 

002340' 262 17 00 000000 

00234V 263 17 00 000000 



.-This routine will either start or stop the monitor from executing 
.-••REQUEST ID'S"(Polling). This routine will only be used with a cint. 

SSUNSO: TRMSG (Opcode: Unsolicited activity) 



SSL 



51 



.•Check 
VAL08: 



CH60PC 

VAL08 

ACT08 

CURSTS.(DONE) 

CURSTS.(GOBIT) 

AC1.CUREXE 

CURSTS.STATUS{AC1) 

SEND 



he validity of the ctp request 

PUT ACO 

MOVEI ACO,SUCCES 

GO LDSTUS 

GET ACO 

RTN 




Change opcode from a req to a res 

Check validity of the ctp request 

Perform action for the request 

Error return 

Set the done bit 

Clear the gobit 

Get the rhblk 

Store the status 

Send back the ctp response 

Error return 

Return 



;Save ac's 
;Zero the 
; Status byte 
.•Restore ac's 
.•Return 



in the ctp packet 



■ j 



r 



DFCIC 
DFC1C1 

1800 

1801 

1802 

1803 

1804 

1805 

1806 

1807 

1808 

1809 

1810 

1811 

1812 

1813 

181A 

1815 

1816 

1817 

1818 

1819 

1820 

1821 

1822 

1823 

1824 

1825 

1826 

1827 

1828 
1829 
1830 
1831 
1832 
1833 
1834 
1835 
1836 
1837 
1838 
1839 
1840 
1841 
1842 
1843 
1844 
1845 
1846 
1847 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 45 
MAC 27-Aug-85 08:25 CTP Unsolicited Activity 



SEQ 0108 



002342' 
002343' 
002344' 
002345' 
002346' 
002347' 
002350' 
002351 ' 
002352' 
002353' 
002354' 
002355' 
002356' 
002357' 



002360' 
002361 ' 
002362' 
002363' 
002364' 
002365' 
002366' 



002367' 
002370' 
002371 • 
002372' 
002373' 
002374 • 
002375' 

002376' 
002377' 
002400' 
002401 ' 
002402 ' 
002403' 
002404 • 
002405 ' 
002406' 
002407' 



261 
261 
261 
261 
261 



17 
17 
17 
17 
17 



200 00 
202 00 
200 02 

200 01 

201 01 
135 00 

202 00 
336 00 
254 00 



201 01 

202 01 
402 00 
200 01 
260 M 
254 00 
254 00 



2u' 01 
202 01 
350 00 
200 01 
260 17 
254 00 
254 00 








































00 
00 
00 
00 
00 
00 
00 
00 
02 
01 
00 
00 
00 
00 



00 
00 
00 
00 
00 
00 
00 



000000 

000001 

000002 

000003 

000004 

000256' 

006343' 

000276' 

000003 

000002 

000332 ' 

000253' 

000000 

002367' 



000111 

006342' 

006344 ' 

^'1146 

ou6247' 

002376' 

002401 ' 



00 
00 
00 
00 
00 
00 
00 



000111 

006342' 

006344 ' 

261146 

006247' 

002376' 

002401 • 



201 00 
260 17 
334 00 
350 00 
262 17 
262 17 
262 17 
262 17 

262 17 

263 17 



00 000373 
00 003450' 
00 000000 
17 777771 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



;Do the function the ctp request packet demanded 



ACT08: PUT 
PUT 
PUT 
PUT 
PUT 
MOVE 
MOVEM 
MOVE 
MOVE 
MOVE! 
LDB 
MOVEM 
SKIPN 
JRST 



ACO 

ACl 

AC2 

AC3 

AC4 

AC0,CIPORT 

AC0,DIA6AG^1 

AC2,CUREXE 

AC1,CTPPICT(AC2) 

AC1,2(AC1) 

ACO^NOAC 

ACO,UNSACT 

ACO 

ACT08C 



;Sav/e ac's 



;Stop the poller 

MOVE I 

MOVEM 

SETZM 

MOVE 

GO 

JRST 
JRST 



ACU.DGENB 

ACUDIAGAG 

DJAGAG*2 

AC1,C-3,,DIA6AG] 

DIAGJ 

ACT08A 

ACT08S 



.-Start the poller 



ACT08C: 



MOVE I 
MOVEM 
AOS 
MOVE 
GO 
JRST 
JRST 



ACT08A: MOVE I 
ACT08X: GO 

SKI PA 
ACT08S: AOS 
GET 
GET 
GET 
GET 
GET 
RTN 



ACU.DGENB 

ACKDIAGAG 

DIAGAG^2 

AC1,C-3,,DIAGAG] 

DIAGJ 

ACT08A 

ACT08S 

ACOJUNCFL 
LDSTUS 

-5(P) 

AC4 

AC3 

AC2 

ACl 

ACO 



Get port number 

Store in arg block 

Get the rhblk 

Get the rblk address 

Get unsolicited activity address word 

Get unsol act field 

Store it 

= Start polling, 1 = stop polling 

Start the poller 



Store the "POLLER" 
Function code 
Stop the poller 

Neg length of arg block,. address 
Do the T)IAG" jsys 
Error return 
Success 



Store the •T>0LLER" 
Function code 
Start the poller 

Neg length of arg block,, address 
Do the T)IAG" jsys 
Error return 
Success 



;Do function failure 
;Load the status byte 

.-Normal skip return 



DFCIC 
DFCIC1 

18A8 

18A9 

1850 

1851 

1852 

1853 

1854 

1855 

1856 

1857 

1858 

1859 

1860 

1861 

1862 

1863 

186A 

1865 

1866 

1867 

1868 

1869 

1870 

1871 

1872 

1873 

1874 

1875 

1876 

1877 

1878 

1879 

1880 

1881 

1882 

1883 

1884 

1885 

1886 

1887 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 46 
MAC 27-Aug-85 08:25 CTP Configuration 

SUBTTL CTP Configuration 



SBQ 0109 



002410' 
002411' 
002412' 
002413' 
002414' 
00241 5 ' 
002416' 
002417' 
002420' 
002421 ' 
002422' 
002423' 
002424 ' 



002425' 
002426' 
002427' 
002430' 
0024 31' 
002432' 
002433' 
002434 ' 
002435' 
002436' 
002437' 

002440' 
002441 ' 
002442 ' 
002443' 
002444 ' 
002445' 
002446' 



332 00 
260 17 
260 17 
260 17 

254 00 
260 17 
661 16 
621 16 
200 01 
202 16 
260 17 

255 00 
263 17 



00 000216' 
00 261202 
00 003543' 
00 002425' 
00 002422' 
00 002447' 
00 000002 
00 000001 

00 000276' 

01 000002 
00 004124' 
00 000000 
00 000000 



261 17 
261 17 
261 17 
200 01 
200 02 



201 01 
135 00 

202 00 
331 

201 



00 
00 
00 



260 
334 
350 
262 
262 
262 
263 



17 
00 
00 
17 
17 
17 
17 




















00 000000 
00 000001 
00 000002 

00 000276' 

01 000003 

02 000002 
00 000331 ' 
00 000232' 
00 000000 
00 002442' 
00 000376 

00 003450' 
00 000000 
17 777775 
00 000002 
00 000001 
00 000000 
00 000000 



;This routine returns informdtion(path status) about another system back to the 
.-controller. 

CNFDAT: TRMS6 (Opcode: Conf igruation) 

Change opcode from a req to a res. 
Check the validity of the ctp request 
Error in the validity check 
Perform action for the request 
Set the done bit 
Clear the gobit 
Get the rhblk 
Store the status 
CNFDA1: 60 SEND ;Send the ctp response message 

Virtual circuit gone return 
Return 



VAL09: 



VAL09X: 
VAL09S: 



60 


CH60PC 


GO 


VAL 09 


JRST 


CNFDA1 


60 


ACT09 


TLO 


CURSTS,(DONE) 


TLZ 


CURSTS,(60BIT) 


MOVE 


ACKCUREXE 


MOVEM 


CURSTS.STATUS(ACI) 


60 


SEND 


JFCL 




RTN 




he val 


idity of the ctp req 


PUT 


ACO 


PUT 


AC1 


PUT 


AC2 


MOVE 


AC1,CUREXE 


MOVE 


AC2,CTPPKT(AC1) 


MOVE^ 


AC1.2(AC2) 


LDB 


ACO,OTHE 


MOVEM 


AC0,0THE»7N 


SKI PL 


ACO 


JRST 


VAL09S 


MOVE I 


ACO,NONSEN 


60 


LDSTUS 


SKI PA 




AOS 


-3(P) 


6ET 


AC2 


6ET 


AC1 


6ET 


ACO 


RTN 





;Save ac's 



6et rhblk 

Now get the rblk 

Get othernode address word 

Get othernode field 

Store it 

Othernode a negative number? 

No, continue 

Yes, do request not understood 

Load the status byte in the rblk 
Take ^1 error return 
♦2 Return 



.-Return 



"1 



n 



DFCIC Cluster Test Protocol Res'i)onder MACRO X53B(1242) 11:18 27-Aug-85 Page A7 
DFCIC1 MAC 27-Aug-85 08:25 CTP Configuration 



SEQ 0110 



1888 

1889 

1890 

1891 

1892 

1893 

189A 

1895 

1896 

1897 

1898 

1899 

1900 

1901 

1902 

1903 

190A 

1905 

1906 

1907 

1908 

1909 

1910 

1911 

1912 

1913 

191A 

1915 

1916 

1917 

1918 

1919 

1920 

1921 

1922 

1923 

1924 

1925 

1926 

1927 

1928 

1929 

1930 

1931 

1932 

1933 

193A 

1935 

1936 

1937 

1938 

1939 

1940 

1941 



002447' 261 17 00 000000 

002450' 261 17 00 000001 

002451' 261 17 00 000002 

002452' 261 17 00 000003 

002453' 261 17 00 000004 



002454' 201 00 00 000000 
002455' 260 17 00 003450' 



002456' 
002457' 
002460' 
002461 • 
002462' 
002463' 
002464' 



402 00 
200 02 
260 17 
254 00 
554 03 
200 01 
200 04 



00 000001 
00 000232' 
00 005737' 
00 002505' 
00 005772' 

00 000276' 

01 000003 



002465' 200 00 00 000232' 
002466' 260 17 00 003562' 
002467' 254 00 00 002505' 



002470' 402 00 00 000003 

002471 ' 554 02 00 000000 

002472' 33i 00 00 000002 

002473' 201 03 00 000001 

002474' 201 01 04 000002 

002475' 137 03 00 000335' 



002476' 402 00 00 000003 
002477' 550 02 00 000000 
002500' 332 00 00 000002 
002501 ' 201 03 00 000001 



002502' 
002503' 
002504' 
002505' 
002506' 
002507' 
002510' 
002511' 
002512' 
002513' 
002514' 



201 01 
137 03 
254 00 
201 00 
260 17 
262 17 
262 17 
262 17 
262 17 

262 17 

263 17 



04 000003 
00 000337' 
00 002507' 
00 000370 
00 003450' 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



;Do the function the ctp request packet demanded 

;Sa\/e ac's 



ACT09: PUT 
PUT 
PUT 
PUT 
PUT 



ACO 
AC1 
AC2 
AC3 
AC4 



;Set up the status byte for success. 

MOVEI ACO^SUCCES 

GO LDSTUS 

SETZM ACl 

MOVE AC2,0THERN 

GO CONFIG 

JRST ACT09A 

HLRZ AC3,CNFARG+3 

MOVE ACKCUREXE 

MOVE AC4,CTPPKT(AC1) 



;Get path status for this node 
MOVE ACO.OTHERN 
GO GPRS 
JRST ACT09A 



;Load successful status 
;Do it 

; Don't use cid 

;Use node number 

;Get information about this node 

;Node does not exists 

;Get 'VIRTUAL CIRCUIT STATE" field 

;Get rhblk 

;Get rblk 



;Get the node number 



•Go get path status. AcO has status 
;Node doesn't exist 

;Get the path status word and store it in the ctp packet. 



SETZM 
HLRZ 
SKIPE 
MOVEi 

MOVEI 
DPB 



AC3 

AC2,AC0 
AC2 
AC3,1 

AC1,2(AC4) 
AC3,P0ST 



:Assume path status is bad 
;Get path status 
;Skip if path status is bad 
;Mark path as good 

:Get path status address word 
.•Store it in the ctp packet 



;6et the path 1 status word and store it in the ctp packet. 



SETZM 
HRRZ 
SKIPE 
MOVEI 

MOVEI 

DPB 

JRST 

ACT09A: MOVEI 
GO 

ACT09S: GET 
GET 
GET 
GET 
GET 
RTN 



AC3 

AC2,AC0 
AC2 
AC3,1 

AC1.3(AC4) 

AC3-P1ST 

ACT09S 

ACO.NODEUN 

LDSTUS 

AC4 

AC3 

AC2 

ACl 

ACO 



; Assume path status is bad 
:Get path status 1 
;Skip if path status is bad 
:Mark path as good 

;Get path 1 status address word 
.-Store it in the ctp packet 
.-All done 

;Yes, do node unknown to sea 
.-Load the status byte in the rblk 
.-Restore ac's 



.-Error return 



8 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 48 
0FCIC1 MAC 27-Aug-85 08:25 CTP Counter Read 



SEQ 0111 



19A2 

1943 

1944 

1945 

1946 

1947 

1948 

1949 

1950 

1951 

1952 

1953 

1954 

1955 

1956 

1957 

1958 

1959 

1960 

1961 

1962 

1963 

1964 

1965 

1966 

1967 

1968 

1969 

1970 

1971 

1972 

1973 

1974 

1975 

1976 

1977 

1978 

1979 

1980 

1981 



SUBTIL CTP Counter Read 



002515' 
002516' 
002517' 
002520' 
002521 • 
002522' 
002523' 
002524' 
002525' 
002526' 
002527' 
002530' 
002531 ' 



002532' 
002533' 
002534' 
002535' 
002536' 
002537' 
002540' 
002541 ' 
002542' 
002543' 
002544' 

002545' 
002546' 
002547' 
002550' 
002551' 
002552' 
002553' 



332 00 00 000216' 
260 17 00 261214 
260 17 00 003543' 
260 17 00 002532' 

254 00 00 002523' 
260 17 00 002554' 
260 17 00 004124' 

255 00 00 000000 
661 16 00 000002 
621 16 00 000001 
200 01 00 000276' 
202 16 01 000002 
263 17 00 000000 



261 17 00 000000 
261 17 00 000001 

261 17 00 000002 
200 01 00 000276' 
200 02 01 000003 

02 000002 
00 000331 • 
00 000232' 
00 000000 
00 002547' 
00 000376 

260 17 00 003450' 
334 00 00 000000 
350 00 17 11111^ 
2t2 17 00 000002 

262 17 00 000001 

262 17 00 000000 

263 17 00 000000 



201 01 
135 00 

202 00 
331 

#* - 

201 



00 
00 
00 



;This routine reads the 
.•controller. 



counters in our port and returns them to the 



CNTRRD: TRMSG (Opcode: Counter read) 



CNTRR1 



60 

GO 

JRST 

GO 

GO 

JFCL 

TLO 

TLZ 

MOVE 

MOVEM 

RTN 



CHGOPC 

VAL10 

CNTRR1 

ACTIO 

SEND 

CURSTS.(DONE) 
CURSTS,(G08IT) 
AC1,CUREXE 
CURSTS,STATUS(AC1) 



.-Check the validity of the ctp request 

VAL10: PUT ACO 

PUT AC1 

PUT AC2 

MOVE AC1.CUREXE 

MOVE AC2.CTPPKT(AC1) 

MOVEI AC1,2(AC2) 

LDB ACO.OTHE 

MOVEM ACO.OTHERN 

SKIPL ACO 

JRST VAL10S 

MOVEI ACO.NONSEN 

VAL10X: GO LDSTUS 

SKIPA 

VAL10S: AOS -3(P) 

GET AC2 

GET AC1 

GET ACO 

RTN 



Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity check 

Perform action for the request 

Send the ctp response message 

Virtual circuit gone return 

Set the done bit 

Clear the gobit 

Get the rhblk 

Store the status 

Return 



:Save ac's 



Get rhblk 

Now get the rblk 

Get othernode address word 

Get othernode field 

Store it 

Value a negative number? 

No. continue 

Yer*. do request not understood 

Load the status byte in the rblk 
Take -♦•1 error return 
^2 Return 



.-Return 



"1 



DFCIC Cluster 
DFCIC1 MAC 



Test Protocol Responder MACRO Z53B(1242) 11:18 27-Aug-85 Page 49 
27-Aug-85 08:25 CTP Counter Read 



SEQ 0112 



1982 

1983 

198A 

1985 

1986 

1987 

1988 

1989 

1990 

1991 

1992 

1993 

1994 

1995 

1996 

1997 

1998 

1999 

2000 

2001 

2002 

2003 

2004 

2005 

2006 

2007 

2008 

2009 

2010 

2011 

2012 

2013 

2014 

2015 

2016 

2017 

2018 

2019 

2020 

2021 

2022 

2023 



002554' 261 17 00 000000 
002555' 261 17 00 000001 
002556' 261 17 00 000002 



002557' 201 00 00 000000 
002560' 260 17 00 003450' 



002561' 550 01 00 000016 
002562' 200 01 01 000005 
002563' 202 01 00 000256' 



002564' 
002565' 
002566' 
002567' 
002570' 
002571 ' 
002572' 



201 01 

202 01 
515 01 
541 01 
202 01 
402 00 
402 00 



00 000107 
00 006342' 
00 000007 
00 000003 
00 006343' 
00 006344' 
00 006345' 



002573' 200 01 00 261221 
002574' 260 17 00 006247' 
002575' 2y 00 00 002706' 



002576' 200 01 00 000276' 
002577' 200 02 01 000003 
002600' 271 02 00 000003 

002601 ' 200 00 00 006346 ' 
002602' 260 17 00 003502' 
002603' 242 00 00 000004 
002604' 202 00 1 00 000002 



;Do the function the ctp request packet demanded 



ACTIO: PUT ACO 
PUT AC1 
PUT AC2 

;Set up the status byte for success. 

MOVEI ACO^SUCCES 
GO LDSTUS 



;Scj\/e ac's 



;Load successful status 
;Do it 



;6et the controllers ci number and store it. 



HRRZ ACUCURSTS 
MOVE ACIAOCPRT(ACI) 
MOVEM AC1,CIP0RT 



;Read the counters 



MOVEI AC1,.DGCTR 

MOVEM ACKDIAGAG 

HRLZI AC1,7 

HRRI AC1,3 

MOVEM ACUDIAGAGtl 

SETZM DIAGAG^2 

SETZM DIAGAG+3 

MOVE AC1,C-'^D21,,DIAGAG3 

GO DIAGJ 

JRST ACTIOS 



;Get the cblk in ad 

;Now get the local port numberCci #) 

; And store it 



;Get the "PORT COUNTER" function 

; Store it in argument block 

;6et port number 

;Read the counters function code 

;Store it in araument block 

;Zero rest of the 

; Arg block 

;Neg length of arg block,. address 
;Do the T)IAG" jsys 
;Error return 



;Put the data in the packet we will ship back 



MOVE AC1,CUREXE 

MOVE AC2,CTPPICT(AC1) 

ADDI AC2,3 

MOVE ACO,DIAGAGH 

GO PlOfll 

LSH ACO, 4 

MOVEM AC0,aAC2 



;Get rhblk 

;Get rblk address 

.••♦•^ To get to path a ack count storage 

;GC't the path ack count 
; Chang? it to pdpll word 
.-Left justify it 
; Store it in the ctp packet 



-_ J 



■■'•;~i' 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 50 
DFC1C1 MAC 27-Aug-85 08:25 CTP Counter Read 



SEQ 0113 



2024 

2025 

2026 

2027 

2028 

2029 

2030 

2031 

2032 

2033 

203A 

2035 

2036 

2037 

2038 

2039 

2040 

2041 

2042 

2043 

2044 

2045 

2046 

2047 

2048 

2049 

2050 

2051 

2052 

2053 

2054 

2055 

2056 

2057 

2058 

2059 

2060 

2061 

2062 

2063 

2064 

2065 

2066 

2067 

2068 

2069 

2070 

2071 

2072 

2073 



002605' 200 00 00 006347* 

002606' 260 17 00 003502' 

002607' 350 00 00 000002 

002610' 242 00 00 000004 

00261 1 ' 202 00 1 00 000002 

002612' 200 00 00 006350' 
002613' 260 17 00 003502' 
002614' 350 00 00 000002 
002615' 242 00 00 000004 
002616' 202 00 1 00 000002 

002617' 200 00 00 006351' 

002620' 260 17 00 003502' 

002621 ' 350 00 00 000002 

002622' 242 00 00 000004 

002623' 202 00 1 00 000002 

002624' 200 00 00 006352' 

002625' 260 17 00 003502' 

002626' 350 00 00 000002 

002627' 242 00 00 000004 

002630' 202 00 1 00 000002 

002631' 200 00 00 006353' 

002632' 260 17 00 003502' 

002633' 350 00 00 000002 

002634' 242 00 00 000004 

002635' 20? 00 1 00 000002 

002636' 200 00 00 006354' 

002637' 350 00 00 000002 

002640' 242 00 00 000004 

002641 ' 202 00 1 00 000002 



002642' 
002643' 
002644 ' 
002645' 
002646' 
002647' 
002650' 
002651 ' 



201 01 

202 01 
515 01 
541 01 
202 01 

201 01 

202 01 
402 00 














00 
00 
00 
00 
00 
00 
00 
00 



000107 

006342' 

000007 

000001 

006343' 

000001 

006344 ' 

006345' 



002652' 200 01 00 261221 
002653' 260 17 00 006247' 
002654' 254 00 00 002706' 



MOVE AC0,DIAGAG*5 

60 P10T11 

AOS AC2 

LSH AC0,4 

MOVEM AC0,aAC2 

MOVE AC0,DIA6AG*6 

GO P10T11 

AOS AC2 

LSH AC0,4 

MOVEM AC0.aAC2 

MOVE AC0,DIAGAG*7 

60 P10T11 

AOS AC2 

LSH AC0,4 

MOVEM AC0.aAC2 

MOVE AC0,DIAGA6^10 

605- PlOtll 

AOS AC2 

LSH AC0,4 

MOVEM AC0,aAC2 

MOVE AC0,DIA6A6*11 

60 PlOtll 

AOS AC2 

LSH AC0,4 

MOVEM AC0.aAC2 

MOVE AC0,DIA6A6^12 

AOS AC2 

LSH AC0,4 

MOVEM AC0,aAC2 



6et the path nak count 
Change it to pdpll word 
Increment rblk address 
Left justify it 
Store it in the ctp packet 



6et the path no response count 

Change it to pdpll word 

Increment rblk address 

Left justify it 

Store it in the ctp packet 



6et the path 1 ack count 
Change it to pdpll word 
Increment rblk address 
Left justify it 
Store it in the ctp packet 

6et the path 1 nak count 
Change it to pdpll word 
Increment rblk address 
Left justify it 
Store it in the ctp packet 

6et the path 1 no response count 

Change it to pdpll word 

Increment rblk address 

Left justify it 

Store it in the ctp packet 

6et the number of discarded datagrams 

Increment rblk address 

Left iustify it 

Store it in the ctp packet 



.-Force the release of the counters. Someone else may have them. 



MOVEI AC1,.D6CTR 

MOVEM AC1,DIA6AG 

HRLZi AC1.7 

HRRI ACM 

MOVEM AC1,DIAGAG^1 

MOVEI ACIJ 

MOVEM AC1,DIAGAG*2 

SETZM DIAGAG*3 

MOVE AC1,[-*D21,,D1AGAG] 

GO DIAGJ 

JRST ACT10B 



;Get the "PORT COUNTER" function 

; Store it in argument block 

;6et port number 

.'Release the counters function code 

; Store it in argument block 

; Force release counters function 

; Store it in arqument block 

;Zero rest of tne argument block 

;Neg length of arg block,, address 
;Do the T)IAG" jsys 
;Error return 



i 



OFCIC 
DFC1C1 

2074 

2075 

2076 

2077 

2078 

2079 

2080 

2081 

2082 

2083 

208A 

2085 

2086 

2087 

2088 

2089 

2090 

2091 

2092 

2093 

209A 

2095 

2096 

2097 

2098 

2099 

2100 

2101 

2102 

2103 

2104 

2105 

2106 

2107 

2108 

2109 

2110 

2111 

2112 

2113 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 51 
MAC 27-Aug-85 08:25 CTP Counter Read 



SEQ 01 U 



002655' 
002656' 
002657' 
002660' 
002661 ' 
002662 ' 
002663' 



201 01 

202 01 
515 01 
541 01 
202 01 
402 00 
402 00 













00 
00 
00 
00 
00 
00 
00 



000107 

006342' 

000007 

000000 

006343' 

006344 ' 

006345' 



002664' 200 01 00 261221 
002665' 260 17 00 006247' 
002666' 254 00 00 002706' 



002667' 
002670' 
002671 • 
002672' 
002673' 
002674 ' 
002675 • 
002676' 
D02677' 
002700' 
002701 ' 
002702 • 
002703' 



201 01 

202 01 
515 01 
541 01 
202 01 
205 01 
202 01 
200 01 
202 01 
200 01 
260 17 
254 00 
254 00 



00 000107 
00 006342' 
00 000007 
00 000002 
00 006343' 

00 'mm 

00 006344' 
00 000232' 
00 006345' 
00 261221 
00 006247' 
00 002706' 
00 002710' 



002704' 201 00 00 000376 
002705' 334 00 00 000000 
002706' 201 00 00 000375 

002707' 260 17 00 003450' 
002710' 262 17 00 000002 
002711' 262 17 00 000001 
002712' 262 17 00 000000 
002713* 263 17 00 000000 



;6et control of the counters. 



HOVE I 


AC1,.D6CTR 


MOVEM 


ACUDIA6AG 


HRL2I 


AC1,7 


HRRl 


AC1,0 


HOVEM 


AC1,DIAGAG*1 


SETZM 


DIAGAG^2 


SETZM 


DIAGAG^3 



HOVE AC1,C-'^D21,,DIAGAG] 
GO DIAGJ 
JRST ACTIOS 



;Get the "PORT COUNTER" function 

; Store it in argument block 

;6et port number 

;6et control of counters function code 

.•Store in arg block 

;2ero rest or the argument block 

;Zero rest of the argument block 

;Neg length of arg block., address 
;Do the T)IAG" jsys 
i^rror return 



;Set up the counters for the requested node number. 



HOVEI 
HOVEH 
" HRL2I 
HRRI 
HOVEH 
HOVSI 
HOVEH 
HOVE 
HOVEH 
HOVE 
GO 

JRST 
JRST 

ACT10A: HOVEI 

SKI PA 

ACTIOS: HOVEI 



ACT10X: 
ACTIOS: 



GO 

GET 

GET 

GET 

RTN 



AC1..DGCTR 

AC1.DIAGAG 

AC1.7 

AC1.2 

ACI.DIAGAG^I 

AC1.-1 

AC1.DIAGAG*2 

AC1.0THERN 

AC1.DIAGAG*3 

AC1.[-*D21..DIAGAG] 

DIAGJ 

ACTIOS 

ACTIOS 

ACO.NONSEN 

ACO.NORESO 

LDSTUS 
AC2 
AC1 
ACO 



Get the "PORT COUNTER" function 

Store it in argument block 

Get port number 

Set up counters function code 

Store in ara block 

L^%d -1,.0 to reset counters function 

Store it in araument block 

Get the node number 

Store it in argument block 

Neg length of arg block.. address 

Do the T)IAG" jsys 

Error return 

All done 



;Yes. do request not understood 

;Yes. do resource failure 

.-Load the status byte in the rblk 
; Restore ac's 

Sttot return 



r 



OFCIC 
DFCIC1 

21H 

2115 

2116 

2117 

2118 

2119 

2120 

2121 

2122 

2123 

21 2A 

2125 

2126 

2127 

2128 

2129 

2130 

2131 

2132 

2133 

21 3A 

2135 

2136 

2137 

2138 

2139 

2K0 

2U1 

2^^^ 

21A3 

2^^^ 

2U5 

2146 

2K7 

2U8 

2149 

2150 

2151 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 52 
MAC 27-Aug-85 08:25 CTP Connect 

SUBTIL CTP Connect 



SEO 0115 



002714' 
002715' 
002716' 
002717' 
002720' 
002721 ' 
002722' 
002723' 
002724 ' 
002725 ' 
002726' 
002727' 
002730' 
002731 • 
002732' 

002733' 
002734 ' 
002735 ' 
002736' 
002737' 
002740' 
002741 ' 
002742' 
002743' 
002744 • 
002745' 
002746' 
002747' 
002750' 
002751 • 
002752' 



332 00 

260 17 

261 17 
607 16 
254 00 
607 16 
254 OC 
201 00 
260 17 
254 00 
607 16 
254 00 
201 00 
260 17 
254 00 



260 
260 
254 
260 
254 
260 
254 
661 
6c' 
200 
202 
260 
2^5 
661 
262 
263 



17 
17 
00 
17 
00 
17 
00 
16 
16 
01 
16 
17 
00 
16 
17 
17 








































00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000216' 

261226 

000000 

000004 

002733' 

000040 

002726' 

000373 

003450' 

002746' 

000200 

002750' 

000000 

003450' 

002746' 



00 003543' 
00 002753' 
00 002746' 
00 003650' 
00 002746' 
00 003002' 
00 002750' 
00 000002 
00 000001 

00 000276' 

01 000002 
00 004124' 
00 000000 
00 000004 
00 000000 
00 000000 



;This routine starts up a 3rd party connection to a responder provided one does 
;not already exist to that same responder. Ue come here before we do other ctp 
; requests tnat require 3rd party. 



CTPCON: TRMS6 (Opcode: Connect) 



CTPCOA: 



PUT 

TLNN 

JRST 

TLNN 

JRST 

HOVE I 

GO 

JRST 

TLNN 

JRST 

MOVE I 

GO 

JRST 



CTPC08: GO 
60 



CTPCOC: 
CTPCOX: 



JRST 

GO 

JRST 

GO 

JRST 

TLO 

TL2 

HOVE 

HOVEH 

GO 

JFCL 

TLO 

GET 

RTN 



ACO 

CURSTS,(0NET1M) 

CTPCOB 

CURSTS,(OVRDUE) 

CTPCOA 

ACOJUNCFL 

LDSTUS 

CTPCOC 

CURSTS,(CONT) 

CTPCOX 

ACO^SUCCES 

LDSTUS 

CTPCOC 

CHGOPC 

VAL11 

CTPCOC 

CHKVCS 

CTPCOC 

ACT11 

CTPCOX 

CURSTS,(DONE) 

CURSTS,(GOBIT) 

ACUCUREXE 

CURSTS,STATUS(AC1) 

SEND 

CURSTS,(ONETIM) 
ACO 



ac 

we 



s 
been 



here before? 



Sav/e 

Have 

No 

Waited long enough for an answer? 

No, go ahead 

Yes, do function failure 

Load the status byte in the rblk,. 

Yes, send back 'TUNCTION FAILURE" 

Continue bit set? 

No, exit 

Success to ctp status 

Load the status byte in the rblk. ■ 

Yes, send back "SOCCESFUL STATUS" 

Change opcode from a req to a res. 

Check the validity of the ctp request 

Error in the validity check 

See if we have a v. C. To this node 

Yes we already have a 3rd party connection 

Perform action for the request 

Don't send resp until we are sure a v.C. Is open, 

Set the done bit 

Clear the gobit 

Get the rholk 

Store the status 

Send the ctp response message 

Virtual circuit gone return 

We've been here Before flag 

Return 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 53 
DFCIC1 MAC 27-Aug-85 08:25 CTP Connect 



SEQ 0116 



2152 
2153 
21 5A 
2155 
2156 
2157 
2158 
2159 
2160 
2161 
2162 
2163 
2164 
2165 
2166 
2167 
2168 
2169 
2170 
2171 
2172 
2173 
2174 
2175 
2176 
2177 



.•Check the \/dlidity of the ctp request 



002753' 
002754 • 
002755' 
002756' 
002757' 
002760' 
002761 ' 
002762 ' 
002763' 
002764 ' 
002765 ' 
002766' 
002767' 
002770' 
002771 • 
002772 ' 

002773' 
002774 • 
002775 • 
002776' 
002777' 
003000' 
00300 • • 



261 


17 


261 


17 


261 


17 


200 01 


200 02 


201 


01 


135 


00 


202 00 


331 


00 


254 00 


201 


00 


254 00 


260 


17 


332 00 


254 


00 


201 


00 



260 
334 
350 
262 
262 
262 
263 



17 
00 
00 
17 
17 
17 
17 






























00 
00 
00 
00 
01 
02 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 

00 
00 
17 
00 
00 
00 
00 



000000 

000001 

000002 

000276' 

000003 

000002 

000331 • 

000232 • 

000000 

002767' 

000376 

002773' 

003144' 

000001 

002775' 

000375 

003450' 

000000 

777775 

000002 

000001 

000000 

000000 



y/ALll 



VALllA: 



VALIIX: 
VALllS: 



PUT ACO 

PUT ACl 

PUT AC2 

MOVE ACUCUREXE 

MOVE AC2.CTPPICT(AC1) 

MOVEI AC1,2(AC2) 

LDB AC0,OTHE 

MOVEM ACO.OTHERN 

SKIPL ACO 

JRST VALllA 

MOVEI ACO.NONSEN 

JRST VALllX 

GO CBLKAV 

SJCIPE ACl 

JRST VAL11S 

MOVEI ACO.NORESO 

GO LDSTUS 

SKI PA 

AOS -3(P) 

GET AC2 

GET ACl 

GET ACO 

RTN 



;Save ac's 



Get rhblk 

Now get the rbU 

Get othernode address word 

Get othernode field 

Store it 

Value a negative number? 

No, continue 

Yes. do reguest noc understood 

Take the ♦T error return 

Get an available cblk 

Any resources available? 

Yes, continue 

No, do no resources 



;Load the status byte in the rblk 
;Take the ♦l error return 
:*2 Return 



.•Return 



10A 



DFCIC 
DFC1C1 

2178 

2179 

2180 

2181 

2182 

2183 

2184 

2185 

2186 

2187 

2188 

2189 

2190 

2191 

2192 

2193 

2194 

2195 

2196 

2197 

2198 

2199 

2200 

2201 

2202 



Cluster Test Protocol Responder MACRO Z53B(1242) 11:18 27-Aug-85 Page 54 
MAC 27-Aug-85 08:25 CTP Connect 



SEQ 0117 



;Do the function the ctp request packet demanded 



003002 • 
003003' 
003004 • 
003005 • 
003006' 
003007' 
003010' 

00301 1 ' 
003012' 
003013' 
003014' 
00301 5 ' 
003016' 
003017' 
003020' 
003021 • 
003022' 
003023' 
003024 • 
003025' 
003026' 



261 


17 


261 


17 


261 


17 


402 00 


200 02 


260 17 


254 


00 



260 
200 
506 
260 
254 
201 
334 
201 
260 
350 
262 
262 
262 
263 



17 
02 
01 
17 
00 
00 
00 
00 
17 
00 
17 
17 
17 
17 




























00 
00 
00 
00 
00 
00 
00 

00 
00 
02 
00 
00 
00 
00 
00 
00 
17 
00 
00 
00 
00 



000000 

000001 

000002 

000001 

000232' 

005737' 

003020' 

005055' 

000276' 

000000 

004225' 

003023' 

000375 

000000 

000370 

003450' 

777775 

000002 

000001 

000000 

000000 



ACTll: PUT 
PUT 
PUT 
SETZM 
MOVE 
GO 
JRST 

GO 

MOVE 
HRLI*! 
GO 

JRST 
MOVE! 
SKIPA 
ACTllB: MOVEI 

GO 
ACTUS: AOS 
ACT11X: GET 
GET 
GET 
RTN 



ACO 

ACl 

AC2 

ACl 

AC2,0THERN 

CONFIG 

ACTllB 

CONECT 

AC2,CUREXE 

AC1,SIXCID(AC^) 

EXUAIT 

ACTUX 

AC0,NORESO 

ACO^NODEUN 

LDSTUS 

-3(P) 

AC2 

ACl 

ACO 



;Say/e ac's 



Don't use cid 
Use node number 
Does node exists? 
No, node unkown to 



sea 



Try and connect to othernode 

Get rhblk 

Store 6 bit cid in rhblk(6b cid,,flink) 

Create a fork to wait for the response 

Ok, take -♦■1 good return 

Cfork failed, send back resource failure 

Skip next instruction 

Yes, do node unknown to sea 

Load the status byte in the rblk 

♦2 Error return 

Restore ac's 



;Error return 



DFCIC 
DFCIC1 

2203 

220A 

2205 

2206 

2207 

2208 

2209 

2210 

2211 

2212 

2213 

22U 

2215 

2216 

2217 

2218 

2219 

2220 

2221 

2222 

2223 

2224 

2225 

2226 

2227 

2228 

2229 

2230 

2231 

2232 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 55 
MAC 27-Aug-85 08:25 CTP Disconnect 



SEQ 0118 



003027' 
003030' 
003031 ' 
003032' 
003033' 
00303A ' 
003035' 
003036' 
003037' 
003040' 
003041 • 
003042' 
003043' 
003044 ' 
003045' 



003046' 
003047' 
003050' 
003051 • 
003052' 
003053' 
003054' 
003055' 



332 
260 
261 
260 
201 
260 
661 
621 
200 
202 
260 
254 
260 
262 
263 



261 
261 
201 



00 
17 
17 
17 
00 
17 
16 
16 
01 
16 
17 
00 
17 
17 
17 





















00 
00 
00 
00 
00 
00 
00 
00 
00 
01 
00 
00 
00 
00 
00 



000216' 

261240 

000000 

003543' 

000000 

003450' 

000002 

000001 

000276' 

000002 

004124' 

003044 ' 

003046 ' 

000000 

000000 



17 
17 
02 



200 01 

260 17 

262 17 

262 17 

263 17 



00 000001 
00 000002 
00 000001 
16 000000 
00 005314' 
00 000002 
00 000001 
00 000000 



SUBTIL CTP Disconnect 
;This routine does an orderly shutdown of a virtual circuit(connection). 



LISDIS 



L1SDJ1 



TRMS6 (Opcode: Disconnect) 

PUT ACO 

GO CH60PC 

MOVEI ACO,SUCCES 

60 Ll/STUS 

TLO CURSTS,(DONE) 

TLZ CURSTS,(GOBIT) 

MOVE ACKCUREXE 

MOVEM CURSTS, STATUS (AC1) 

GO SEND 

JRST LISDI1 

GO ACT12 

GET ACO 

RTN 



Save ac's 

Change opcode from a req to a res. 

Use the success status 

Load status byte in the ctp packet 

Set the done bit 

Clear the gobit 

Get the rhblk 

Store the itatus 

Send the ctp response message 

Return for virtual circuit already gone 

Perform action for the request 



; Return 



;Do the function the ctp request packet demanded 



ACT12: PUT 
PUT 
MOVEI 
MOVE 
GO 

ACT12X: GET 
GET 
RTN 



AC1 

AC2 

AC2,MATCH 

AC1,(CURSTS) 

DISCON 

AC2 

AC1 



;Save ac's 

;Get the disconnect reason 

;Get the cid 

; Close this connection 



.•Return 



1 



DFCIC 
DFCIC1 

2233 

2234 

2235 

2236 

2237 

2238 

2239 

2240 

2241 

2242 

2243 

2244 

2245 

2246 

2247 

2248 

2249 

2250 

2251 

2252 

2253 

2254 

2255 

2256 

2257 

2258 

2259 

2260 

2261 



Cluster Test Protocol Responder MACRO 2538(1242) 11:18 27-Aug-85 
MAC 27-Aug-85 08:25 Subroutines 



Page 56 



SEQ 0119 



003056' 
003057' 
003060' 
003061 • 
003062' 
003063' 
003064' 
003065 ' 



261 17 
261 17 
402 00 
515 02 
336 00 
254 00 
271 03 
253 02 














00 
00 
00 
00 
03 
00 
00 
00 



003066' 254 00 00 261256 



003067' 201 01 03 010616' 

003070' 262 17 00 000003 

003071' 262 17 00 000002 

003072' 263 17 00 000000 



SUBTTL Subroutines 



;6et an available request header block. ,, , .. ^. ^ 

;This routine sees if any request header blocks are available to use. 
;If there is, ad will have the rhblk address. 

;Call: ..... 

;call this routine 

;Ac1 has the available rhblk 



;Clr ac 

.'Negative count in left half 

;This req hdr blk available? 

; Yes 

; Increment to next req hdr blk 

;Have we checked all the req. Blk's? 

;We should never get here. The connect blocks(cblkx) should run out before we 
;find the req hdr blks all used up. 

CRASH (NRH,No req hdr blocks left) 

.-Address of available rhblk in ad 





• 


Go 


rhblkv 




I ^ ■ 


t|. 




000002 


RHBLK V: 


PUT 


AC2 


000003 




PUT 


AC3 


000003 




SET2M 


AC3 


777400 




HRL2I 


AC2.-<C0UNT*RHBPER> 


010616' 


RHBLKA: 


SKIPN 


RH1(AC3) 


002i067' 




JRST 


RHBLKB 


000004 




ADD! 


AC3.RHBLEN 


003062' 




AOBJN 


AC2. RHBLKA 



RHBLKB: MOVEI AC1.RH1(AC3) 

GET AC3 

GET AC2 
RTN 



.-Get rhblk address 
.•Return 



_..: j 



DFCIC 
DFCIC1 

2262 
2263 
2264 
2265 
2266 
226? 
2268 
2269 
2270 
2271 
2272 
2273 
2274 
2275 
2276 
2277 
^278 
2279 
2280 
2281 
2282 
2283 
2284 
2285 
2286 
2287 
2288 
^289 
■»90 
. 91 
» 92 

; 11 

: K 

2 5 
2 6 
2 97 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 57 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0120 



003073' 261 17 00 000000 
003074' 261 17 00 000001 
003075' 261 17 00 000002 



003076' 331 00 1 00 000001 
003077' 254 00 00 261272 



003100' 200 02 00 000275' 
003101' 202 01 00 000275' 



003102' 202 01 000001 
003103' 200 . 02 OnooOO 
003104' 202 jO 01 000000 



003105' 2ui 01 02 000000 

003106' 262 17 00 000002 

003107' 262 17 00 000001 

003110' 262 17 00 000000 

003111' 263 17 00 000000 



;Add a request header block to the linked list. 
;ye come here only during interrupt time. 

•Call: 

ac1,Cn] ;n = rhblk address 

adhblk ;call this routine 

; Always 



Move 



:Sa\/e ac*s 



ADHBLK: PUT ACO 
PUT AC1 
PUT AC2 

;See if the rhblk in ad is already linked. If it is, exit. 

SKIPL aACI ;Is the flink word = -1? 

CRASH (RNQ, rhblk was never queued) 

;Set up the botexe word 

MOVE AC2,BaTEXE 
MOVEM AC1, BOTEXE 



;6et soon to be previous rhblk 
.-Store this rhblk in the bottom 



;Now set up the blink and flink word in this rhblk 

MOVEM AC2.BLINIC(AC1) 
MOVE AC0.FLINIC(AC2) 
MOVEM AC0,FLINK(AC1) 

;Set up the previous rhblks flink word 

MOVEM AC1.FLINK(AC2) 

ADHBLA: GET AC2 

GET AC1 

GET ACO 
RTN 



.-Store previous rblk to blink 
;6et previous rhblks flink and 
; Store it in this rhblks flink 



.-Store this rhblk into previous rhblks flink 
.-Restore ac's 



.-Return 



'T 



DFCIC Cluster Test Protocol Responder MACRO 5:538(1242) 11:18 27-Aug-85 Page 58 
DFC1C1 MAC 27-Aug-85 08:25 Subroutines 



SEQ 0121 



2298 

2299 

2300 

2301 

2302 

2303 

230A 

2305 

2306 

2307 

2308 

2309 

2310 

2311 

2312 

2313 

2314 

2315 

2316 

2317 

2318 

2319 

2320 

2321 

2322 

2323 

2324 

2325 

2326 

2327 

2328 

2329 

2330 

2331 

2332 

2333 

2334 

2335 

2336 

2337 

2338 

2339 

2340 

2341 

2342 

2343 

2344 

2345 

2346 

2347 

2348 



003112' 261 17 00 000000 

003113* 261 17 00 000001 

003114' 261 17 00 000002 

003115' 261 ^7 00 000003 



003116' 336 00 1 00 000001 
003117' 254 00 00 003137' 



003120' 200 00 01 000001 
003121' 200 03 01 000000 
003122' 202 00 03 000001 



003123' 200 00 01 000000 
003124' 200 03 01 000001 
003125' 202 00 03 000000 



003126' 550 02 01 000002 
003127' 316 01 02 000002 
003130' 402 00 02 000002 
003131' 316 01 02 000003 
003132' 402 00 02 000003 



003133' 201 02 00 000003 
003134' 402 00 1 00 000001 
003135' 350 00 00 000001 
003136' 367 02 00 003134' 

003137' 262 17 00 000003 
003140' 262 17 00 000002 
003141' 262 17 00 000001 
003142' 262 17 00 000000 
003143' 263 17 00 000000 



.-Remove a request header block from the linked list and make it available. 
:We enter this subroutine with the address of the rhblk to be removed in aci 

•Call* 

.' * Move ac1.Cn] ;n = rhblk address 

Go rmhblk ;call this routine 

♦1 ;Always 

RMHBLK: PUT ACO ;Save ac's 

PUT ACI 

PUT AC2 

PUT AC3 

;See if the rhblk in ad is already available. If it is, exit. 



SKIPN aACI 
JRST RMR8LB 



;Is the flink word = 0? 
;Yes, rhblk is available 



;Get address of previous rblk 

;Get forward link address 

.'Update the blink word in the forward rhblk 



;Make this rhblk available to use by updating the forward req hdr blk's blink... 

MOVE ACO.BLINIC(ACI) 
MOVE AC3.FLIN)C(AC1) 
MOVEM AC0.2LINIC(AC3) 

;..And the previous req hdr blk's flink. 

MOVE ACO.FLIN)C(ACl) 
MOVE AC3.BLINK(AC1) 
MOVEM AC0.FLINK(AC3) 



;Get forward link address 

.-Get address of previous rhblk 

.•Update the flink word in the previous rhblk 



;Clear the rhblk(req1 or req2) entry in the cblk. 



HRRZ AC2.STATUS(AC1) 

CAMN AC1,REQ1(AC2) 

SETZM REQ1(AC2) 

CAMN AC1.REQ2(AC2) 

SETZM RE0J(AC2) 



.-Get the cblk 

;Are the "RHBLKS" the same? 

* Yes c lear i t 

•Are' these "RHBLKS" the same? 

;Yes, clear it 



;Now zero out the flink and the blink words in the req hdr blk (saying i am now available) 



MOVE I 
RMRBLA: SETZM 
AOS 
SOJG 

RMRBLB: GET 
GET 
GET 
GET 
RTN 



AC2,<RHBLEN-1> 

aACI 

ACI 

AC2. RMRBLA 

AC3 
AC2 
ACI 
ACO 



;Get length of rhblk -1 
.•Clear tnis location 
.•Increment to next location 
;Do it all 

.•Restore ac's 



; Return 



r 



DFCIC 
DFC1C1 

23A9 

2350 

2351 

2352 

2353 

235A 

2355 

2356 

2357 

2358 

2359 

2360 

2361 

2362 

2363 

236A 

2365 

2366 

2367 

2368 

2369 

2370 

2371 

2372 

2373 

2374 

2375 

2376 

2377 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 59 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0122 



;6et an available connection block. ,, , ., ^, 

.-This routine sees if any connection blocks are available to use. 

;If there is, ad will have the cblk address. 



;Call: 



Go 
♦1 



261 17 00 000002 


• 
• 

CBLKAV: PUT 


261 17 00 000003 


PUT 


261 17 00 000004 


PUT 


402 00 00 000001 


SETZH 


476 00 00 000002 


SETOM 


201 03; 00 000040 


MOVE I 


350 00 00 000002 


CBLKAA: AOS 


200 04 02 010556' 


MOVE 


332 00 04 000000 


SKIPE 


367 03 00 003152' 


SOJG 


332 00 00 000003 


SKIPE 


200 01 00 000004 


MOVE 



003144' 

oo:ii45' 

003146' 
003147' 
003150' 
003151' 
003152' 
003153' 
003154' 
003155' 
003156' 
003157' 



003160' 262 17 00 000004 

003161' 262 17 00 000003 

003162' 262 17 00 000002 

003163' 263 17 00 000000 



cblkav 



AC2 

AC3 

AC4 

AC1 

AC2 

AC3,CBLSTE 

AC2 

AC4,CBLST(AC2) 

CID(AC4) 

AC3, CBLKAA 

AC3 

AC1,AC4 



;call this routine 

;Ac1 now has the available cblk 

;Ac1 will be = to if none are available 

;Save ac's 



;Zero out 

;Init index pointer 

;6et size of cblst 

; Increment index 

;Get cblk address 

;Is this cblk available? 

;No, keep looking 

;Have we finished looking? 

;No, get cblk 



;The address of the available cblk is now in ad. If ad = no cblks are avail 



GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 



.-Restore acs 



.•Return 



..„j 



i 



DFCIC 
DFC1C1 

2378 

2379 

2380 

2381 

2382 

2383 

2384 

2385 

2386 

2387 

2388 

2389 

2390 

2391 

2392 

2393 

239A 

2395 

2396 

2397 

2398 

2399 

2400 

2401 

2402 

2403 

2404 

2405 

2406 

2407 

2408 

2409 

2410 

2411 

2412 

2413 

2414 

2415 

2416 

2417 

2418 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 60 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0123 



003164' 

003164' 
003165' 
003166' 
003167' 
003170' 
003171' 
003172' 
003173' 
003174' 
0031 75 ' 
003176' 
003177' 
003200' 
003201 ' 
003202' 



003P03' 
003i;04' 
003205 ' 
003206' 
003207' 
003210' 
003211* 
003212' 
003213' 
003214' 
003215' 
003216' 
003217' 
003220' 



261 
261 
261 
261 
261 
261 



17 
17 
17 
17 
17 
17 



476 00 
201 03 
350 00 
200 04 
336 00 
254 00 
200 01 
607 01 
254 00 





















336 01 
254 00 
260 17 
235 00 
255 








200 01 
402 00 1 



00 



336 01 

254 00 
260 17 

255 00 
255 00 








200 01 
402 00 1 



00 000000 
00 000001 
00 000002 
00 000003 
00 000004 
00 000005 
00 000002 
00 000040 
00 000002 
02 010556' 
04 000000 
00 003233' 
04 000001 
00 000010 
00 003233' 



04 000006 
00 003212' 
00 006040' 
00 000000 
00 000000 
04 000007 
00 000001 
04 000010 
00 003221 ' 
00 006040' 
00 000000 
00 000000 
04 000011 
00 000001 



;This subroutine checks to see if any connection blocks should be removed 
.•because of a virtual circuit going away or a ctp disconnect command. If there 
;are, this cblk is made available along with any rblks that are connected to 
;this cblk. 



RMCBLK 
;(12) 



RMCBLA: 



GO DISINT 

PUT ACO 

PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 ^ 

PUT AC5 

SETOM AC2 

MOVEl AC3,CBLSTE 

AOS AC2 

MOVE AC4,CBLST(AC2) 

SKIPN CID(AC4) 

JRST RMCBLC 

MOVE AC1,CBSTS(AC4) 

TLNN AC1,(VCG0NE) 

JRST RMCBLC 



.-Disable the interrupt system 
;Save ac's 



;Init index pointer 

.-Get size of cblst 

; Increment index 

:Get cblk address 

;Is this cblk already available? 

;Yes. look for another 

.-Get connection block status 

.•Virtual circuit gone? 

;No, keep looking 



;Unmap any buffers from sea that are mapped to this cblk. 



RMCBLG: 



SKIPN 

JRST 

GO 

JFCL 

JFCL 

MOVE 

SETZM 

SKIPN 

JRST 

GO 

JFCL 

JFCL 

MOVE 

SETZM 



AC1.BFSCA1(AC4) 

RMCBLG 

RMVBUF 



AC1,BUFF1(AC4) 

aACi 

AC1.BFSCA2(AC4) 

RMCBLH 

RMVBUF 



AC1,BUFF2(AC4) 
aACi 



A buffer mapped? 

No. continue 

Unmap this buffer 

Good return 

Error return 

Get buffer(bufx) address 

Make it available 

A buffer mapped? 

No. continue 

Unmap this buffer 

Good return 

Error return 

Get buffer(bufx) address 

Make it available 



1 



DFCIC 
DFCIC1 

2A19 

2A20 

2A21 

2422 

2423 

2424 

2425 

2426 

2427 

2428 

2429 

2430 

2431 

2432 

2433 

2434 

2435 

2436 

2437 

2438 

2439 

2440 

2441 

2442 

2443 

2444 

2445 

2446 

2447 

2448 

2449 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 61 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0124 



003221 • 550 01 04 000002 
003222* 332 00 00 000001 
003223' 260 17 00 003112' 



003224' 550 01 04 000003 
003225' 332 00 00 000001 
003226' 260 17 00 003112* 



003227' 201 01 00 000012 

003230' 402 00 1 00 000004 

003231 ' 350 00 00 000004 

003232' 367 01 00 003230' 



003233' 
003234' 
003235' 
003236' 
003237' 
003240' 
003241 • 



367 
262 
262 
262 
262 
262 
262 



03 
17 
17 
17 
17 
17 
17 













00 
00 
00 
00 
00 
00 
00 



003174' 

000005 

000004 

000003 

000002 

000001 

000000 



003242' 2o< 17 00 000000 



;Get rid of this cblk and any rhblks connected to it. 

;Remove the 1st rhbU, connected to this cblk, from the linked list. 



RMCBLH: HRR2 AC1 ,REQ1 (AC4) 
SKIPE AC1 
GO RMH6LK 



;Get the address of the 1st request 

;Skip if there is no rhblk 

.•Remove this rhblk from data structure 



.•Remove the 2nd rblk. connected to this cblk. from the linked list. 

RMCBLM: HRRZ AC1.REQ2(AC4) 
SKIPE AC1 
GO RMHBLK 

.•Clear the cblk. making it available. 



;Get the address of the 2nd request 

.•Skip if there is no rhblk 

.•Remove this rhblk from data structure 



MOVE I 
RMCBLB: SETZM 
AOS 
SOJG 

RMCBLC: SOJG 
GET 
GET 
GET 
GET 
GET 
GET 

;(12) GO 
RTN 



ACI.CBKLEN 

aAC4 

AC4 

AC1. RMCBLB 

AC3.RMCBLA 

AC5 

AC4 

AC3 

AC2 

AC1 

ACO 

ENAINT 



;Get length of cblk 
.•Clear tnis location 
;Inc to next location 
;Do it all 

.•Keep looking for unwanted cblks 
.•Restore ac's 



.•Enable the interrupt system 
.•Return 






DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 62 
DFCIC1 MAC 27-Aug-85 08:25 bubroutines 



SEQ 0125 



2450 

2451 

2452 

2453 

2454 

2455 

2456 

2457 

2458 

2459 

2460 

2461 

2462 

2463 

2464 

2465 

2466 

2467 

2468 

2469 

2470 

2471 

2472 

2473 

2474 

2475 

2476 

2477 

2478 



;6et an available dma buffer. . , . ..... 

;This routine sees if any dma buffers(bufx) are available to use. 

;If there is, ad will have the cblk address. 

;Call: .. l. 

Go bufav ;call this routine .,.,,,. 

* tl ;Ac1 now has the available buffer 

I ;Ac1 will be = to if none are available 



003243' 
003244' 
003245' 
003246' 
003247' 
003250' 
003251 ' 
003252' 
003253' 
003254' 
003255' 
003256' 



17 
17 
17 



261 
261 
261 
402 00 
476 00 
201 03 
350 00 
200 04 
332 00 
367 03 
332 00 
200 01 











1 






00 
00 
00 
00 
00 
00 
00 
02 
00 
00 
00 
00 



000002 

000003 

000004 

000001 

000002 

000040 

000002 

261000 

000004 

003251 ' 

000003 

000004 



BUFAV: PUT AC2 

PUT AC3 

PUT AC4 

SETZM AC1 

SETOM AC2 

MOVEI AC3,BUFSTE 

BUFAA: AOS AC2 

MOVE AC4,BUFLST(AC2) 

SKIPE aAC4 

S0J6 AC3,BUFAA 

SKIPE AC3 

HOVE AC1,AC4 



;Save ac's 



Zero out 

I nit index pointer 

Get size of buflst 

Increment index 

Get bufx address 

Is this bufx available? 

No, keep looking 

Have we finished looking? 

No, get bufx 



;The address of the available bufx is now in ad. If ad = no bufx are avail 



003257' 262 17 00 000004 

00326C' 262 17 00 000003 

003261' 262 17 00 000002 

003262' 263 17 00 000000 



GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 



.-Restore acs 



.-Return 



•1 



] "i '»' " w*«li n ii*i f tpi ni i w * m 



DFCIC 
DFC1C1 

2479 

2A80 

2A81 

2482 

2483 

2484 

2485 

2486 

2487 

2488 

2489 

2490 

2491 

2492 

2493 

2494 

2495 

2496 

2497 

2498 

2499 

2500 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 63 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0126 



;This subroutine disconnects all 3rd party connect ions (to a responder) if there 
.-aren't any connections open to a controller, ctp states that if there isn t 
.-any connections open to a controller all 3rd party connections should oe 
.-disconnected. We also make all the rhblk's that were queued up at connect 
.-time available by clearing the first word in all the rhblk s. 



003263' 
003264' 
003265' 
003266' 
003267' 
003270' 
003271 • 
003272' 
003273' 
003274 ' 
003275' 
003276' 
003277* 
003300' 
003301 ' 



261 
261 
261 
261 
261 



17 
17 
17 
17 
17 



476 00 
201 00 
350 00 
200 04 
336 00 
254 00 
200 01 
607 01 
254 00 
367 00 





















00 
00 
00 
00 
00 
00 
00 
00 
03 
04 
00 
04 
00 
00 
00 



000000 


KIL3RD: 


PUT 


000001 




PUT 


000002 




PUT 


000003 




PUT 


000004 




PUT 


000003 




SETOM 


000040 




MOVE I 


000003 


KIL3RA: 


AOS 


010556' 




MOVE 


000000 




SKIPN 


003301 ' 




JRST 


000001 




MOVE 


200000 




TLNN 


00];331 ' 




JRST 


003272' 


KIL3RB: 


SOJG 



ACO 

AC1 

AC2 

AC3 

AC4 

AC3 

ACO^CBLSTE 

AC3 

AC4.CBLST(AC3) 

CID(AC4) 

KIL3RB 

AC1.CBSTS(AC4) 

AC1. (THIRD) 

KIL3RX 

AC0.KIL3RA 



.-Save ac's 



Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Do we hav/e a connection open? 

No. keep lookina for one 

Get connection Block status 

Is this a 3rd party connection? 

No. a connection is open to a cntrlr 

Yes. this one doesn't count 



r 



DFCIC 
DFC1C1 

2501 

2502 

2503 

250A 

2505 

2506 

2507 

2508 

2509 

2510 

2511 

2512 

2513 

251A 

2515 

2516 

2517 

2518 

2519 

2520 

2521 

2522 

2523 

252A 

2525 

2526 

2527 

2528 

2529 

2530 

2531 

2532 

2533 

253A 

2535 

2536 

2537 

2538 

2539 

25A0 

25A1 

25A2 

25A3 



Cluster Test Protocoi n 
MAC 27-Aug-85 08:25 



I Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 
:25 Subroutines 



65 



SEQ 0127 



003302' 
003303' 
00330A • 
003305 • 
003306' 
003307* 

003310' 
00331 1 • 
003312' 
003313' 
0033U' 
003315' 
003316' 
003317' 
003320' 



402 00 
515 02 
332 00 
A02 00 
271 03 

253 02 

476 00 
201 00 
350 00 
200 04 
336 00 

254 00 
200 01 
607 01 
254 00 



00 000003 
00 777400 
03 010616' 
03 010616' 
00 000004 
00 003304' 















00 
00 
00 
03 
04 
00 
04 
00 
00 



000003 

000040 

000003 

010556' 

000000 

003330' 

000001 

200000 

003330' 



00332 • ' 200 01 04 000000 
003322' 201 02 00 000001 
003323' 260 17 00 005314' 



003324' 201 01 00 000012 
003325' 402 00 1 00 000004 
003326' 350 00 00 000004 
003327' 367 01 00 003325' 



003330' 
003331 ' 
003332' 
003333' 
003334 • 
003335' 
003336' 



367 00 
262 17 



262 17 

262 17 

262 17 

262 17 

263 17 



00 003312' 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



;If we ^all through to here, U means there are no connections open to a 
.•controller. 

;First make bU the rhbU's available that were queued at connect time. 



SETiM 
HRLZI 
KIL3RC: SKIPE 
SETZM 
ADD! 
AOBJN 

SETOH 
MOVE I 
KIL3RF: AOS 
MOVE 
SKIPN 
JRST 
MOVE 
TLNN 
JRST 



AC3 

AC2,-<C0UNT*RH8PER> 

RH1(AC3) 

RH1(AC3) 

AC3,RH6LEN 

AC2,KIL3RC 

AC3 

ACO,CBLSTE 

AC3 

AC4,C8LST(AC3) 

CID(AC4) 

KIL3RE 

AC1,C8STS(AC4) 

ACI.(THIRD) 

ICIL3RE 



;Clr ac 

.•Negative count in left half 
;This req hdr bU available? 
:Ho, make it available 
.'Increment to next req hdr blk 
.•Check all the req. Blk's 

;Init index pointer 

;6et size of cblst 

; Increment index 

;Get cblk address 

;Is this cblk already available? 

;Yes, look for another 

;6et connection block status 

;Is this a 3rd party connection? 

;No« keep looking 



;Do a ctp "DISCONNECT" to this 3rd party responder. 



MOVE AC1,CID(AC4) 
POVEI AC2,MATCH 
(j. DISCON 

.•Clear the cblk. making it available. 



MOVE I 
KIL3RH: SETZM 
AOS 
SO J 6 

KIL3RE: S0J6 
KIL3RX: GET 
GET 
GET 
GET 
GET 
RTN 



ACKCBKLEN 
aAC4 
AC4 
AC1,KIL3RH 

AC0,KIL3RF 

AC4 

AC3 

AC2 

AC1 

ACO 



;6et cid in acl 

;Get disconnect reason in ac2 

;Do the disconnect 



.•Get lenqth of cblk 
.•Clear tFiis location 
;lnc to next location 
;Do it all 

;Keep looking for unwanted cblks 



.-Return 



15 



DFCIC 
DFCIC1 

25AA 

25A5 

25A6 

25A7 

25A8 

25A9 

2550 

2551 

2552 

2553 

255A 

2555 

2556 

2557 

2558 

2559 

2560 

2561 

2562 

2563 

256A 

2565 

2566 

2567 

2568 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 65 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0128 



I. 



003337* 
0033A0' 
003341 • 
0033A2' 
0033A3* 
0033AA • 
0033A5' 
0033A6' 
0033A7* 
003350' 
003351 • 
003352 • 
003353' 
00335A • 
003355* 
003356* 
003357* 
003360* 

003361 * 

003362 * 
003363* 



261 17 
261 17 
261 17 

200 02 

201 01 



135 00 
202 00 
271 00 
137 00 
201 00 
260 17 
260 17 
255 00 
661 
621 



16 

16 
200 01 
202 16 
















262 17 
262 17 

262 17 

263 17 



00 000000 
00 000001 
00 000002 
00 000276* 
02 000003 
00 000313* 
00 000231 * 
00 000100 
00 000313* 
00 000377 
00 003A50* 
CO 00A750* 
00 000000 
00 000002 
00 000001 

00 000276* 

01 000002 
00 000002 
00 000001 
00 000000 
00 000000 



;This subroutine sends back a status of "NOT IMPLEMENTED" .to the controller. 
•We get here if an opcode is one that is "NOT IMPLEMENTED* by the responder. 

c'Save the acs 

;Get rblk address 

;Get start of ctp address in ad 

;Get opcode 

; Store the original value 

.•Change opcode from a req. To a res. 

.-Store it 

;255 = Ctp function not implemented 

:Load status byte 

.-Send not implemented 

;Error return 

.-Set the done bit 

.•Clear the gobit 

;Get the rhbU 

; Store the status 



; Return 



NOT IMP: PUT 


ACO 


P'lT 


AC1 


PUT 


AC2 


MOVE 


AC2.CUREXE 


MOVE I 


AC1.CTPPICT(AC2) 


LDB 


ACO.OPCO 


MOVEM 


ACO. OPCODE 


ADD I 


ACO.RESOFS 


DPB 


ACO.OPCO 


MOVE I 


ACO.NTnPL 


GO 


LDSTUS 


GO 


SENIMP 


JFCL 




TLO 


CURSTS.(DONE) 


T "» 


CURSTS. (GOBIT) 


f • 


AC1.CUREXE 


' '-A 


CURSTS. STATUS(ACI) 


Gci 


AC2 


GET 


ACl 


GET 


ACO 


RTN 





f 



16 



DFCIC 
DFCIC1 

2569 

2570 

2571 

2572 

2573 

257A 

2575 

2576 

2577 

2578 

2579 

2580 

2581 

2582 

2583 

258A 

2585 

2586 

2587 

2588 

2589 

2590 

2591 

2592 

2593 

2594 

2595 

2596 

2597 

2598 

2599 

2600 

2601 

2602 

2603 

2604 

2605 

2606 

2607 

2608 

2609 

2610 

2611 

2612 

2613 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 66 
MAC 27-Aug-85 08:25 Subroutines 



SEO 0129 



003364 • 
003364 • 
003365 • 
003366' 
003367' 
003370' 
003371 ' 
003372' 
003373' 
003374 ' 
003375 ' 
003376' 
003377* 
003400' 
003401 ' 



261 


17 


261 


17 


400 00 


200 01 


200 02 


201 


01 


135 


01 


200 02 


137 01 


242 


01 


136 


01 


262 


17 


262 


17 


263 


17 



00 000001 
00 000002 
00 000000 
00 000276' 
01 000003 
02 000001 
00 000321 ' 
00 261275 
00 000002 
00 777770 
00 000002 
00 000002 
00 000001 
00 000000 



003402 ' 
003402 ' 
003403' 
003404 ' 
003405 ' 
003406' 
003407' 
003410' 
003411' 
003412' 
003413' 
003414' 
003415' 



261 17 
261 17 
200 01 

200 02 

201 01 
200 02 
137 00 



242 00 
136 00 
262 17 

262 17 

263 17 



00 000001 
00 000002 

00 000276' 

01 000003 

02 000001 
00 261276 
00 000002 
00 777770 
00 000002 
00 000002 
00 000001 
00 000000 



;This routine is used to get either the repcount or actcount in its 
; format. Get bytes 6 8 7 of the ctp packet, swap the 2 bytes around 
;it right justified in acO. 



intended 
and place 



;Call 






6ETREP: 
6ETACT: 



Go getrep 
♦1 



PUT AC1 

PUT AC2 

SET2 ACO 

MOVE AC1,CUREXE 

MOVE AC2,CTPPICT(AC1) 

MOVEI AC1J(AC2) 

LDB ACKREPC 

MOVE AC2. [POINT 8, ACO, 27] 

DPB AC1,AC2 

LSH AC1,-*D8 

IDPB AC1,AC2 

GET AC2 

GET AC1 

RTN 



;call this routine 
;AcO has the corrected 



;Save ac's 

.-Clear it 
;Get rhblk 
;Get rblk 
;Get address to 
;Get repount in 
;Set up pointer 
; Deposit 1st byte 
;Shift right 1 byte 
; Deposit 2nd byte 



repcount or actcount 



repcount 
ad 



word 



; Store 
;Call: 



the repcount or actcount back in the ctp packet 



• 



Move 
Go 
♦ 1 



STRREP: 

STRACT: PUT 
PUT 
MOVE 
MOVE 
MOVE I 
MOVE 
DPB 
LSH 
IDPB 
GET 
GET 
RTN 



acO,Cn] 
strrep 



AC1 

AC2 

AC1,CUREXE 

AC2,CTPPICT(AC1) 

AC1J(AC2) 

AC2, [POINT 8,(AC1),23] 

AC0,AC2 

AC0,-*D8 

AC0,AC2 

AC2 

AC1 



;n = repcount or actcount 
;call this routine 
.'Always 



.-Save ac's 

;Get rhblk 

;Get rblk 

;Get the repcount address 

;Set up pointer 

; Deposit 1st byte 

;Get the 2nd byte in position 

; Deposit 2nd byte 



117 



OFCIC 
DFCIC1 

2614 

2615 

2616 

2617 

2618 

2619 

2620 

2621 

2622 

2623 

2624 

2625 

2626 

2627 

2628 

2629 

2630 

2631 

2632 

2633 

2634 

2635 

2636 

2637 

2638 

2639 

2640 

2641 

2642 

2643 

2644 

2645 

2646 

2647 

2648 

2649 

2650 

2651 

2652 

2653 

2654 

2655 

2656 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 67 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0130 



003416' 
003417' 
003420* 
003421 • 
003422* 
003423' 
003424' 
'>03425' 
J03426' 
003427' 
003430' 
003431 ' 
003432 • 
003433' 



261 17 
261 17 
400 00 
200 01 

200 02 

201 01 
135 01 
200 02 
137 01 



242 01 
136 01 
262 17 

262 17 

263 17 











00 000001 
00 000002 
00 000000 

00 000276' 

01 000003 

02 000003 
00 000336' 
00 261275 
00 000002 
00 77777^ 
00 000002 
00 000002 
00 000001 
00 000000 



003434 ' 
003435 ' 
003436' 
003437' 
003440' 
003441' 
003442' 
003443' 
00344^ • 
003445' 
003446' 
003447' 



261 17 
261 17 
200 01 

200 02 

201 01 
200 02 
137 00 



242 00 
136 00 
262 17 

262 17 

263 17 











00 000001 
00 000002 

00 000276' 

01 000003 

02 000003 
00 261277 
00 000002 
00 77777^ 
00 000002 
00 000002 
00 00000' 
00 000000 



;This routine is used to get the genlength in its intended format.. Get bytes 
;12 & 13 of the ctp packet, swap the 2 Bytes around and place it right 
.•justified in acO. 



;Call 



• 
* 



Go 
+1 



GETGLN: PUT 
PUT 
SETZ 
MOVE 
MOVE 
MOVE! 
LD6 
MOVE 
DPB 
LSH 
I DPB 
GET 
GET 
RTN 



getgln 



AC1 

AC2 

ACO 

ACKCUREXE 

AC2,CTPPICT(AC1) 

AC1.3(AC2) 

AC1,6ENL 

AC2. [POINT 8. ACO, 27] 

AC1,AC2 

AC1,-'^D8 

AC1,AC2 

AC2 

AC1 



;call this routine 

;AcO now has the corrected genlength 

:Save ac's 

.•Clear it 

;Get rhblk 

;Get rblk 

;Get addresi to genlength word 

;Get genlength in ad 

;Set up pointer 

; Deposit 1st byte 

.•Shift right 1 byte 

; Deposit 2nd byte 



.•Store the genlength back in the ctp packet 

; Move acO.Cn] ;n = genlength 

; Go strgln ;call this routine 

; "♦'I ;Always 



STRGLN: PUT 
PUT 
MOVE 
MOVE 
MOVE I 
MOVE 
DPB 
LSH 
IDPB 

:t 

ofT 
RTN 



AC1 

AC2 

AC1,CUREXE 

AC2,CTPPICT(AC1) 

AC1.3(AC2) 

AC2, [POINT 8.(AC^\7] 

ArO,AC2 

AC0.-*D8 

ACC.AC2 

AC2 

ACl 



.'Save ac's 

;Get rhblk 

;Get rblk 

;Get the genlength address 

;Set up pointer 

; Deposit 1st byte 

;Get th£ 2nd byte in position 

.•Deposit 2nd byte 



J 



OFCIC 
DFCIC1 

2657 

2658 

2659 

2660 

2661 

2662 

2663 

266A 

2665 

2666 

2667 

2668 

2669 

2670 

2671 

2672 

2673 

267A 

2675 

2676 



Cluster Test Protocol Responder MACRO 3:538(1242) 11:18 27-Aug-85 Page 68 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0131 



;This routine loads the value that is in acO into the ctp packet 
Status byte field contained in the rblk. 



;Call: 



003450' 261 17 00 000000 
003451' 261 17 00 000001 
003452' 261 17 00 000002 
003453' 200 01 00 000276' 
003454' 200 02 01 000003 
003455' 201 01 02 000001 
003456' 137 00 00 000317' 
003457' 262 17 00 000002 
003460' 262 17 00 000001 
003461' 262 17 00 000000 
003462' 263 17 00 000000 



LDSTUS: 



Movei 


acO,Cn] 


Go 


Idstus 


♦1 




PUT 


ACO 


PUT 


AC1 


PUT 


AC2 


MOVE 


ACUCUREXE 


MOVE 


AC2,CTPPKT(AC1) 


MOVEI 


AC1J(AC2) 


DPB 


ACO, STAT 


GET 


AC2 


GET 


AC1 


GET 


ACO 


RTN 





;n = status value 
;call this routine 
; Always 

.-Save ac's 



;6et rhblk 

;Get rblk 

;6et status word address 

;Load status byte 

;Restore the ac's 



"1 



OFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 69 
0FC1C1 MAC 27-Aug-85 08:25 Subroutines 



1 



SEQ 0132 



2677 

2678 

2679 

2680 

2681 

2682 

2683 

268A 

2685 

2686 

2687 

2688 

2689 

2690 

2691 

2692 

2693 

269A 

2695 

2696 

2697 

2698 

2699 

2700 

2701 

2702 

2703 

270A 

2705 

2706 

2707 

?708 

2709 

2710 

2711 

2712 

2713 

27U 

rre 

c.'17 
2718 
2719 
2720 
2721 
2722 
2121 
272k 
2725 
272t 
2727 
272^ 
2729 
2730 
2731 



003A63' 
003A6A • 
003A65 • 
003A66' 
003A67' 
003A70' 
003A71 • 
003A72' 
003A73' 
003A7A • 
003A75 • 
003A76' 
003A77' 
003500* 
003501 • 



003502' 
003503* 
003504 * 
003505 • 
003506' 
003507' 
003510' 
003511' 
003512' 
003513' 
00351 A' 
003515' 
003516' 
003517' 
003520' 



261 
261 
A02 
200 
137 
2A2 
136 
2A2 
136 
2A2 
136 
202 
262 
262 
263 



17 
17 
00 
03 
00 
00 
00 
00 
00 
00 
00 

?? 

17 
17 





















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000002 
000003 
000002 
261300 
000003 
777770 
000003 
777770 
000003 
777770 
000003 
000000 
000003 
000002 
000000 



;This routine changes a A 8 bit byte pdpll right justified word to a A 8 bit 
•byte pdplO right justified word. ,.^ ,.^ ,.^ _, 

ie'g. iByte 1 Byte II byte 2 1 byte 31 => ibyte 3 1 byte 2 1 byte II byte 01. 

• 

•This routine is entered with the word to be changed in acO. 
;And exited with the changed word in acO right justified. 



;Call: 

9 



Movei acO^Cn] 
Go plltlO 
+1 



261 17 00 000002 


PiUlO: PUT 


261 17 00 000003 


PUT 


A02 00 00 000002 


SETZM 


200 03 00 261300 


MOVE 


137 00 00 000003 


DPB 


2A2 00 00 777770 


LSH 


136 00 00 00C003 


I DPB 


2A2 00 00 777770 


LSH 


136 00 00 000003 


I DPB 


2A2 00 00 777770 


LSH 


1316 00 00 000003 


IDPB 


202 02 00 000000 


MOVEM 


262 17 00 000003 


GET 


262 17 00 000002 


GET 


263 17 00 000000 


RTN 



AC2 

AC3 

AC2 ^ ^ 

AC3, [POINT 8,AC2jn 

AC0,AC3 

ACO, -10 

AC0,AC3 

ACO, -10 

AC0,AC3 

ACO, -10 

AC0,AC3 

AC2,AC0 

AC3 

AC2 



n = pdpll word 
call this routine 
AcO has changed word 

Save ac 
Save ac 

Set up pointer 
Deposit 1st byte 
Shift right 1 byte 
Deposit 2nd byte 
Shift right 1 byte 
Deposit 3rd byte 
Shift right 1 byte 

Ath byte 

number back to acO 



Depos i t 
Get new 
Restore 
Restore 
Return 



ac 
ac 



;This routine chariges a A 8 bit byte pdpIO right justified 

•word to a A 8 bit byte pdpll right justified word. 

ie.g. iByte 3lbyte 2lbyte 1 Ibyte 0! => Ibyte Olbyte.1 Ibyte 2lbyt 

;This routine is entered with the word to be changed in acO. 

;And exited with the changed word in acO right justified. 

/Call: 



e 31 



• 



P10T11 



Movei acO,Cn] 

Go plOtll 
+1 

PUT AC2 

PUT AC3 

SETZM AC2 ^ , 

MOVE AC3, [POINT 8,AC2J1] 

DPB AC0,AC3 

LSH ACO, -10 

IDPB AC0,AC3 

LSH AC0,~10 

IDPB AC0,AC3 

LSH ACO, -10 

IDPB AC0,AC3 

MOVEM AC2,AC0 

GET AC3 

GET AC2 

RTN 



n = pdpIO word 
call this routine 
AcO has changed word 



Save 
Sdve 



ac 
ac 



Set up pointer 

Deposit 1st byte 

Shift right 1 byte 

Deposit 2nd byte 

Shift right 1 byte 

Deposit 3rd byte 

Shift right 1 byte 

Deposit Ath byte 

Get new number back to acO 

Restore ac 

Restore ac 

Return 



■^T 



"1 

) 



DFCIC 
DFC1C1 

2732 

2733 

273A 

2735 

2736 

2737 

2738 

2739 

27A0 

27A1 

27A2 

2743 

27AA 

27A5 

2746 

2747 

2748 

2749 

2750 

2751 

2752 

2753 

2754 

2755 

2756 

2757 

2758 

2759 

2760 

2761 

2762 

2763 

2764 

2765 

2766 

2767 



luster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 
AC 27-Aug-85 08: 2 j Subroutines 



C 
MAC 



70 



SEQ 0133 



003521 • 
003522' 
003523* 
003524' 
Ov'"S25' 
005526' 
003527' 
003530' 
003531 • 
003532' 
003533' 
003534' 
003535' 



261 
261 
200 
200 
135 
302 
306 
275 
303 
201 
262 
262 
263 



17 
17 
03 
01 
02 
02 
02 
02 
02 
02 
17 
17 
17 



















00 
00 
00 
03 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000003 

000276' 

000003 

000313' 

000104 

000105 

000100 

000020 

000021 

000003 

000001 

000000 



003536' 200 01 00 000246' 

003537' 350 00 00 000001 

0035A0' 405 01 00 000077 

003541' 202 01 CO 000246' 

003542' 263 17 r 00 000000 



.•Check if the request received in the rblk has a valid opcode (between 0-16) 
;or an opcode of 68(message) or 69(datagram). 

•Catl: 

; Go opchk ;call this routine . 

t +1 ;Ac2 has the opcode or index number 

I ; 16 For a not implemented opcode. 



OPCHK: PUT ACI 

PUT AC3 

MOVE AC3,CUREXE 

MOVE AC1,CTPPICT(AC3) 

LDB AC2,0PC0 

CAIE AC2.*D68 

CAIN AC2.*D69 

SUBI AC2,RES0FS 

CAILE AC2.MAX0PC 

MOVEI AC2,MAX0PC+1 

GET AC3 

GET ACI 
RTN 



;Save ac's 




.•Return 



;This routine fetches a unique connect id. We don't have a problfn with 
;retreiving the same number twice from this routine because these 6 bits are 
.-only used as the high order bits in the cid that the monitor returns to us. 



;Call: 






GETCID: 



Go 
*1 

MOVE 

AOS 

AND] 

MOVEM 

RTN 



getcid 



ACI.CIDLOC 
ACI 

ACI. 77 
AC1.CIDL0C 



;call this routine 
;Ac1 has the new cid 

;Get connect id location 
.•Increment it 
;6 Bits only I 
.•Store it 



r 



DFCIC 
DFCIC1 

2768 

2769 

2770 

2771 

2772 

2773 

277A 

2775 

2776 

2777 

2778 

2779 

2780 

2781 

2782 

2783 

278A 

2785 

2786 

2787 

2788 

2789 

2790 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 71 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 01 3A 



;This routine changes the opcode field 
; response. 



;Call: 






Go 
♦1 



0035A3* 
00354A • 
003545* 
003546* 
003547' 
003550' 
003551 • 
003552' 
003553' 
003554' 
003555' 
003556' 
003557' 
003560' 
003561 ' 



261 
261 
261 
200 
200 
135 
303 
254 
202 
271 
137 
262 
262 
262 
263 



17 
17 
17 
02 
01 
00 
00 
00 
00 
00 
00 
17 
17 
17 
17 





















00 
00 
00 
00 
02 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 

000001 

000002 

000276' 

000003 

000313' 

000020 

003556' 

000231 ' 

000100 

000313' 

000002 

000001 

000000 

000000 



CH60PC: PUT 
PUT 
PUT 
HOVE 
HOVE 
LDB 
CAILE 
JRST 
HOVEH 
ADD! 
DPB 

CHGOPX: GET 
GET 
GET 
RTN 



chgopc 



ACO 

AC1 

AC2 

AC2,CUREXE 

AC1,CTPPKT(AC2:) 

AC0,OPCa 

ACO^MAXOPC 

CHGOPX 

ACO, OPCODE 

AC0,*D64 

AC0,0PC0 

AC2 

AC1 

ACO 



in the ctp packet from a request to a 



;caU this routine 
;Always 

:Save acs 

;Get rblk address 

.-Offset to the start of the ctp packet 

;6et opcode 

;lf this opcode is a 

: Response get out 

; Store it 

.•Change opcode from a req. To a res. 

; Store it 

.•Restore acs 



; Return 



r 



DFCIC 
DFCIC1 

2791 

2792 

2793 

279A 

2795 

2796 

2797 

2798 

2799 

2800 

2801 

2802 

2803 

280A 

2805 

2806 

2807 

2808 

2809 

2810 

2811 

2812 

2813 

28U 

2815 

2816 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 11 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0155 



;6et the return path status for a node. Call this subroutine with the node 
.•number of the node in acO. Call via "GO GPRS . The return path status wi 
;be returned in acO. 



II 



003562' 
003563' 
00356A' 
003565' 
003566' 
003567' 
003570' 
003571 ' 
003572' 
003573' 
00357A ' 
003575' 
003576' 
003577' 
003600' 



261 
261 



17 
17 



202 


00 


402 


00 


201 


01 


202 


01 


201 


01 


201 


02 


260 


17 


254 00 


200 00 


350 00 


262 


17 


262 


17 


263 


17 



00 000002 
00 000001 
00 003602' 
00 003603' 
00 000003 
00 003601 ' 
00 000036 
OC 003601 ' 
00 004605' 
00 003576' 
00 003603' 
17 lllllii 
00 000001 
00 000002 
00 000000 



003601' 000000 000003 
003602' 000 00 00 000000 
003603' 000 00 00 000000 



GPRS: PUT AC2 

PUT AC1 

MOVEM ACO.GPRSB^.SQRPN 

SETZM GPRSB^.SQRPS 

MOVEI AC1..LBRPS 

MOVEM AC\.SQLEN*GPRSB 

MOVEI AC1..SSRPS 

MOVEI AC2.6PRSB 

GO DOSCS 

JRST GPRS1 

MOVE ACO.GPRSB+.SQRPS 

AOS -li?) 

GPRS1: GET ACI 

GET AC2 
RTN 

;.SSRPS argument block 

GPRSB: .LBRPS 
Z 
2 



Save some acs 



Put the node number in argument block 

Zero the last returned path status 

Load lenoth of block 

Save it there 

Function code 

Argument block address 

Do the SCS JSYS or UUO 

If SCS fails 

Get returned path status 

Bump for good return 

Restore acs 

Return to the code that called this 



Length of block 
Node number 
Path status 



'1 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 73 
DFC1C1 MAC 27-Aug-85 08:25 Subroutines 



SEQ 0136 



2817 

2818 

2819 

2820 

2821 

2822 

2823 

2824 

2825 

2826 

2827 

2828 

2829 

2830 

2831 

2832 

2833 

2834 

2835 

2836 

2837 

2838 

2839 

2840 

2841 

2842 

2843 

2844 

2845 

2846 

2847 

2848 

2849 

2850 

2851 

2852 

2853 

2854 

2855 

2856 

2857 

2858 

2859 



003604' 261 17 00 000001 

003605' 261 17 00 000002 

003606' 261 17 00 000003 

003607* 261 17 00 000004 

003610' 336 00 00 000001 
003611' 260 17 00 003056' 
003612' 476 00 01 000000 
003613' 202 02 01 000002 



003614' 
003615' 
003616' 
003617' 
003620' 
003621 ' 
003622' 



2uJ 02 
200 01 
402 00 1 



336 00 
260 17 
332 00 
260 17 



01 000003 
00 000003 
00 0000C2 
00 000004 
00 005370' 
00 000004 
00 005342' 



003623' 262 17 00 000004 

003624' 262 17 00 000003 

003625' 262 17 00 000002 

003626' 262 17 00 000001 

003627' 263 17 00 000000 



;This subroutine uses the supplied rhblk or finds an available rhbU. 
;Then queues it for message reception or datagram reception and sets 



;up the following in the rhblk. 



;InterruDts are 




Rhblk: 


icall: 






Move 




Move 




Move 


$■ 


Move 


1 


Go 


• 


♦1 


QUEUE : 


PUT 




PUT 




PUT 




PUT 


;(12) 


GO 




SKIPN 




GO 




SETOM 




MOVEM 


;6et CI 


d in ad 




MOVE 




MOVE 




SETZM 




SKIPN 




GO 




SKIPE 




GO 


;(12) 


GO 




GET 




GET 




GET 




GET 




RTN 



off in this routine. 



shut 
-1 

9 

6,,Cblk 
R6[k 



acUCn] 
ac2,Cm] 
ac3«[v] 
ac4«Cx] 
queue 



AC1 

AC2 

AC3 

AC4 

DISINT 

AC1 

RH8LKV 

FLINK(ACI) 

AC2,STATUS(AC1) 

and rblk in ac2 

AC2,CTPPKT(AC1) 

AC1.AC3 

aAC2 

AC4 

QBDGM 

AC4 

QBMSG 

ENAINT 

AC4 

AC3 

AC2 

AC1 



;make this block unavailable 
;Leave the blink alone 
;zero the status & store the 
;this rblk was always here 



cblk 



;if n=address use this rhblk, if n=0 find an rhblk 

;m = cblk 

;v = cid 

;x = to = queue dgm, -1 = queue msgJ 

;call this routine 

;Always 



;Disable the interrupt system 

;Did we get passed an rhblk to queue? 

;No, get a request header block(rhblk) 

;Make this rhblk not available 

.-Store the cblk & clear the status in the rhblk 



this one buffer, 



;Get rblk address 

.-Need the cid in ad 

;0 to Rblk, just queue 

; Queue a message? 

.-Queue buffer for dgrm reception 

.'Queue a message? 

.-Queue buffer Tor message reception 

.-Enable the interrupt system 



DFCIC Cluster Test Protocol Responder MACRO 2538(1242) 11:18 27-Aug-85 Page 74 
DFCIC1 MAC 27-Aug-85 08:25 Subroutines 



SEQ 0137 



2860 

2861 

2862 

2863 

2864 

2865 

2866 

2867 

2868 

2869 

2870 

2871 

2872 

2873 

2874 

2875 

2876 

2877 

2878 

2879 

2880 

2881 

2882 

2883 

2884 

2885 



;This subroutine requeues the rblk that has just completed its ctp function. 

;It is requeued for either datagram or message reception. 

;This routine is called during interrupt time only. 

acLCn] ;n = finished rhblk 

ac2,Cm] ;m = status. ,cblk 

ac3,[x] ;x = cid 

quebuf ;call this routine 

;Always 



Move 
Move 
Move 



003630' 
003631 • 
003632' 
003633' 
003634* 
003635' 
003636' 
003637' 
003640' 
003641 ' 
003642' 
003643' 
003644' 
003645' 
003646' 
003647' 



261 
261 
261 
261 
261 
402 
607 
476 
550 
260 
262 
262 
262 
262 
26? 
263 



17 
17 
17 
17 
17 
00 
02 
00 
02 
17 
17 
17 
17 
17 
17 
17 






















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 

000001 

000002 

000003 

000004 

000004 

000020 

000004 

000002 

003604 ' 

000004 

000003 

000002 

000001 

000000 

000000 



QUEBUF: PUT 
PUT 
PUT 
PUT 
PUT 
SETZM 
TLNN 
SETOM 
HRRZ 
60 

QUEBUX: GET 
GET 
GET 
GET 
GET 
RTN 



ACO 

AC1 

AC2 

AC3 

AC4 

AC4 

AC2,(DGM) 

AC4 

AC2,AC2 

QUEUE 

AC4 

AC3 

AC2 

AC1 

ACO 



.-Clear datagram-message flag 

:Uas this ctp packet received as a dgm? 

;No. set flaa to gueue a msg buffer 

.•Status. ,cblk to 0.,cblk 

.'Requeue this buffer 



5 

! 



DFCIC Cluster Test Protocol Responder MACRO 2538(1242) 11:18 27-Aug-85 Page 75 
DFC1C1 MAC 27-Aug-85 08:25 Subroutines 



SEQ 0138 



2886 

2887 

2888 

2889 

2890 

2891 

2892 

2893 

289A 

2895 

2896 

2897 

2898 

2899 

2900 

2901 

2902 

2903 

2904 

2905 

2906 

2907 

2908 

2909 

2910 

2911 

2912 

2913 

2914 

2915 

2916 

2917 

2918 

2919 

2920 

2921 

2922 

2923 

2924 

2925 

2926 



003650' 
003651 • 
003652' 
003653' 
003654' 
003655' 
003656' 
003657' 
003660' 
003661 ' 
003662' 
003663' 
003664' 
003665 • 
003666' 



261 
261 
261 
261 
261 
402 
476 
201 
350 
200 
200 
60'' 
36 r 
336 
254 



17 
17 
17 
17 
17 
00 
00 
03 
00 
04 
05 
05 
03 
00 
00 





















00 
00 
00 
00 
00 
00 
00 
00 
00 
02 
04 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

000001 

000002 

000040 

000002 

010556' 

000001 

200000 

003660' 

000003 

003677' 



003667' 
003670' 
003671 • 
003672 ' 
003673' 
003674 ' 
003675 ' 
003676' 
003677' 
003700' 
003701 ' 
003702 • 
003703' 
003704 • 
003705' 



550 05 
312 05 
254 



00 
550 00 
5:>J 05 
312 00 
254 



254 



350 00 
262 17 



262 
262 



262 17 

262 17 

263 " 

















17 



00 
00 



17 
17 



04 000004 
00 000232' 
00 003664' 

04 000005 
00 000016 

05 000005 
00 003664' 
00 003700' 

17 iinii 

00 000005 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 



;See if we have a 3rd party virtual 
;Call: 

Go chkvcs 

+2 



circuit open to this node already. 



CHKVCS: PUT 
PUT 
PUT 
PUT 
PUT 
SETZM 
SETOM 
MOVE I 

CHKVCA: AOS 
MOVE 
MOVE 
TLNN 

CHKVCB: SOJG 
SKlPN 
JRST 



AC1 

AC2 

AC3 

AC4 

AC5 

ACl 

AC2 

AC3,CBLSTE 

AC2 

AC4,CBLST(AC2) 

AC5,CBSTS(AC4) 

AC5, (THIRD) 

AC3, CHKVCA 

AC3 

CHKVCT 



;call this routine ^. , ,, ^ ^ , 
;A vc already exists to this node(3rd party) 
;No vc exits 

;Save ac's 



Zero out 

Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Get the cblk status word 

Is this cblk a 3rd party connection? 

No« keep looking 

Have we checked the whole table? 

Yes, no connection exists yet - +2 rtn 



;This is 
.•number. 



a 3rd party connection. Now see if it is the same port and node 



HRRZ 
CAME 

jnsT 

HRRZ 
HRRZ 
CAME 
JRST 
JRST 
CHKVCT: AOS 
CHKVCX: GET 
GET 
GET 
GET 
GET 
RTN 



AC5,N0DE(AC4) 

AC5,0THERN 

CHKVCB 

AC0A0CPRT(AC4) 

AC5.CURSTS 

AC0A0CPRT(AC5) 

CHKVCB 

CHKVCX 

-5(P) 

AC5 

AC4 

AC3 

AC2 

ACl 



Node number to ac5 

Is it the same node? 

No, keep looking 

Now get the port number 

Get the "CONTROLLERS" port number 

Is it on the same ci? 

No, keep looking 

Yes, a connection already exists 

Take +2 rtn ~ no connection yet 

Restore ac's 



;Error return 



DFCIC 
DFCIC1 

2927 

2928 

2929 

2930 

2931 

2932 

2933 

293A 

2935 

2936 

2937 

2938 

2939 

29A0 

29A1 

29A2 

29A3 

29AA 

29A5 

29A6 

2947 

29A8 

29A9 

2950 

2951 

2952 

2953 

2954 

2955 

2956 

2957 

2958 

2959 

2960 

2961 

2962 

2963 

2964 

2965 

2966 

2967 

2968 

2969 

2970 

2971 

2972 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 76 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0139 



003706' 
003707' 
003710' 
00371 1 • 
003712' 
003713' 
003714' 
00371 5 • 
003716' 
003717' 
003720' 
003721 • 
003722' 
003723' 
003724 ' 
003725' 
003726' 



261 

261 

261 

261 

261 

261 

261 

261 

476 

201 

350 

200 

336 

254 

200 

607 

254 



17 
17 
17 
17 
17 
17 
17 
17 
00 
03 
00 
04 
00 
00 
01 
01 
00 























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
05 
04 
00 
04 
00 
00 



000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000005 

000040 

000005 

010556' 

000000 

003773' 

000001 

100000 

003773' 



003727' 200 01 04 000000 
003730' 260 17 00 005555' 
003731' 201 01 00 005626' 
003732' 200 00 01 000005 
003733' 202 00 04 000004 



003734 • 
003735' 
003736' 
003737' 
003740' 
003741 ' 
003742' 



200 01 
402 00 
260 17 
255 00 

201 01 
200 00 

202 00 













04 
00 
00 
00 
00 
01 
04 



000000 

000002 

005737' 

000000 

005767' 

000023 

000005 



k* • 



.-Whenever a connection is made, including 3rd .party connections, the ^QTINFO 
;bit is set in the corresponding cblk by the interrupt routine. This bit being 
;set causes this subroutine to store information in the cblk. increment an 
.•entry in the spear table and do 3rd party set up. If third party, set the 
;"C0NT" Bit in the rhblk that initiated the connection. 



.-Call: 



Go 
^1 



GETINF: PUT 
PUT 



GETINA: 



PUT 

PUT 

PUT 

PUT 

PUT 

PUT 

SETOM 

MOVE I 

AOS 

MOVE 

SKIPN 

JRST 

MOVE 

TLNN 

JRST 



getinf 



ACO 

AC1 

AC2 

AC3 

AC4 

AC5 

AC6 

AC7 

AC5 

AC3.CBLSTE 

AC5 

AC4.CBLST(AC5) 

CID(AC4) 

GETINB 

AC1.CBSTS(AC4) 

ACI.(GTINFO) 

GETINB 



.-call this 
.-Always 

;Sa\ie ac's 



routine 



;Init index pointer 

;Get size of cblst 

.•Increment index 

.-Get cblk address 

:Is this cblk available? 

;Yes. look for another 

;Get connection block rtatus 

;Get information for this cblk? 

;No. keep looking 



;Get the remote node number and store it in the cblk. 



MOVE AC1.CID(AC4) 

GO STPCLL 

MOVEI AC1.STPARG 

MOVE AC0..SQSBI(AC1) 

MOVEM ACO. NODE (AC4) 

;Now get our port number. 



MOVE 

SETZM 

GO 

JFCL 

MOVEI 

MOVE 

MOVEM 



AC1.CID(AC4) 

AC2 

CONFIG 

AC1.CNFARG 

AC0..SQLPN(AC1) 

AC0.L0CPRT(AC4) 



;Get the cid in ad 

.-Find the remote node # for this 

.•Get address of argument block 

.'Get it 

;Node..O to cblk 



Get the cid in ad 
Don't use the node # 
Find the port # for this cblk 
Error - unlikely 
Get add*^ss of argument block 
Get it 
;Port* to cblk 



cblk 



! 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 11 
DFC1C1 MAC 27-Aug-85 08:25 Subroutines 



SEQ ^y^^ 



2973 

297A 

2975 

2976 

2977 

2978 

2979 

2980 

2981 

2982 

2983 

298A 

2985 

2986 

2987 

2988 

2989 

2990 

2991 

2992 

2993 

299A 

2995 

2996 

2997 

2998 

2999 

3000 

3001 

3002 

3003 

300A 

3005 

3006 

3007 

3008 

3009 

3010 

3011 

3012 

3013 

30U 

3015 

3016 

3017 

3018 

3019 

3020 

3021 

3022 



003743' ll\ 00 00 000020 

0037A4' 270 01 00 000000 

0037A5' 200 00 00 261301 

003746' 272 00 01 007341* 



003747' 200 01 04 000001 
003750' 621 01 00 100000 
003751 ' 202 01 04 000001 



003752' 607 01 00 200000 
003753' 254 00 00 003773' 



003754' 554 07 04 000000 
003755' 242 07 00 777764 



003756' 
003757' 
003760' 
003761 ' 
003762' 
003763' 
003764 • 
003765 ' 
003766' 
003767' 
003770' 
003771 ' 
003772 • 
003773' 
003774 ' 
003775 ' 
003776' 
003777' 
004000' 
004001 ' 
004002 ' 
004003' 
004004 • 



402 00 
515 02 

201 06 
53 • 00 
312 00 
254 00 
200 01 
661 01 

202 01 
260 17 
254 00 
271 01 
253 02 
367 03 
262 17 
262 17 
262 17 
262 17 
262 17 
262 17 
262 17 

262 17 

263 17 



00 000001 

00 777400 

01 010616' 
06 000000 
00 000007 
00 003771 ' 
06 000002 
00 000200 
06 000002 
00 004301 ' 
00 003773' 
00 000004 
00 003760' 
00 003720' 
00 000007 
00 000006 
00 000005 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000000 



; Increment the spear table for this connection. 



IMULI ACO^SPOFST 
ADD AC1,AC0 
MOVE AC0,C1,J] 
ADDM AC0,SPEART(AC1) 

.-Clear the get information flag. 

MOVE AC1,CBSTS(AC4) 
TLZ AC1,(GTINF0) 
MOVEM AC1,CBSTS(AC4) 

;If this cbllc is 3rd party go on, if not look for another cblk that needs info, 



; Create an index number 

; For the spear table 

.-Increment both halves 

.-Increment * of connections on this node 



.-Get connection block status 
.-Reset the get information bit 
;Set connection block status 



TLNN AC1, (THIRD) 
JRST GETINB 



;3Rd party? 

.-No. look for another cblk 



.-Get the 6 left most bits of the cblk's cid so we can find the rhblk. 



HLRZ AC7.CID(AC4) 
LSH AC7.-*D12 



.-Get the left half of the cid 
.-Right justify the 6 bit cid 



.-Now find the rhblk that was responsible for making this connection 
.-And set its (cont) bit to flag that the connection was successful. 



SETZM 
HRL2I 

GETIND: MOVE I 
HLRZ 
CAME 
JRST 
MOVE 
TLO 
MOVEM 
GO 
JRST 

6ETINE: ADDI 
A06JN 

GETINB: SOJG 

GETINX: GET 
GET 
GET 
GET 
GET 
GET 
GET 
GET 
RTN 



AC1 

AC2,-<C0UNT*RHBPER> 

AC6,RH1(AC1) 

AC0,FLINIC(AC6) 

AC0,AC7 

GETINE 

AC1,STATUS(AC6) 

AC1,(C0NT) 

AC1,STATUS(AC6) 

CANTIM 

GETINB 

AC1,RHBLEN 

AC2, GETIND 

AC3.GETINA 

AC7 

AC6 

AC5 

AC4 

AC3 

AC2 

AC1 

ACO 



Clr ac 

Negative count in left half 

Get rhblk address 

Get the 6 bit cid 

Are the cid's equal? 

No. keep looking 

Get the status word 

3Rd party connection was successful 

Restore the status word 

Cancel any timer interrupt 

See if anymore cblks want info. 

Increment to next req hdr blk 

Have we checked all the reg. Blk's? 

See if other cblks need info 

Restore ac's 



.-Return 



L 



r 



128 



DFCIC 
DFCIC1 

3023 

302A 

3025 

3026 

3027 

3028 

3029 

3030 

3031 

3032 

3033 

303; 

303^ 

3036 

30^ r' 

303o 

3039 

30AO 

3041 

3042 

3043 

3044 

3045 

3046 

3047 

3048 

3049 

3050 

3051 

3052 

3053 

3054 

3055 

3056 

3057 

3058 

3059 

3060 

3061 



Cluster ,est Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 78 
MAC 27-Aug-85 08:25 Subroutines 



SEO 0141 



004005 • 
004006' 
004007' 
004010' 
00401 1 ' 
004012' 
004013' 
004014' 
00401 5 ' 
004016' 
004017* 
004020' 
004021 ' 
004022' 

004023' 
004024 ' 
004025' 
004026' 
004027' 
004030' 
004031' 
004032' 



336 
263 
261 
261 
261 
261 
?60 
231 
200 
271 
336 
254 
315 
254 

202 
476 
260 
262 
262 
262 
262 
263 



00 
17 
17 
17 
17 
17 
17 
01 
02 
02 
00 
00 
01 
00 

02 
00 

17 
17 
17 

17 
17 
17 





























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000234 ' 

000000 

000001 

000002 

000003 

000004 

004507' 

135600 

000254 ' 

000074 

000217' 

004023' 

000002 

004026' 



00 000254' 
00 000217' 
00 004033' 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 



.-This 
; Check 
;nake 



# 



;Call 



subroutine checks to see if we should make a spear entry 
to see if we have waited the allotted time. If we have, 
an entry into spear with the following information: 

••TIME OF THIS ENTRY" 

••PROGRAM NAME(DFCIC)^^ 

•VERSION NUMBER" 

•7IME OF LAST ENTRV 

••PORT NUMBER" 

"NODE NUMBER" 

•70TAL NUMBER OF CONNECTIONS" 

"NUMBER OF CONNECTIONS SINCE LAST ENTRV 






SPEAR: 



SPEARA: 



SPEARX 



Go 

♦ 1 

SKIPN 

RTN 

PUT 

PUT 

PUT 

PUT 

GO 

IDIVI 

MOVE 

ADD I 

SKIPN 

JRST 

CAMGE 

JRST 

MOVEM 

SETOM 

GO 

GET 

GET 

GET 

GET 

RTN 



spear 



MONTYP 

AC1 

AC2 

AC3 

AC4 

UTIME 

AC1,*D1000»60 

AC2,TIMESP 

AC2JIMELN 

SPEARF 

SPEARA 

AC1,AC2 

SPEARX 

AC2/fIMESP 

SPEARF 

ENTER 

AC4 

AC3 

AC2 

AC1 



;call this 
.-Always 



routine 



;Skip if TOPS-orange 
;TOPS-blue, return now 
.Save some acs 



;Get time in milliseconds 

; Change ms to minutes 

;Get the last time we did a spear entry 

;Add time length (min) 

.-Made any spear entries ? 

; No, make the initial one at start up 

.-Time to do another spear entry? 

;No, don't do any spear entries this time 

; Store the minutes for the next time 
.-Mark that initial spear entry made 
;Make a spear entry 
.•Restore the acs 



►129 



DfCIC 
DFCIC1 

3062 

3063 

306A 

3065 

3066 

3067 

3068 

3069 

3070 

3071 

3072 

3073 

3074 

3075 

3076 

3077 

3078 

3079 

3080 

3081 

3082 

3083 

308A 

3085 

3086 

3087 

3088 

3089 

3090 

3091 

3092 

3093 

3094 



Cluster Test Protocol Responder MACRO X53B(1242) 11:16 ^7-Aug-85 Page 79 
MAC 27-Aug-85 08:25 Subroutines 



SEQ 0142 



004033* 261 
004034' 261 
004035* 261 
004036' 261 
004037' 261 
004040' 261 
004041' 261 



17 00 000001 

17 00 000002 

17 00 000003 

17 00 000004 

17 00 000005 

17 00 000006 

1 /^ 00 000007 



004042' 402 00 00 000002 
004043' 515 03 00 777600 
004044' 336 07 03 007341' 
004045' 254 00 00 004060' 

004046' 550 04 00 000003 
004047' 231 04 00 000020 
004050' 250 04 00 000005 

004051' 201 01 02 007556' 
004052' 137 05 00 000360' 

004053' 201 01 02 007556' 
004054' 137 04 00 000361' 

004055' 350 00 00 000002 

004056' 2v^ 07 0? 007556' 

004057' 350 00 00 000002 

004060' 253 03 00 004044' 



;This is where we set up the syerr 
ENTER: 



PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
PUT 



AC1 
AC2 
AC3 
AC4 
AC5 
AC6 
AC7 



jsys information. 
;Sa^e some acs 



;Get the number of entries made in 
;Syerr table(sysert). Also get any 



SETZM 
HRLZI 
ENTERC: SKIPN 
JRST 

ENTERD: HRRZ 
IDIVI 
EXCH 

ENTERE: MOVE I 
DPB 

ENTER6: MOVE I 
DPB 

ENTREN: AOS 

MOVEM 
AOS 

ENTERO: AOBJN 



AC2 

AC3,-SPEARE 
AC7,SPEART(AC3) 
ENTERO 

AC4.AC3 

AC4,SP0FST 

AC4,AC5 

AChSySE12*2(AC2) 
AC5,SPRCIN 

AC1,SYSE12*2(AC2) 
AC4,SPRN0D 

AC2 

AC7,SYSE12^2(AC2) 

AC2 

AC3, ENTERC 



the spear tableCspeart) and store it in the 
other information required. 

;]rit counter 
;6et length of table 
;Is this entry empty? 
;Yes, keep looking 

;6et the index register count 
.•Calculate the node and port number 
;Port# to ac5, node* to ac4 

;Get the address for storage 
.'Store the port # away 

;6et the address for storage 
.-Store the node # away 

; Increment the count 

.-Put this entry in the sys error table 

.-Keep looking 



1. 



)130 



DFCIC Cluster Test Protocol Responder MACRO );53B(1242) 11:18 27-Aug-85 Page 80 
DFC1C1 MAC 27-Aug-85 08:25 Subroutines 



SEQ 01A3 



3095 

3096 

3097 

3098 

3099 

3100 

3101 

3102 

3103 

3104 

3105 

3106 

3107 

3108 

3109 

3110 

3111 

3112 

3113 

3114 

3115 

3116 

3117 

3118 

3119 

3120 

3121 

3122 

3123 

3124 

3125 

3126 

3127 

3128 

3129 

3130 

3131 

3132 

3133 

3134 

3135 

3136 

3137 

3138 

3139 

3140 

3141 

3142 

3143 

3144 

3145 

3146 

3147 



004061 • 
004062' 
004063' 
004064 • 
004065 • 
004066' 
004067' 



336 00 
254 00 
271 
201 



02 
01 



137 02 
271 02 
202 02 













00 
00 
00 
00 
00 
00 
00 



000002 

004066 

000002 

007554' 

000357' 

00001 3 

000255' 



004070' 200 01 00 007546' 
004071' 202 01 00 007555' 



004072' 260 17 00 004537' 
004073' 202 01 00 007546' 



004074' 260 17 00 004111' 



004075 ' 
00407*^' 
004077' 
004100' 
004101' 
004102' 
004103' 
0^^4104' 
00^^05' 
00410S* 
004 10>' 
004110' 



C04ir' 
004112' 
004113' 
004114' 
004115' 
004116' 
004117' 
004120' 
004121' 
00^.122' 
00412^' 



515 
200 
51? 
2o< 
262 
262 
262 
262 
262 
262 
262 
263 



336 
263 
261 
261 
201 
200 
104 
320 
262 
262 
263 



02 
01 
01 
02 
17 
17 
17 
17 
17 
17 
17 
17 



00 
17 
17 
17 
CI 
02 
00 
16 
17 
17 
17 
































00 
02 
02 
00 
00 
00 
00 
00 
00 
00 
00 
00 



00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



777600 

007341 ' 

007341 • 

004076' 

000007 

000006 

000005 

000004 

000003 

000002 

00000) 

000000 



000234' 

000000 

000001 

000002 

007541 • 

000255' 

000527 

004:21' 

000002 

000001 

000000 



;Ac2 has the number of entries made in the "SPEART" table. 



SKJPN 
JRST 
ADD! 
MOVE I 
DPB 
ENTERS: ADDI 
MOVEM 



AC2 

ENTERS 

AC2,2 

AC1,SYSE12 

AC2,SPRBLN 

AC2,SYSHLF 

AC2,SYSAC2 



Skip if at least one entry exists 
No entries exist 
Add 2 for block type 12 ^ 
Get start of block type 12 
Deposit the block length! 
Add blocks 2 R 10 plus 4 header words. 
Store it for when we use the "SYERR jsys 



;Get the "DATE/TIME" of the last spear encry(block 2) and store it in block 12. 



MOVE AC1,SYSE02^1 
MOVEM AC1,SYSE12*1 



;Get date/ time 
; And store it 



;Now store the "DATE/TIME" in block type 2(syse02^1). 



GO DATETM 
MOVEM ACnSYSE02^1 



;Get the date/ time 
; In ad and store it 



;This is where we call the jsys "SYERR". 

W SYSJYS ;Syerr jsys 

.•Clear the "NUMBER OF CONNECTIONS SINCE LAST TIME"(right naif of table). 



HRLZI 
ENTERP: MOVE 
HLLZM 
A06JN 
GET 
GET 
GET 
GET 
GET 
GET 
GET 
RTN 



AC2.-SPEARE 

AC1,SPEART(AC2) 

AC1.SPEART(AC2) 

AC2, ENTERP 

AC7 

AC6 

AC5 

AC4 

AC3 

AC2 

ACl 



;Get length of table 

;Get a spear table entry 

;Clear the # of conn since last entry 

.-Clear the right half of the table 

.•Restore the acs 



;This routine executes the 

MONTVP 



SYSJYS: SKIPN 
RTN 
PUT 
PUT 
MOVE I 
MOVE 
SYERRX 
ERJMP 
GET 
GET 
RTN 



ACl 

AC2 

ACl.SYSERT 

AC2.SY3AC2 

.M 
AC2 
ACl 



"SYERR" jsys for spear entries. 

;Skip if orange 

.-Blue system, do nothing 

.-Save acs 

.•Address of argument block 

; Current length of th? argument block 

.-Execute the jsys 

.•Ignore error if any 



.•Return 



DFCIC 
DFCIC2 

3U8 
31A9 
3150 
3151 
3152 
3153 
31 5A 
3155 
3156 
3157 
3158 
3159 
3160 
3161 
3162 
3163 
31 6A 
3165 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 1 
MAC 27-Aug-85 11:17 Subroutines 



SEQ OKA 



2:<GSC0TT. DFCIODFCIC2. MAC. U7 11 

Add SSCBFX error code^ ..^^•, 

2:<6SC0TT.DFCIC>DFCIC2.MAC.U2 21 
Add output of arg block address^; 
Z:<GSCOTT.DFC1C>DFCIC2.MAC.UO 23 
Add the latest SCSUUO error codes 
Z:<6SC0TT.DFCIC>DFCIC2.MAC.139 23 
Try to catch those rare bad CPT 
2:<GSCOTT.DFCIC>DFCIC2.MAC.138 
Correct DIAG UUO call to use -n,, 
Z:<GSC0TT.DFCIC>DFCIC2.MAC.137 2 
Don't turn on ints until waiting 
Z:<GSC0TT.DFCIC>DFC1C2.MAC.135 2 
Turn off interrupts when processi 
Z:<GSC0TT.DFC1C>DFCIC2.MAC.134 2 
Output calling PC in DIAG UUO fai 
Z:<6SC0TT.DFCIC>DFCIC2.MAC.129 2 
Correct output of error number on 



-Aug-85 11:17:39, Edit by GSCOTT 

•Aug-85 08:24:19, Ed 
n ERRSCS output rout 
-Aug-85 15:13:58, Ed 



-Aug-85 08:50 
acket pointer 
-Aug-85 18:53 
loc in the AC 
-Aug-85 18:23 
for an int to 
-AuQ-85 16:06 
ng things to 
-Aug-85 15:55 
lures 

-Aug-85 15:15 
diag uuo fai 



:11, Ed 

by doi 

:37, Ed 

il1, Ed 
happen 
:43, Ed 
do at I 
:29, Ed 



it by GSCOTT 

ine 

it by GSCOTT 

it by GSCOTT 
ng HRRZMs 
it by GSCOTT 

it by GSCOTT 



it by GSCOTT 
ower level 
it by GSCOTT 



:02, Edit by GSCOTT 
lures. 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 2 
DFC1C2 MAC 27-Aug-85 11:17 Subroutines 



SEQ 0145 



3166 

3167 

3168 

3169 

3170 

3171 

3172 

3173 

3174 

3175 

3176 

3177 

3178 

3179 

3180 

3181 

3182 

3183 

3184 

3185 

3186 

3187 

3188 

3189 

3190 

3191 

3192 

3193 

3194 



004124* 
004125' 
004126' 
004127' 
004130' 
004131' 
004132' 
004133' 
004134' 
004135' 
004136' 
004137' 
004140' 
004141' 
004142' 
004143' 
004144' 
004145' 
004146' 



261 


17 


261 


17 


261 


17 


261 


17 


200 01 


200 03 


200 02 


200 04 


303 04 


275 04 


200 03 


260 


17 


334 00 


350 00 


262 


17 


262 


17 


262 


17 


262 


17 


263 


17 














00 
00 
00 
00 
16 
00 
03 
00 



00 
















00 
04 
00 
00 
17 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000000 

000276' 

000003 

000231 ' 

000020 

000100 

007317' 

005506' 

000000 

7777H, 

000004 

000003 

000002 

000001 

000000 



SUBTTL Send CTP Response 

;Send the ctp response 

;This routine sets up the argument 

;Call: 

Go send 

I ^2 

SEND: PUT ACl 

PUT AC2 

PUT AC3 

PUT AC4 

MOVE AC1,(CURSTS) 

MOVE AC3,CUREXE 

MOVE AC2,CVPPICT(AC3) 

MOVE AC4, OPCODE 

CAILE AC4,MAX0PC 

SUBI AC4,RES0FS 

MOVE AC3,NMBYTS(AC4) 

60 SENDMD 
SKIPA 

AOS -4(P) 

SENDA: GET AC4 

GET AC3 

GET AC2 

GET ACl 
RTN 



block for the scsX jsys monitor call. 

;call this routine 
;Error return 
;Sucessful return 

;Save the ac's 



Get the "CID" of this connection S 
Start of ctp 
Request in 
Get the opcode 
Opcode a response opcode 
Yes, make it a request opcode 
Store length 
Send a dgm or msg 
Error, take +1 return 
Make it a +2 return 
Restore the ac's 



;Thats it 



.^ 



— . 



1 f 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 3 
DFCIC2 MAC 27-Aug-85 11:17 Send CTP Response 



SEQ 0U6 



3195 

3196 

3197 

3198 

3199 

3200 

3201 

3202 

3203 

3204 

3205 

3206 

3207 

3208 

3209 

3210 

3211 

3212 

3213 

3214 

3215 

3216 

3217 

3218 

3219 



;Send the "GENERATE MESSAGE" or "GENERATE DATAGRAM" ctp response . 
;This routine sets up the argument block for the scsX jsys monitor call. 

•'Call- ^, ,, ^.. 

; Go sen04 ;call this routine 

* -fl ; Error return 

• 4-2 ;Sucessful return 



004147* 
004150' 
004151' 
004152' 
004153' 
004154' 
004155' 
004156' 
004157' 
004160' 
004161' 
004162' 
004163' 
004164' 
004165' 
004166' 
004167' 



261 


17 


261 


17 


261 


17 


261 


17 


200 01 


200 03 


200 02 


200 03 


271 


03 


260 


17 


334 


00 


350 00 


262 


17 


262 


!7 


262 


17 


262 


17 


263 


17 























00 
00 
00 
00 
16 
00 
03 
00 
00 
00 
00 
17 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000000 

000276' 

000003 

000226' 

000016 

005506' 

000000 

iiiim 

000004 
000003 
000002 
000001 
000000 



SEN04: PUT 
PUT 
PUT 
PUT 
MOVE 
MOVE 
MOVE 
MOVE 
ADD! 
GO 

SKIPA 
AOS 

SEN04C: GET 
GET 
GET 
GET 
RTN 



AC1 

AC2 

AC3 

AC4 

AC1,(CURSTS) 

AC3,CUREXE 

AC2,CTPPKT(AC3) 

AC3,GENLEN 

AC3/D14 

SENDMD 

-4(P) 

AC4 

AC3 

AC2 

AC1 



;Save the ac's 



;Get the "CID" of this connection 

.-Start of ctp 

; Request in ac2 

;Get the length of the message ^ ^. ,^ 

;Add # of bytes in packet up to image data field 

;Send the response back 

i^rroT , take ♦I return 

.-Make it a ^l return 

.•Restore the ac's 



.-Thats it 



OFCIC 
DFCIC2 



3220 

3221 

3222 

3223 

322A 

3225 

3226 

3227 

3228 

3229 

3230 

3231 

3232 

3233 

3234 

3235 

3236 

3d37 

3238 

3239 

3240 

3241 

3242 

3243 

3244 

3245 

3246 

3247 

3248 

3249 

3250 

3251 

3252 

3253 

3254 

3255 

3256 

3257 

3258 

3259 

3260 

3261 

3262 

3263 

3264 

3265 

3266 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 4 
MAC 27-Aug-85 11:17 Timerut Routines 

SUBTTL Timeout Routines 



SEO 0147 



004170' 
004171* 
004172' 
004173* 
004174* 
004175* 
004176* 
004177* 
004200* 

004201 * 

004202 * 
004203* 



261 
261 
261 
261 
261 
200 
200 
201 
135 
202 
322 
621 



17 
17 
17 
17 
17 
01 
02 
01 
00 
00 
00 
16 


















00 
00 
00 
00 
00 
00 
01 
02 
00 
00 
00 
00 



000000 

000001 

000002 

000003 

000004 

000276' 

000003 

000001 

000316* 

000242' 

00421 5 ' 

000001 



004204' 201 01 00 004352' 
004205' 260 17 00 004250' 
004206' 254 00 00 004212' 



004207' 20^ 
004210' 2oJ 
004211' 254 



00 00 000000 
17 00 003450' 
00 00 004217' 



004212' 201 00 00 000375 
004213' 260 17 00 003450' 
004214' 254 00 00 004216' 



004215' 
004216' 
004217' 
004220' 
004221 ' 
004222 ' 
004223' 
004224' 



350 
350 
262 
262 
262 
262 
262 
263 



;This routine waits the amount of time stated in the deiay field of a ctp 
.•request. This is done because we want to delay only the ctp request that has 
;asked to be delayed and not any other outstanding ctp request. 



;Call 



9 
• 

• 



EXDLY: 



Go 
♦1 


exdly 


♦2 




♦3 




PUT 


ACO 


PUT 


AC1 


PUT 


AC2 


PUT 


AC3 


PUT 


AC4 


MOVE 


ACUCUREXE 


MOVE 


AC2,CTPPKT(AC1) 


MOVE I 


AC1J(AC2) 


LDB 


ACCDELA 


MOVEM 


ACO.DLYTIM 


JUMPE 


AC0,EXDLY2 


TLZ 


CURSTS.(G08IT) 


MOVE I 


ACUDLYGO 


GO 


SETTJM 


JRST 


EXDLV1 


MOVE I 


ACO,SUCCES 


GO 


LDSTUS 


JRST 


EXDLY4 



;Here for errors 

EXDLYI: MOVE! ACO.NORESO 
GO LDSTUS 
JRST EXDLY3 



00 17 777771 


EXDLY2: 


AOS 


-5(P) 


00 17 777771 


EXDLY3: 


AOS 


-5(P) 


17 00 000004 


EXDLY4: 


GET 


AC4 


17 00 000003 




GET 


AC3 


17 00 000002 




GET 


AC2 


17 00 000001 




GET 


AC1 


17 00 000000 




GET 


ACO 


17 00 000000 




RTN 





call this routine 

The delay has been started 

Jsys failure 

The delay byte was = 0(no delay) 

;Save ac's 



;6et rhbU 

;Get rblk 

;6et the delay byte word address 

;Delay byte in acO 

; Store the delay for dlytmr routine 

;Delay = 0? Yes, take the -^3 return 

;No, clear the go bit 

;Load address of routine to call 

;Set a timer interrupt from time ^T^ ACO 

;6ive error status 

;Zero the 

; Status byte in the ctp packet 

.-Take the "t-l return 



;Send back "RESOURCE 
;Load status byte in 
;Take the ^2 return 

,•'♦•3 Return 
1^2 Return 
.•Restore ac's 



FAILURE* 
the ctp 



packet 



c 



DFCIC 
DFC1C2 

3267 

3268 

3269 

3270 

3271 

3272 

3273 

327A 

3275 

3276 

3277 

3278 

3279 

3280 

3281 

3282 

3283 

3284 

3285 

3286 

3287 

3288 

3289 

3290 

3291 

3292 

3293 

3294 

3295 

3296 

3297 

3298 

3299 

3300 

3301 

3302 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 5 
MAC 27-Aug-85 11:17 Timeout Routines 



SEQ 01A8 



;This routine is used to wait for a connection response from a responder.^ This 
.•routine waits a predetermined amount of time before setting the DVRDUt bit 
;in the status word of the cblk. 



;CdU: 



004225' 
004226' 
004227' 
004230' 
004231 ' 
004232 ' 
004233' 
004234' 



261 17 
261 17 
261 17 
201 00 
201 01 
621 16 
260 17 
254 00 







60 

♦1 






♦2 


00 000000 


EXWAIf: 


PUT 


00 000001 




PUT 


00 000002 




PUT 


00 000170 




MOVE I 


00 004355' 




MOVE I 


00 000200 




TLZ 


00 004250' 




GO 


00 OOA240' 




JRST 



004235' 201 00 00 000000 
004236' 260 17 00 003450' 
004237' 254 00 00 004244' 



004240' 201 00 00 000375 

004241' 260 17 00 003450' 

004242' 254 00 00 004243' 

004243' 350 00 17 lllll'i 

004244' 262 17 00 000002 

004245' 262 17 00 000001 

004246' 262 17 00 000000 

004247' 263 17 00 000000 



exwait 



ACO 

AC1 

AC2 

AC0,*D120 

ACUWATOVR 

CURSTS,(CONT) 

SETTIM 

EXUAil 



;caU this routine 

;The dela)< has been started 

;Cfork failure 

.•Save ac's 



;yait 60 sec. (Each count = 500ms) 
.'Load routine to call later 
;Now clear the continue bit 
;Set timer for that 
.-Loser 



;Load tha status byte with a successful code. 



MOVE! AC0,SUCCES 
GO LDSTUS 
JRST EXWAI4 

;This is the error routine 



EXWAll: MOVEI 
GO 
JRST 

EXWAI3: AOS 

EXWAI4: GET 

GET 

GET 

RTN 



AC0,NORESO 

LDSTUS 

EXWAI3 

-3(P) 
AC2 
AC1 
ACO 



.-Zero the 

; Status byte in the ctp packet 

;Take the +1 return 



.-Send back "RESOURCE FAILURE" 
;Load status byte in the ctp packet 
.•"''ake the +2 return 



1^2 Return 
.•Restore ac's 



"•"! 



-^ 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 6 
DFCIC2 MAC 27-Aug-85 11:17 Timeout Routines 



SEQ 0U9 



3303 

3304 

3305 

3306 

3307 

3308 

3309 

3310 

3311 

3312 

3313 

3314 

3315 

3316 

3317 

3318 

3319 

3320 

3321 

3322 

3323 

3324 

3325 

3326 

3327 

3328 

3329 

3330 

3331 

3332 

3333 

3334 

3335 

3336 

3337 

3338 

3339 

3340 

3341 



004250' 205 04 00 777740 

004251* 336 GO 04 012616' 

004252' 254 00 00 004255' 

004253' 253 04 00 004251' 

004254' 254 GO 00 261312 



004255' 
004256' 
004257' 
004260' 
004261 ' 
004262' 
004263' 



004264' 
004265' 
004266' 
004267' 
004270' 
004271 • 
004272' 
004273' 
004274 ' 



200 02 
202 02 
202 01 
260 17 
221 00 
270 01 
202 01 













336 00 
254 00 
200 02 

200 01 

201 03 
ju'- 00 
320 16 
350 GO 
263 17 















00 
04 
04 
00 
00 
00 
04 



00 
00 
00 
00 
00 
00 
00 
17 
00 



000276' 

012616' 

012716' 

004507' 

000764 

000000 

012656' 



000234 • 

004275' 

000000 

261315 

000000 

000522 

004274 ' 

000000 

000000 



004275' 661 GO 00 400000 

004276' 047 GO 00 000203 

004277' 263 17 00 000000 

004300' 254 00 GO 004273' 



.-Routine to cause a timer interrupt. 
•Call: 



MOVE 

MOVE! 

60 



ACO,milliseconds to timer^interrupt 
AC1, routine to call 
SETTIM " ' 



SETTIM: MOVSI 

SETTI7: SKIPN 

JRST 

AOBJN 

CRASH 



AC4, -COUNT 

DLYADR(AC4) 

SETTI6 

AC4,SETTI7 

(DBF, Delay block full) 



Load -count,, 
This slot in use? 
Nope, use it 
Loop for more 
Oops 



.-Found an entry. Store rhblk addr and time to wake up, then set timer 



SETTI6: MOVE AC2,CUREXE 

MOVEM AC2,DLYADR(AC4) 

MOVEM AC1,DLYRTN(AC4) 

60 UTIME 

IMULI ACG,*D500 

ADD AC1,AC0 

MOVEM AC1,DLYUPT(AC4) 



Load the current rhblk addr 

Save it here 

Save routine to call later 

6et current uptime in milliseconds 

Convert ctp counts to millisecs 

6et time to wake this request 

Save the delay time 



;Now set the timer to interrupt us later and return 



SETTI2: 



SETT11: 



SKIPN 
JRST 
MOVE 
MOVE 
MOVE I 
TIMERX 
ERJMP 
AOS 
RTN 

TLO 
PITMR. 

RTN 
JRST 



MONTYP 

SETTIl 

AC2,AC0 

AC1,C.FHSLF.,.TIMEL] 

AC3,TIMCHN 

.+2 
(P) 



ACG,(PS.TMS) 
ACG, 



SETTI2 



;Skip if TOPS-orange 

;TOPS-blue 

;Copy time to AC2 

;Load elapsed time till int in 

.-Load channel to interrupt on 

;Set the timer 

;Non skip return 

,-Skip return 

.-Return to caller 

.-Set milliseconds flag 
;or CALLI AC, 203 
.-Error return 
.-Normal return 



AC1 



1 



DFCIC Cluster Test Protocol Responder MACRO 5:53B(1?42) 11:18 27-Aug-85 Page 7 
DFC1C2 MAC 27-Aug-85 11:17 Timeout Routines 



SEQ 0150 



3342 

3343 

3344 

3345 

3346 

3347 

3348 

3349 

3350 

3351 

3352 

3353 

3354 

3355 

3356 

3357 

3358 

3359 

3360 

3361 

3362 

3363 

3364 

3365 

3366 

3367 

3368 

3369 

3370 

3371 

3372 

3373 

3374 

3375 

3376 

3377 

3378 

3379 

3380 

3381 

3382 

3383 

3384 

3385 

3386 

3387 

3388 



004301' 261 17 00 000001 
004302' 261 17 00 000002 

004303' 205 01 00 777740 
004304' 200 02 00 000276' 
004305' 316 02 01 012616' 
004306' 402 00 01 012616' 
004307' 253 01 00 004305' 

004310' 262 17 00 000002 
004311' 262 17 00 000001 
004312' 263 17 00 000000 



004313' 261 17 00 000001 

004314' 261 17 00 000002 

004315' 261 17 00 000003 

004316' 261 17 00 000004 

004317' 260 17 00 004337' 

004320' 262 17 00 000004 
004321' 262 17 00 000003 
004322' 26? 17 00 000002 
004323' 2oi 17 00 000001 
004324' 047 00 00 000137 



004325' 261 17 00 000001 

004326' 261 17 00 000002 

004327' 261 17 00 000003 

004330' 261 17 00 000004 

004331' 260 17 00 004337' 



004332' 262 17 

004333' 262 17 

004334' 262 17 

004335' 262 17 

004336' 104 00 



00 000004 
00 000003 
00 000002 
00 000001 
00 000136 



.•Routine to cancel timer interrupt. 



;Call: 60 

CANTIM: PUT 
PUT 



CANTI1 



MOVSI 

MOVE 

CAMN 

SETZM 

AOBJN 



CANTIM 

AC1 
AC2 

AC1, -COUNT 

AC2,CUREXE 

AC2,DLYADR(AC1) 

DLYADR(ACI) 

ACUCANTII 



;Save some acs 



;Load -count to look through table 

;Load currently executing 

.-Match? 

;Yep cancel the request 

;Loop for entire table 



GET 
GET 
RTN 



AC2 
AC1 



.•Restore the acs 

.•Return with request cancelled 

.•Routine to handle timer interrupts on TOPS-10 

;Save AC1-AC4 



TIMR10: PUT 
PUT 
PUT 
PUT 

GO 



GET 
GET 
GET 
GET 
DEBRK. 



AC1 
AC2 
AC3 
AC4 

TIMJNT 

AC4 
AC3 
AC2 
AC1 



.•Routine to handle timer interrupt 



TIMR20: PUT 
PUT 
PUT 
PUT 

GO 



GET 
GET 
GET 
GET 
DEBRKX 



AC1 
AC2 
AC3 
AC4 

TIMINT 

AC4 
AC3 
AC2 
AC1 



;Look for timer interrupt service 
.•Restore ac1-4 

.•Dismiss interrupt 
on TOPS-20 

.•Save AC1-AC4 



.-Look for timer interrupt service 
.•Restore ac1-ac4 

.•Dismiss interrupt 



DFCIC 
DFCIC2 

3389 

3390 

7391 

3392 

3393 

339A 

3395 

3396 

3397 

3398 

3399 

3400 

3401 

3402 

3403 

3404 

3405 

3406 

3407 

3408 

3409 

3410 

3411 

3412 

3413 

3414 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 8 
MAC 27-Aug-85 11:17 Timeout Routines 



SEQ 0151 



.-Routine called at timer interrupt to set appropriate bits. 



004337' 
004340' 
004341 • 
004342' 
004343' 
004344' 
004345' 
004346' 
004347' 
004350' 
004351 • 



205 02 
260 17 
336 04 
254 00 
315 01 
254 00 
260 17 
402 00 

253 02 
201 01 

254 00 









1 







00 
00 
02 
00 
02 
00 
02 
02 
00 
00 
00 



777740 

004507' 

012616' 

004347' 

012656' 

004347' 

012716' 

012616' 

004341 ' 

000004 

004460' 



TIMINT: MOVSI 
60 

TIMIN1: SKIPN 
JRST 
CAMGE 
JRST 
GO 
SETZM 

T1MIN7: AOBJN 
MOVE I 
JRST 

;Set the go bit. 



AC2, -COUNT 

UTIME 

AC4.DLYADR(AC2) 

TIMIN7 

AC1,DLYUPT(AC2) 

TIMIN7 

aDLYRTN(AC2) 

DLYADR(AC2) 

AC2.TIMIN1 

ACI.TIOFFS 

CWAT1 



004352' 205 03 00 000001 
004353' 436 03 04 000002 
004354' 263 17 00 000000 



004355' 205 03 00 000040 
004356' 436 03 04 000002 
004357' 263 17 00 000000 



DLY60: MOVSI AC3.(G0BIT) 

lORM AC3,STATUS(AC4) 
RTN 

;Set the overdue bit. 

WATOVR: MOVSI AC3,(0VRDUE) 

lORM AC3,STATUS(AC4) 
RTN 



Prepare to look through the table 

Get uptime in AC1 

Skip if somethina there 

Notnina there, cFieck next one 

Does tnis one need service? 

Nope, not yet 

Check this status 

Clear that this one needs service 

Loop for all of them 

Load timer offset 

Wakeup if needed and return 



;Set the go bit 

; In the rhblk status word 



;Set the overdue bit 

; In the rhblk status word 

.-Retu'-n 



139 



DFCIC Cluster Test Protocol Responder MACRO Z53B(12A2) 11:18 27-Aug-85 Page 9 
DFC1C2 MAC 27-Aug-85 11:17 Interrupt System 



SEQ 0152 



' \ 



3415 

3416 

3417 

3418 

3419 

3420 

3421 

3422 

3423 

3424 

3425 

3426 

3427 

3428 

3429 

3430 

3431 

3432 

3433 

3434 

3435 

3436 

3437 

3438 

3439 

3440 

3441 

3442 

3443 

3444 

3445 

3446 

3447 

3448 

3449 

3450 

3451 

3452 

3453 

3454 

3455 

3456 

3457 

3458 

3459 



004360' 
004361 • 
004362' 
004363' 
004364' 
004365' 
004366' 
004367' 
004370' 
004371 ' 
004372' 
004373' 
004374' 
004375 • 
004376' 
004377' 
004400' 
004401 • 

004402' 
004403' 
004404 • 
004405 • 
004406' 
004407' 
004410' 
004411' 
004412' 



261 


17 


261 


17 


261 


17 


261 


17 


336 00 


254 00 


201 


01 


200 02 


104 00 


205 02 


104 00 


201 


01 


202 01 


201 


01 


201 


02 


260 17 


26C 


17 


254 


00 



201 01 
047 01 
254 00 
200 01 
047 01 
254 00 
200 01 

254 



01 
00 


































00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 

00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000234 • 

004402' 

400000 

261316 

000125 

760000 

000131 

000005 

004420' 

000020 

004420' 

004605 • 

004633' 

004413' 

007307' 

000135 

261331 

261337 

000136 

261355 

261363 

000136 

261377 



004413' 262 17 00 000004 

004414' 262 17 00 000003 

004415' 262 17 00 000002 

004416' 262 17 00 000001 

004417' 263 17 00 000000 

004420' 000000 000005 
004421' 000000 000001 
004422' 000001 000002 
004423' 000002 000003 
004424' 000003 000004 

000005 



SUBTTL Interrupt System 
;Set up the interrupt system. 



IFPINT: 



IFPINl 



IFPIN5: 



PUT 

PUT 

PUT 

PUT 

SKIPN 

JRST 

MOVE I 

MOVE 

SIRZ 

MOVSI 

AICX 

MOVE I 

MOVEM 

MOVE I 

MOVE I 

GO 

GO 
JRST 

MOVE I 
PIINI. 

CRASH 
MOVE 
PISYS. 

CRASH 
MOVE 
PISYS. 

CRASH 

GET 
GET 
GET 
GET 
RTN 



ACl 

AC2 

AC3 

AC4 

MONTYP 

IFPINl 

ACU.FHSLF 

AC2,[LEVTAB,,CHNTABD 

AC2,(0NCHNS) 

ACUAICLEN 

AC1,.SQLEN*AICAR6 

ACU.SSAIC 

AC2.AICARG 

DOSCS 

ERRSCS 

IFPIN5 



;Save the acs 



Tops-20? 

No, Tops-10 

Current process 

Interrupt tables 

Set It up 

Load channels to activate 

Activate channels 

Set up length of 

the argument block 
Function code 
Address of argument block 
Execute the isys 
If error go here 
Exit 



Point to TOPS-10 Prog Int Vector 
.Init that 
system vector) 



ACKPIVECT 

ACl. 

(CII. Can't set PI sysiem vetiur/ 

ACl,tPS.FAC!CEXP .PCSCS,<SCOFFS,,0>,03: 

ACl, .'Enable the channel 

(CAI-<Can't activate interrupts for SCS events>) 

ACl.tPS.FAClCEXP .PCTMR,<TIOFFS..0>,0]] 

ACl. .-Enable the channel 

(CST.<Can't set interrupts for PITMR» 



AC4 
AC3 
AC2 
ACl 



AICAR6: O..AICLEN 

.SIDGA..D6MCHN 
.SIMSA..MSGCHN 
.SIDMA..DMACHN 
.SIPAN..OTHCHN 

AICLEN=.-AICAR6 



.•Restore the acs 



.•Return 

.•Words processed., length of block 
.-Channel for datagram available 
.'Channel for message available 
.-Channel for dma xfer complete 
.'Channel for connection & error events 
.-Length of "AICARG" block 



^^o 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 
DFCIC2 MAC 27-Aug-85 11:17 Interrupt System 



10 



SEQ 0153 



3A60 

3A61 

3462 

3463 

3464 

3465 

3466 

3467 

3468 

3469 

3470 

3471 

3472 

3473 

347A 

3475 

3476 

3477 

3478 

3479 

3480 

3481 

3482 

3483 

348A 

3485 

3486 

3487 

3488 
3489 
3490 
3491 
3492 
3493 



004425' 261 17 00 000001 
004426' 336 00 00 00023V 
004427' 254 00 00 004433' 

004430' 201 01 00 400000 
004431' 104 00 00 000130 
004432' 254 00 00 004436' 

004433' 205 01 00 200000 
004434' 047 01 00 000136 
004435' 254 00 00 261414 

004436' 262 17 00 000001 
004437' 263 17 00 000000 



004440' 
004441 ' 
004442' 
004443' 
004444 ' 
004445' 



261 17 
336 00 
254 00 
201 01 
104 00 
254 00 



00 000001 
00 000234' 
00 004446' 
00 400000 
00 000126 
00 004451' 



004446' 205 01 00 100000 
004447' 047 01 00 000136 
004450' 23 00 00 261430 



004451' 262 17 00 000001 
004452' 263 17 00 000000 



.-Disable the interrupt system. The interrupts are remembered and will take 
.•effect when the interrupt system is reenabled. 



DISINT: PUT 

SKIPN 
JRST 

MOVE I 

DIRX 

JRST 

D1SIN1: MOVSI 
PISYS. 
CRASH 

DISIN2: GET 
RTN 



ACl 

MONTYP 

DISINl 

AC1..FHSLF 

DISIN2 



.-Save ACl 

;Skip if TOPS-orange 

;TOPS-blue 

.•Current process 

.•Disable the interrupt system 

.•Restore AC and return 



ACl.(PS.FOF) ;Turn off the interrupt system 

ACl. .-Click 

(POF. Can't turn off PI system) 



ACl 



.•Restore the AC 
.•And return 



;Reenable the interrupt system. 



ENAINT: PUT 

SKIPN 
JRST 
MOVE I 
EIRX 
JRST 

ENAIN1: MOVSI 
PISYS. 
CRASH 

ENAIN2: GET 
RTN 



ACl 

MONTYP 
ENAINl 
AC1..FHSLF 

ENAIN2 

ACl.(PS.FON) 

ACl. . ^ 

(EON. Can't turn on PI system) 

ACl 



.•Save ACl 

;Skip if TOPS-20 

;T0PS-blue 

.•Current process 

.•Enable the interrupt system 

.-Exit 

;Load bit to enable the interrupts 
;Turn on the PI system 



.•Restore ACl 
.•Return 



)U1 



DFCIC 
DFC1C2 

3A9A 

3A95 

3A96 

3A97 

3498 

3499 

3500 

3501 

3502 

3503 

3504 

3505 

3506 

3507 

3508 

3509 

3510 

3511 

3512 

3513 

3514 

3515 

3516 

3517 

3518 

3519 

3520 

3521 

3522 

3523 

3524 

3525 

3526 

3527 

3528 

3529 

3530 

3531 

3532 

3533 

3534 

3535 



Cluster Test Protocol Responder MACRO Z53B(1242) 11:18 27-Aug-85 Page 11 
WAG 27-Aug-85 11:17 Interrupt System 



SEO 0154 



004453* 261 17 00 000001 

004454' 201 01 00 000000 

004455' 260 17 00 004460' 

004456' 262 17 00 000001 

004457' 263 17 00 000000 



004460' 
004461 • 
004462' 
004463' 
004464 ' 
004465' 
004466' 
004467' 
004470' 
004471 ' 



004472' 
004473' 
004474' 
004475' 
004476' 
004477' 
004500' 
004501 ' 
004502' 



261 17 
336 00 
254 00 
200 00 
202 00 
202 00 
402 00 
350 00 

262 17 

263 17 







1 








336 00 
254 00 
2u' 01 
104 00 
320 16 
200 03 
104 00 
320 16 
263 17 















00 
00 
00 
00 
00 
01 
00 
00 
00 
00 



00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 

000221 ' 

004467' 

261433 

007301 ' 

007310' 

000221 ' 

000220' 

000000 

000000 



000234 ' 

004503' 

400000 

000150 

004477' 

000002 

000151 

004502' 

000000 



004503' 201 01 00 000017 

004504' 047 01 00 000060 

004505' 254 00 00 261444 

004506' 263 17 00 000000 



.•Check to see if we are doing the yait in MAINLN. If so force a^return 
) to WAINLN code by changing LEVTAB (TOPS-20) or PIVECT (TOPS-10). If not 
.-doing a wait AOS INTFLG. 

;Cwat for SCA traffic (TOPS-10 offset SCOFFS. TOPS-20 level 1) 



CyATSC: PUT AC1 

NOVEI AC1. SCOFFS 

60 CWAT1 

GET AC1 
RTN 



.'Save an AC 

.-Load offset for SCS stuff 

;Do the work 

.•Restore the AC 

.•Return 



.•CWAT for level 1 (TOPS-20) or for PI vector offset in AC1 (TOPS-10). 
CWAT1: 



CWAT11 



PUT <AC0> 

SKIPN WAITF 

JRST CWATll 

MOVE AC0,C1B5^MAINLN3 

MOVEM ACO.iLEVTAB 

MOVEM AC0,PIVECT^.PSV0P(AC1) 

SETZM WAITF 

AOS INTFLG 

GET <ACO> 

RTN 



jsys 



Save an ac 

Are we in the "UMV 

No 

Load user mode bit * new PC 

Store it (oranoe) 

Store it (blue) 

Clear the wait jsys flag 

Increment the interrupt count 

Restore ac 

Return to code that called this code 



.•Enable capabilities for this job, only called at startup 



ENABLE: SKIPN 
JRST 
MOVE I 
RPCAPX 

ERJMP 
MOVE 
EPCAPX 

ERJMP 
RTN 



MONTYP 
ENABLI 
AC1..FHSLF 

.♦1 
AC3,AC2 

.+1 



Is this an orange monitor? 

Nope, blue monitor 

Process handle 

Read capabilities 

Ignore errors 

Get capabilities to ac3 

Now enable 

Ignore errors 

Return 



ENABLI 



MOVE I 
LOCK 

CRASH 
RTN 



ACI.LK.LLCILK.LNP.'LK.LNEILK.LLS ;Lock low segment cached 
AC1, ;0r CALLI AC. 60 

(CLJ, Cannot lock job) ;Punt 

.•Return locked 



r 



o^^2 



DFCIC 
DFC1C2 

3536 

3537 

3538 

3539 

3540 

35A1 

35A2 

3543 

3544 

3545 

3546 

3547 

3548 

3549 

3550 

3551 

3552 

3553 

3554 

3555 

3556 

3557 

3558 

3559 

3560 

3561 

3562 

3563 

3564 

3565 

3566 

3567 

3568 

3569 

3570 

3571 

3572 

3573 

3574 

3575 

3576 

3577 

3578 

3579 



Cluster Test Protocol Responder MACRO 5;53B(1242) 11:18 27-Aug-85 Page 12 
MAC 27-Aug-85 11:17 Return Uptime/Time Of Day 



SEQ 0155 



004507' 
004510* 
00451 r 
004512' 
004513' 
004514* 

004515* 
004516* 
004517* 
004520* 
004521 * 
004522* 
004523* 
004524* 
004525* 
004526* 

004527* 
004 53C* 
004531 * 
004532* 
004533* 
004534* 
004535* 
004536* 



336 00 00 000234* 
254 00 00 004515* 

261 17 00 000002 
104 00 00 000014 

262 17 00 000002 

263 17 00 000000 



261 17 
336 00 
260 17 
200 01 
047 01 
400 01 
221 01 
230 01 

262 17 

263 17 



00 000002 
00 000235* 
00 004527* 
00 261447 
00 000041 
00 000000 
00 001750 
00 000235* 
00 000002 
00 000000 



200 01 
047 01 
400 01 
603 01 
334 01 

201 01 
2ui 01 
263 17 














00 
00 
00 
00 
00 
00 
00 
00 



261450 

000041 

000000 

004000 

261451 

000074 

000235* 

000000 



004537* 336 00 00 000234* 

004540* 254 00 00 004543* 

004541* 104 00 00 000227 

004542* 263 17 00 000000 

004543* 200 01 00 261452 

004544* 047 01 00 000041 

004543* 400 01 00 000000 

004546* 263 17 00 000000 



SUBTTL Return Uptime/Time Of Day 
.-Routine to return the number of milliseconds of uptime in AC1. 



;Call: 60 UTIME 

UTIME: SKIPN MONTYP 

JRST UTIM1 

PUT AC2 
TIMEX 

GET AC2 
RTN 

UTIM1: PUT AC2 

SKIPN CYCL60 
60 6ETTI2 
MOVE ACUXCNSUP] 
6ETTA8 ACK 
SETZ AC1, 

ACI.'^DIOOO 
AC1,CYCL60 
AC2 



IMULI 
IDIV 
6ET 
RTN 



6ETTI2: MOVE ACUCXCNSTSD 
6ETTAB AC1. 
SETZ AC1, 



TLNE 
SKI PA 
MOVE I 
MOVEM 
RTN 



AC1,(1B6) 
AC1.C*D50] 
AC1.*D60 
AC1,CYCL60 



Skip if TOPS-20 

TOPS-10 

Save AC2 

6et the uptime in ms 

Restore AC2 

Return 

Save AC2 

Computed 60HZ flag yet? 

No, get it now 

System uptime in jiffies XCNSUP 

or CALLI AC1,41 

not likely it will fail 

convert to milli-jiff ies 

Convert to milli-seconds 

Restore the AC 

Return 

Load XCNSTS system flags 
or CALLI AC1,41 

should not execute this, assume 60 
Is STICYC set for 50Hz? 
Yes, this must be Europe mon ami 
No, this is anywhere else 
Set divisor 
and return 



;This routine gets the date/time and returns it in ad. 



DATETM: SKIPN MONTYP 
JRST DATET1 
6TADZ 
RTN 

DATET1: MOVE AC1,[XCNDTM] 

6ETTAB AC1, 

SETZ AC I, 
RTN 



.•Skip if TOPS-20 

.•TOPS- 10 

;6et Time And Day 

.•Return 

.-Load gettab universal date-time 

;0r CALLI AC, 41 

;ErrorI 

.•Return with date/time in AC1 



0U3 



DFCIC 
DFCIC2 

3580 

3581 

3582 

3583 

358A 

3585 

3586 

3587 

3588 

3589 

3590 

3591 

3592 

3593 

3594 

3595 

3596 

3597 

3598 

3599 

3600 

3601 

3602 

3603 

3604 

3605 

3606 

3607 

3608 

3609 

3610 

3611 

3612 

3613 

3614 

3615 

3616 

3617 

3618 

3619 

3620 

3621 

3622 

3623 

3624 

3625 

3626 

3627 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 13 
MAC 27-Aug-85 11:17 Print Message Subroutines 

SUBTTL Print Message Subroutines 
.-Here to print a CRLF on terminal, smashed AC1 



SEQ 0156 



004547* 

004547' 561 01 00 261051 



004550' 332 00 00 000234' 

004551* 104 00 00 000076 

004552' 336 00 00 000234' 

004553' 051 03 01 000000 

004554' 263 17 00 000000 



004555' 
004556' 
004557' 
004560' 
004561 ' 
004562' 
004563' 



004564' 
004565' 
004566' 
004567' 
004570' 
004571 ' 
004572' 

004573' 
004574' 
004575' 
004576' 
004577' 
004600' 
004601 ' 
004602' 
004603' 
004604 • 



336 00 
254 00 



201 
201 



01 
03 



104 00 
320 16 
263 17 



33: 00 
254 00 
201 01 
201 03 
104 00 
320 16 
263 17 























334 01 
201 01 
231 02 












263 17 



271 
261 



03 

17 



332 00 
260 17 
262 17 
051 01 



00 000234' 
00 004573' 
00 000101 
00 000010 
CO 000224 
00 004563' 
00 000000 



00 000234' 
00 004574' 
00 000101 
00 000012 
00 000224 
00 004572' 
00 000000 

00 261453 

00 000012 

01 OOCOOO 
00 ^00060 
00 000003 
00 000002 
00 004575' 
00 000002 
00 000002 
00 000000 



PRINTC: HRROl 



ACUCASCIZ/ 



.-Here to print a message from AC1 



;Call: HRROI 
GO 

PRINTT: SKIPE 
PSOUTX 
SKIPN 
OUTSTR 
RTN 



ACUCASCIZ/text/] 
PRINTT 

MONTYP 

MONTYP 
(AC1) 



;Here to print octal number in AC2 



PRINTO: SKIPN 
JRST 
MOVE I 
MOVE! 
NOUTX 

ERJMP 
RTN 



MONTYP 
PRINT1 
ACK.PRIOU 
AC3,*D8 



;Here to print decimal number in AC2, 



PRINTD: SKIPN 
JRST 
MOVEl 
MOVE I 
NOUTX 

ERJMP 
RTN 

PRINT1: SKIPA 
PRINT2: MOVEl 
PRINT3: IDIVI 
ADD! 
PUT 
SKIPE 
60 
GET 

OUTCHR 
RTN 



MONTYP 
PRINT2 
ACK.PRIOU 
AC3,*D10 



ACKCDEC 8] 

ACUDEC 10 

AC2.(AC1) 

AC3/'0" 

AC3 

AC2 

PRINT3 

AC2 

AC2 



;Load crlf and fall thru 



; Print message 

;Skip if TOPS-10 
; TOPS-20 

;Skip if TOPS-20 
; TOPS-10 
; Return 



;Skip if orange system 
;Blue system 
.-Output designator 
; Print in octal 
; Print function 
; Ignore error 
.•Return 



Skip if orange system 
Blue system 
Output designator 
Print in decimal 
Print function 
Ignore error 
Return 

Here for octal output 

Here for decimal output 

Get a diait 

Convert to ASCII 

Saje the remainder 

skip if all done 

Not done, loop for all digits 

Get the remainder 

Print a digit 

Return 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page U 
DFCIC2 MAC 27-Aug-85 11:17 Perform SCS JSYS/UUO 



SEQ 0157 



3628 

3629 

3630 

3631 

3632 

3633 

363A 

3635 

3636 

3637 

3638 

3639 

3640 

36 A 1 

3642 

3643 

3644 

3645 

3646 

3647 

3648 

3649 

3650 

3651 

3652 

3653 

3654 

3655 

3656 

3657 

3658 

3659 

3660 

3661 

3662 

3663 

3664 

3665 

3666 

3667 

3668 

3669 

3670 



004605' 124 

004606' 250 

004607' 552 

004610' 250 

004611' 336 

004612' 254 



01 00 000240' 
01 17 000000 
01 00 000236' 
01 17 000000 
00 00 000234' 
00 00 004623' 



004613' 104 00 00 000622 

004614' 320 16 00 00461:^' 

004615' 350 00 17 000000 

004616' 263 17 00 000000 

004617' 201 01 00 400000 
004620' 104 00 00 000012 
004621' 552 02 00 000237' 
004622' 263 17 00 000000 



004623' 
004624 ' 
004625' 
004626' 
004627' 
004630' 
004631 ' 
004632' 



504 01 
202 01 
200 01 
047 01 
304 00 
350 00 
202 01 
263 17 



02 000000 
02 000000 
00 000002 
00 000213 
00 000000 
17 000000 
00 000237' 
00 000000 



SUBTTL Perform SCS JSYS/UUO 

Here to do the appropriate SCS JSYS or UUO. 

Call: MOVEI AC1, function 
MOVEI AC2,argblk 
GO DOSCS 
error return 
normal return 



;argblk: argument.block, length 
DOSCS: 



DMOVEM 

EXCH 

HRRZM 

EXCH 

SKIPN 

JRST 



ACI.SCSFCN 

AC1,(P) 

AC1,SCSCAL 

ACK(P) 

MONTYP 

D0SCS1 



;Sa\/e SCS function code, 
;6et return PC, save S2 
;Save calling PC 
;Save return PC, get S2 
;Skip if orange 
;T0PS-10 SCS JSYS 



arg block adr 



;Here for TOPS-20. Everything is setup properly, just do the JSYS. 



SCSZ 
ERJMP 
AOS 
RTN 



D0SCS2 
(P) 



D0SCS2: MOVEI AC1,.FHSLF 
GETERZ 

HRRZM AC2,SCSERC 
RTN 



;The JSYS 

;Error, non skip return 

;Skip return 

;Return+2 

;Load this fork handle 
;Get last error code 
; Store error code 
;Return+1 



;Here for TOPS-10. The SCS UUO wants length,, functiocode in the first word 
; of the block were the SCS JSYS wants 0,, length. Swap the arguments around, 
; Returns with error code in AC1 for decodeing by the ERRSCS routine. 



D0SCS1: 



HRL 


AC1,(AC2) 


MOVEM 


AC1,(AC2) 


MOVE 


AC1,AC2 


SCS. 


AC1, 


CAIA 




AOS 


(P) 


MOVEM 


AC1,SCSERC 


RTN 





;Get length,. ^unctioncode 

;Save it back in the argument block 

;Copy the address of the block 

;The UUO 

;Error return 

;6ive skip return 

;Save SCS error code 

.•Return 



5 



DFCIC Cluster Test Protocol Responder MACRO Z53B(1242) 11 :18 27-Aug-85 Page 15 
DFCIC2 MAC 27-Aug-85 11:17 Perform SCS JSYS/UUO 



SEQ 0158 



3671 

3672 

3673 

3674 

3675 

3676 

3677 

3678 

3679 

3680 

3681 

3682 

3683 

3684 

3685 

3686 

3687 

3688 

3689 

3690 

3691 

3692 

3693 

3694 

3695 

3696 

3697 

3698 

3699 

3700 

3701 

3702 

3703 

3704 

3705 

3706 

3707 

3703 

3709 

3710 

3711 

3712 

3713 

3714 

3715 



004633' 
004634' 
004635 • 
004636' 
004637' 
004640' 

004641 ' 
004642' 
004643' 
004644' 
004645' 
004646' 
004647' 
004650' 
004651 ' 
004652' 
004653' 

004654' 
004654 ' 
004655' 
004656' 
004657' 
004660' 
004661 ' 
004662' 
004663' 
004664' 
004665 ' 
004666' 
004667' 
004670' 



336 00 
254 00 
561 01 
104 00 
260 17 
254 00 

051 03 
200 02 
260 17 
051 03 
200 01 
205 02 
554 03 
302 01 
253 02 
550 02 
051 03 



00 000234' 
00 004641 ' 
00 261454 
00 000076 
00 004676' 
00 004654' 



561 
260 
200 
260 
561 
260 
2uJ 
260 
561 
260 
370 
260 
260 



01 
17 
02 
17 
01 
17 
02 
17 
01 
17 
02 
17 
17 

































00 
00 
00 
00 
00 
00 
02 
03 
00 
02 
02 



00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



261460 

000237' 

004555' 

261464 

000237' 

777743 

004712' 

000000 

004647' 

004712' 

000000 



261465 

004550' 

000240' 

004555' 

261470 

004550' 

000241 • 

004555' 

261475 

004550' 

000236' 

004555' 

004547' 



004671 • 332 00 00 000234 ' 
004672' 104 00 00 000170 
004673' 336 00 00 000234' 
004674' 047 01 00 000012 
004675' 254 00 00 000362' 



;SCS error routine. This routine 
;SCSERC contains the error code. 

ERRSCS: SKIPN' MONTYP 

JRST ERRSCl 

HRROI ACKCASCIZ/? SCS 
PSOUTX 

60 ERSTRT 

JRST ERRSC4 



is called to tell us what error happened. 



;Skip if TOPS-20 
;TOPS-10 
JSYS error: /] ;Load initial label 
; Print it 

;Print the error code 
; Continue below 



ERRSCl: OUTSTR 
MOVE 
GO 

OUTSTR 
MOVE 
MOVSI 

ERRSC2: HLRZ 
CAIE 
A06JN 
HRRZ 
OUTSTR 

ERRSC4: HRROI 
Function /D 
60 
MOVE 
60 

HRROI 
60 
MOVE 
60 

HRROI 
60 
SOS 
60 
60 



CASCIZ/? SCS UUO 

AC2,SCSERC 

PRINTO 

CASCIZ/) /] 

ACl.SCSERC 

AC2, -ERRSCL 

AC3,ERRSCT(AC2) 

AC1,(AC3) 

AC2,ERRSC2 

AC2.ERRSCT(AC2) 

(AC2) 



error: (/] ;Print initial label 
;Copy error number 
.•Print that in octal 
;End the error number 
.•Restore error number 
.-Load -ive length of table,. 
.-Load error code 
.•Match? 
;Nope, loop 

.-Load address of ASCIZ text 
.-Print that and fall thru 



AC1, CASCIZ/ 

;Load more text 

PRINTT ;Print that function code 

AC2,SCSFCN ;Load the function code 

PRINTO .-Print that in octal please 
ACl, CASCIZ/, argument block at /D 

PRINTT .-Print label ... 

AC2,SCSBLK ;Load addr of error block 

PRIN'O .-Print addr ir, Octal 

AC1. CASCIZ/. called from PC /] .-Print a label for the next bit 

PRINTT .-Print that 

AC2,SCSCAL ;6et pc-1 , 

PRINTO .-Print octal number 

PRINTC .-Print CRLF 



.-Here to halt the program 

HALTP: SKIPE MONTYP 
HALTFX 

' SKIPN MONTYP 

EXIT 1. 

JRST START 



.-Skip if T0PS-10 

.-Stop orange 

.-Skip if TCPS-20 

.-Stop blue 

;In case of a continue restart 



DFCIC Cluster Test Protocol Responder MACRO 2538(1242) 11 :18 27-Aug-85 Page 16 
DFCIC2 MAC 27-Aug-85 11:17 Perform SCS JSYS/UUO 



SEQ 0159 



3716 

3717 

3718 

3719 

3720 

3721 

3722 

3723 

372A 

3725 

3726 

3727 

3728 

3729 

3730 

3731 

3732 

3733 

373A 

3735 

3756 

3737 

3738 

3739 

3740 

3741 

3742 

3743 

3744 

3745 

3746 

3747 

3748 

3749 

3750 

3751 

3752 

3753 

3754 

3755 

3756 

3757 

3758 

3759 

3760 

3761 

3762 

3763 

3764 

3765 

3766 



.-Here to print the last JSYS error 



004676' 
004677' 
004700' 
004701 • 
004702 • 
004703' 
004704' 
004705 ' 



201 01 
200 02 
505 02 
402 00 
104 00 
320 17 
320 17 
263 17 



00 
00 
00 
00 
00 
00 
00 
00 



000101 

000237' 

400000 

000003 

000011 

004706' 

004710' 

000000 



ERSTRT: MOVEI 
HOVE 
HRLI 
SETZM 
ERSTRX 
ERCAL 
ERCAL 
RTN 



AC1,.PRI0U 
AC2,SCSERC 
AC2,.KHSLF 
AC3 

PRINTA 
PRINTS 



.-Destination designator 

;Load error code 

;Get process handle 

;Clr ac3 

;Tell about error 

.-Undefined error number return 

;Erstr error 

.-Return 



004706' 561 01 00 261501 
004707' 254 00 00 004550' 

004710' 561 01 00 261506 
004711' 254 00 00 004550' 



004712' 
004713' 
004714' 
00471 5 • 
004716' 
004717' 
004720' 
004721 • 
004722' 
004723' 
004724' 
004725' 
004726' 
004727' 
004730' 
004731 • 
004732' 
004733' 
004734' 
004735' 
004736' 
004737' 
004740' 
004741 ' 
004742' 
004743' 
004744' 
004745' 
004746' 
004747' 



OOCOOO 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

00O01 1 

0u.>012 

00001 3 

000014 

00001 5 

000016 

00001 7 

U00020 

000021 

000022 

000023 

000024 

000025 

000026 

000027 

000030 

000031 

000032 

000033 

000034 

mill 



261511 

261514 

261521 

261526 

261535 

261543 

261550 

261556 

261564 

261571 

261574 

261601 

261605 

261611 

261621 

261626 

261634 

261643 

261650 

261655 

261661 

261666 

261672 

261701 

261705 

261711 

261721 

261725 

261733 

261743 

000035 



PRINTA: HRROI ACl .CASCIZ/Undef ined error number/] .-Undefined number 

JRST PRINTT .-Print that 

PRINTBr HRROI ACl.CASCIZ/ERSTR error/J .-Other error type 

JRST PRINTT .-Print that 

.-Table of SCS UUO error codes 

ERRSCT: XWD SSNPVX.CASCIZ/Not privileged/J 

XUD SSIFCX.CASCIZ/Illegal function code/] ^ 

XUD SSARGX.CASCIZ/Bad argument list length/3 

XUD SSACRX.CASCIZ/Address check reading arguments/] 

XWD SSACSX.CASCIZ/Address check storing data/] 

XUD SSCPNX.CASCIZ/CPU number out of range/] ^ 

XUD SSNPCX.CASCIZ/No CI port on specified CPU/] 

XUD SSNNKX. CASCIZ/CPU's node number not known/] 

XUD SSINNX. CASCIZ/Invalid CI node number/] 

XUD SSr'^CX^CASCIZ/No free core/] 

XUD SS/,\JX,CASCIZ/Virtual circuit not open/] 

XUD SSICIX.CASCIZ/Invalid connect id/], 

XUD SSRQEX.CASCIZ/Receive queue empty/] . ^^ 

XUD SSNBQX.CASCIZ/No buffer queued for packet reception/] 

XUD SSRCFX.CASCIZ/Reject connection failed/] , 

XUD SSDCFX.CASCIZ/Disconnect connection failed/] , 

XUD SSNFBX.CASCIZ/No free buffers to send packet/] 

XUD SSQBFX.CASCIZ/Queue buffers failed/], 

XUD SSCBFX.CASCIZ/Cancel buffers failed/] 

XUD SSPSFX. CASCIZ/Packet send failed/] 

XUD SSDQEX.CASCIZ/Data entry queue empty/] 

XUD SSEQEX.CASCIZ/Event queue empty/] , , , ,^ 

XUD SSCRBX.TASCIZ/Can't remove buffer from database/] 

XUD SSCUBX.LASCIZ/Can't unmap buffer/], 

XUD SSNSBX.CASCIZ/No such buffer name/] 

XUD SSTMSX.CASCIZ/Too many buffer segment descriptors/] 

XUD SSIDMX.CASCIZ/Illegal data mode/] 

XUD SSSCPX.CASCIZ/Segment crosses page boundry/] 

XUD SSSTLX.^ASCIZ/Segment too long (greater than 1 page)/] 

XUD 777777. cASCIZ/Unknown error code/] 

ERRSCL==.-ERRSCT-1 .-Number of erro.'s-l 



J 



DFCIC Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 17 
DFC1C2 MAC 27-Aug-85 11:17 Send Unimplemented Opcode 



SEQ 0160 



3767 

3768 

3769 

3770 

3771 

3772 

3773 

377A 

3775 

3776 

3777 

3778 

3779 

3780 

3781 

3782 

3783 

3784 

3785 

3786 

3787 

3788 

3789 

3790 

3791 

3792 

3793 

3794 

3795 

3796 

3797 

3798 

3799 

3800 

3801 

3802 

3803 

3804 

3805 

3806 

3807 

3808 

3809 

3810 

3811 

3812 

3813 

3814 

3815 

3816 



004750* 
004751 • 
004752' 
004753' 
004754' 
004755' 
004756' 
004757' 
004760' 
004761 ' 
004762' 
004763' 
004764' 
004765' 
004766' 
004767' 
004770' 
004771 ' 
004772' 
004773' 
004774' 
004775' 
004776' 
004777' 
005000' 
005001 • 
005002' 
005003' 
005004 ' 
005005 • 
005006' 
005007' 



261 

261 

261 

261 

201 

202 

200 

202 

200 

200 

552 

200 

303 

201 

200 

202 

402 

201 

603 

201 

2u' 

603 

254 

260 

260 

332 

260 

262 

262 

262 

262 

263 



17 
17 
17 
17 
02 
02 
02 
02 
03 
02 
02 
03 
03 
03 
02 
02 
00 
01 
16 
01 
02 
16 
00 
17 
17 
00 
17 
17 
17 
17 
17 
17 






































00 
00 
00 
00 
00 
00 
16 
00 
00 
03 
00 
00 
00 
00 
03 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

005010' 

000000 

00501 1 ' 

000276' 

000003 

005012' 

000231 ' 

000020 

000021 

007317' 

005013' 

005014' 

000006 

000020 

000004 

005010' 

000010 

005001 ' 

004605 ' 

004633' 

000216' 

261761 

000004 

000003 

000002 

000001 

000000 



005010' 000000 000005 

00501 1 • 000 00 00 000000 

005012' 000 00 00 OOOuOO 

005013' 000 00 00 000000 

005014' 000 00 00 000000 



SUBTTL Send Unimplemented Opcode 

;We come here if we qet an unimplemented opcode. ^J^^is, routine sets .up the 
.-argument block for the scsX jsys monitor call. The.flaa VCGONE is checked 
;just before the jsys to see if the virtual circuit is still alive. 



;Call 



• 



Go 
♦ 1 



SENIMP: PUT 
PUT 
PUT 
PUT 
MOVE I 
MOVEM 
MOVE 
MOVEM 
MOVE 
MOVE 
HRRZM 
MOVE 
CAILE 
MOVE I 
MOVE 
MOVEM 
SET2M 
MOVE I 
TLNE 
MOVE I 
MOVE I 
TLNE 
JRST 
GO 
GO 

SENIMA: TRMSG 

GET 
GET 
GET 
GET 
RTN 



senimp 



AC1 

AC2 

AC3 

AC4 

AC2,.LBSMG 

AC2,.SQLEN^N0TMSG 

AC2,(CURSTS) 

AC2,.SQCID+N0TMS6 

AC3,CUREXE 

AC2,CTPP)CT(AC3) 

AC2,.SQAPT*N0TMS6 

AC3, OPCODE 

AC3,MAX0PC 

AC3,MAX0PC*1 

AC2,NMBYTS(AC3) 

AC2,.SQLPTiN0TMSG 

.SOFLG+NOTMSG 

ACU.SSSMG 

CURSTS,(DGM) 

ACK.SSSDG 

AC2,N0TMSG 

CURSTS, (VCGONE) 

SENIMA 

DOSCS 

ERRSCS 

(Send message or 

AC4 
AC3 
AC2 
AC1 



;call this 
; Always 



routine 



I 



;Save the ac's 



Length of argument block 
Store length of argument block 
Get the "CID" of tnis connection 

Store it in the argument block. 
Start of ctp 

Request in 

Argument block+2 
Use opcode for indexing 
If a valid request - skip 
If not make value one more that max 
Get the number of 

Bytes in the argument block 
Clear the flag word 
Send a message 

Did we receive this packet as 
Yes, send a datagram 
Address of argument block to ac2 
Is this virtual circuit still around? 
No, take the +1 return 
Do the SCS JSYS 
,If error go here 
datagram - unimplemented opcode) 

.-Restore the ac's 



a dgm' 



.-Send a message or datagram argument block 
NOTMSG: 0...L8SMG 



.-Processed words,, length of block 
.-Connect id 
.-Address of message(rblk) 
.-Length of msg in 8 bit bytes 
.•Flags., optional path spec 



<*s 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 18 
DFCIC2 MAC 27-Aug-85 11:17 Send No Resource 



SEQ 0161 



3817 

3818 

3819 

3820 

3821 

3822 

3823 

3824 

3825 

3826 

3827 

3828 

3829 

3830 

3831 

3832 

3833 

383A 

3835 

3836 

3837 

3838 

3839 

3840 

3841 

3842 

3843 

3844 

3845 

3846 

3847 

3848 

38^*> 

3850 

3851 

3852 

3853 

3854 

3855 

3856 

3857 

3858 

3859 

3860 

3861 

3862 

3863 

3864 



005015' 
005016' 
005017' 
005020' 
005021 ' 
005022' 
005023' 
005024' 
005025' 
005026' 
005027' 
005030' 
005031 ' 
005032' 
005033' 
005034 ' 
005035' 
005036' 
005037' 
005040' 



261 17 00 000001 
261 17 00 000002 
261 17 00 000003 
261 17 00 000004 

201 04 00 000005 

202 04 00 005050' 
202 01 00 005051 ' 
552 02 00 005052' 

200 04 00 000231 ' 
303 04 00 000020 

201 04 00 000021 

200 02 04 007317' 

202 02 00 005053' 
402 00 00 005054' 

201 01 00 000006 
332 00 00 000003 
201 01 00 000004 
201 02 00 005050' 
260 17 00 004605' 
2o.M7 00 004633' 



00*^041' 332 00 00 000216' 
0j5O/,2' 260 17 00 261777 

005043' 262 17 00 000004 

005044' 262 17 00 000003 

005045' 262 17 00 000002 

005046' 262 17 00 000001 

005047' 263 17 00 000000 



005C50' 000000 000005 
005051' 000 00 00 000000 
005052' 000 00 00 000000 
005053' 000 00 00 000000 
005054' 000 00 00 000000 



SUBTTL Send No Resource 

;This routine sends a "NO RESOURCE" status back to the controller. 

;Ue come here only during interrupt time. 

; ' Move ac1,[n] ;n=connect id 

Move ac2,Cm] ;m=buffer name(rblk) 

Move ac3,rv] ;v=variable(-1=dgm 0=msg) 

Go sennrs ;caU this routine 
♦I .-Always 



SENNRS: PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 

MOVE! AC4..LBSMG 

MOVEM AC4,.SQLEN+NRSARG 

MOVEM ACU.SQCID+NRSARG 

HRRZM AC2,.SQAPT^NRSARG 

MOVE AC4, OPCODE 

CAILE AC4.MAX0PC 

MOVEI AC4,MAX0PC*1 

MOVE AC2,NMBYTS(AC4) 

MOVEM AC2,.SQLPT^NRSARG 

SETZM .SQFLG+NRSARG 

MOVEI ACn.SSSMG 

SKIPE AC3 

MOVEI AC1..SSSDG 

MOVEI AC2,NRSARG 

GO DOSCS 

GO ERRSCS 



;Save the ac's 



Length of argument block 
Store length of argument block 
Svore the cid 
Store the rblk address 
Use opcode for indexing 
If a valid request - sRip 
If not make value one more that max 
Get the number of 
Bytes in the argument block 
Clear the flag word 
Send a message function code 
Was this received as a datagram? 
Yes. then send back as a datagram 
Address of argument block to ac2 
Do the SCS JSYS 
If error go here 



SENNRA: TRMSG (Send message or datagram - no resource) 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
AC1 



;Send a message argument block (.SSSM6) 



NRSARG: 



0...L8SMG 
Z 



.•Processed words,, length of block 
.•Connect id 

.•Address of message(rblk) 
.•Length of msg in 8 bit bytes 
.•Flags,, optional path spec 



r 



49 



DFCIC 
DFC1C2 

3865 

3866 

3867 

3868 

3869 

3870 

3871 

3872 

3873 

387A 

3875 

3876 

3877 

3878 

3879 

3880 

3881 

3882 

3883 

388A 

3885 

3886 

3887 

3888 

3889 

3890 

3891 

3892 

3893 

389A 

3895 

3896 

3897 

3898 

3899 

3900 

3901 

3902 

3903 

390A 

3905 

3906 

3907 



Cluster Test Protocol Responder 
MAC 27-Aug-85 11:17 



005055' 
005056' 
005057' 
005060' 
005061 ' 
005062' 
005063' 
00506A' 
005065' 
005066' 
005067' 
005070' 
005071 ' 



261 
261 
261 
201 
202 
200 
202 
202 
516 
260 
542 
201 
202 



17 
17 
17 
02 
02 
02 
02 
02 
01 
17 
01 
02 
02 



















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000002 

000003 

OOOOOA 

000010 

005126' 

000300 ' 

005127' 

005130' 

005131' 

003536' 

005131' 

00031 1 • 

005132' 



005072' 
005073' 
005074' 
005075' 
005076' 
005077' 
005100' 
005101' 
005102' 
005103' 
005104' 
005105' 
005106' 
005107' 
005110' 



260 17 
476 00 
2uJ 02 
202 02 
202 02 
260 17 
476 00 
200 02 
202 02 
202 02 
260 17 
476 00 
200 02 
202 02 
402 00 



00 003056' 

01 000000 
01 000003 
00 005133' 
00 000003 

00 003056' 

01 000000 
01 000003 
03 000000 
00 000003 

00 003056' 

01 000000 

01 000003 
03 000000 

02 000000 



MACRO X53B(1242) 11:18 27-Aug-85 Page 19 
Request Connection 

SUBTIL Request Connection 

;This routine requests a connection with another node on the ci 
.-First we set up the argument block then execute the.scs jsys. 
;3 Message buffers are queued with the connect function. 

• * Move ac1,Cn] ;n=remote node#. 

; Go conect ;call this routine 

t ♦! ;Ac1 has the 6 bit cid 



SEQ 0162 



CONECT: PUT AC2 

PUT AC3 

PUT AC4 

MOVEI AC2,.L8C0N 

MOVEM AC2,.SQLEN+C0NARG 

MOVE AC2,RSPNDR 

MOVEM AC2,.SQSPN^'C0NARG 

MOVEM AC2,.SQDPN^C0NARG 

HRLZM AC1,.SQSYS+C0NARG 

GO GETCID 

HRRM ACU.SQSYS+CONARG 

MOVEI AC2,C0NDAT 

MOVEM AC2,.SQCDT^C0NARG 



;Save the ac's 



Length of argument block 

Store length of argument block 

Get the byte pointer of "CTPSRESPONDER" 

Source process name 

Destination process name 

0,, Remote node* to remote node*,,0 

Get a connect id 

Store it 

Get connection data word address 

Store it in the argument block. 



;Queue up 3 buffers for this connect function. , ^ ^^ 
;ln each buffer the 1st word is the address od the next buffer. 
;The last buffer has to signify the end of the link. 



GO RHBLKV 

SETOM FLINK(ACI) 

MOVE AC2,CTPPKT(AC1) 

MOVEM AC2,.SQAMC+C0NARG 

MOVEM AC2,AC3 

GO RHBLKV 

SETOM FLINK(ACI) 

MOVE AC2,CTPPKT(AC1) 

MOVEM AC2,(AC3) 

MOVEM AC2,AC3 

GO RHBLKV 

SETOM FLINK(ACI) 

MOVE AC2,CTPPKT(AC1) 

MOVEM AC2-(AC3) 

SETZM (AC2) 



Get an available rhblk 

Make it "NOT AVAILABLE" 

Get the corresponding rbx 

Insert into the arq Block 

1st rbx to ac3 

Get an available rhblk 

Make it 'TJOT AVAILABLE" 

Get the corresponding rbx 

Link this buffer 

2Nt' rbx to ac3 

Get an available rhblk 

Make it "NOT AVAILABLE" 

Get the corresponding rbx 

Link this buffer 

Now stop the linking 



150 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 20 
DFCIC2 MAC 27-Aug-85 11:17 Request Connection 



SEQ 0163 



3908 

3909 

3910 

3911 

3912 

3913 

3914 

3915 

3916 

3917 

3918 

3919 

3920 

3921 

3922 

3923 

392A 

3925 

3926 

3927 

3928 

3929 

3930 

3931 

3932 



005111' 
005112' 
005113' 
0051U' 
005115' 
005116' 
005117' 
005120' 
005121' 
005122' 
005123' 
005124' 
005125' 



005126' 
005127' 
005130' 
005131' 
005132' 
005133' 
005134' 
005135' 



402 
402 
201 
201 
260 
260 
550 
332 
260 
262 
262 
262 
263 



00 
00 
01 
02 
17 
17 
01 
00 
17 
17 
17 
17 
17 



















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



005134' 

005135' 

000000 

005126' 

004605 ' 

004633' 

005131' 

000216' 

262006 

000004 

000003 

000002 

000000 



000000 
000 00 
000 00 
000000 
000000 
000 00 
000 00 
000 00 



000010 
00 000000 
00 000000 

000000 

000311' 
00 000000 
00 000000 
00 000000 



SETZM .SQADC+CONARG 

SETZM .SQRCI+C0NAR6 

MOVEI ACK.SSCON 

MOVEI AC2,C0NARG 

GO DOSCS 

GO ERRSCS 

HRRZ AC1,.SQSYS^C0NARG 

TRMSG (Connect) 

GET AC4 

GET AC3 

GET AC2 
RTN 

.-Connect (.SSCON) argument block 

CONARG: 0,,.L8C0N 

f 

0,,0 
CONDAT 



Clear datagram buffer address 

Clear previous returned cid 

Connect function code 

Address of argument block to ac2 

Do the jsy* 

If error go here 

Get the 6 bit cid in ad 

Trace message 

Restore the ac's 



;Thats it 



.-Processed words,. length of block 
;Byte ptr to source process name 
.-Byte ptr to destination process name 
.-Node* of dest..cid(6 bits) 
.-Address to connection data 
.-Address of message buffer chain(rbx) 
.-Address of datagram buffer chain(rbx) 
.-Returned connect id(cid) 



151 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 21 
DFC1C2 MAC 27-Aug-85 11:17 Listen for Controller 



SEQ 01 6A 



3933 

393A 

3935 

3936 

3937 

3938 

3939 

39A0 

39A1 

3942 

39A3 

39AA 

39A5 

39A6 

39A7 

39A8 

39A9 

3950 

3951 

3952 

3953 

395A 

3955 

3956 

3957 

3958 

3959 

3960 

3961 

3962 

3963 

396A 

3965 

3966 

3967 

3968 

3969 

3970 

3971 

3972 

3973 

397A 

3975 

3976 

3977 



005136' 
005137' 
0051A0' 
0051Ar 
0051 A2' 
0051A3* 
0051 AA' 
0051 A5' 
005 1A6' 
005 1A7' 
005150' 
005151' 
005152' 
005153' 
0051 5A' 
005155' 
005156' 
005157' 
005160' 
005161' 
005162' 
005163' 
005 16A' 
005165' 
005166' 
005167' 
005170' 
005171' 



261 
261 
261 
261 
201 



17 
17 
17 
17 
01 
202 01 
200 02 
202 02 
200 02 
202 02 
515 02 
202 02 
260 17 



5A2 01 
A02 00 
201 
201 



01 
02 



260 17 
260 17 












200 01 
20? 01 



^^^ 00 
260 17 
262 17 
262 17 
262 17 

262 17 

263 17 



00 000001 
00 000002 
00 000003 
00 OOOOOA 
00 000005 
00 005172' 
00 000300' 
00 005173' 
00 000277' 
00 005 17A' 
00 777777 
00 005175' 
00 003536' 
00 005175' 
00 005176' 
00 000001 
00 005172' 
00 00A605' 
00 00A633' 
00 005176' 
00 0002AA' 
00 000216' 
00 262020 
00 OOOOOA 
00 000003 
00 000002 
00 000001 
00 000000 



005172' 000000 000005 
005173' 000 00 00 000000 
0051 ^-t' 000 00 00 000000 
005175' 000 00 00 000000 
005176' 000 00 00 000000 



SUBTIL Listen for Controller 

.-This routine will listen for a controller in any system.. 

;First we set up the argument block then execute the.scsjsys. 

;After the initialization code we come here only during interrupt time. 

; Go listnc ;cdll this routine 

• +1 .-Return here always 



LISTNC: 



PUT AC1 

PUT AC2 

PUT AC3 

PUT ACA 

MOVEI ACK.LBLIS 

MOVEM AC1,.SQLEN*LICARG 

MOVE AC2,RSPNDR 

MOVEM AC2,.SQSPNHICARG 

MOVE AC2,CNTRLR 

MOVEM AC2,.SQDPNHICARG 

HRLZl AC2.-1 

MOVEM AC2,.SQSYS*LICARG 

GO GETCID 

HRRM AC1,.SQSYS*LICARG 

SET2M .SQLCI^LICARG 

MOVEI ACK.SSLIS 

MOVEI AC2.LICARG 

GO DOSCS 

GO ERRSCS 

MOVE ACU.SQLCHLICARG 

MOVEM AC1.C0NIDC 

TRMS6 (Listen for Controller) 



.-Save the ac's 



Get length of arg block 

Store length of argument block 

Get the addr of •'CTPSRESPONDER" 

Store it in the araument block. 
Listen for a controller 

Store it in the argument block. 
Listen for any system 

Store it in the argument block. 
Get a connect id 
Store it 

Clear previous returned cid 
Listen function code 
Address of argument block to ac2 
Do the jsys 
If error go here 
Get the returned cid 
Store it 



GET ACA 

GET AC3 

GET AC2 

GET AC1 
RTN 



.-Restore the ac's 



.-Thats it 



.-Listen (.SSLIS) for a controller argument block 



LICARG: O...LBLIS 
Z 



.-Processed words,, length of block 
.-Byte ptr to source process name 
.-Byte ptr to destination process name 
.-Node # of dest,.sysap field for cio 
.-Returned connect id(cid) 



1152 



DFCIC 
DFCIC2 

3978 

3979 

3980 

3981 

398? 

3983 

398A 

3985 

3986 

3987 

3988 

3989 

3990 

3991 

3992 

3993 

3994 

3995 

3996 

3997 

3998 

3999 

4000 

4001 

4002 

4003 

4004 

s005 

4006 

4007 

4008 

4009 

4010 

4011 

4012 

4013 

4014 

4015 

4016 

4017 

4018 

4019 

4020 

4021 

4022 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 22 
MAC 27-Aug-85 11:17 Listen for Responder 

SUBTIL Listen for Responder 



SEQ 0165 



005177' 
005200* 
005201 • 
005202' 
005203* 
005204' 
005205' 
005206' 
005207' 
005210' 
005211' 
005212' 
005213' 
005214' 
005215' 
005216' 
005217' 
005220' 
005221 ' 
005222' 
005223' 
005224' 



261 
261 
261 
261 



17 
17 
17 
17 



201 01 

202 01 

200 02 
202 02 
202 02 
515 02 
202 02 
260 17 
542 01 
402 00 

201 01 

201 02 
260 17 
260 17 
200 01 

202 01 
33? 00 
2oJ 17 




























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

005232' 

000300' 

005233' 

005234 ' 

777777 

005235' 

003536' 

005235' 

005236' 

000001 

005232' 

004605 ' 

004633' 

005236' 

000245' 

000216' 

262032 



005225' 262 17 00 000004 

005226' 262 17 00 000003 

005227' 262 17 00 000002 

005230' 262 17 00 000001 

005231' 263 17 00 000000 



005232* 000000 000005 
005233' 000 00 00 000000 
00523^' 000 00 00 000000 
005235' 000 00 00 000000 
005236' 000 00 00 000000 



;This routine will listen for a responder in any system. . 

.-First we set up the argument block then execute the.scsjsys. 

.-After the initialization code we come here only during interrupt time. 

• Call-* . . , . .c- 

; Go listnr .-call this routine 

I fl .-Return here always 



LISTNR: PUT ACl 

PUT AC2 

PUT AC3 

PUT AC4 

MOVEI ACK.LBLIS 

MOVEM ACK.SQLENHIRARG 

MOVE AC2,RSPNDR 

MOVEM AC2,.SQSPNUIRARG 

MOVEM AC2,.SQDPN+LIRARG 

HRL2I AC2,-1 

MOVEM AC2..SQSYS*LIRARG 

GO GETCID 

HRRM AC1..SQSYS+L1RARG 

SETZM .SQLCI^LIRARG 

MOVEI AC1..SSLIS 

MOVEI AC2,LIRARG 

GO DOSCS 

GO ERRSCS 

MOVE AC1..SQLCI+LIRARG 

MOVEM ACUCONIDR 

TRMSG (Listen for Responder) 



GET AC4 

GET AC3 

GET AC2 

GET ACl 
RTN 



.-Save the ac's 



Get length ^, , 

Store length of argument block 
Get the byte ptr of •'CTPSRESPONDER" 

Store it for src process name 

Store it for dst process name 
Listen for any system 

Store it in the argument block. 
Get a connect id 

Store it in the argument block. 
Clear previous returned cid 
Listen function code 
Address of argument block to ac2 
Do the jsys 
If error go here 
Get the returned cid 
Store it 



.-Restore the ac's 



.-Thats it 



;Listen(.Sslis) for a responder argument block 



LIRARG: O...LBLIS 
I 
I 
2 
2 



.-Processed words,, length of block 
;Byte ptr to source process name 
.-Byte ptr to destination process name 
.-Node # of dest,,S)fsap field for cio 
.-Returned connect id(cid) 



r 



}153 



DFCIC 
DFC1C2 

A023 

4024 

4025 

4026 

4027 

4028 

4029 

4030 

4031 

4032 

4033 

4034 

4035 

4036 

4037 

4038 

4039 

4040 

4041 

4042 

4043 

4044 

4045 

4046 

4047 

4048 

4049 

4050 

4051 

4052 

4053 

4054 

4055 

4056 

4057 

4058 

4059 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 23 
MAC 27-Aug-85 11:17 Accept Connection 

SUBTTL Accept Connection 



SEQ 0166 



005237' 
005240' 
005241 • 
005242' 
005243' 
005244' 
005245' 
005246' 
005247' 
005250' 
005251 ' 
005252' 
005253' 
005254' 
005255' 



261 
261 
261 
261 
201 
202 
202 
201 
202 
201 
201 
260 
260 
332 
260 



17 00 


17 00 


17 00 


17 00 


02 00 


02 00 


01 00 


02 00 


02 00 


01 00 


02 00 


17 00 


17 00 


00 00 


17 00 



000001 

000002 

000003 

000004 

000003 

005263' 

005264' 

00031 1 ' 

005265' 

000023 

005263' 

004605 ' 

004633' 

000216' 

262043 



005256' 262 17 00 000004 

005257' 262 17 00 000003 

005260' 262 17 00 000002 

005261' 26? 17 00 000001 

005262' 2oi 17 00 000000 



005263' 000000 000003 
005264' 000 00 00 000000 
005265' 000000 000311' 



;This routine tells a remote node that we accept his request for a connection 
.-First we set up the argument block then execute the scs jsys. 
;We come here only during interrupt time. 

•Call: 

; Move ac1.Cn] ;n=connect id 

I 6o accept ;call this routine 

I -fl .-Return here always 



ACCEPT: PUT ACI 

PUT AC2 

PUT AC3 

PUT AC4 

MOVE! AC2,.L8ACC 

MOVEM AC2..SQLEN*ACCAR6 

HOVEM ACK.SQCID+ACCARG 

MOVE I AC2.C0NDAT 

MOVEM AC2,.SQCDAtACCAR6 

MOVEI ACK.SSACC 

MOVEI AC2,ACCAR6 

GO DOSCS 

GO ERRSCS 

TRMS6 (Accept Connection) 



GET AC4 

GET AC3 

GET AC2 

GET ACI 
RTN 

.•AcceptC.Ssac"^ argument block 

ACCARG: O...LBACC 
2 
CONDAT 



.-Save the ac's 



Load length 

Store length of argument block 
Store the connect id 
Get connection data word address 
Store it in the argument block. 
Accept function code 
Address of argument block to ac2 
Do the jsys 
If error go here 



.-Restore the ac's 



;Thats it 



.-Processed words., length of block 

.'Connect id 

;Ptr to connection data 



01 5A 



DFCIC 
DFCIC2 

4060 

4061 

4062 

4063 

4064 

4065 

4066 

4067 

4068 

4069 

4070 

4071 

4072 

4073 

4074 

4075 

4076 

4077 

4078 

4079 

4080 

4081 

4082 

4083 

4084 

4085 

4086 

4087 

4088 
4089 
4090 
4091 
4092 
4093 
4094 
4095 
4096 
4097 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 24 
MAC 27-Aug-85 11:17 Reject Connection 

SUBTTL Reject Connection 



SEO 0167 



005266* 261 17 00 000001 
005267' 261 17 00 000002 
005270* 261 17 00 000003 
005271' 261 17 00 000004 
005272' 201 04 00 000003 
005273' 202 04 00 005311' 
005274' 202 01 00 005312' 
005275' 202 02 00 005313' 
005276' 201 01 00 000002 
005277' 201 02 00 005311' 
005300' 260 17 00 004605' 
005301' 260 17 00 004633' 

005302' 332 00 00 000216' 
00530:' 260 17 00 262054 



005304' 262 

005305' 262 

005306' 26? 

005307' 2c J 

005310' 263 



17 00 000004 

17 00 000003 

17 00 000002 

17 00 000001 

17 00 000000 



005311* 000000 000003 
0053^2* 000 00 00 000000 
005313* 000 00 00 000000 



.-This routine tells a remote node that we reject his request for a connection 

;First we set up the argument block then execute the scs jsys. 

;ye come here only during interrupt time. 

•Call: 

Move ac1.Cn] ;n=connect id 

Move ac2,Cm] ;m=reject reason 

Go reject ;call this routine 
♦t ; Return here always 



REJECT: PUT 
PUT 
PUT 
PUT 

novEi 

NOVEM 
MOVEM 

novEM 

MOVE] 
NOVEI 
GO 
GO 



AC) 

AC2 

AC3 

AC4 

AC4..LBREJ 

AC4,.S0LEN^REJARG 

AC1,.S0CID*REJAR6 

AC2..S0REJ*REJAR6 

ACn.SSREJ 

AC2.REJARG 

OOSCS 

ERRSCS 



TRMS6 (Reject Connection) 



GET 
GET 
GET 
GET 

RTN 



AC4 
AC3 
AC2 
AC1 



.•Reject (.SSREJ) argument block 

REJARG: 0,,.LBREJ 
I 



;Say/e the ac's 



;Load length 

.-Store length jf argument block 

.•Store the connect id 

.•Store the reject reason 

.•Reject function code 

.•Address or argunent block to 

;The jsys 

;If error go here 



ac2 



.•Restore the ac's 



.•Thats U 



.•Processed words,, length of block 
.•Connect id 
.•Reject reason 






0155 



DFCIC 
DFCIC2 

4098 

A099 

A100 

4101 

4102 

4103 

4104 

4105 

4106 

4107 

4108 

4109 

4110 

4111 

4112 

4113 

4114 

4115 

4116 

4117 

4118 

4119 

4120 

4121 

4122 

4123 

4124 

4125 

4126 

4127 

4128 

4129 

4130 

4131 

4132 

4133 

4134 



Cluster Test Protocol Responder NACRO X53B(1242) 11:18 27-Aug-85 Page 25 
MAC 27-Aug-85 11:17 Close Connection 



SEQ 0168 



005314' 
005315* 
005316' 
005317* 
005320' 
005321 • 
005322' 
005323' 
005324 • 
005325' 
005326' 
005327' 



261 
261 
261 
261 
201 
202 
202 
202 
201 
201 
260 
260 



17 
17 
17 
17 
04 
04 
01 
02 
01 
02 
17 
17 




















;This routine 




.-First we set 




;Call: 




1 Move 




Move 




; 6o 




t ^ 


00 000001 


DISCON: PUT 


00 000002 


PUT 


00 000003 


PUT 


00 000004 


PUT 


00 000003 


HOVE I 


00 005337' 


NOVEn 


00 005340' 


novEM 


00 005341 ' 


NOVEM 


00 000003 


MOVE I 


00 005337' 


MOVEI 


00 004605' 


GO 


00 004633' 


GO 



005330' 332 00 00 000216' 

005331' 260 17 00 262064 

005332' 262 17 00 000004 

005333' 262 17 00 000003 

005334' 262 17 00 000002 

005335' 26? 17 00 000001 

005336' 2oi 17 00 000000 



005337' 000000 000003 
005340' 000 00 00 000000 
005341' 000 00 00 000000 



SUBTTL Close Connection 



closes a connection, 
up the argument block 



acl,[n] 
ac2,[ni] 
discon 



ACl 

AC2 

AC3 

AC4 

AC4..LBDIS 

AC4..SQLEN^DISARG 

ACK.SQCID^DISARG 

AC2..SQDIS+D1SARG 

AC1..SSDIS 

AC2«DISARG 

DOSCS 

ERRSCS 



TRMSG (Disconnect) 



then execute the scs jsys 

;n= connect id 
;m=disconnect reason 
;call this routine 
.-Return here always 

.-Save the ac's 



:Load length 

.-Store length of argument block 

; Store the connect id 

.-Store the disconnect reason 

.-Disconnect function code 

.-Address of argunent block to ac2 

.-The isys 
;If error go here 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
ACl 



.-Disconnect (.SSDIS) argument block 
DISARG: 0...LBD1S 



.-Restore the ac's 



.-Thats it 



I 



.-Processed words,. length of block 
.-Connect id 
;Disconnect reason 



J 



DFCIC 
DFCIC2 

A135 

4136 

4137 

4138 

4139 

4140 

4141 

4142 

4143 

4144 

4145 

4146 

4147 

4148 

4149 

4150 

4151 

4152 

4153 

4154 

4155 

4156 

4157 

4158 

4159 

4160 

4161 

4162 

4163 

4164 

4165 

4166 

4167 

4168 

4169 

4170 

4171 

4172 

4173 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 26 
MAC 27-Aug-85 11:17 Queue Message Buffer 

SUBTTL Queue M'^Sbdge Buffer 



SEQ 0169 



005342' 
005343* 
005344 • 
005345' 
005346' 
005347' 
005350' 
005351 ' 
005352" 
005353' 
005354' 
005355' 

005356' 
005357' 

005360' 
005361 ' 
005362' 
005363' 
005364* 



261 
261 
261 
261 
201 



17 
17 
17 
17 
04 



202 04 
202 01 













202 02 
201 01 
201 02 
260 17 
260 17 



00 000001 
00 000002 
00 000003 
00 000004 
00 000003 
00 005365' 
00 005366' 
00 005367' 
00 000007 
00 005365' 
00 004605' 
00 004633' 



332 
260 
262 
26? 
2oi 
262 
26'. 



00 
17 
17 
17 
17 
17 
17 













00 
00 
00 
00 
00 
00 
00 



000216' 

262076 

000004 

000003 

000002 

000001 

000000 



005365' 000000 000003 
005366' 000 00 00 JOOOOO 
005367' 000 00 00 OOOCoO 



;This routine first sets up the argument block then executes an scs 
; "QUEUE A BUFFER FOR MESSAGE RECEPTION". ... ^ , 

;The interrupt system must be shut of before entering this routine and must 
.•Enabled after execution of this subroutine. 



;CALL 



QBMSG : 



Move ad.Cn] 

Move ac2«Cm] 

Go qbmsg 
^1 

PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 

MOVE] AC4..LBQRM 

MOVEM AC4..SQLEN^QBMARG 

MOVEM ACI^.SQCID^QBMARG 

MOVEM AC2..SQAFBtQBMARG 

MOVEI AC1,.SSQRM 

MOVE! AC2.QBMARG 

GO DOSCS 

GO ERRSCS 

TRMSG (Queue Message Buffer) 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
AC1 



;n=connect id 
;m=buffer name (rb Ik) 
;call this routine 
;Return here always 

;Save the ac's 



;Load length _ , 

;Store length of argument block 

; Store connect id 

; Store the buffer name 

: Queue a buffer for datagrams func 

.•Address of argument block to ac2 

.•Execute the isys 

;If error go here 



.•Restore the ac's 



code 



;Thats it 
.•queue a buffer for message reception(.Ssqrm) argument block 



QBMARG: O...LBQRM 
I 



.•Processed words.. length of block 

.•Connect id 

.•Address of 1st buffer ^n chain 



DfCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 
DFC1C2 MAC 27-Aug-85 11:17 Queue Datagram Buffer 



21 



SEQ 0170 



41 7A 

4175 

4176 

4177 

4178 

4179 

4180 

4181 

4182 

4183 

4184 

4185 

4186 

4187 

4188 

4189 

4190 

4191 

4192 

4193 

4194 

4195 

4196 

4197 

4198 

4199 

4200 

4201 

4202 

4203 

4204 

4205 

4206 

4207 

4208 

4209 

4210 

4211 

4212 



SUBTIL Queue Datagrai. Buffer 



This routine first sets up the argument block then executes an scs 

"QUEUE A BUFFER FOR DATAGRAM RECEPTION". ... ^ . 

The interrupt system must be shut of before entering this routine and must 
Enabled after execution of this subroutine. 

Move ac1,[n] ;n=connect id 

Move ac2,Cm] ;m=buffer name(rblk) 

Go qbdgm ;call this routine 

•fl ;Return here always 



005370' 261 17 00 000001 
00537V 261 17 00 000002 
005372' 261 17 00 000003 
005373' 261 17 00 000004 
005374' 201 04 00 000003 
005375' 202 04 00 005413' 
005376' 202 01 00 005414' 
005377' 202 02 00 005415' 
005400' 201 01 00 000005 
005^01' 201 02 00 005413' 
005402' 260 17 00 004605' 
005403' 260 17 00 004633' 

005404' 332 00 00 000216' 
005405' 260 17 00 262110 

005406' 262 17 00 000004 
0054C7' 26? 17 00 000003 
005410' 2oi 17 00 000002 
005411' 262 17 00 000001 
005412' 263 17 00 000000 



005413' 000000 000003 
005414' 000 00 00 000000 
005415' 000 00 00 000000 



QBDGM: 



PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 

MOVEI AC4,.LBQRD 

MOVEM AC4,.SQLEN^QBDARG 

MOVEM ACU.SQCID+QBDARG 

MOVEM AC2,.SQAFB+QBDARG 

MOVEI ACU.SSQRD 

MOVEI AC2,QBDARG 

GO DOSCS 

GO ERRSCS 

TRMSG (Queue Datagram Buffer) 



;Save the ac's 



•Load length 

;Store length of argument block 

; Store connect id 

; Store the buffer name 

;Queue a buffer for datagrams func code 

.•Address of argument block to ac2 

;Execute the isys 

;if error go t\^t^ 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
AC1 



;Restore the ac's 



;Thats it 
.Queue a buffer for datagram reception(.Ssqrd) argument block 



QBDARG: 0,..LBQRD 
2 
2 



.•Processed words,. length of block 

.•Connect id 

.•Address of 1st buffer in chain 



1 



DFCIC Cluster Test Protocol Responder MACRO 2538(1242) 11:18 27-Aug-85 Page 28 
DFC1C2 MAC 27-Aug-85 11:17 Recieve Message 



SEQ 0171 



A213 

A2U 

4215 

4216 

4217 

4218 

4219 

4220 

4221 

4222 

4223 

4224 

4225 

4226 

4227 

4228 

4229 

4230 

4231 

4232 

4233 

4234 

4235 

4236 

4237 

4238 

4239 

4240 

4241 

4242 

4243 

4244 

4245 

4246 

4247 

4248 

4249 

4250 

4251 

4252 

4253 

4254 



005416' 
005417* 
005420' 
005421 • 
005422' 
005423' 
005424 ' 
005425' 
005426' 
005427' 
005430' 
005431 ' 
005432' 
005433' 
005434' 
005435' 



261 
261 
261 
261 
201 



17 
17 
17 
17 
01 



202 01 
476 00 
402 00 
402 00 
402 00 
201 01 
201 02 
260 17 
254 00 
334 00 
402 00 






















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

005445' 

005446' 

005447' 

005450' 

005451 ' 

000013 

005445' 

004605 • 

005435' 

000000 

005447' 



005436' 332 00 00 000216' 

005437' 260 17 00 262121 

005440' 26? 17 00 000004 

005441' 2oi 17 00 000003 

005442' 262 17 00 000002 

005443' 262 17 00 000001 

005444' 263 17 00 000000 



005445' 000000 000005 
005446' 000 00 00 000000 
005447' 000 00 00 000000 
005450' 000 00 00 000000 
005451 • 000 00 00 000000 



SUBTIL Recieve Message 

;Th1s routine returns message text taken off the wire for. your connection. 
;First we set up the argument block then execute the scs jsys. 
;We come here only during interrupt time. 

s Qa rcvmsg ;call this routine 

• If ; Return here always 



RCVMSG: PUT 
PUT 
PUT 
PUT 
MOVEI 
MOVEM 
SETOM 
SETZM 
SET2M 
SETZM 
MOVEI 
MOVEI 
GO 
JRST 
SKI PA 

RCVMSE: SETZM 



AC1 

AC2 

AC3 

AC4 

ACU.LBRMG 

ACU.SQLEN+RCMARG 

.SQCID+RCMARG 

.SQARB^RCMARG 

.SQDFL+RCMARG 

.SQLRP+RCMARG 

ACU.SSRMG 

AC2,RCMARG 

DOSCS 

RCVMSE 

.SQARB+RCMARG 



;Save the ac's 



Store length of argument block 

-1 = Get any msg found for this fork 

Clear previous address buffer 

Clear previous flags 

Clear previous length of rtnd msg 

Receive msg function code 

Address of argument block to ac2 

Execute the isys 

If error go hereCno more messages) 

Flag the error 



TRMSG (Recieve Message) 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
AC1 



.-Restore the ac's 



;Thats it 

.-Receive a message(.Ssrmg) argument block 
RCMAR6: 0...LBRM6 



.•Processed words.. length of block 
; Returned - cid 
.•Returned - address of buffer 
.•Returned - flags.. remote node* 
.•Length of returned message 



r 



r 



DFCIC 
DFC1C2 

A255 

A256 

A257 

A258 

A259 

4260 

A261 

A262 

4263 

4264 

4265 

4266 

4267 

4268 

4269 

4270 

4271 

4272 

4273 

4274 

4275 

4276 

4277 

4278 

4279 

4280 

4281 

4282 

4283 

4284 

4285 

4286 

4287 

4288 

4289 

4290 

4291 

4292 

4293 

4294 

4295 

4296 



Cluster 
MAC 



St Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 
-Aug-85 11:17 Recieve Datagram 



Test 
27-Aug 



Page 29 



SEQ 0172 



005452' 
005453' 
005454* 
005455' 
005456' 
005457' 
005460' 
005461 ' 
005462' 
005463* 
005464' 
005465 ' 
005466' 
005467' 
005470' 
005471 ' 



261 
261 
261 
261 
201 



17 
17 
17 
17 
01 



202 01 

476 00 

402 00 

402 00 

402 00 
201 

201 



01 
02 



260 17 
254 00 
334 00 
402 00 






















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

005501 • 

005502' 

005503' 

005504' 

005505' 

000022 

005501 ' 

004605 ' 

005471 • 

000000 

005503' 



005472' 332 00 00 000216' 

005473' 260 17 00 262132 

005474' 26? 17 00 000004 

005475' 2oi 17 00 000003 

005476' 262 17 00 000002 

005477* 262 17 00 000001 

005500' 263 17 00 000000 



005501' 000000 000005 

005502' 000 00 00 000000 

005503' 000 00 00 000000 

005504* 000 00 00 000000 

005505' 000 00 00 000000 



SUBTIL Recieve Datagram 



;This routine returns datagram data 
;First we set up the argument block 
;We come here only during interrupt 
;Call: 

rcvdgm 



* 



RCVDGM: PUT 
PUT 
PUT 
PUT 
MOVE I 
MOVEM 
SETOM 
SETZM 
SETZM 
SETZM 
MOVE I 
MOVE I 
60 
JRST 
SKIPA 

RCVDGE: SETZM 



ACl 

AC2 

AC3 

AC4 

ACU.LBRDG 

ACK.SQLEN^RCDARG 

.SQCIDiRCDARG 

.SQARB^RCDARG 

.SODFL+RCDARG 

.SQLRP+RCDARG 

ACK.SSRDG 

AC2,RCDARG 

DOSCS 

RCVDGE 

.SQARB^RCDARG 



taken off the wire for your 
then execute the scs jsys. 
time. 

;call this routine 
;Return here always 

;Save the ac's 



connection, 



Load length ^ , , 

Store length of argument block 

-1 = Get any msg found for this fork 

Clear previous address buffer 

Clear previous flags 

Clear previous length of rtnd msg 

Receive dgm function code 

Address or argument block to ac2 

Execute the isys 

If error go hereCno more datagrams) 

;Flag the error 



TRMSG (Recieve Datagram) 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
ACl 



.•Restore the ac's 



;Thats it 

.•Receive a message(.Ssrdg) argument block 
RCDARG: 0...LBRD6 



.•Processed words... length of block 
.•Returned - cid 
.•Returned - ec^dress of buffer 
.•Returned - flags,. remote node* 
.•Length of returned message 



OFCIC Cluster Test Protocol Responder MACRO 3:538(1242) 11:18 27-Aug-85 Page 30 
DFCIC2 MAC 27-Aug-85 11:17 Send Message or Datagram 



SEQ 0173 



4297 

4298 

4299 

4300 

4301 

4302 

4303 

4304 

4305 

4306 

4307 

4308 

4309 

4310 

4311 

4312 

4313 

4314 

4315 

4316 

4317 

4318 

4319 

4320 

4321 

h322 

4323 

4324 

4325 

4326 

4327 

4328 

4329 

4330 

4331 

4332 

4333 



005506' 
005507' 
005510' 
005511* 
005512' 
005513' 
005514' 
005515' 
005516' 
005517' 



261 
261 
261 
261 
201 



17 
17 
17 
17 
00 



202 00 
202 01 
552 02 
202 03 
402 00 
















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000005 

005550' 

005551' 

005552' 

005553' 

005554' 



00552C' 201 01 00 000006 
005521' 603 16 00 000020 
005522' 201 01 00 000004 



005523' 
005524' 
005525' 
005526' 
005527' 
005530' 
005531 ' 
0055^2' 



201 02 
6u< 16 
254 00 
200 03 
302 03 
306 03 
336 00 
254 00 














00 
00 
00 
00 
00 
00 
00 
00 



005550' 

000010 

005543' 

000231 • 

000005 

000004 

000222' 

005536' 



* 

# 
» 



SUBTTL Send Message or Datagram 

This routine sends either a 'DATAGRAM" or 'MESSAGE". ,, 
Set up the argunent block for the scsl jsys monitor call. 
The flag 'VCGONE" is checked just before the jsys to see 
If the virtual circuit is still alive. 



Call: 



Move 

Move 

Move 

Go 

♦ i 

♦2 



SENDMD: PUT 
PUT 
PUT 
PUT 
MOVE I 
MOVEM 
MOVEM 
HRR2M 
MOVEM 
SET2M 

MOVE I 
TLNE 
MOVE I 

MOVE I 

TLNE 

JRST 

MOVE 

CAIE 

CAIN 

SKIPN 

JRST 



1,[nJ 
2, Cm J 
3,[x3 
sendmd 



AC1 

AC2 

AC3 

AC4 

AC0..LBSHG 

AC0,.SQLEN^MSGD6M 

ACU.SQCID^MSGDGM 

AC2,.SQAPT^MSGDGM 

AC3,.SQLPT^MSGDGM 

.SOFLG^MSGDGM 

ACU.SSSMG 

CURSTS,(DGM) 

ACK.SSSDG 

AC2,MSGDGM 

CURSTS,(VCGONE) 

SENDMC 

AC3, OPCODE 

AC3,5 

AC3,4 

LASTF 

SENDMA 



;n=connect id ^, ^ 

;m=address of ctp packet(rblk) 
;x=length in 8 bit bytes 
;call this routine 
;Error return 
.-Successful return 

;Save the ac's 



Length 

Store length of argument block 

Store the cid in the argument block. 

Store the start address 

Store length of datagram 

Clear the flags 

Send a message 

Did we receive this packet as a dgm? 

Yes. send a datagram 

Address of argument block to ac2 
Is this virtual circuit still around? 
No. take the ♦I return 
Get the opcode 
Are we doing the msg 
Or dgm test? 

Yes. IS this the last xfer? 
No 



._.. _ J 



r— 



r 



ji 



DFCIC 
DFC1C2 

433A 

4335 

4336 

4337 

4338 

4339 

4340 

4341 

4342 

4343 

4344 

4345 

4346 

4347 

4348 

4349 

4350 

4351 

4352 

4353 

4354 

4355 

4356 

4357 

4358 

4359 

4360 

4361 

4362 

4363 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 31 
MAC 27-Aug-85 11:17 Send Message or Datagram 



SEQ 0174 



repeat 



0,< 
TLN 
MOVFI 
MOVE 
TD2 



005533' 661 16 00 000002 

005534* 200 03 00 000276* 

005535* 202 16 03 000002 

005536* 260 17 00 004605' 

005537* 260 17 00 004633* 

005540* 332 00 00 000216* 
005541* 260 17 00 262145 

005542* 350 00 17 VUm 
005543* 262 17 00 000004 
005544* 262 17 00 000003 
005545* 262 17 00 000002 
005546* 262 17 00 000001 
005547* 263 17 00 000000 



00555C* 000000 000005 

005551* 000 00 00 000000 

005552* 000 00 00 000000 

005553* 000 00 00 000000 

005554* 000 00 00 000000 



>;end of repeat 



CURSTS,(DGMSG) 
AC13,CD6M^D6MS6] 
AC3.CUREXE 
AC13,STATUS(AC3) 



TLO 
MOVE 
MOVEM 
SENDMA: 60 
GO 



CURSTS,(D0NE) 

AC3,CUREXE 

CURSTS,STATUS(AC3) 

DOSCS 

ERRSCS 



;C0.33 Confused.. 

;Did we receive this as a msg? 

;Get the dgm and dgmsg bits 

;Get the rhblk 

;Yes, clr dgm and dgmsg bits 

;Yes, set the done bit 
;Get the rhblk 
.•Store the status word 
.-Execute the isys 
;If error go here 



TRMSG (Send Datagram or Message) 



SENDMC : 



AOS 
GET 
GET 
GET 
GET 
RTN 



-4(P) 
AC4 
AC 3 
AC2 
AC1 



;Make it a -^2 return 
.-Restore the ac*s 



.-Thats it 



.'Send a message or datagram argument block 



MSGDGM: 



0.,.LBSMG 

Z 

2 

Z 

Z 



.-Processed words., length of block 
.-Connect id 

.-Address of message(rblk) 
.-Length of msg in 8 bit bytes 
.-Flags.. optional path spec 



"\ 



62 



DFCIC 
DFC1C2 

A364 

A365 

A366 

4367 

A368 

4369 

4370 

4371 

4372 

4373 

4374 

4375 

4376 

4377 

4378 

4379 

4380 

4381 

4382 

4383 

4384 

4385 

4386 

4387 

4388 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 32 
MAC 27-Aug-85 11:17 Connection State Poll 

SUBTTL Connection State Poll 



SEQ 0175 



005555' 
005556' 
005557' 
005560' 
005561 • 
005562' 
005563' 
005564' 
005565' 
005566' 
005567' 
005570' 
005571 ' 



261 17 
261 17 
261 17 
261 17 

201 04 

202 04 
202 01 

200 02 
202 02 

201 01 
201 02 
260 17 
260 17 





1 IW V b 

; Go 

; +1 


00 000001 


STPOLL: PUT 


00 000002 


PUT 


00 000003 


PUT 


00 000004 


PUT 


00 000007 


MOVE I 


00 005626' 


MOVEM 


00 005627' 


MOVEM 


00 262152 


MOVE 


00 005632' 


MOVEM 


00 000010 


MOVE I 


00 005626' 


MOVE I 


00 004605' 


60 


00 004633' 


60 



;This routine returns detailed information about a connection. 
;First we set up the argument block then execute the scs jsys. 

Mnwo ac1,Cn] ;n=connect id 

stpoll ;call this routine 

.•Return here always 



005572' 332 00 00 000216' 
005573' 260 17 00 262160 



AC1 

AC2 

AC3 

AC4 

AC4..LBCSP 

AC4..SQLEN+STPAR6 

AC1..SQCID^STPAR6 

AC2. [POINT 7.DUM1] 

AC2..SQBDN+STPAR6 

AC1..SSCSP 

AC2.STPARG 

DOSCS 

ERRSCS 



TRMS6 (Connection State Poll) 



;Save the ac's 



; Store length of argument block 
.-Store the connect id 
:Free space block 

.•Store the destination process name 
.•Connect state poll function code 
.•Address of argument block to ac2 
.•Execute the is] 
nei 



;If error go 



isys 
»re 



1- r 



63 



OFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 33 
DFC1C2 MAC 27-Aug-85 11:17 Connection State Poll 



SEQ 0176 



A389 

4390 

A391 

A392 

A393 

A39A 

4395 

4396 

4397 

4398 

4399 

4400 

4401 

4402 

4403 

4404 

4405 

4406 

4407 

4408 

4409 

4410 

4411 

4412 

4413 

4414 

4415 

4416 

4417 

4418 

4419 

4420 

4421 

4422 

4423 

4424 

4425 



005574' 
005575 • 
005576* 
005577* 
005600* 
005601 • 
005602* 
005603* 
005604* 
005605 * 



200 01 
312 01 
254 00 
200 01 
312 01 
254 00 
200 01 
312 01 
254 00 
254 00 
















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000301 • 
005620* 
005606' 
000302 * 
005621 * 
005606* 
000303* 
005622* 
005606* 
005613* 



005606* 561 01 00 262165 

005607' 260 17 00 004550* 

005610* 561 01 00 005620* 

005611* 260 17 00 004550* 

005612* 260 17 00 004547* 

005613* 262 17 00 000004 

005614* 262 17 00 000003 

005615* 262 17 00 000002 

005616* 262 17 00 000001 

005617* 263 17 00 000000 

005620' 



005626' 
005627' 
005630' 
005631 ' 
005632' 
005633' 
005634' 



GuJOOO 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 



000007 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 



;Test that the returned destination process name is correct ctpScontroller 



MOVE 
CAME 
JRST 
MOVE 
CAME 
JRST 
MOVE 
CAME 
JRST 
JRST 

STP0L1: HRROI 
GO 

HRROI 
GO 
GO 

STP0L2: GET 
GET 
GET 
GET 
RTN 

DUM1 : BLOCK 



ACUCNTLR 

ACUDUM1 

STP0L1 

AC1,CNTLR+1 

ACUDUMUI 

STP0L1 

AC1,CNTLR*2 

AC1,DUMU2 

STP0L1 

STP0L2 



Get correct 

Is returned process name the same ? 

No, error 
Get correct 
Is returned process name the same ? 

No, error 
Get correct 
Is returned process name the same ? 

NOj error 

It s correct 



AC1,CASCIZ/? STPOLL - incorrect process name /l 

PRINTT .-Print that 

AC1,DUM1 

PRINTT ;Print that 

PRINTC .-Print CRLF 



AC4 
AC3 
AC2 
AC1 



.-Restore the ac's 

;Thats it 

.-Storage for destination process name 



.-Connect state polK.Sscsp) argument block 



STPARG: 0,,.LBCSP 
Z 



.-Processed words,, length of block 

.-Connect id 

.-Connection state 

.-Destination connect id 

.-Pointer to destination process name 

.-Remote node* of destination 

.-Source connect reasons., dest disconnect reasons 



r 



DFCIC 
DFC1C2 

4A26 

AA27 

4A28 

AA29 

AA30 

AA31 

AA32 

AA33 

AA3A 

AA35 

AA36 

AA37 

AA38 

AA39 

AAAO 

AAA1 

AAA2 

AAA3 

AAAA 

AAA 5 

AAA6 

AAA? 

AAA8 

AAA9 

AA50 

AA51 

AA52 

AA53 

AA5A 

AA55 

AA56 

AA57 

AA58 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 3A 
MAC 27-Aug-85 11:17 Return Local Node Number 

SUBTTL Return Local Node Number 



SEQ 0177 



;This routine 
;F1rst we set 
;Call: 



returns the local node number. 

up the argument block then execute the scs jsys. 



005635' 
005636* 
005637' 
0056A0' 
0056A1 • 
0056A2' 
0056A3' 
0056AA • 
0056A5' 
0056A6* 
0056A7' 



261 
261 
261 
261 
201 
202 
A02 
201 
201 
260 
260 



17 
17 
17 
17 
OA 
OA 
00 
01 
02 
17 
17 

















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

OOOOOA 

000002 

005657' 

005660' 

000030 

005657' 

00A605 ' 

00A633 ' 



005650' 332 00 00 000216' 

005651' 260 17 00 262202 

005652' 262 17 00 OOOOOA 

005653' 262 17 00 000003 

00565A' 262 17 00 000002 

005655' 262 17 00 000001 

005656' 263 17 00 000000 



005657' 000000 000002 
005660' 000 00 00 000000 



# 
I 



LOCALN: PUT 
PUT 
PUT 
PUT 
MOVEI 
MOVEM 
SETZM 
MOVEI 
MOVEI 
GO 
GO 



localn 



AC1 

AC2 

AC3 

ACA 

ACA^.LBGLN 

ACA,.SQLEN^L0CAR6 

.SQLNN+LOCARG 

ACK.SSGLN 

AC2A0CARG 

DOSCS 

ERRSCS 



;call this routine 
.•Return here always 

;Save the ac's 



;6et the length of arg block 

.'Store lengtn of argument block 

.•Clear the node* word 

.•Return local node* function code 

.•Address of argument block to ac2 

.•Execute the isys 

;if error go here 



TRMSG (Return Local Node Number) 



GET 
GET 
GET 
GET 
RTN 



ACA 
AC3 
AC2 
AC1 



.•Restore the ac's 



;Thats it 
.•Return local node number(.Ssgln) argument block 



L0CAR6: 0...LB6LN 
Z 



;Processed words,, length of block 
; Local ci node number 



r 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 35 
DFCIC2 MAC 27-Aug-85 11:17 Return Buffer Sizes 



SEQ 0178 



AA59 

4A60 

4A61 

4462 

4463 

4464 

4465 

4466 

4467 

4468 

4469 

4470 

4471 

4472 

4473 

4474 

4475 

4476 

4477 

4478 

4479 

4480 

4481 

4482 

4483 

4484 

4485 

4486 

4487 

4488 

4489 

4490 

4491 

4492 

4493 

4494 



005661 • 
005662 • 
005663' 
005664 • 
005665 • 
005666' 
005667* 
005670' 
005671 • 
005672* 
005673* 
005674* 



261 
261 
261 
261 
201 
202 
402 
402 
201 
201 
260 
26C 



17 


17 


17 


17 


04 


04 


00 


00 


01 


02 


17 


17 



00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000003 

005704* 

005705* 

005706* 

000035 

005704* 

004605* 

004633* 



005675* 332 00 00 000216* 

005676* 260 17 00 262214 

005677* 262 17 00 000004 

005700* 262 17 00 000003 

005701* 262 17 00 000002 

005702* 262 17 00 000001 

005703* 263 17 00 000000 



005704* 000000 000003 
005705* 000 00 00 000000 
005706* 000 00 00 000000 



SU8TTL Return Buffer Sizes 

;This routine returns the largest 'DATAGRAM" & 'TIESSAGE" 
.-That can be sent on this node. , ^ ^ . 

.-First we set up the argument block then execute the scs jsys. 

Go buffsz ;call this routine 

♦1 .-Return here always 



BUFFSZ: 



PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 

MOVE! AC4..LBR6S 

MOVEM AC4..SQLEN+BUFARG 

SETZM .SQLMG^BUFARG 

SETZM .SQLDG^BUFARG 

MOVEI ACU.SSRBS 

MOVEI AC2,BUFARG 

GO DOSCS 

60 ERRSCS 

TRMSG (Return Buffer Sizes) 



.-Save the ac*s 



;6et the length of arg block 
.•Store lengtn of argument block 
.•Clear the length or '>1SG" word 
.•Clear the length of "DGM" word 
.•Return max buffer sizes function code 
.•Address of argument block to ac2 
.•Execute the isys 
;If error go here 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
ACl 



.•Restore the ac*s 



.-Thats it 



.•Return maximum dataGam & message transfer sizes (.Ssrbs) argument block 
BUFARG: O...LBRBS 



i 



.•Processed words,. length of block 
;Size (words) of max *>SG" buffer 
.•Size (words) of max "DGM" buffer 



r 



DfClC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 36 
DFCIC2 MAC 27-Aug-85 11:17 Return Status 



SEQ 0179 



A495 

AA96 

4497 

4498 

4499 

4500 

4501 

4502 

4503 

4504 

4505 

4506 

4507 

4508 

4509 

4510 

4511 

4512 

4513 

4514 

4515 

4516 

4517 

4518 

4519 

4520 

4521 

4522 

4523 

4524 

4525 

4526 

4527 

4528 

4529 

4530 

4531 

4532 



005707' 261 17 00 000001 
005710' 261 17 00 000002 
005711' 261 17 00 000003 
005712' 261 17 00 000004 
005713' 201 04 00 000004 
005714' 202 04 00 005733' 
005715' 202 01 00 005734' 
005716' 402 00 00 005735' 
005717' 402 00 00 005736' 
005720' 201 01 00 000012 
005721' 201 02 00 005733' 
005722' 260 17 00 004605' 
005723' 260 17 00 004633' 

005724' 332 00 00 000216' 
005725' 260 17 00 262225 

005726' 262 17 00 000004 

005727' 262 17 00 000003 

005730' 262 17 00 000002 

005731' 26? 17 00 000001 

005732' 2o< 17 00 000000 



005733' 000000 000004 
005734' 000 00 00 000000 
005735' 000 00 00 000000 
005736* 000 00 00 000000 



SUBTTL Return Status 

;This routine returns some information about a connection. 

;First we set up the argument block then execute the scs jsys. 

•Call* 

; ' Move acl,Cnj ;n=connect id . 

; Go statsi ;call this routine 

♦ 1 .-Return here always 



STATSI 



PUT AC1 

PUT AC2 

PUT AC3 

PUT AC4 

MOVEI AC4..LBSTS 

HOVEM AC4..SQLEN*STAAR6 

nOVEH AC1,.SQCID*STAAR6 

SETZM .S0FST+STAAR6 

SETZM .SQS8R+STAAR6 

MOVEI ACK.SSSTS 

MOVEI AC2.STAAR6 

GO DOSCS 

60 ERRSCS 

TRMS6 (Return Status) 



.•Save the ac's 



;Load length 

.•Store length of argument block 

.Store the connect id 

.•Clear the flag word 

.•Clear the node# word 

.•Return status info function code 

.•Address of argunent block to ac2 

.•Execute the isys 

;If error go here 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 

AC1 



.•Restore the ac's 



;Thats it 
.•Return status information(.Sssts) argument block 



STAAR6: O...LBSTS 
Z 



.•Processed words,, length of block 

.•Connect id 

.•Flags,, connect state 

;Node# of remote 



_t 



D167 



DFCIC 

DFCIC2 

4533 
453A 
4535 
4536 
4537 
4538 
4539 
4540 
4541 
4542 
4543 
4544 
4545 
4546 
4547 

4548 

4549 

4550 

4551 

4552 

4553 

4554 

4555 

4556 

4557 

4558 

4559 

4560 

4561 

4562 

4563 

4564 

4565 

4566 

4567 

4568 

4569 



Cluster Test Protocol Resoonder NACRQ :53B(1242) 11:18 27-Aug':85 Page 37 
WAC 27-Aug-85 11:17 Return Configuration Information 

SUeiTL Return Configuration Information 



SEO 0180 



005737' 
005740* 
005741 • 
005742* 
005743* 
005744* 
005745* 
005746' 
005747* 
005750* 
005751 * 
005752* 
005753* 
005754* 
00575S* 
005756* 
005757* 



505 
541 
251 



201 01 
201 02 
260 17 
254 00 
350 00 



17 00 000001 
17 00 000002 
17 00 000003 
17 00 000004 
00 000024 
00 005767* 
00 005770* 
00 005771 * 
00 005772* 
00 005772* 
00 005773* 
00 006012* 
00 000011 
00 005767* 
00 004605* 
00 005760* 

17 iiiim 



261 
261 
261 
261 

201 04 

202 04 
202 01 
202 02 
402 00 



01 
01 
01 



005760* 33? 00 00 000216* 
005761* 2c.' 17 00 262236 



005762' 262 17 00 000004 

005763* 262 17 00 000003 

005764* 262 17 00 000002 

005765* 262 17 00 000001 

005766' 263 17 00 000000 



;This routine 
; First we set 



.-Call: 



returns information about another system. 

up the argument block then execute the scs jsys. 



« 
* 



Move 

Nowe 

Go 

♦1 

♦2 



CONFIG: PUT 
PUT 
PUT 
PUT 
NOVEI 
«OVE« 
NOVEM 

novEn 

SET2« 

HRLI 
HRRl 
BLT 
NOVEI 
HOVE I 
GO 
JRST 

AOS 



ad.Cn] 
ac2.[m] 
config 



ACl 

AC2 

AC3 

AC4 

AC4,.LBRCD 

AC4«.SQLEN^CNFARG 

ACK.SQCID^CNFARG 

AC2..SQ0SB^CNFARG 

.SOVCS^CNFARG 

AC1..S0VCS*CNFARG 

ACK.SOSAD^CNFARG 

AC1,CNFARG^<.LBRCD-1> 

AC1..SSRCD 

AC2,CNFARG 

DOSCS 

CONFIX 

-4(P) 



CONFIX: TRHSG (Configuration) 



GET 
GET 
GET 
GET 
RTN 



AC4 
AC3 
AC2 
ACl 



;n=connect id 
;m= remote node# 
.-call this routine 
;Error return 
;Good return 

;Say/e the ac's 



Load length 

Store length of argument block 
Store the connect id 
Store the remote node* 
Clear previous 
Information. 



; Configuration function code 

.'Address of argtment block to ac2 

.-Execute the isys 

;If error go nere(*1 rtn) 

.•♦2 Good return 



.•Restore the ac *s 



.-Thats it 



0168 



DFCIC 
DfCIC2 

4570 
4571 
4572 
4573 
4574 
4575 
4576 
4577 
4578 
4579 
4580 
4581 
4582 
4583 
! 4584 
I 4585 
4586 
4587 
4588 
4589 
4590 
4591 
4592 
4593 
4594 
4595 
4596 



Cluster Test Protocol Responder MACRO X53B(1242) 11: 
liAC 27-AUQ-85 11:17 Return Configuration 



18 27-Aug-85 Page 38 
Information 



SEO 0181 



005767' 

005770' 
005771 • 

005772* 
005773' 
005774' 
005775' 
005776' 
005777* 
006000' 
006001' 
006002' 
006003' 



000000 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 



000024 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 



006004' 000 00 00 000000 

006005' 000 00 00 000000 
006006' 000 00 00 000000 
006007' 000 00 00 000000 

006010' 000 00 00 000000 
006011' 000 00 00 000000 

006012' 000 00 00 000000 



;Conf iguration data(.Ssrcd) argument tlock 



CNFAR6: 0,..LBRCD 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 



2 
2 
2 

2 
2 



Processed words,, length of block 

Optional connect id 

Optional remote node# 

Virtual circuit state,, node number 

System address 

(6 8-8it bytes) 
Max dest datagram size 
Max dest message size 
Dest software type 
Dest software version 
Dest software edit lev/el 
Dest hardware type (2 words) 



;Dest hardware version 

;Dest port name (3 words) 
I ■^- 

* ; 

;Port characteristics (2 words) 
; (8-Bit bytes) 

.-Local port number (ci#) 



,..._.. J 



0169 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 39 
DFC1C2 MAC 27-Aug-85 11:17 Map Buffer 



SEQ 0182 



4597 

4598 

4599 

4600 

4601 

4602 

4603 

4604 

4605 

4606 

4607 

4608 

4609 

4610 

4611 

4612 

4613 

4614 

4615 

4616 

4617 

4618 

4619 

4620 

4621 

4622 

4623 

4624 

4625 

4626 

4627 

4628 

4629 

4630 

4631 

4632 



;This 
;Firs 
;Call 



006013' 
00601 \ • 
00601 5 • 
006016' 
006017' 
006020' 
006021 • 
006022' 
006023' 
006024 ' 
0060^5' 
006026' 
006027' 



00603C' 332 00 00 000216' 



261 


17 


201 


00 


202 00 


202 02 


202 01 


402 


00 


201 


01 


201 


02 


260 


17 


254 


00 


200 01 


350 00 


262 


17 



SUBTTL Map Buffer 

routine gets a buffer name from sea to be used in dma transfers, 
t we set up the argument block then execute the scs jsys. 

;n=memory address (e.G. Bufi) 

;m=lengtn of memory block 

;call this routine 

;Error return 

;Ac1 = returned 32 bit buffer name 

;Sa\/e ac 

.Default block length 

; Store length of argument block 

; Store the length or memory block 

.-Store the memory address 

; Clear the last buffer name 

;Map a buffer function code 

.'Address of argument block to ac2 

.-Execute the jsys 

.-If error do ♦I return 

.-Get the buffer name in ad 

;^2 Good return 

.-Restore ac 





• 


Move 


ac1..nJ 




1 


Move 


ac2-Cm] 
getbuf 






Go 




t 


^ 




00 000000 


GETBUF: 


PUT 


ACO 


00 000005 




MOVE I 


ACO, 5 


00 006033' 




MOVEM 


AC0..SQLEN^GETAR6 


00 006036' 




MOVEM 


AC2,.SQBNAiUGETARG 


00 006037' 




MOVEM 


AC1,.SQBNA*2^GETARG 


00 006035' 




SETZM 


.SQBNA+GETARG 


00 000014 




MOVEi 


AC1..SSMAP 


00 006033' 




MOVE I 


AC2.GETARG 


00 004605' 




GO 


DOSCS 


00 006027' 




JRST 


GETBUA 


00 006035' 




MOVE 


AC1..SQBNA*GETARG 


17 777777 




AOS 


-1(P) 


00 000000 


GETBUA: 


GET 


ACO 



006031' 260 17 00 
006032' 263 17 00 



262246 
000000 



TRMSG 
RTN 



(Map Buffer) 



006033' 000000 000005 
006034' 000000 0000 :o 
006035' 000 00 00 000000 
006036' 000 00 00 000000 
006037' 000 00 00 000000 



.-Map a buffer (.Ssmap) argument block 

GFTAR6: 0.,5 

SQXCVD 



.-Thats it 



.-Processed words.. length of block 
.-Flags-Do not clr valid bit. 
.-Returned 32 bit buffer name 
.-Length of memory block 
.-Memory address(e.G. Bufi) 



DFCIC 
DFC1C2 

A633 

A634 

A635 

4636 

4637 

4638 

4639 

4640 

4641 

4642 

4643 

4644 

46A5 

4646 

4647 

4648 

4649 

4650 

4651 

4652 

4653 

4654 

4655 

4656 

4657 

4658 

4659 

4660 

4661 

4662 

4663 

4664 

4665 

4666 

4667 

4668 

4669 



Cluster Test Protocol Responder MACRO Z53B(1242) 11:18 27-Aug-85 Page 40 
MAC 27-Aug-8f 11:17 Unmap Buffer 



SEO 0183 



;This routine 
;First we set 



;Call: 



SUBTIL Unmap Buffer 

removes (unmaps) a buffer from sea, used in dma transfers, 
up the argument block then execute the scs jsys. 



006040' 
006041 ' 
006042' 
006043' 
006044 ' 
006045' 
006046' 
006047' 
006050' 
006051 ' 
006052' 
006053' 
006054' 
006055' 
006056' 
006057' 
006060' 



261 

261 

261 

261 

201 

202 

202 

201 

201 

260 

254 

334 

350 

262 

262 

262 

262 



17 
17 
17 
17 
02 
02 
01 
01 
02 
17 
00 
00 
00 
17 
17 
17 
17 



00 
00 
00 



00 
00 
00 
00 
00 
00 
00 
00 
00 
17 
00 
00 
00 
00 



000001 
000002 
000003 
000004 
000002 
006064 ' 
006065' 
00001 5 
006064 ' 
004605 ' 
006054 • 
000000 

000004 
000003 
000002 
000001 



RMVBUF 



RMVBUA : 



Move 
Go 
+1 
+2 

PUT 
PUT 
PUT 
PUT 
MOVE I 
MOVEM 
MOVEM 
MOVEI 
MOVcI 
60 
JRST 
SKI PA 
AOS 
GET 
GET 
GET 
GET 



ac1,Cn] 
rmvDuf 



AC1 

AC2 

AC3 

AC4 

AC2,.LBUMP 

AC2,.SQLEN^RMVARG 

AC1 , . SQNAM+RMVARG 

AC1,.SSUMP 

AC2,RMVAR6 

DOSCS 

RMVBUA 



-4(P) 

AC4 

AC3 

AC2 

AC1 



;n=32 bit buffer name 
;call this routine 
;6ood return 
;Error return 

;Save the ac's 



;Load length ' , , 

; Store length of argument h'ock 
.-Store the memory address 
; Unmap a buffer function code 
;Address of argument block to ac2 
.-Execute the jsys 
.-Error go here 
.-Take -♦■T good return 
.-Take +2 error return 
.•Restore the ac's 



006061' 332 00 00 000216' 
006062' 260 17 00 262256 

006063' 263 17 00 000000 



006064' 000000 000002 
006065' 000 00 00 000000 



TRMSG (Unmap Buffer) 



RTN 

;Unmap a buffer(.Ssump) argument block 

RMVARG: 0...L8UMP 
Z 



.-Thats it 



.•Processed words.. length of block 
;32 Bit buffer name to be unmapped 



^_j 



DFCIC Cluster Test Protocol Responder MACRO Z53B(1242) 11:18 27-Aug-85 Page 41 
DFCIC2 MAC 27-Aug-85 11:17 Send Data 



SEQ 0184 



4670 

4671 

4672 

4673 

4674 

4675 

4676 

4677 

4678 

4679 

4680 

4681 

4682 

4683 

4684 

4685 

4686 

4687 

4688 

4689 

4690 

4691 

4692 

4693 

4694 

4695 

4696 

4697 

4698 

4699 

4700 

4701 

4702 

4703 

4704 

4705 

4706 

4707 

4708 

4709 

4710 





;Th1s routine 




; First we set 




;Call: 




; Move 




; Move 




; Move 




; Move 




Go 




♦1 


261 17 00 000005 


SEDATA: PUT 


261 17 00 000006 


PUT 


201 06 00 000005 


MOVE I 


202 06 00 006110' 


MOVEM 


202 01 00 006111 • 


MOVEM 


202 02 00 006112' 


MOVEM 


202 03 00 006113' 


MOVEM 


202 04 00 006114' 


MOVEM 


201 01 00 000016 


MOVEI 


201 02 00 006110' 


MOVEI 


260 17 00 004605' 


GO 


260 17 00 004633' 


GO 


350 00 00 000261 ' 


AOS 



006066' 
006067' 
006070' 
006071 • 
006072' 
006073' 
006074' 
006075 ' 
006076' 
006077' 
006100' 
006101' 
006102' 



006103' 332 00 00 000216' 

006104' 260 17 00 262266 

006105' 26? 17 00 000006 

006106' 2oi 17 00 000005 

006107' 263 17 00 000000 



006110' 000000 000005 
0061 1 1 ' 000 00 00 000000 
006112' 000 00 00 000000 
006113' 000 00 00 000000 
006114' 000 00 00 000000 



SUBTTL Send Dat^ 

transfers data 
up the argumen' 

ac1,Cn] 
ac2«Cffl] 
ac3,Cy] 
ac4«Cz] 
sedata 



AC5 

AC6 

AC6..LBSND 

AC6,.SQLEN^SEDARG 

ACn.SQCID+SEDARG 

AC2,.SQSNM+SEDARG 

AC3,.SQRNM+SEDARG 

AC4,.SQ0FS^-SEDARG 

AC1,.SSSND 

AC2,SEDARG 

DOSCS 

ERRSCS 

DMAWRT 



TRMSG (Send Data) 



to a remote 
block then 



node, 
execute 



the scs jsys, 



GET 
GET 
RTN 



AC6 
AC5 



;Send data (.Sssnd) argument block 

SEDARG: 0,,.LBSND 
Z 



;n=cid 

;m=32 bit send buffer name 

;y=32 bit receive buffer name 

;2=xmit off set,, receive offset 

;call this routine 

;Return here always 

;Save the ac's 

;Load length ... 

;Store length of argument block 

; Store the cid 

; Store the send buffer name 

; Store the receive buffer name 

; Store the offsets 

;Send data function code 

.•Address of argument block to ac2 

.•Execute the isys 

;If error go here 

.•Count of dma writes 



.•Restore the ac's 
;Thats it 



.•Processed words,. length of block 

;Cid 

;32 Bit buffer name of send buffer 

;32 Bit buffer name of receive buffer 

;Xmit offset,, receive offset 



~L r 



IL 



DFCIC 
DFC1C2 

4711 

4712 

4715 

4714 

4715 

4716 

4717 

4718 

4719 

4720 

4721 

4722 

4723 

4724 

4725 

4726 

4727 

4728 

4729 

4730 

4731 

4732 

4733 

4734 

4735 

4736 

4737 

4738 

4739 

4740 

4741 

4742 

4743 

4744 

4745 

4746 

4747 

4748 

4749 

4750 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 42 
MAC 27-Aug-85 11:17 Read Data 

SUBTIL Read Data 



SEQ 0185 



;This routine tells sea that data is to be expected for the given buffer name 
;First we set up the argument block then execute the scs jsys. 



;Call: 



I 
t 



Move 
Move 
Move 
Move 



006115' 
006116' 
006117' 
006120* 
006121' 
006122' 
006123' 
006124' 
006125' 
006126' 
006127' 
006130' 
006131' 



261 17 
261 17 

201 06 

202 06 
202 01 
202 02 
202 03 
202 04 
201 01 
201 02 
260 17 
260 17 
350 00 



















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000005 

000006 

000005 

006137' 

006140' 

006141' 

006142' 

006143' 

000017 

006137' 

004605 ' 

004633' 

000262' 



006132' 332 00 00 000216' 

006133' 260 17 00 262276 

006134' 26? 17 00 000006 

006135' 2oi 17 00 000005 

006136' 263 17 00 000000 



006137' OOgOCO 000005 
006140' 000 00 00 000000 
006141' 000 00 00 000000 
006142' 000 00 00 000000 
006143' 000 00 00 000000 



REDATA: PUT 
PUT 
MOVE I 
MOVEN 
MOVEM 
MOVEM 
MOVEM 
MOVEM 
MOVE I 
MOVE I 
60 

GO 
AOS 



acl^Cn] 
ac2«Cm] 
ac3,[y] 
ac4,[z] 
redata 



AC5 

AC6 

AC6,.LBREQ 

AC6,.SQLEN+REDAR6 

AC1,.SQCID+REDAR6 

AC2..SQSNMiREDAR6 

AC3,.SQRNM+REDARG 

AC4,.SQ0FS+REDARG 

AC1,.SSREQ 

AC2,REDARG 

DOSCS 

ERRSCS 

DMARD 



TRMSG (Read Data) 



GET 
GET 
RTN 



AC6 
AC5 



.•Request data(.Ssreq) argument block 
REDARG: 0,,.LBREQ 



;n=cid . ,, 

;m=32 bit send buffer name 

;y=32 bit receive buffer name 

;z=xmit offset.. receive offset 

.-call this routine 

.-Return here always 

;Save the ac's 

;Load length ^ \. . 

.•Store length of argument block 

.•Store the cid 

.•Store the send buffer name 

.•Store the receive buffer name 

.-Store the offsets 

.•Request data function code 

.•Address of argument block to ac2 

.•Execute the isys 

;If error go here 

.•Count of dma reads 



.•Restore the ac's 
;Thats it 



.•Processed words,. length of block 

.-Cid 

;32 Bit buffer name of send buffer 

;32 Bit buffer name of receive buffer 

.•Xmit offset.. receive offset 






DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 43 
DFCIC2 MAC 27-Aug-85 11:17 Get Data Queue Entry 



SEQ 0186 



4751 

4752 

4753 

4754 

4755 

4756 

4757 

4758 

4759 

4760 

4761 

4762 

4763 

4764 

4765 

4766 

4767 

4768 

4769 

4770 

4771 

4772 

4773 

4774 

4775 

4776 

4777 

4778 

4779 

4780 

4781 

4782 

4783 

4784 



■ SUBTIL Get Data Queue Entry 

;Get entry from the data queue(dma). . 
;We come here only during interrupt time. 
;Call: 

dataq 



n 



006144* 
006145' 
006146' 
006147' 
006150' 
006151' 
006152' 
006153' 
0061 54 ' 
006155' 
006156' 
006157' 
006160' 
006161' 
006162' 
006163' 
006164' 



261 17 
261 17 

261 17 

201 01 

202 01 
476 00 
402 00 
201 01 
201 02 
260 17 
254 00 
200 03 
334 00 
402 00 

262 17 
262 17 
262 17 























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000004 

000003 

006170' 

006171' 

006172' 

000024 

006170' 

004605 ' 

006161' 

006172' 

000000 

000003 

000004 

000002 

000001 



DATAQ: PUT 
PUT 
PUT 
MOVE I 
MOVEM 
SETOM 
SETZM 
MOVE I 
MOVE I 
GO 

JRST 
MOVE 
SKI PA 

DATATE: SETZM 
GET 
GET 
GET 



AC1 

AC2 

AC4 

AC1,.LBGDE 

ACU.SQLEN+DATARG 

.SQCID^DATARG 

.SQBID^-DATARG 

ACU.SSGDE 

AC2,DATARG 

DOSCS 

DATATE 

AC3,.SQBID+DATARG 

AC3 
AC4 
AC2 
AC1 



;call this routine 

;Ac3=buffer name 

;lf no more events ac3 

;Save the ac's 



= 



;Set up length of 

; The argument block 

;Use any CID 

; Clear the buffer id location 

.•Function code 

.•Address of argument block 

.•Execute the isys 

;If error go here(no more events) 

;Get the buffer id 

.-Flag the error 
.-Restore the ac's 



006165' 332 00 00 000216' 
006166' 260 17 00 262310 
006167' 263 17 00 000000 

006170' 000000 000003 
006171' 000 00 00 000000 
006172' 000 00 00 000000 



TRMSG (Get Data Queue Entry) 
RTN 
DATARG: 0...LBGDE 



;Thats it 

.-Words processed., length of block 

.-Connect id 

.-Buffer id whos xfer completed 



'1 



c 



1 



DFCIC 
DFC1C2 

4785 
4786 
4787 
4788 
4789 
4790 
4791 
4792 
4793 

4795 

4796 

4797 

4798 

4799 

4800 

4801 

4802 

4803 

4804 

4805 

4806 

4807 

4808 

4809 

4810 

4811 

4812 

4813 

4814 



Cluste 
MAC 



r Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 
27-Aug-85 11:17 Get Event Queue Entry 

SUBTTL Get Event Queue Entry 



44 



SEQ 0187 



;Get entry from the event queue. 

;We come here only during interrupt time. 

;Call: 



§ 



Go 
+1 



006173' 
006174' 
006175' 
006176* 
006177' 
006200' 
006201 ' 
006202' 
006203' 
006204' 
006205' 
006206' 
006207' 
006210' 
00621 1 ' 
006212' 
006213' 
006214' 
00621 5 ' 
006216' 
006217' 



261 

261 

261 

201 

?02 

476 

402 

505 

541 

251 

201 

201 

260 

254 

200 

200 

334 

402 

262 

262 

26? 



17 

17 

17 

01 

01 

00 

00 

01 

01 

01 

01 

02 

17 

00 

03 

04 

00 

00 

17 

17 

17 



























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 

000002 

000005 

000010 

006237' 

006240' 

006241 ' 

006241 ' 

006242 ' 

006246' 

000025 

006237' 

004605 ' 

006214' 

006240' 

006242' 

000000 

000004 

000005 

000002 

000001 



EVENTQ: PUT 
PUT 
PUT 
MOVE I 
MOVEM 
SETOM 
SETZM 
HRLI 
HRRI 
BLT 
MOVEI 
MOVEI 
60 

JRST 
MOVE 
MOVE 
SKI PA 

EVENTE: SETZM 
GET 
GET 
GET 



eventq 



AC1 

AC2 

AC5 

ACU.LBEVT 

ACK.SQLEN+EVTARG 

.SQCID+EVTARG 

.SQESB+EVTARG 

ACK.SQESB+EVTARG 

AC1,.SQEVT+EVTARG 

ACKEVTARG+<.LBEVT-1> 

ACU.SSEVT 

AC2,EVTARG 

DOSCS 

EVENTE 

AC3,.SQCIDtEVTAR6 

AC4,.SQEVT+EVTAR6 

AC4 
AC5 
AC2 
AC1 



;call this routine 

;Ac3 = cid & ac4 = event 

;Ac4 = if no more events 

;Save the ac's 



code 



Set up length of 

The argument block 
-1 = Get any msg for this fork 
Clear the 1st location for the bit 
Zero out 

The argument block 

For incoming data 
Function code 
Address of argument block 
Execute the isys 
If error go here(no more events) 
Get the cid 
Get the event code 

Flag the error 
Restore the ac's 



C 



'5 



OFCIC Cluster Test Protocol Responder MACRO 2538(1242) 11 :18 27-Aug-85 Page 45 
DFC1C2 MAC 27-Aug-85 11:17 Get Event Queue Entry 



SEQ 0188 



4815 

4816 

4817 

4818 

4819 

4820 

4821 

4822 

4823 

4824 

4825 

4826 

4827 

4828 

4829 

4830 

4831 

4832 

4833 

4834 

4835 

4836 

4837 

4838 

4839 

4840 

4841 

4842 



.-Output trace message if needed 



006220' 
006221 • 
006222 • 
006223' 
006224' 
006225' 
006226' 
006227' 
006230' 
006231 ' 
006232' 
006233' 
006234' 
006235' 



332 
336 
254 
261 
261 
261 
561 
260 
200 
260 
260 
262 
262 
262 



00 
00 
00 
17 
17 
17 
01 
17 
02 
17 
17 
17 
17 
17 




















00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000004 

000216' 

006236' 

000001 

000002 

000003 

26231 5 

004550' 

000004 

004564' 

004547' 

000003 

000002 

000001 



006236' 263 17 00 000000 



SKIPE 

SKIPN 

JRST 

PUT 

PUT 

PUT 

HRROI 

60 

MOVE 

GO 

GO 

GET 

GET 

GET 

EVENTX: RTN 



AC4 

TRACE 

EVENTX 

AC1 

AC2 

AC3 

AC1.CASCI2/Get 

PRINTT 

AC2.AC4 

PRINTD 

PRINTC 

AC3 

AC2 

AC1 



;If no more events don't type 
;Are we in trace mode? 
;No, don't type anything 



event /] 



;Print that 
;Get the event code 
; Print it in decimal 
;Print CRLF 



006237' 
006240' 
006241 • 
006242' 
006243' 
006244 • 
006245' 
006246' 



000000 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 



000010 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 
00 000000 



EVTARG: 0,,.LBEVT 
I 



;Thats it 

;Words processed,, length of block 

;Cid 

;UodeM of remote node 

; Event code 

; Event data 

;Event data 

; Event data 

;Event data 



) 



7t 



DFCIC 
DFCIC2 

4843 

4844 

4845 

4846 

4847 

4848 

4849 

4850 

4851 

4852 

4853 

4854 

4855 

4856 

4857 

4858 

4859 

4860 

4861 

4862 

4863 

4864 

4865 

4866 

4867 

4868 

4869 

4870 

4871 

4872 

4873 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 46 
MAC 27-A«ug-85 11:17 Perform DIAG JSYS or UUO 

SUBTTL Perform DIAG JSYS or UUO 



SEQ 0189 



This routine executes the 'DIAG" isys which is used to send either a "START" 
Or "STOP" packet on the ci or to ''START" or "STOP" the poller. 



Call: 



♦■•■ 
# 

* 

I 



Set up the "DIAGAG" argument block before calling this routine. ^ 
Move ac1,Cn] ;n = -length,, address of argument block 

Go diagj ;call this routine 

i1 ;Error return 

+2 ;Goocl return 



006247' 
006250' 
006251 • 
006252' 
006253' 
006254' 
006255' 
006256' 
006257' 
006260' 



261 
261 
261 
261 
201 
336 
254 
104 
320 
254 



17 


17 


17 


17 


04 


00 


00 


00 


16 


00 



00 
00 
00 
00 
01 
00 
00 
00 
00 
00 



000001 

000002 

000003 

000004 

000000 

000234 • 

006261 • 

000530 

006271 ' 

006263' 



DIAGJ: 



006261' 047 01 00 000163 
006262' 254 00 00 006275' 



006263' 350 00 

006264' 262 17 

006265' 262 17 

006266' 262 17 

006267' 26? 17 

006270' 2oi 17 



17 77777 i* 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 



DIAGU: 



DIAGS: 
DIAGF: 



PUT 

PUT 

PUT 

PUT 

MOVE I 

SKIPN 

JRST 

DIAGX 

ERJMP 
JRST 

DIAG. 
JRST 

AOS 
GET 
GET 
GET 
GET 
RTN 



AC1 

AC2 

AC3 

AC4 

AC4,(AC1) 

MONTYP 

DIAGU 

ERRDI2 
DIAGS 

AC1, 
ERRDI1 

-4(P) 

AC4 

AC3 

AC2 

AC1 



;Sa\/e acs 



;Load the address of the argument blk 

;Skip if TOPS-20 

;T0PS-10, DIAG UUO 

;The DIAG JSYS 

.-Error calKfor trace only) 

.'Success 

;The UUO 

; Report error 

;Good return 
.-Restore the acs 



.-Return 



i~ 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11 :1j5, 27-Aug-85 Page 47 
DFC1C2 MAC 27-Aug-85 11:17 Perform DIAG JSYS or UUO 



SEQ 0190 



A874 

4875 

4876 

4877 

4878 

4879 

4880 

4881 

4882 

4883 

4884 

4885 

4886 

4887 

4888 

4889 

4890 

4891 

4892 

4893 

4894 

4895 

4896 

4897 

4898 

4899 

4900 

4901 

4902 

4903 

4904 

4905 

4906 

4907 

4908 

4909 

4910 

4911 



006271 • 561 01 00 262320 

006272' 260 17 00 004550' 

006273' 260 17 00 004676' 

006274' 254 00 00 006313' 



006275 ' 
006276' 
006277' 
006300' 
006301 ' 
006302' 
006303' 
006304' 

006305 ' 
006306' 
006307' 
006310' 
00631 1 ' 
006312' 

006313' 
006313' 
006314' 
00631 5 ' 
006316' 
006317' 
006320' 
006321 ' 
006322' 
006323' 
006324 ' 
006325' 



261 17 00 000001 
561 01 00 262324 
260 17 00 004550' 
200 02 17 000000 
260 17 00 004555' 
561 01 00 261464 
260 17 00 004550' 

262 17 00 000002 

205 01 00 777765 
554 03 01 006326' 
302 02 03 000000 
253 01 00 006306' 
560 01 01 006326' 
260 17 00 004550' 



561 01 
550 02 
260 17 
2oJ 17 
561 01 
260 17 
550 02 
275 02 
260 17 
260 17 
254 00 



00 262330 
04 000000 
00 004550' 
00 004555' 
00 261475 
00 004550' 

17 niiit, 

00 000001 
00 004555' 
00 004547' 
00 006264' 



;Here of error on the -20 



ERRDI2: HRROI 
60 
GO 
JRST 

;Here if error 

ERRDI1: PUT 
HRROI 
GO 
MOVE 
GO 

HRROI 
GO 
GET 

MOVSI 
ERRDI3: HLRZ 
CAIE 
AOBJN 
HRRO 



ERRDI4: HRROI 
Function /D 
HRRZ 



i 



HRROI 

GO 

HRRZ 

SU6I 

GO 

GO 

JRST 



AC1,CASCIZ/? DIAG JSYS 

PRINTT 

ERSTRT 

ERRDI4 



error: /] ;Load error text 
; Print it 

;Print error string 
;Print PC, etc 



to terminal 



on the -10 

AC1 

AC1,CASCIZ/? DIAG 

PRINTT 

AC2,(P) 

PRINTO 

AC1,CASCIZ/) /] 

PRINTT 

AC2 

AC1,-ERRDIL 

AC3,ERRDIT(AC1) 

AC2,(AC3) 

AC1,ERRDI3 

AC1,ERRDIT(AC1) 

PRINTT 



;Sa\/e error code 
UUO error: (/] :Load error text 
.-Output that 
;Load error code 
;Print in octal 
;Load finish text 
;Print that 
;Get error code back in AC2 

;Load length of table 
;Load an error code 
;Skip if match 
;Loop for more looking 
;Point to asciz text 
.•Output that please 



AC1.CASCIZ/ ... 

;Load string to print 

AC2.(AC4) ;Load the function code 

PRINTT .-Print that . 

PRINTO .-Print that in octal please 

AC1.CASCIZ/. called from PC /] .-Print a label for the next bit 

PRINTT .-Print that 

AC2.-4(P) .-Get pc^l . ' , 

AC2.1 .-Point to right location 

PRINTO .-Print octal number 

PRINTC .-Print CRLF 

DIAGF .-Failed, return 



L 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 48 
DFC1C2 MAC 27-Aug-85 11:17 Perform DIA6 JSYS or UUO 



SEQ 0191 



A912 

4913 

4914 

4915 

4916 

4917 

4918 

4919 

4920 

4921 

4922 

4923 

4924 

4925 

4926 

4927 

4928 

4929 

4930 

4931 

4932 

4933 

4934 

4935 

4936 

4937 

4938 

4939 

4940 

4941 

4942 

4943 

4944 

4945 

4946 

4947 

4948 

4949 

4950 

4951 

4952 

4953 

4954 

4955 

4956 

4957 



006326' 000001 262333 
006327' 000002 262340 



006330' 000007 262346 
006331' 000010 262354 



006332 ' 
006333' 
006334 ' 
006335 ' 
006336' 
006337' 
006340' 



00001 3 
000014 
00001 5 
000016 
000017 
000020 
000021 



262361 
262365 
262372 
262375 
262401 
261550 
262405 



006341' mill 262415 

000013 



006342 ' 
006343' 
006344 ' 
006345' 
006346' 
006347' 
006350' 
006351 ' 
006352' 
006353' 
006354 ' 
006355' 
006356' 
006357' 
006360' 
006361 • 
006362' 
006363' 
006364 ' 
006365 ' 
006366' 



000 00 
000 00 
000 00 
000 00 
000 00 
Ou.» 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
000 00 
OOC 00 
000 00 


























00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



;TOPS-10 error table 

ERRDIT: XUD DIANPX. 

XUD DIAIAZ. 

:XUD DIAICX. 

:XUD DIAIUX. 

:XUD DIAAAX, 

:XUD DIADMX, 

XUD DIAAJX. 

XUD DIAFCZ. 

:XUD DIAAUZ. 

;XUD DIACPZ. 

XUD DIAIFZ, 

XUD DIAVCZ. 

XUD DIANCZ. 

XUD DIANRZ. 

XUD DIABAZ. 

XUD DIACIZ, 

XUD DIATOZ. 

;XUD DIANKZ, 

:XUD DIARFZ. 

XUD mill. 

ERRDIL==.-ERRD1 

DIAGAG: Z 
Z 

^ .;: 

■ ■ r 



Block 4 



CASCIZ/Not enough privileges/] 
CASCIZ/Illegal number of arguments/J 
CASCIZ/Illegal controller number/] 
CASCIZ/Illegal unit number/] . 
CASCIZ/Some units already assigned/] 
CASCIZ/Unit not in diagnostic mode/]^ 
CASCIZ/Unit assigned to another job/] 
CASCIZ/Not enough free core/] 
CASCIZ/No assigned units/] 
CASCIZ/IOUD crosses page boundry/] 
CASCIZ/Illegal function/] 
CASCIZ/Job must not be virtual/] 
CASCIZ/No such CPU/] 
CASCIZ/CPU not running/] 
CASCIZ/Bad argument list/] . ^ ,^ 
CASCIZ/No CI port on specified CPU/]. ^ 
CASCIZ/Read port counters function timed out/] 
CASCIZ/No NI port on specified CPU/] 
CASCIZ/Microcode reload failed/] 
CASCIZ/Unknown DIA6 error code/] 
T-1 

Diag function code 

Argument channel,, counter function 

Argument counter,, fork number 

Microcode version 

Path a ack count 

Path a nak count 

Path a no response count 

Path b ack count 

Path b nak count 

Path b no response count 

Number of dropped datagrams 

# Of packets transmitted 

/If Of packets received 

Designated port for counters 

Monitor stuff 

Monitor stuff 

Monitor stuff 

Monitor stuff 

Monitor stuff 

Monitor stuff 

Some extra nothings 



r 



f 



179 



OFCIC 
DFCIC2 

A958 

A959 

A960 

A961 

A962 

A963 

496A 

4965 

4%6 

4967 

4968 

4969 

4970 

4971 

4972 

4973 

4974 

4975 

4976 

4977 

4978 

4979 

4980 

4981 

4982 

4983 

4984 

4985 

4986 

4987 

4988 



Cluster 
MAC 



Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 49 
27-Aug-85 11:17 TOPS-10 Interrupt Dispatch 



006372' 261 
006373' 261 
006374' 261 
006375' 261 
006376' 261 
006377' 261 
006400' 261 



17 00 000000 

17 00 000001 

17 00 000002 

17 00 000003 

17 00 000004 

17 00 000005 

17 00 000006 



006401 ' 
006402 ' 
006403' 
006404' 
006405 ' 
006406' 
006407' 
006410' 
00641 1 • 
006412' 
006413' 
006414' 
006415' 
006416' 
006417' 
006420' 
006421 ' 
006422 • 
006423' 



201 02 

200 01 
603 01 

201 02 
603 01 
201 02 
603 01 
201 02 



603 01 
201 02 
260 17 
262 17 
262 17 
262 17 
262 17 
262 17 
262 17 
26? 17 
Oh' 00 

















00 262435 
00 007312' 
00 400000 
00 006574' 
00 200000 
00 006477* 
00 100000 
00 006720' 
00 040000 
00 006761 ' 
02 000000 
00 000006 
00 000005 
00 000004 
00 000003 
00 000002 
00 000001 
00 000000 
00 000137 



upt Dispa^ 
SUBTTL TOPS-10 Interrupt Dispatch 
;Here on a SCS event interrupt for TOPS-10 



SEQ 0192 



INTTEN: PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
HOVEI 

MOVE 

TLNE 

HOVE I 

TLNE 

MOVEI 

TLNE 

HOVE I 

TLNE 

HOVEI 

60 

GET 

GET 

GET 

GET 

GET 

GET 

GET 

DEBRK, 



ACQ 
ACl 
AC2 
AC3 
AC4 
AC5 
AC6 
AC2,C TRHSG (Unknown 

RTN] 
AC1,PIVECT*SC0FFS*.PSVI 
ACl.(SCZHSA) 
AC2JNPHSG 
AC1,(SCXD6A) 
AC2 JNPDGH 
ACnCSCXDTA) 
AC2.DnAXFR 
ACl.(SCXEVA) 
AC2-0THREV 
(AC5) 
AC6 
AC5 
AC4 
AC3 
AC2 
ACl 
ACO 



;Save the ACs 



interrupt cause) 

;Load default routine 
S ;Get interrupt status word 

.'Message available? 

;Yes 

.'Datagram available? 

; Yep 

;DHA transfer complete 

;Yep 

.'Other event pending? 

;Yep 

.'Dispatch to proper routine 

.'Restore the acs 



.'Dismiss the interrupt 



1180 



DFCIC 
DFC1C2 

A989 
4990 
4991 
4992 
4993 
4994 
4995 
4996 
4997 
4998 
4999 
5000 
5001 
5002 
5003 
5004 
I 5005 
5006 
5007 
5008 
5009 
5010 
5011 
5012 
5013 
5014 
5015 
5016 
5017 
5018 
5019 
5020 
5021 



Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 50 
MAC 27-Aug-85 11:17 TOPS-20 Interrupt Dispatch 

SUBTTL TOPS-20 Interrupt Dispatch 



SEO 0193 



006424 • 
006425* 
006426* 
006427* 
006430* 

006431 * 

006432 * 
006433* 
006434 * 

006435* 
006436* 
006437* 
006440* 
006441 * 
006442* 
006443* 
006444 * 
006445* 

006446* 
006447* 
006450* 
006451 * 
006452* 
006453* 
006454* 
006455* 
006456* 



261 
261 
261 
261 
261 
261 
261 
260 
254 

261 
261 
261 
261 
261 
261 
261 
260 
254 

261 
261 
261 
261 
261 
26^ 

CO' 

260 
25'. 



17 
17 
17 
17 
17 
17 
17 
17 
00 

17 
17 
17 
17 
17 
17 
17 
17 
00 

17 
17 
17 
17 
17 
17 
17 
17 
00 



































00 000000 
00 000001 
00 000002 
00 000003 
00 000004 
00 000005 
00 000006 
00 006477* 
00 006467* 



00 
00 
00 
00 
00 
00 
00 
00 
00 



000000 

000001 

000002 

000003 

000004 

000005 

000006 

006574 * 

006467* 



00 000000 
00 000001 
00 000002 
00 000003 
00 000004 
00 000005 
00 000006 
00 006720* 
00 006467' 



;Here for TOPS-20 interrupt system dispatch 



INPD60: 



INPMSO: 



PUT 

PUT 

PUT 

PUT 

PUT 

PUT 

PUT 

GO 

JRST 

PUT 

PUT 

PUT 

PUT 

PUT 

PUT 

PUT 

GO 

JRST 



DMAXFO: PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
GO 
JRST 



ACO 

AC1 

AC2 

AC3 

AC4 

ACS 

AC6 

INPDGM 

INTDMS 

ACO 

AC1 

AC2 

AC3 

AC4 

ACS 

AC6 

INPMSG 

INTDMS 

ACO 

AC1 

AC2 

AC 3 

AC4 

ACS 

AC 6 

DMAXFR 

INTDMS 



.•Save the ACs 



.'Channel 23 datagram ay/ailable 
; Dismiss interrupt 

;Sd\/e the ACs 



.'Channel 24 message available 
.'Dismiss interrupt 

;Save the ACs 



.'Channel 25 - dma xfer complete 
.'Dismiss interrupt 



}181 



DKIC Cluster Test Protocol Responder WACRO X53B(12A2) 11:18 27-Aug-85 Page 51 
DFCIC2 MAC 27-Aug-85 11:17 TOPS-20 Interrupt Dispatch 



SEQ 0194 



5( 

5032 

5033 

503A 

5035 

5036 

5037 

5038 

5039 

50A0 

50A1 



006457' 
006460' 
006461 • 
006462 • 
006463' 
006464 • 
006465 • 
006466' 



006467' 
006470' 
006471 ' 
006472' 
006473' 
006474' 
006475' 
006476' 



261 17 00 000000 
261 17 00 000001 

^] Vr § §§ m\ 

261 17 00 000004 
261 17 00 000005 
261 17 00 000006 
260 17 00 006761' 



262 17 00 000006 
262 17 00 000005 
262 17 00 000004 
262 17 00 000003 
262 17 00 000002 
262 17 00 000001 
262 17 00 000000 
104 00 00 000136 



OTHREO: PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
PUT 
GO 



ACO 
AC1 
AC2 
AC3 
AC4 
ACS 
AC6 
OThREV 



;Say/e the ACs 



;Here to dismiss interupts 



INTDMS: 



GET 
GET 
GET 
GET 
GET 
GET 
GET 
DEBRKI 



AC6 
AC5 
AC4 
AC3 
AC2 
AC1 
ACO 



; Channel 26 for connections £ errors 



.-Restore the acs 



.'Dismiss interrupt 



0182 



DFCIC 
DFC1C2 

50A2 

50A3 

5044 

50A5 

50A6 

50A7 

50A8 

50A9 

5050 

5051 

5052 

5053 

505A 

5055 

5056 

5057 

5058 

5059 

5060 

5061 

5062 

5063 

506A 

5065 

5066 

5067 

5068 

5069 

5070 

5071 

5072 

5073 

507A 

5075 

5076 

5077 

5078 

5079 



Cluster Test 



Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 52 
27-Aug-85 11:17 Interrupt Routine For Inputting Datagrams 



SEQ 0195 



006A77' 
006500' 
006501 • 
006502' 
006503' 
00650A ' 
006505 ' 



006506' 
006507' 
006510' 
006511' 
006512' 
006513' 
00651 A' 
006515' 



332 00 
260 17 
260 17 
336 00 
25A 00 
350 00 
200 03 



A76 00 
201 01 
350 00 
200 05 
312 03 
367 01 
336 00 
25A 00 
























00 
00 
00 
00 
00 
00 
00 



00 
00 
00 
02 
05 
00 
00 
00 



000216' 

262AA7 

005A52' 

005503' 

006570' 

000257' 

005502' 



00C002 

OOOOAO 

000002 

010556' 

000000 

006510' 

000001 

262A67 



006516' 332 00 05 000002 
006517' 336 00 05 000003 
006520' 25A 00 00 006527' 



006521 ' 
006522' 
006523' 
00652A' 
006525' 
006526' 



200 01 
200 02 
A 76 00 
260 17 
260 17 
25A 00 



SUBTTL Interrupt Routine For Inputting Datagrams 
;Here on a message available datagram 
INPD6M: TRMSG (Interrupt for Input Datagram) 



INPDGH: GO 

SKIPN 
JRST 
AOS 
MOVE 



RCVD6M 

.SQARB^RCDARG 

INPDGX 

D6MSRV 

AC3,.SQCID^RCDARG 



.'Receive a datagram 
;Any more dataarams? 
;No, dismiss tne interrupt 
; Count of recieved dgms 
;Get the cid 



;Find the cblk that is connected to this incoming datagram. 



SETOM 
MOVE I 
INPDGA: AOS 
MOVE 
CAME 
SOJG 
SKIPN 
CRASH 



AC2 

ACKCBLSTE 

AC2 

AC5,CBLST(AC2) 

AC3,CID(AC5) 

ACUNPDGA 

AC1 



;Init index pointer 
;6et size of cblst 
; Increment index 
;Get cblk address 
;Are the cids equal? 
;No, keep looking 
;Have we looked in the 



whole table? 



(NCI. No cblk for dgm input interrupt) ;No cblk for this dgm 



;The address of the received datagram cblk is now in ac5. 
.-Check to see if this cblk is full(2 rhblk address). 



SKIPE REQ1(AC5) 
SKIPN RE02(AC5) 
JRST INPDGB 



• 

f 


Cblk is full. 


Send back no resources 


00 005502' 


MOVE 


AC1..SQCID+RCDARG 


00 005503' 


MOVE 


AC2..SQARB*RCDARG 


00 000003 


SETOM 


AC3 


00 005015' 


GO 


S'^NNRS 


00 005370' 


GO 


»UDGM 


00 006501' 


JRST 


INPDGH 



;Is this location empty? 

;No. is this location empty? 

;Yes. we have room for this datagram 



;Get the cid 

.-Get the rblk address 

;Uas received as a datagram 

;Send back no resources 

; Queue up th'fs same rblk 

;See if any more datagrams are available 



DFCIC 
DFCIf2 

5080 
5081 
5082 
5083 
508A 
5085 
5086 
5087 
5088 
5089 
5090 
5091 
5092 
5093 
5094 
5095 
5096 
5097 
5098 
5099 
5100 
i 5101 
5102 
5103 
51 OA 
5105 
5106 
5107 
5108 
5109 
5110 
5111 
5112 
5113 
5114 
5115 
5116 
5117 
5118 
5119 
5120 



Cluster Test P 
MAC 27-Aug 



rotocol Responder MACRO 5;53B(1242) 11:18 27-Aug-85 Page 
-85 11:17 Interrupt Routine For Inputting Datagr 



53 
ams 



SEQ 0196 



006527' 
006530' 
006531 ' 
006532' 
006533' 
006534' 
006535' 
006536' 



200 03 
402 00 
515 02 
316 03 
254 00 
271 01 

253 02 

254 00 



00 
00 
00 
01 
00 
00 
00 
00 



005503' 

000001 

777400 

010621' 

006537' 

000004 

006532' 

262507 



006537' 
006540' 
006541 ' 
006542' 
006543' 
006544' 
006545' 
006546' 
006547' 
006550' 
006551 ' 



201 03 
332 00 
254 00 

202 03 
336 00 
254 00 
200 01 
661 01 
661 01 
2C2 01 
254 00 



01 
05 



00 
05 
05 
00 
03 
00 
00 
03 
00 



010616' 

000002 

006552' 

000002 

000003 

006561 • 

000002 

000001 

000020 

000002 

006501 • 



006552' 336 00 05 000003 
006553' 202 03 05 000003 



006554' 200 01 03 000002 
006555' 661 01 00 000001 
006556' 661 01 00 000020 
006557' 202 01 03 000002 
006560' 254 00 00 006501' 



;Find the rhblk from the rblk address 



INPDGB: MOVt 
SETZ.^ 
HRLZI 

INPDGC: CAMN 
JRST 
ADDI 
AOBJN 
CRASH 



AC3,.SQARB+RCDAR6 

AC1 

AC2,-<C0UNT*RHBPER> 

AC3,RH1+CTPPKT(AC1) 

INPD6D 

ACI.RHBLEN 

AC2JNPDGC 



;Get the rblk address 

• CI'" ac . . X .-ui. 
.-Negative count of the no of rhblks 

;Does this rblk match? 

; Yes 

;Incr to next rhblk 

;Have we checked all the rhblk's? 



(CFD, Can't find rhblk for dgm input interrupt) 



; Found the rhblk that is connected to this datagram. 
;Set up the cblk as follows: 

Cblk: cid 
; Status 

;• Rhblk 

Rhblk 



INPDGD: MOVEI 
SKIPE 
JRST 
MOVEM 
SKIPN 
JRST 
MOVE 
TLO 
TLO 
MOVEM 
JRST 



AC3,RH1(AC1) 

REQ1(AC5) 

INPDGE 

AC3-REQ1(AC5) 

REQ2(AC5) 

INPDGF 

AC1,STATUS(AC3) 

AC1,(G0BIT) 

AC1,(DGM) 

AC1,STATUS(AC3) 

INPDGH 



INPDGE: SKIPN REQ2(AC5) 

MOVEM AC3,REQ2(AC5) 

;Set the gobit & dgm in he rhblk, 

MOVE AC1,STATUS(AC3) 

TLO AC1, (GOBIT) 

TLO AC1,(DGM) 

MOVEM AC1,STATUS(AC3) 

JRST INPDGH 



;was here already .^ .. . 
;set the ••GOBIT"^and DGM" in the status 
;if this was add the rhblk address 
;or if this was add the rhblk address 



Get the rhblk address 
Is this location empty? 
No, go ahead 

Yes, store it in the cblk 
Is this location empty? 
Go ahead 

Get the status word 
Set the gobit 
Set the agm bit 
And store it 
Don't put on linked list 

;Is this location empty? 
;Yes, store it in the cblk 



;Get the status word 

;Set the gobit 

;Set the dgm bit 

; And store it 

;See if any more datagrams are available 



DFCIC 
DFCIC2 

5121 

5122 

5127 

51 24 

5125 

5126 

5127 

5128 

5129 

5130 

5131 

5132 

5133 

51 3A 

5135 

5136 

5137 

5138 

5139 

51A0 



Cluster Test P 
MAC 27-Aug 



TotocoL Responder MACRO 5:538(1242) 11:18 27-Aug-85 Page 54 
1-85 11:17 Interrupt Routine For Inputting Datagrams 



SEQ 0197 



006561 • 
006562 • 
006563' 
006564* 
006565* 
006566' 
006567' 



200 01 
661 0) 
661 01 
202 01 
200 01 
260 17 
254 00 



03 000002 


INPD6F: MOVE 


00 000001 


TLO 


00 000020 


TLO 


03 000002 


MOVEM 


00 000003 


MOVE 


00 003073' 


GO 


00 006501 • 


JRST 



;Set the gobit & dgm in the rhblk and 
;Set up tne rhblk as follows: 

Rhblk: flink 
; Blink 

; Dgm.gobit,,cblk 

Rblk 



AC1,STATUS(AC3) 

ACK(60BIT) 

ACi,(DGM) 

AC1,SrA.TUS(AC3) 

AC1,AC3 

ADH6LK 

INPD6H 



add this rhblk to the linked list. 

;set the flink up 

;set the blink up . , .. . ^ ^ 
;set the dgm & gobit. Cblk was already here. 
;rblk was already here 

;Get the status word 

;Set the gobit 

;Set the dgm bit 

; And store it 

;Rhblk in ad ...... 

;Add this rhblk to the linked list. 
;See if any more datagrams are available 



006570* 260 17 00 004453' 

006571' 332 00 00 000216' 

006572' 260 17 00 262522 

006573' 263 17 00 000000 



INPDGX: GO CWATSC ;Go check wait state 

TRMSG (Exit from Input Datagram Interrupt) 



RTN 



.•Return to dismiss interrupt 



DFCIC 
0FC1C2 

5141 

51A2 

51A3 

51AA 

5H5 

5U6 

51A7 

5148 

5149 

5150 

5151 

5152 

5153 

5154 

5155 

5156 

5157 

5158 

5159 

5160 

5161 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 55 
MAC 27-Aug-85 11:17 Interrupt Routine For Inputting Messages 

SUBTTL Interrupt Routine For Inputting Mes:>ages 



SEQ 0198 



006574' 
006575 • 
006576' 
006577' 
006600' 
006601 ' 
006602' 



006603' 
006604 ' 
006605 ' 
006606' 
006607' 
006610' 
00661 1 • 
00661 2 ' 
006613' 



332 00 
260 17 
260 17 
336 00 
254 00 
350 00 
200 03 



402 00 
476 00 
201 01 
350 00 
200 05 
312 03 
367 01 
336 00 
254 00 

























00 
00 
00 
00 
00 
00 
00 



00 
00 
00 
00 
02 
05 
00 
00 
00 



000216' 

262536 

005416' 

005447' 

006714' 

000260' 

005446' 



000273' 

000002 

000040 

000002 

010556' 

000000 

006606 ' 

000001 

262557 



INPMSG: TRMS6 (Interrupt for Input of Message) 



INPMSH: GO 

SKIPN 
JRST 
AOS 
MOVE 



RCVMSG 

.SQARB^RCMARG 

INPMSX 

MSGSRV 

AC3,.SQCID+RCMAR6 



.•Receive a message 
;Any more messages? 
;No, dismiss the interrupt 
.-Count of recieved msgs 
;Get the cid 



;Find the cblk that is connected to this incoming message. 



SETZM 
SETOM 
MOVE I 
INPMSA: AOS 
MOVE 
CAME 
S0J6 
SKIPN 
CRASH 



DGMMSG 

AC2 

ACUCBLSTE 

AC2 

AC5.CBLST(AC2) 

AC3.CID(AC5) 

AC1JNPMSA 

AC1 



;Clr the flag 

;Init index pointer 

;Get size of cblst 

.•Increment in^ex 

.-Get cblk address 

.-Are the cids equal? 

;No. keep looking , ^ , ^, ^ 

;Have we looked in the whole table? 



(CFM. Can't find cblk for message interrupt) ;No cblk for msg 



._J 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11;18 27-Aug-85 Page 56 
DFC1C2 MAC 27-Aug-85 11:17 Interrupt Routine For Inputting Messages 



SEQ 0199 



5162 

5163 

5164 

5165 

5166 

5167 

5168 

5169 

5170 

5171 

5172 

5173 

5174 

5175 

5176 

5177 

5178 

5179 

5180 

5181 

5182 

5183 

5184 

5185 

5186 

5187 

5188 

5189 

5190 

5191 

5192 

5193 

5194 

5195 

5196 

5197 

5198 

5199 

5200 

5201 



006614' 332 00 05 000002 
006615' 336 00 05 000003. 
006616' 254 00 00 006636' 



006617' 
006620' 
006621 ' 
006622' 
006623' 
006624 ' 
006625 ' 
006626' 
006627' 



200 01 
607 01 
254 00 
661 01 
202 01 
200 01 
200 02 
260 17 
254 00 



05 
00 
00 
00 
05 
00 
00 
00 
00 



000001 

200000 

006630' 

010000 

000001 

005446' 

005447' 

005342' 

006576' 



006630' 200 01 
006631 • 200 02 
006632' 402 00 
006633' 260 17 
006634' 260 17 
006635' 254 00 



00 005446' 
00 005447' 
00 000003 
00 005015' 
00 005342' 
00 006576' 



006636' 
006637' 
006640' 
006641 ' 
006642 • 
006643 ' 
006644 ' 
006645' 



200 03 
402 00 
515 02 
316 03 
254 00 
271 01 

253 02 

254 00 



00 
00 
00 
01 
00 
00 
00 
00 



005447' 

000001 

777400 

010621' 

006646' 

000004 

006641' 

262576 



. he address of the received message cblk is now in ac5. 
.-Check to see if this cblk is fullT2 rhblk address). 



SKIPE REQ1(AC5) 
SKIPN REQ2(AC5) 
JRST INPMSB 



;Is this location empty? 

;No, is this location empty? 

;Yes, we have room for this message 



;We don't have any room for this incoming message. 

;If this is a 3rd party response message set the no resource flag. 



MOVE AC1,CBSTS(AC5) 

TLNN ACU (THIRD) 

JRST INPMSJ 

TLO ACI.(GANRES) 

MOVEM AC1.CBSTS(AC5) 

MOVE AC1,.SQCID+RCMAR6 

MOVE AC2..SQARB+RCMAR6 

GO QBMSG 

JRST INPMSH 

;Cblk is full. Send back no resources. 



INPMSJ: MOVE 
MOVE 
SETZM 
60 
GO 
JRST 



AC1..SQCIDiRCMARG 

AC2,.SQARB+RCMAR6 

AC3 

SENNRS 

QBMSG 

INPMSH 



;Find the rhblk from the rblk address 



INPMSB: MOVE 
SETZM 
HRLZI 

INPMSC: CAMN 
JRST 
ADDI 
AOBJN 
CRASH 



AC3..SQARB+RCMARG 

AC1 

AC2,-<C0UNT*RHBPER> 

AC3.RHUCTPPKT(AC1) 

INPMSD 

AC1.RHBLEN 

AC2JNPMSC 



;Get the cblk status word 
;Is this a 3rd party cblk? 

•Set the "GEN ACT NO RESOURCE" flag 

.-Store it 

.-Get the cid 

.-Get the rblk address 

.-Queue up this same rblk 

.-See if any more messages are available 



.-Get the cid 

.-Get the rblk address 

;Uas received as a message 

.-No. send back no resources 

; Queue up this same rblk 

.-See if any more messages are available 



.-Get the rblk address 

•Clr ac , LL.. 

.-Negative count of the no of rhblks 

.-Does this rblk match? 

;Yes 

;Incr to next rhblk ...... ^ 

.-Have we checked all the rhblk's? 



(NRM, Can't find rhblk for message interrupt) ;No match 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 57 
DFC1C2 MAC 27-Aug-85 11:17 Interrupt Routine For Inputting Messages 



SEQ 0200 



5202 

5203 

5204 

5205 

5206 

5207 

5208 

5209 

5210 

5211 

5212 

5213 

52U 

5215 

5216 

5217 

5218 

5219 

5220 

5221 

5222 

5223 

5224 

5225 

5226 

5227 

5228 

5229 

5230 

5231 

5232 

5233 

5234 

5235 

5236 

5237 

5238 

5239 

5240 

5241 

5242 

5243 

5244 

5245 

5246 

5247 

5248 

5249 

5250 



006646' 
006647' 
006650' 
006651 • 
006652 ' 
006653' 
006654 ' 
006655' 



201 03 
200 00 
135 00 
306 00 
476 00 
332 00 
254 00 

202 03 














01 
03 
00 
00 
00 
05 
00 
05 



006656' 200 01 05 
006657' 607 01 00 
006660' 254 00 00 
006661 ' 661 01 00 
006662' 202 01 05 
006663' 254 00 00 



010616' 

000003 

262601 

000005 

000273' 

000002 

006674 ' 

000002 



000001 

200000 

006664 ' 

004000 

000001 

006576' 



006664 ' 
006665 ' 
006666' 
006667' 
006670' 
006671 ' 
006672' 
006673' 



3}>2 00 
254 00 
200 01 
661 01 
332 00 
661 01 
202 01 
254 00 














05 
00 
03 
00 
00 
00 
03 
00 



000003 

006703' 

000002 

000001 

000273' 

000420 

000002 

006576' 



006674' 202 03 05 000003 



006675' 607 01 
006676' 254 00 
006677' 200 01 
006700' 661 01 
006701 • 202 01 
006702' 254 00 



00 200000 
00 006666' 
05 000001 
00 002000 
05 000001 
00 006576' 



;Found the rhblk that is connected to this message. 
;Set up the cblk as follows: 



I 



Cblk: 



INPMSD: MOVE! 
MOVE 
LDB 
CAIn 
SETOrt 
SKIPE 
JRST 
MOVEM 



cid 
Status 
Rhblk 
Rhblk 

AC3,RH1(AC1) 

AC0,CTPPKT(AC3) 

ACO, [POINT 8,aAC0,73 

AC0,5 

0GMMS6 

REQ1(AC5) 

INPMSE 

AC3,REQi(AC5) 



;was here. already. 

;set the ••60BIT"^in the status ^ 

;if this was add the rhblk address 

;or if this was add the rhblk address 

Get the rhblk address 

Get the address of ctpkt 

Get the opcode 

Check if opcode=5 

Yes, set the flag 

Is this location empty? 

No, go ahead 

Yes, store it in the cblk 



;If a 3rd party connection set one of the generate activity continue flags. 



MOVE AC1,CBSTS(AC5) 

TLNN ACl, (THIRD) 

JRST INPMSL 

TLO AC1,(6A1C0N) 

MOVEM AC1,CBSTS(AC5) 

JRST INPMSH 



Get the cblk status word 

Is this a 3rd party cblk? 

No, continiie 

Set the gen act continue flag 

Store it ., ^, 

See if any more messages are available 



;Now check to see if we have another requestCrhblk connected to this cblk. 
;If we do, do not add this requestCrhblk) to the linked list yet. It will 
;Be added later when the 1st request in through via the TIDSNDC subroutine. 



INPMSL: SKIPN 
JRST 

INPMSM: MOVE 
TLO 
SKIPE 
TLO 
MOVEM 
JRST 



REQ2(AC5) 

INPMSF 

AC1,STATUS(AC3) 

AC1,(G0BIT) 

DGMMSG 

AC1,(D6M!DGMSG) 

AC1,STATUS(AC3) 

INPMSH 



INPMSE: MOVEM AC3,REQ2(AC5) 



Is this location empty? 
Yes, Qo ahead 
Get tne status word 
Set the gobit 
Skip if set 
Set the dgm bit 
And store it 
Don' . put on linked list 

;Store rhblk address in the cblk 



;If a 3rd party connection set one of the generate activity continue flags. 



TLNN ACl, (THIRD) 

JRST INPMSM 

MOVE AC1,CBSTS(AC5) 

TLO AC1,(GA2C0N) 

MOVEM AC1,CBSTS(AC5) 

JRST INPMSH 



;Is this a 3rd party cblk? 

;No, continue 

;Yes, get the cblk status word 

;Set the gen act continue flag 

;Yes, then store it 

;See if any more messages are available 



DFCIC 
DFCIC2 

5251 

5252 

5253 

525A 

5255 

5256 

5257 

5258 

5259 

5260 

5261 

5262 

5263 

526A 

5265 

5266 

5267 

5268 

5269 

5270 

5271 

5272 



Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-85 Page 58 
MAC 27-Aug-85 11:17 Interrupt Routine For Inputting Messages 



SEQ 0201 



006703' 
006704* 
006705 • 
006706* 
006707' 
006710' 
00671 1 • 
006712' 
006713' 



200 01 
661 01 
332 00 
661 01 
202 01 
200 01 
402 00 
260 17 
254 00 



03 000002 


INPMSF: 


MOVE 


00 000001 




TLO 


00 000273' 




SKIPE 


00 000420 




TLO 


03 000002 




MOVEM 


00 000003 




MOVE 


00 000273' 




SETZM 


00 003073' 




GO 


00 006576' 




JRST 


00 004453' 


INPMSX: 


GO 


00 000216' 




TRMSG 



;Set the gobit in the rhblk and add 
;Set up tne rhblk as follows: 

Rhblk: flink 
;• Blink 

Gobit,, cblk 

Rblk 



AC1,STATUS(AC3) 

AC1, (GOBIT) 

D6MMSG 

AC1,(DGMIDGMSG) 

AC1,STATUS(AC3) 

AC1,AC3 

DGMMSG 

ADH8LK 

INPMSH 



this rhblk to the linked list. 



;set the flink up 
;set the blink up 
;set the gobit. Cblk was 
;rblk was already here 



word 



already here. 



Get the status 
Set the gobit 
Skip if set 

Set the dgm and dgmsg bit 
And store it 
Rhblk in ad 

Clr the flag ..... 
Add this rhblk to the linked list. 
See if any more messages are available 



006716' 260 17 00 262612 
006717' 263 17 00 000000 



RTN 



CWATSC ;Go check wait state 

(Exit Interrupt for Input of Message) 

;Return to dismiss interrupt 



DFCIC 
DFCIC2 

5273 

5274 

5275 

5276 

5277 

5278 

5279 

5280 

5281 

5282 

5283 

528A 

5285 

5286 

5287 

5288 

5289 

5290 

5291 

5292 

5293 

5294 

5295 

5296 

5297 

5298 

5299 

5300 

5501 

5302 

5303 

5304 

5305 

5306 

5307 

5308 

5309 

5310 

5311 

5312 

5313 

5314 

5315 

5316 

5317 

5318 

5319 



Cluster 
MAC 



Test Protocol Responder MACRO 5:538(1242) 1J--18 27-Aug-85 Page 59 
27-Aug-85 11:17 Interrupt Routine For DMA Transfer Complete 



SEQ 0202 



SUBTTL Interrupt Routine For DMA Transfer Complete 



006720' 332 00 00 000216' 
006721' 260 17 00 262625 
006722' 260 17 00 006144' 



006723' 337 00 00 000003 
006724* 254 00 00 006755' 
006725' 350 00 00 000263' 



006726' 
006727' 
006^30' 
006731 ' 
006732 ' 
006733' 
006734 ' 
006735 ' 
006736' 
006737' 
006740' 

006741' 
006742' 
006743' 
006744 • 
006745' 
006746' 
006747' 
006750' 



476 00 

201 01 
350 00 
200 04 
316 03 
254 00 
312 03 
254 00 
200 05 
661 05 

202 05 

200 05 

336 00 

200 05 

336 00 

254 04 

200 02 

6o! 02 

202 02 


























00 
00 
00 
02 
04 
00 
04 
00 
04 
00 
04 

04 
00 
04 
00 
00 
05 
00 
05 



000002 

000040 

000002 

010556' 

000006 

006736' 

000010 

006752' 

000001 

040000 

000001 

000002 
000005 
00' ."3 

Q^iV^. 3 
OtOu )0 
000002 
000001 
000002 



006751' 254 00 00 006754' 
006752' 367 01 00 006730' 

006753' 254 00 00 262651 

006754' 254 00 00 006722' 

006755' 332 00 00 000216' 
006756' 260 17 00 262662 
006757' 260 17 00 004453' 
006760' 263 17 00 000000 



DMAXFR: TRMSG (Interrupt for Input DMA) 

DMAXFA: GO DATAQ 

;Ac3 = buffer id whos xfer has completed 

SKIPG AC3 

JRST DMAXFX 

AOS DMACMP 

SETOM AC2 

MOVEI ACUCBLSTE 

DMAXFB: AOS AC2 

MOVE AC4,CBLST(AC2) 

CAMN AC3,8FSCA1(AC4) 

JRST DMAXFC 

CAME AC3,BFSCA2(AC4) 

JRST DMAXFD 

DMAXFC: MOVE AC5,CBSTS(AC4) 

TLO AC5,(DMA) 

MOVEM AC5,CBSTS(AC4) 

MOVE AC5,REQ1(AC4) 

SKIPN AC5 

MOVE AC5,REQ2(AC4) 

SKJO-N AC5 

HAL ^ 

MOVE AC2,STATUS(AC5) 

TLO AC2,(G0BIT) 

MOVEM AC2,STATUS(AC5) 

JRST DMAXFS 

SOJG AC1, DMAXFB 



;Get entry off data queue 



Any more data in queue? 

No, dismiss interupt 

Count of dma xfers completed 

Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Is this sea buffer the same? 

Yes, set the dma xfer done bit 

Is this sea buffer the same? 

No, continue 

Get the cblk status 

Set dma completed flag 

Store the cblk status 

Get 1st RH header block address 
Skip if this one isn't used 
Get 2nd RH header block address 
Skip if this one isn't used 
Fatal error, no RH block in use 
Get the status word 
Set the GO bit 
Update the status word 

Get another event 

Look in all the cblks for a match 



DMAXFD: 

;Could not find a cblk with this buffer name in any of the cblks. 

CRASH (NCD, Can't find cblk for DMA transfer complete interrupt) 

DMAXFS: JRST DMAXFA ;Get another event from queue 

DMAXFX: TRMSG (Exit Input DMA Interrupt) 

GO CWATSC ;Go check wait state 

RTN .-Return to dismiss interrupt 



>0 



DFCIC 
DFC1C2 

5320 

5321 

5322 

5323 

5324 

5325 

5326 

5327 

5328 

5329 

5330 

5331 

5332 

5333 

533h 

5335 

5336 

5337 

5338 

5339 

53AO 

53A1 

53A2 

5343 

5344 

5345 

5346 

5347 

5348 

5349 

5350 



Cluster Test Protoc 



MAC 



27-Aug-85 1 



ol Responder MACRO X53B(1242) 11:18 27-Aug-:85 Page 
1:17 Interrupt Routine For Connections & Er 



60 
rors 



SEQ 0203 



006761' 332 00 00 000216' 
006762' 260 17 00 262676 
006763' 260 17 00 006173' 



006764' 337 00 00 000004 

006765' 254 00 00 006770' 

006766' 260 17 1 04 006773' 

006767' 254 00 00 006763' 

006770' 332 00 00 000216' 

006771' 260 17 00 262713 

006772' 263 17 00 000000 



006773' 
006774 ' 
006775' 
006776' 
006777' 
007000' 
007001 ' 
007002' 
007003' 
007004' 
007005 ' 
007006' 
007007' 



SUBTTL Interrupt Routine For Connections & Errors 
OTHREV: TRMSG (Connections and Errors Interrupt) 



OTHREA: GO EVENTQ 

;Ac3=connect id & ac4=event code 

SKIPG AC4 

JRST OTHREX 

GO aEVTTBL(AC4) 

JRST OTHREA 



;Get entry off event queue 



;Any more events in queue? 
;No, dismiss interupt 
;Do the appropriate event 
;Get anotner event from queue 



OTHREX: TRMSG 
RTN 



000 00 00 000000 


EVTTBL: Z 


000000 


007010' 


VCBRKN 


000000 


007045' 


CNTOLS 


000000 


007121' 


CONACC 


000000 


007131' 


CONREJ 


000000 


007134' 


MDSNDC 


000000 


007175' 


LTLCRD 


000000 


007200' 


OFLINE 


000000 


007203' 


ONLINE 


000000 


007206' 


OKSEND 


000000 


007224 ' 


RMDISC 


000000 


007227' 


PRTBRK 


000000 


007232' 


CAVAIL 



(Exit Connection and Errors Interrupt) 

Return to dismiss interrupt 

Indexing for this table starts at 1 

1 - Virtual circuit broken 

2 - Connect to listen 

3 - Connection was accepted 

4 - Connection was rejected 

5 - Msg/dgm send complete 

6 - Little credit left 

7 - Node went offline 

8 - Node went online 

9 - Ck to send data 

10 - Remote initiated disconnect 

11 - Port broke connection 

12 - Credit available 



1 



?1 



DFCIC 
DFC1C2 

5351 

5352 

5353 

5354 

5355 

5356 

5357 

5358 

5359 

5360 

5361 

5362 

5363 

536A 

5365 

5366 

5367 

5368 

5369 

5370 

5371 

5372 

5373 

5374 

5375 

5376 

5377 

5378 

5379 

5380 

5381 

5382 

5383 

5384 

5385 

5386 

5387 

5388 

5389 

5390 

5391 

5392 

5393 

5394 

5395 

5396 

5397 

5398 

5399 

5400 

5401 

5402 



Cluster Test Protocol Responder 
MAC 27-Aug-85 11:17 



007010' 
00701 1 • 
007012' 
007013' 
007014' 
00701 5 ' 
007016' 
007017' 
007020' 
007021 ' 



332 00 
260 17 
476 00 
201 01 
350 00 
200 06 
312 03 
367 01 
336 00 
254 00 



00 
00 
00 
00 
00 
02 
06 
00 
00 
00 



000216' 

262727 

000002 

000040 

000002 

010556' 

000000 

007014' 

000001 

007044 ' 



007022' 550 01 00 000016 
007023' 316 06 00 000001 



007024' 661 16 00 000010 



007025' 200 01 06 000001 
007026' 661 01 00 000010 
007027' 20? 01 06 000001 



007030' 
007031 ' 
007032' 
007033' 
007034 ' 
007035 ' 

007036' 
007037' 
007040' 
007041 ' 
007042' 
007043' 



550 05 
336 00 
254 00 
200 01 
661 01 
202 01 

550 05 
336 00 
254 00 
200 01 
661 01 
202 01 



06 000002 
00 000005 
00 007036' 
05 000002 
00 000010 
05 000002 

06 000003 
00 000005 
00 007044' 
05 000002 
00 000010 
05 000002 



007044' 254 00 00 004453' 



MACRO X53B(1242) 11:18 27--uQ:85 Page 61 
Interrupt Routine For Connect";ons & Errors 

;****«•***« Virtual circuit broken ********** 

;Look for the cblk that has lost its virtual circuit. 

VCBRKN: TRMS6 (< Virtual circuit broken (1)>) 



SEQ 0204 



SETOM 
MOVE I 
VCBRKA: AOS 
MOVE 
CAME 
S0J6 
SKIPN 
JRST 



AC2 

ACUCBLSTE 

AC2 

AC6,CBLST(AC2) 

AC3,CID(AC6) 

AC1, VCBRKA 

AC1 

VCBRKC 



Init index pointer 

Get size of cblst 

Increment index 

Get cblk address 

Are the cids equal? 

No, keep looking ^ , .. « 

Have we looked in the whole table? 

Yes, we don't have a cblk for this 

V.C. it must be another node gone away 



;The address of the lost virtual circuits cblk is now in ac6 



HRRZ ACUCURSTS 
CAMN AC6,AC1 



;Get the cblk address of current rhblk 
;Has the current cblks v. C. Gone? 



;Set the v. C. Gone bit in the current status ac(cursts). 



TLO 



CURSTS,(VCGONE) 



;Set the v. C. Gone bit in the cblk. 

MOVE AC1,CBSTS(AC6) 
TLO AC1,(VCG0NE) 
MOVEM AC1,CBSTS(AC6) 

;Set the v. C. Gone bit in both of the rhblks. 



;Yes, set v. C. Gone status bit 



;Get cblks status 

;Set virtual circuit gone status bit 

;Now store it 



HRRZ 

SKIPN 

JRST 

MOVE 

TLO 

MOVEM 

VCBRK8: HRRZ 
SKIPN 
JRST 
MOVE 
TLO 
MOVEM 



AC5,REQ1(AC6) 

AC5 

VCBRKB 

AC1,STATUS(AC5) 

AC1,(VCG0NE) 

AC1,STATUS(AC5) 

AC5,REQ2(AC6) 

AC5 

VCBRKC 

AC1,STATUS(AC5) 

AC1,(VCG0NE) 

AC1,STATUS(AC5) 



Get the 1st rhblk 

Do we have a rhblk entry? 

No, go ahead 

Get rhblks status 

Set virtual circuit gone status bit 

Store rhblks status 

Get the 2nd rhblk 

Do we have a rhblk entry? 

No, go ahead 

Get rhblks status 

Set virtual circuit gone status bit 

Store rhblks status 



;A V.C. Has been closed, now go back to the mainline code instead of the 
;"WAIT" Jsys because if there aren't any more connections opened we want 
;To go to the routine "KILSRD". 



VCBRKC: JRST CWATSC 



;Go check wait state and return 



DFCIC Cluster Test P 
DFC1C2 MAC 27-Aug 



rotocol Responder MACRO X53B(124?) 11:18 27-Aug-:85 Pa 
-85 11:17 Interrupt Routine For Connections & 



Page 62 
Errors 



SEQ 0205 



5A03 

5A0A 

5A05 

5406 

5A07 

5408 

5409 

5410 

5411 

5412 

5413 

5414 

5415 

5416 

5417 

508 

5419 

5420 

5421 

5422 

5423 

5424 

5425 

5426 

5427 

5428 

5429 

5430 

5431 

5432 

5433 

5434 

5435 

5436 

5437 

5438 

5439 

5440 

5441 

5442 

5443 

5444 

5445 

5446 

5447 

5448 

5449 

5450 

5451 

5452 

5453 

5454 



007045' 332 00 
007046' 260 17 



007047' 
007050' 
007051 ' 
007052' 
007053' 
007054' 
007055' 
007056' 



312 03 
254 00 
260 17 
254 00 
312 03 
254 00 
260 17 
476 00 



00 
00 

00 
00 
00 
00 
00 
00 
00 
00 



OOOi 
262 



!16' 
%2 



000244' 
007053' 
005136' 
007057' 
000245' 
0071 1 1 ' 
005177' 
000223' 



007057' 260 17 00 003144' 
007060' 200 06 00 000001 
007061 ' 201 02 00 000002 
007062' 336 00 00 000006 
007063' 254 00 00 007112' 

007064' 202 03 06 000000 
007065' 402 00 00 000005 
007066' 661 05 00 100000 
007067' 202 05 06 000001 



007070' 
007071 ' 
007072' 
007073' 
007074' 
007075' 
007076' 
007077' 
007100' 



007101' 
007102' 
007103' 
007104' 
007105' 
007106' 
007107' 
007110' 



402 00 

200 02 

201 04 
260 17 
260 17 
260 17 
260 17 
332 00 
254 00 















00 
00 
00 
00 
00 
00 
00 
00 
00 



000001 
000006 
777777 
003604 ' 
003604 • 
003604 ' 
003604 ' 
000223' 
0071 1 5 • 



402 00 
2() 02 
201 04 
260 17 
260 17 
260 17 
260 17 
254 00 



00 
00 
00 
00 
00 
00 
00 
00 



000001 
000006 
000000 
003604 ' 
003604 ' 
003604 ' 
003604 ' 
007115' 



;«**•**••** Connect to a listen ********** 
CNTOLS: TRMS6 (< Connect to Listen (2)» 



:1s 
;No 



CAME 


AC3,C0NIDC 


JRST 


CNTOLA 


60 


LISTNC 


JRST 


CNTOLB 


CNTOLA: CAME 


AC3,C0NIDR 


JRST 


CNTOLC 


60 


LISTNR 


SETOM 


RESPF6 



this a connect from a cntrLr? 



;Yes, listen for another controller 
;6o to common code 

:1s this a connect from a responder? 
;No, must be garbage. Do a reject. 
;Yes, listen for another responder 
;Set responder flag 



•Ue aet here only if we were connected to by either a controller or a 
iresponder. Here we store the "CID" in the cblk and set the "GET INFORMATION* 
;bit. 



CNTOLB: GO 
MOVE 
MOVE I 
SKIPN 
JRST 

MOVEM 
SETZM 
TLO 
MOVEM 



CBLKAV 

AC6.AC1 

AC2,NRESRC 

AC6 

CNTOLD 

AC3,CID(AC6) 
AC5 

AC5,(GTINF0) 
AC5,CBSTS(AC6) 



;Get a connection block 
.•Store the cblk in ac6 
;Reject reason=no resources 
;Any cblks available? 
;No, reject the connection 

;Store the cid in the cblk 

•Set "GET INFORMATION" bits 
;Store the cblk status 



;Queue 4 buffers for message reception, 



SETZM 

MOVE 

MOVE I 

60 

GO 

60 

60 

SKIPE 

JRST 



ACl 

AC2.AC6 

AC4,-1 

QUEUE 

QUEUE 

QUEUE 

QUEUE 

RESPFG 

CNTOLE 



Tell the queue routine to find a rhblk 

Get cblk address, cid already in ac3 

= Queue dgrm, -1 = queue msg 

Queue a message buffer 

Queue a message buffer 

Queue a message buffer 

Queue a message buffer 

Was this a connect from a responder? 

Yes, don't queue dgm buffers 



;Queue 4 buffers for datagram reception. 



SETZM 

MOVE 

MOVE I 

GO 

GO 

60 

60 

JRST 



ACl 

AC2,AC6 

AC4,0 

QUEUE 

QUEUE 

QUEUE 

QUEUE 

CNTOLE 



;Tell the queue routine to find a rhblk 
;6et cblk address, cid already in ac 
;0 = Queue dgrm, -1 = queue msg 
;Queue a datagram buffer 
; Queue a datagram buffer 
;Queue a datagram buffer 
.-Queue a datagram buffer 
.•Return 



L 



n n »» 



r 



DFCIC Cluster Test Protocol Responder MACRO X53B(12A2) 11:18 27-Aug-:85 Page 63 
DFC1C2 MAC 27-Aug-85 11:17 Interrupt Routine For Connections & Errors 



SEQ 0206 



5A55 

5A56 

5A57 

5458 

5A59 

5A60 

5A61 

5A62 

5A63 

546A 

5465 

5466 

5467 

5468 

5469 

5470 

5471 

5472 

5473 

5474 

5475 

5476 

5477 

5478 

5479 

5480 

5481 

5482 

5483 

5484 

5485 

5486 

5487 

5488 



0071 ir 201 02 00 000000 

007112' 200 01 00 000003 

007113' 260 17 00 005266* 

007114* 254 00 00 007117' 

007115' 200 01 06 000000 

007116' 260 17 00 005237' 

007117' 402 00 00 000223' 

007120' 263 17 00 000000 



007121' 332 00 00 000216' 
007122' 260 17 00 262756 



007123' 260 17 

007124' 202 03 

007125' 402 00 

007126' 661 05 

007127' 202 05 

007130' 263 17 



007131' 332 00 00 000216' 
007132' 260 17 00 Itllll 
007133' 263 17 00 000000 



CNTOLC: MOVEI 
CNTOLD: MOVE 
GO 
JRST 

CNTOLE: MOVE 
60 

CNTOLX: SETZM 
RTN 



AC2,NMATCH 
AC1,AC3 
REJECT 
CNTOLX 

AC1,CID(AC6) 
ACCEPT 



;Reject reason=not a respdr or cntrlr 
;Need the cid in ad 
.•Reject this connection 
;Skip next code 

;Need the cid in ad 
.-Accept the connection 



RESPF6 ;Clear responder flag 

.•Return 

;**♦♦•*•**• Connection was accepted(for 3rd party) ********•• 
CONACC: TRMS6 (< Connection was accepted (3)>) 



00 003144' 


60 


CBLKAV 


01 000000 


MOVEM 


AC3.CID(AC1) 


00 000005 


SETZM 


AC5 


00 300000 


TLO 


AC5.(THIRD!GTINF0) 


01 000001 


MOVEM 


AC5.CBSTS(AC1) 


00 000000 


RTN 





;6et a connection block 

.-Store the cid in the cblk 

• C lear ac 

'•Set 3rd party % get information bits 

.-Store the cblk status 



;****•*•*** Connection was rejectedCfor 3rd party) *•*****•** 

.•Nothing to do here. There wasn't any cblks or rhblks assigned to this 
.•Virtual circuit yet so there isn't any to deallocate. We Basically just 
.•Wait for the "EXWAIT" routine to time out. which will cause the test 
;To send back a ctp response with "FUNCTION FAILURE in the status byte. 

CONREJ: TRMS6 (< Connection was rejected (4)>) 

RTN 



r 



mu ll II ii j ii i - 



DFCIC 
DFCIC2 

5489 

5490 

5491 

5492 

5493 

5494 

5495 

5496 

5497 

5498 

5499 

5500 

5501 

5502 

5503 

5504 

5505 

5506 

5507 

5508 

5509 

5510 

5511 

5512 

5513 

5514 

5515 

5516 

5517 

5518 

5519 

5520 

5521 

5522 

5523 

5524 

5525 

5526 

5527 

5528 

5529 

5530 

5531 

5532 

5533 

5534 



Cluster Test Proto 
MAC 27-Aug-85 



col Responder MACRO );53B(1242) 11:18 27-Aijq:85 Page 64 
11:17 Interrupt Routine For Connections & Erro 



rors 



SEQ 02C7 



007134' 332 00 00 000216' 
007135' 260 17 00 263007 



007136* 
007137* 
007140' 
007141* 
007142' 
007143* 
007144* 
007145* 



007146* 
007147* 
007150* 
007151* 
007152* 
007153* 



476 00 
201 01 
350 00 
200 04 
312 03 
367 01 
336 00 
254 00 



336 01 
254 00 
200 05 
607 05 
254 00 
260 17 














00 
00 
00 
02 
04 
00 
00 
00 



000002 

000040 

000002 

010556* 

000000 

007140* 

000001 

263030 



04 000002 
00 007161* 
01 000002 
00 000002 
00 007161* 
00 003112' 



007154' 2uJ 02 00 000005 
007155' 260 17 00 003630' 

007156' 336 01 04 000003 
007157* 254 00 00 007161' 



007160' 260 17 00 003073' 



007161' 336 01 

007162' 254 00 

007163' 200 05 

007164* 607 05 

007165* 254 00 

007166* 260 17 



04 000003 

00 007174* 

01 000002 
00 000002 
00 007174* 
00 003112' 



;********** Message or datagram send complete ♦*•*♦***•* 

;Ue get interrupted here when a dgm or msg was sent across the ci by the 
.-monitor. 

MDSNDC: TRMS6 (< Message datagram sent complete (5)>) 



SETOM 
MOVE! 
MDSNDl: AOS 
MOVE 
CAME 
S0J6 
SKIPN 
CRASH 



AC2 

ACKCBLSTE 

AC2 

AC4.CBLST(AC2) 

AC3,CID(AC4) 

ACl, MDSNDl 

AC1 



;Init index pointer 

;6et size of cblst 

.•Increment index 

;6et cblk address 

;Is this cid the same? 

;No, look in all the cblks for a match 

;Did we find a match? 



(CFC. Can't find cblk after send complete) ;No 
;We found the cblk that sent the msg or dgm. 



SKIPN AC1.REQ1(AC4) 

JRST MDSND2 

MOVE AC5.STATUS(AC1) 

TLNN AC5.(D0NE) 

JRST MDSND2 

GO RMHBLK 



;Is there an entry? 

;No 

;Get its status word 

;Is "DONE" set in this rhblk? 

:No 

.•Remove this rhbU from the linked list 



.•Now requeue this buffer. 
;in ac3. 



The rhblk is already in ad and the cid is already 



MOVE 
GO 



AC2.AC5 
QUE6UF 



SKIPN AC1.REQ2(AC4) 
JRST MDSND2 



;M = status, .cblk 
; Go queue 

;Is there another entry in the cblk? 
;No 



.-This is were we add the pending rhblk to the linked list. 



GO 

MDSND2: SKIPN 
JRST 
MOVE 
TLNN 
JRST 
GO 



ADHBLK 

AC1.REQ2(AC4) 

MDSIMD3 

AC5.STATUS(AC1) 

AC5.(D0NE) 

MDSND3 

RMHBLK 



;Add this rhblk to the linked list 

;Is th?re an entry? 

;No 

.-Get its status word 

;Is "DONE" set in this rhblk? 

;No 

.•Remove this rhblk from the linked list 



195 



DFCIC 
DFC1C2 

5535 

5536 

5537 

5538 

5539 

5540 

5541 

5542 

5543 

5544 

5545 

5546 

5547 

5548 

5549 

5550 

5551 

5552 

5553 

5554 

5555 

5556 

5557 

5558 

5559 

5560 

5561 

5562 

5563 

5564 

5565 

5566 

5567 

5568 

5569 

5570 

5571 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-:85 Page 65 
MAC 27-Aug-85 11:17 Interrupt Routi.ie For Connections & Errors 



SEQ 0208 



007167' 200 02 00 000005 

007170' 260 17 00 003630* 

007171' 336 01 04 000002 

007172' 254 00 00 007174' 



007173' 260 17 00 003073' 
007174' 254 00 00 004453' 



007175' 332 00 00 000216' 
007176' ?60 17 00 263041 
007177' 263 17 00 000000 



007200' 332 00 00 000216' 
007201 ' 260 1 7 00 263054 
007202' 23- 00 00 007010' 



007203' 332 00 00 000216' 
007204' 260 17 00 263066 
007205' 263 17 00 000000 



;Now requeue this buffer. The rhblk "is al'-eady in ac1 and the cid is already 
;in dc3. 



MOVE 
60 



AC2,AC5 
QUEBUF 



SKIPN AC1,REQ1(AC4) 
JRST MDSND3 



;Status,,cblk to ac2 
;6o queue 

;Is there another entry in the cblk? 
;No 



;This is were we add the pending rhblk to the linked list. 

GP ADHBLK ;Add this rhblk to the linked list 

MDSND3: JRST CWATSC ;6o check wait state and return 

;***««t**t* Little credit left ********** 

.•According to the ctp specification we only queue. 6 buffers. for each virtual 
;Circuit. 2 for datagram and 4 for message reception. The cie s are only 
.-Going to send 1 request and then wait for a response before another is sent. 

LTLCRD: TRMSG (< Little credit left (6)>) 

RTN 
;♦*•*••**♦• Node went offline ********** 

OFLINE: TRMSG « Node went offline (7)» 

JRST VCBRKN 
;**♦******* Node went online ********** 
ONLINE: TRMSG (< Node went online (8)>) 

RTN 



DFCIC 
DFC1C2 

5572 

5573 

5574 

5575 

5576 

5577 

5578 

5579 

5580 

5581 

5582 

5583 

558A 

5585 

5586 

5587 

5588 

5589 

5590 

5591 

5592 

5593 

559A 

5595 

5596 

5597 

5598 

5599 

5600 

5601 

5602 

5603 

560A 

5605 

5606 

5607 

5608 

5609 

5610 



Cluster Test Protocol Responder MACRO Z53B(1242) 11:18 27-Auq-85 Page 66 
MAC 27-Aug-85 11:17 Interrupt Routine For Connections S Erro 



rors 



SEQ 0209 



007206* 332 00 00 000216* 
007207' 260 17 00 263101 



007210' 
00721 1 • 
007212' 
007213' 
007214' 
007215' 
007216' 
007217' 



476 00 
201 01 
350 00 
200 04 
312 03 
367 01 
336 00 
254 00 



00 000002 
00 000040 
00 000002 
02 010556' 
04 000000 
00 007212' 
00 000001 
00 263124 



007220' 200 05 04 000001 

007221 ' 661 05 00 020000 

007222' 202 05 04 000001 

007223' 263 17 00 000000 



007224' 332 00 00 000216' 
007225' 260 17 00 263137 
007226' 254 00 00 0C7010' 



007227' 3':>^ 00 00 000216' 
007230' 260 17 00 263153 
007231' 254 00 00 007010' 



00721-' 332 00 00 000216' 
007233' 260 17 00 263166 
00^234' 263 17 00 000000 



;*«*******• Ok to send messages *••***•••• 
OKiEND: TRMSG « OK to send messages (9)» 



SETOM AC2 

MOVEI AC1,CBLSTE 

0KSEN1: AOS AC2 

HOVE AC4,CBLSr(AC2) 

CAME AC3,C1D(AC4) 

S0J6 ACI^OKSENI 

SKIPN AC1 



;Im*t index pointer 

;6et size of cblct 

.•Increment i.idex 

;6et cblk address 

;Is this cid the same? 

;No. look in all the cblks for a match 

;Did we find a match? 



CRASH (CCO, Can't find cblk on OK to send messages interrupt) ;No 
;We found the cblk that is ready to receive messages. 



MOVE AC5.CBSTS(AC4) 

TLO AC5,(0KT0SD) 

MOVEM AC5,CBSTS(AC4) 
RTN 



;Yes. get the cblk status 

;Set "OK TO SEND" messages flag 

.•Store the cblk status 



;******«*** Remote initiated disconnect ****♦•**** 
'•.MDISC: TRMSG « Remote initiated disconnect (10)» 

JRST VCBRKN 
;******•*** Port b'"oke connection ********** 
PRTPRK: TRMSG « Port broke connection (11)» 

JRST VL8RKN 
;♦♦♦»*♦*♦*♦ Credit is available ********** 
CAVAIL. TRMSG (< Credit available (12)>) 

RTN 



1 



DFCIC Cluster Test Protocol Responder MACRO 1538(1242) 11:18 27-Aug-85 Page 67 
DFC1C2 MAC 27-Aug-85 11:17 Interrupt System Tables 



SEQ 0210 



5611 

5612 

5613 

56U 

5615 

5616 

5617 

5618 

5619 

5620 

5621 

5622 

5623 

5624 

5625 

5626 

5627 

5628 

5629 

5630 

5631 

5632 

5633 

5634 

5635 

5636 

5637 

5638 

5639 

5640 

5641 

5642 

5643 

5644 

5645 

5646 

5647 

5648 

5649 

5650 

5651 

5652 

5653 

5654 

5655 

5656 

5657 



SUBTTL Interrupt System Tables 

;TOPS-20 priority level and channel tables for the software interrupt system 

.-Channel table - one word entry for each channel 
;All channels currently at priority level one. 



000000 
000000 



ONCHNS==0 
CHNCNT==0 

DEFINE ASSINT(CHAN.mDDR},< 
XUD 1 ,ADDR 
CHAN==CHNCNT 
CHNCNT=.-CHNCNT^1 
O^THNS==ONCHNS ! 1 B<CHAN> 
>;end of -»EFINE ASSINT 



007235 • 
007236' 
007237' 
007240' 
007241 • 
007242' 



000001 
000001 
000001 
000001 
00C001 



004325' 

0064:;' 

006435' 
006446' 
006457' 



CHNTAB: ASSINT 
ASSINT 
ASSINT 
ASSINT 
ASSINT 
BLOCK 



(TIMCHN,TI«R20) 
(DGMCHN.INPD60) 
(MSGCHN.INPMSO) 
(D^ACHN.DMAXFO) 
(OTHCHN.OTHREO) 
*D36-CHNCNT 



007301' 000000 007304' 
007302' 000000 007305' 
007303' 000000 007306' 



007304' 000 00 00 000000 
007305' 000 00 00 000000 
007306' 000 O'^ 00 000000 



007307' 000000 

007310' 000000 

007311' 000000 

007312' OOOOOC 

007313' 000000 

007314* 000000 

007315' 000000 

007316' OOC'OO 



000000 

006372 * 

000000 

777743 

OCOOOO 

000004 

004313' 

000000 

777776 

000000 



.•Priority level table 

LEVTAB: PCLEVl 
PCLEV2 
PCLEV3 

.•Storage for flags and pc 

PCLEVl: I 
PC'.EV2: Z 
PCLEV3: I 

;TOPS-10 Interrupt system '^dbles 

PIVECT: SCOFFS==.-PIVECT 
EXP INTTEN 
EXP 
XWO O..PCSCS 
IX? 

TI0FFS==. -PIVECT 
. EXP TIMRIO 
EXP 
XyD O..PCTMR 
U? 



.•Activated channels 
.•Channel count 



.•Channel for timer interrupts 
.•Channel for datagram available 
.'Channel for messaae available 
.'Channel for dma xrer comolete 
.'Channel for connections % errors 
.'Fill rest of table 



.'Addr for pc stored for pll 
.'Addr for pc stored for pl2 
;Addr for pc stored for pl3 



;Pc interrupted for priority level 1 
;Pc interrupted for pr'-'ority level 2 
;Pc interrupted for priority level 3 



jOffset 


for SCS events 


.'New p: 




or SCS 


events 


.-Old PC 








.•Interrupt 


type 




.•Interrupt 


status 




.-Offset 


for 


^ PITMR 




;New PC 








;Old PC 








.•Timer ^ 


Interrupts 




.•Interrupt 


status 





DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Al2-85 Page 1 
DFCIC3 MAC 26-Jul-85 16:23 Tables 



"1 



SEQ 0211 



5658 
5659 
5660 
5661 
5662 
5663 
566A 
5665 
5666 
5667 
5668 
5669 
5670 
5671 
5672 
5673 
567A 
5675 
5676 
5677 
5678 
5679 
5680 
5681 



SUBTTL Tables 
;This table contains the number of bytes/response packet 



007317' 
007320' 
007321 • 
007322' 
007323' 
007324' 
007325' 
007326' 
007327' 
007330' 
007331 ' 
007332' 
007333' 
007334' 
007335' 
007336' 
007337' 
007340' 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 

oocooo 

000000 
000000 
000000 



000046 
000024 
000024 
000040 
000200 
001000 
000013 
000020 
000006 
000015 
000050 
000006 
000006 
000024 
000024 
000034 
000006 
001000 



NMBrTS: 



•D38 

•D20 

•D20 

•D32 

•D128 

•D512 

•D11 

-^016 

•D6 

•D13 

•D40 

^^06 

\6 

^4>20 

•D20 

•D28 

•D6 

•:«512 



Op - name - # of bytes 



64 - Function rsp - 38 

65 - Buff map rsp - 20 

66 - Buf unmp rsp - 20 

67 - Move buf rsp - 32 

68 - Gen msg rsp - 128 

69 - Gen dtgm rsp - 512 

70 - Gen rest rsp - 11 

71 - Gen strt rsp - 16 

72 - S/s unso rsp - 06 

73 - Con data rsp - 13 

74 - Cntr rd rsp - 40 

75 - Connect rsp - 06 

76 - Lstr dis rsp - 13 

77 - Mbuf map rsp - 20 

78 - Mbf umap rsp - 20 

79 - Nov mbuf rsp - 28 

80 - Hn state rsp - 06 
Not implemented opcode 



mandatory 



mandatory 
mandatory 



mandatory 
mandatory 
mandatory 

mandatory 



mmmi0mm 



DFCIC Cluster lest Protocol Responder HACRO X53B(1242) 11:18 27-Aug-85 Page 2 
DFCIC3 MAC 26-Jul-85 16:23 Tables 



SEQ 0212 



5682 
5683 
5684 
5685 
5686 
5687 
5688 
5689 
5690 
5691 
5692 
5693 
5694 
5695 
5696 
5697 
5698 
5699 
5700 
5701 
5702 
5703 
5704 
5705 
5706 
5707 
5708 
5709 
5710 
5711 
5712 
5713 
5714 
5715 



007341' 000001 000001 
007342' 000002 000002 
007343' 

000200 



007541 ' 
007542' 
007545' 
007546' 
007547' 
007550' 
007551 ' 
007552' 
007553' 
00755< ' 
007555' 
007556' 



250000 000000 

OOCOOO 020002 

000000 100005 
44 46 43 51 43 00 

000000 000003 

null mill 

nun 250000 

000000 120000 



000315 
00001 3 



;This spear table contains: Lh - total nunber of connections since the 
: responder was started. Rh = number of connections started since the last 
:spear entry. Port #0 is the 1st 16 entries of this table, port #1 is the next 
;16« and so on. Ue can have a maximun of 6 ci's on a system and 16 nodes per 
:ci. 16X6 = 96 Since we can have a maximum of 8(0-7) ports en our system we 
:don't know what ports the 6 different ci's will be connected to^ so we must 
:make room for all 8 ports. 16X8 = 128 



SPEART: 1,J 

2. .2 
BLOCK 



'D126 



SPEARE=. -SPEART ;Length of this block 

;This block is used for input to the '•SYERR" jsys. 



SYSERT: 250000,, C 

BLOCK 3 
SYSE02: 20002 

BLOCK 1 
SYSE10: 100005 

SIXBIT/DFCIC/ 

DECVER 

-1 

-1,-250000 
SYSE12: 126600 

BLOCK 1 

BLOCK ^0192 

SYSERE=. -SYSERT 
SYSHLF=SYSE12-SYSERT 



Event type 

3 Words of header info for syerr 

Time of occurence block 

Internal date/time 

Diagnostic info block 

Diagnostic name 

Version number 

User proj,pgrm #(not used here) 

Unit#, ,dev#,port#fmb2,node# 

Responder statistics block 

Time of last spear entry 

2 Entries/node. 96X2 = 192 



.'Length of this block 

:Used for the header block length 



! IT iij'ri »rt-i 



"1 



OFCIC Cluster Test Protocol Responder HACRO ;53B(12A2) 11:18 27-Aug-85 Page 3 
DFC1C3 MAC 26-Jul-85 16:23 Tables 



SEQ 0213 



5716 
5717 
5718 
5719 
5720 
5721 
5722 
5723 
5724 
5725 
5726 
5727 
5728 
5729 
5730 
5731 
5732 
5733 
5734 
5735 
5736 
5737 
5738 
5739 
5740 
5741 
5742 010544* 



000001 



The 10 words in the cbU are: 
Cblkn: eld 

Status 



1st req blk addr 
2Nd req blk addr 
Node # 
Local port # 
1st sea buffer 
1st bufx 
2Nd sea buffer 
2Nd bufx 



DEFINE C8LK (N).< 

XLIST 
C6LK*N: BLOCK CBKLEN 

LIST 
> 

N=1 

REPEAT COUNT, V 

C6LK \N 

N=N*1 
> 



connection id of the ctp packet, 
1b1(3rd party) Jb2(get info) Jb3(dBia xfer), 
1B4(ok to send)Jb5(ga nores) Jb6(revd resp) , 
1B7(rcvd resp) Jb12Toverdue) Jb14(vcgone) 
address of rblk 
address of rblk 
node # 

references 1 of 6 possible ci's 
32 bit buffer name sea oiv/es us 
our buffer address of aDove(— *) word 
32 bit buffer name sea gives us 
our buffer address of aBov/e(— *) word 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 4 
DFCIC3 MAC 26-Jul-85 16:23 Tables 



SEQ 02U 



574:> 
57A4 
57A5 
57A6 
57A7 
57A8 
57A9 
5750 
5751 
5752 
5753 
575A 
5755 
5756 
5757 



000001 



OOOOAO 



DEFINE CBLS (N),< 
XLIST 
CBLK'N 
LIST 



N=1 
CBLST: REPEAT COUNT, < 
CBLS \N 
N=N+1 



CBLSTE=. -CBLST 



iXWitirtiiMi l lgi i iii lWIt i liKi i . I 1 1; Hi l l "1 111 17 1 11 l i l i r i Tj i r p 



OFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 5 
DFC1C3- MAC - 26-Jul-85 16:23 Tables 



SEQ 0215 



5758 
5759 
5760 
5761 
5762 
5763 
5764 
5765 
5766 
5767 
5768 
5769 
5770 
^771 
5772 
5773 
5774 
5775 
5776 
:777 
5778 
5779 
5780 
5781 
5782 
5783 

5784 012616' 

5785 012656* 

5786 012716' 



;The request header block 

; 6 Bit cid,,fh'nk 
; Repcount*. blink 
: Status««cblk 

• 

; Ctppkt 



;points to the req hdr blk to be executed next 

; points to the req hdr blk that was just executed 

;lb10(cont)Jb11(waitt)Jb12(overdue pkt)-1b13(dgm)/ 

; 1B14(vcgone).1b15(onetim) Jb16(doneTjbl7(gobit),,cblkx add 

;the address (rbx) of the ctp packet 



ress 



000001 



DEFINE RHBLK (N).< 

XLIST 
RH'N: BLOCK <RH8LEN-1> 

RB'N 

LIST 
> 

N=1 

REPEAT <COUNT*RHBPER> , < 

RHBLK \N 

N=N^1 



.-Storage for timer routines. 

DLYADR: BLOCK COUNT 
DLYUPT: BLOCK COUNT 
DLYRTN: BLOCK COUNT 



;Address of rhblk for this timer request 
;Uptime at which to process this request 
.'Routine to call when this alarm goes off 



iiii » ii n i . i i i 



***■ 



mm'M mir .i ni i ii H ii ia i tt mn 



DFCIC Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 6 
DFCIC3 MAC 26-Jul-85 16:23 Tables 



SEQ 0216 



5787 

5788 

5789 

5790 

5791 

5792 

5793 

5794 

5795 

5796 

5797 033000 

5798 

57^9 

58' ) 

58U. 

5802 

5803 

5804 

5805 

5806 

5807 

5808 

5809 

5310 

5811 

5812 

5813 

5814 

5815 

5816 

5817 

5818 

5819 

5820 

5821 

5822 160460 



000003 
000001 



;Th1s is the storage area for ctp packets. Ue use the following buffers for 
;queueing messages ft datagrams. When we execute an scsZ receive message or 
; datagram the contents go here. 

;This next "LOC" statement forces the assembler to an even address page 
;boundary. The 140 octal makes up for the "JOB DATA area 'le link loader* adds 
;to the front of this program. 



;LOC <.'H40+777>8777000 
LOC <.+20000+777>ft777000 



;Room for DDT 



;The scsX jsys will not transfer data across paae boundries. Therefore the 
•'following macro was created to insure that no Duffer (rbx) will cross a page 
; boundary even if the size of some of the parameters change. 



:m = the tt of req blocks that can fit on a page 

Rbl) 



;M=*d512/mxdgm 

:N=1 ;number to start the request blocks (eg. 

•'Repeat «<count*rhbper>*m-1>/m>*< ; round out the # of repeats 

;Loc <.'»-777>8777000 ; Start at an even page boundary 

•'Repeat <m>,< ; generate n buffers/page 

;RbIk \n .-macro to generate request block buffers 

•'N^n-t-l ;bump number 

DEFINE RBLK iH) .< 
RB'N: BLOCK <rXD6«> 
> 

M=*D512/MXD6« 

N=1 

REPEAT «<C0yNT*RHBPER>'»-M"1>/M>,< 

LOC <.*777>g777000 

REPEAT <M>,< 

RBLK \N 

N=N*1 
» 



»lilg . l ! i»'*y Wi iii ' >i W !W» \ i »T) ii ' 



mm miii^mii»i m ^tmmM mu i ^ t »m *k ' M i i . nir i rfirjr i r >iMw>ii r iii i i ^ i < *t^ 



DFCIC 
DFCIC3 

5823 
5824 
5825 
5826 
5827 
5828 
329 
:>830 
5831 
5832 
5833 
5834 
5835 
5836 
5837 
5838 
5839 
5840 
5841 
5842 
5843 
5844 
5845 
5846 
5847 
5848 
5849 
5850 
5851 
5852 
5853 
5854 
5855 
5856 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page 7 



MAC 



161000 



26-JUI-85 16:23 



260000 



000001 



000001 



000040 



Tables 

;This loc statement gets us to an ev/en addross boundary. 

LOC <.f777>i777000 

;1000 Octal is the maximum number of wordsd page) allowed. 

DEFINE BUF (N),< 
BUF'N: BLOCK ^05 12 
> 

N=1 

REPEAL <C0UNT*2>,< 

BUF \N 

N=N'H 



;nake pointers to buffer addresses 

DEFINE BUFLS (N).< 

XLIST 

BUF'N 

LIST 
> 

N=1 
BUFLST: REPEAT COUNT, < 

BUFLS \N 

N=N+1 
> 



BUFSTE=. -BUFLST 



SEQ 0217 



I ' li f i n ii in iii ' ii 'i ii i w i rmnr 



DFCIC Cluster lest Protocol Responder MACRO 3;53B(1242) 11:18 27-Aug-85 Page 8 .r« no.o 
-' • - Tables SEQ 0218 

.'Literals 

LIT..; XLIST .-Literal label 

LIST 

END START 

MO ERRORS DETECTED 

PROGRAM BREAK IS 012756 
ABSOLUTE BREAK IS 263201 
CPU TIME USED 00:26.168 

121P CORE USED 



DFCIC3 


MAC 26-JUI-85 16:23 


5857 




5858 




5859 




5860 


261040 


5861 




5862 




5863 


000362' 



OFCIC Cluster Test Protocol Responder MACRO X538(1242) 11:18 27-Aug-85 Page S-1 
DFCIC3 MAC 26-JUI-85 16:23 SYMBOL TABLE 



SEQ 0219 



ACQ 
AC1 
AC10 

:ii 

AC12 

AC13 

AC16 

AC2 

AC3 

AC4 

ACS 

AC6 

AC7 

ACCARG 

ACCEPT 

AC TOO 

ACT01 

ACT01A 

ACT01B 

ACT01C 

AC TGI H 

ACT01L 

ACT01M 

ACT01N 

ACT01S 

ACT01X 

ACT02 

ACT02A 

ACT02B 

ACT02C 

ACT02E 

ACT02S 

ACT02X 

ACT03 

ACT03A 

ACT03B 

ACT03C 

ACT03D 

ACT03E 

ACT03F 

ACT036 

ACT03I 

ACT03J 

ACT03S 

ACT03T 

ACT03X 

ACT032 

ACT04 

ACT04S 

ACT04X 

ACT06 

ACTQ6A 

ACT06B 

ACT06C 

ACT06D 



000000 spd 

000001 spd 

000010 spd 

00001 1 spd 

000012 spd 

000013 spd 
000016 spd 

000002 spd 

000003 spd 
OOOOOA spd 

000005 spd 

000006 spd 

000007 spd 
005263' 
005237' 
000560' 
000701 • 
000715' 
000775' 
001011' 
001003' 
000732' 
000740' 
000742' 
001024' 
001022' 
001111' 
001126' 
001136' 
001146' 
0u!l51' 
001157' 
001160' 
001322' 
001335' 
001355' 
001365' 
001367' 
001401' 
001404' 
001415' 
)01417' 
)01455' 
)01467' 
001470' 
001464' 
001466' 
)01700' 

11712' 

11713' 

f006' 

W' 

1033' 
1045' 



ACT06E 


002050' 


ACT06F 


002070' 


ACT06H 


002072' 


ACT06J 


002076' 
002104' 


ACT06S 


ACT06X 


002102* 


ACT07 


002203' 


ACT07A 


002221 ' 


ACT07B 


002231 ' 


ACT07C 


002233' 


ACT07D 


002245' 


ACT07E 


002250' 


ACT07F 


002274' 


ACT076 




ACT07H 


002276 ' 


ACT07J 


002302' 


ACT07S 


002310' 


ACT07X 


002306' 


ACT08 


002342' 


ACT08A 


002376' 
002367' 


ACT08C 


ACT08S 


002401 ' 


ACT08X 


002377' 


ACT09 


002447' 


ACT09A 


002505' 


ACT09S 


002507' 


ACTIO 


002554' 


ACT10A 


002704' 


ACT10B 


002706' 


ACTIOS 


002710' 


ACT10X 


002707' 


ACT11 




ACT11B 


003022' 


ACTUS 


ACT11X 




Acri2 


8o305^' 


ACT12X 


ACT3B1 


001363' 
000325' 


ACTB 


ACTC 


000320' 


ACTN 


Q0Q343' 
Q031Q6' 
003073' 


ADHBLA 


ADHBLK 


AICX 


104000 000131 


AlCARG 


004420' 


AICLEN 


ANNOUN 


OOQ006 
uuC 10 


BFSCA1 


BFSCA2 


BLINK 
BOTEXE 


BUDO 


5oq353' 


BUF1 
BUFIO 


26000C 


BUF100 



int 



spd 
spd 
spd 



BUF11 

BUF12 

BUF13 

BUF14 

BUF15 

BUF16 

BUF17 

BUF2 

BUF20 

BUF21 

BUF22 

BUF23 

BUF24 

BUF25 

BUF26 

BUF27 

BUF3 

BUF30 

BUF31 

BUF32 

BUF33 

BUF34 

BUF35 

BUF36 

BUF37 

BUF4 

BUF40 

BUF41 

BUF42 

BUF43 

BUF44 

BUF45 

BUF46 

BUF47 

BUF5 

BUF50 

BUF51 

6UF52 

BUF53 

BUF54 

BUF55 

BUF56 

BUF57 

BUF6 

BUF60 

BUF61 

BUF62 

BUF63 

BU^64 

6UF65 

RUF66 

BUF67 

BUF7 

BUF70 

BUF71 



171000 
172000 
173000 
174000 
175000 
176000 
177000 
162000 
200000 
201000 
202000 
203000 
204000 
205000 
206000 
207000 
163000 
210000 
211000 
212000 
213000 
214000 
21 5000 
216000 
217000 
164000 
220000 
221000 
222000 
223000 
224000 
225000 
226000 
227000 
165000 
230000 
231000 
]000 

iooo 

_j4000 
235000 
236000 
237000 
166000 
240000 
H1000 
42000 
43000 
^44000 
!45000 
;4600C 
J47f 
167L, 
250000 
251000 



BUF72 

BUF73 

BUF74 

BUF75 

BUF76 

BUF77 

BUFAA 

BUFAR6 

BUFAV 

BUFD 

BUFFI 

BUFF2 

BUFFS2 

BUFL 

BUFLEN 

BUFLIM 

BUFLST 

BUFNAM 

BUFO 

BUFS 

BUFSTE 

BUFT 

CONR 

C1NR 

CANT II 

CANTIM 

CAVAIL 

CBKLEN 

CBLK1 

CBLK10 

CBLK11 

CBLK12 

CBLK13 

CBLK14 

CBLK15 

CBLK16 

CBLK17 

CBLK2 

CBLK20 

CBLK21 

CBLK22 

CBLK23 

CBLK24 

CBLK25 

CBLK26 

CBLK27 

CBLK3 

CBLK30 

CBLK31 

CBLK32 

cblk53 

CBLK34 
CBLK35 
CBLK36 
CBLK37 



252000 
253000 
254000 
^55000 
56000 
ci7000 
003251 ' 
005704' 
003243' 
000351 • 
000007 
00001 1 
005661 ' 
000340' 
000227' 
000372 
261000 
000230' 
000347' 
000345' 
000040 
0003 1 5' 
000350' 
000355' 
004305' 
004301 ' 
007232' 
000012 
010056' 
010164' 
010176' 
010210' 
010222' 
010234' 
010246' 
010260' 
010272' 
010070' 
010304' 
010316' 
010330' 
010342' 
010354' 
010566' 
010400' 
010412' 
010102' 
010424* 
010436' 
010450' 
010462' 
01 0474' 
010506' 
010520* 
010532* 



spd 
spd 



spd 



spd 



D^UC 


Cluster Test Protocol ResDonder 


0FCIC3 


MAC 26- Ju 1-85 16:23 


9 

1 


CBLKA 


01011A' 


CTPCOX 


CBLKAO 


010544' 


CTPPKT 


CBLK5 


010126' 


CUREXE 


CBLK6 


010140' 


CURSTS 


CBLK7 


010152' 


CWATl 


CBLKAA 


003152' 


CWAT11 


CBLKAV 


003144' 


CUATSC 


CBLST 


010556' 


CYCL60 


CBLSTE 


000040 


OATAQ 


CBSTS 


000001 spd 


DATARG 


CH60PC 


003543' 


DATATE 


CHGOPX 


003556' 


OATETI 


CHKVCA 


003660' 


DATETM 


CHKVCB 


003664' 


DEBRKZ 


CHKVCS 


003650' 


DEPf'K. 


CHKVCT 


003677' 


DEl.^R 


CHKVCX 


003700' 


DELA 


CHNCNT 


000005 spd 


DGn 


CHNTAB 


007235' 


DGMCHN 


CID 


000000 spd 


DGMNSG 


CIDLOC 


000246' 


DGMSG 


CI PORT 


000256' 


DGMSRV 


CNOA 


000341' 


DIAAJZ 


CNON 


000346' 


DIA6AX 


CN1A 


000352' 


DIACIZ 


CN1N 


000354 • 


DIAFCX 


CNF ARC 


005767' 


DIAGX 


CNFDA1 


002422' 


DIA6. 


CNFDAT 


002410' 


DIA6AG 


CNTLR 


000301 ' 


DIA6F 


CNTOLA 


Gu'053' 


DIAGJ 


CNT0L6 


007057' 


DIA6S 


CNTOIC 


007111' 


DIA6U 


CNTOLD 


007112' 


DIAIAX 


CNTOLE 


007115' 


DIAIFZ 


CNTOLS 


007045' 


DIANCX 


CNTOLX 


007117' 


DIANPX 


CNTRLR 


000277' 


DIANRZ 


CNTRR1 


002523' 


DIATOX 


CNTRRD 


002515' 


DIAVCZ 


CONACC 


007121' 


DIRZ 


CONARG 


99im' 


DISARG 


CONDAT 


000311' 


DISCON 


CONECT 


005055' 


DISIN1 


CCNFIG 


005737' 


DISIN2 


CONFIX 


005760' 


DISINT 


CON^DC 


000244 ' 


DLYADR 


CONIDR 


000245' 


DLY60 


CONREJ 


007131' 


DLYRBK 


CONT 


000200 000000 spd 


DLYRTN 


COUNT 


000040, spd 


DLYTId 


CTPCOA 


OLYUPT 


CTPCOB 


DMA 


CTPCCC 


002746' 


DHACHN 


CTPCON 


002714' 


DMACMP 



SYMBOL TABLE 



SEQ 0220 



spd 
spd 



104000 
047000 



000020 
000400 



002750' 

000003 

000276' 

000016 

004460' 

004467' 

004453' 

000235' 

006144' 

006170' 

006161 ' 

004543' 

004537' 

000136 

000137 

000003 

000316' 

000000 

000001 

000273' 

000000 

000257' 

000007 spd 



int 

spd 

spd 
spd 

spd 



104000 
047000 



104000 



040000 



000017 

000020 

000010 

000530 

000163 

006342' 

006264' 

006247' 

006263' 

006261 ' 

000002 

000013 

QQ0015 

000001 

000016 

000021 

000014 

000130 

005337' 

005314' 

104433' 

104436' 

)04425' 

112616' 

104352' 

)0Q243' 

112716' 

)0Q242' 

)1265( 

)0000! 

OOQOO: 

000263' 



spd 
spd 
spd 
int 



spd 
spd 
spd 
spd 
spd 
spd 
spd 
int 



spd 
spd 



DNARD 

DMAURT 

DMAXFO 

DNAXFA 

DNAXFB 

DMAXFC 

DMAXFD 

DMAXFR 

DMAXFS 

DNAXFX 

DONE 

DOSCS 

D0SCS1 

D0SCS2 

DSDG 

Duni 

EIRX 

ENABL1 

ENABLE 

ENAIN1 

ENAIN2 

ENAINT 

ENDF 

ENTER 

ENTER 

ENTERC 

ENTERD 

ENTERE 

ENTERG 

ENTERO 

ENTERP 

ENTERS 

ENTREN 

EPCAPr 

ERCAL 

ERJMP 

ERRDI1 

ERRDI2 

ERRDI3 

ERRDI4 

ERRDIL 

ERRDIT 

ERRSC1 

ERRSC2 

ERRSC4 

ERRSCL 

ERRSCS 

ERRSCT 

ERSTR2 

ERSTRT 

EVENTE 

FVENTQ 

EVENTX 

EVTAR6 

EVTTBL 



000002 



104000 



077000 



104000 
320740 
320700 



000262' 

000261 ' 

006446' 

006722' 

006730' 

006736' 

006752' 

006720' 

006754 • 

006755' 

000000 spd 

004605' 

004623' 

004617' 

000356' 

005620' 

000126 int 

004503' 

004472' 

004446- 

004451 ' 

004440' 

000276' spd 

004033' 

000000 

004044 ' 

004046' 

004051 ' 

004053' 

004060' 

004076 ' 

004066' 

004055' 

000151 

000000 



104000 



006271 ' 
006306' 
006313' 
000013 
006326' 
004641 ' 
004647' 
004654' 
000035 
004633' 
004712' 
00001 1 
14676' 
16214' 
)6173' 
16236' 
)6237' 
)06773' 



int 
int 
int 



spd 



spd 



int 



EXDLY 

EXDLYl 

EXDLY2 

EXDLY3 

EXDLY4 

EXECT 

EXIT 

EXTE 

EXUAI1 

EXUAI3 

EXW«!' 

EXWA. ^ 

FAKEL. 

FCMD 

FLINK 

FSTS 

FUNCFL 

FUNCST 

GA1C0N 

GA2C0N 

GAFLAG 

GANRES 

GENC 

GENCON 

GENDGM 

GENF 

GENFUN 

GENL 

GENLEN 

GENMS1 

GENnS2 

GENnS4 

GENnS5 

GENnS6 

GENMSG 

GENRS1 

GENRS2 

GENRS3 

GENRST 

GENST1 

GENST2 

GENST3 

GENSTR 

GET 

GETACT 

GETARG 

GETBUA 

GETBUF 

GETCID 

GETERX 

GET6LN 

GETINA 

GETINB 

GETIND 

GETINE 



047000 



004000 
002000 

010000 



262740 



104000 



004170' 

004212' 

004215' 

004216' 

004217' 

000502' 

000012 

000322' 

004240' 

004243' 

004244' 

004225 ' 

000002 

000326' 

000000 

000344 ' 

000373 

000537' 

000000 

000000 

000264 ' 

000000 

000327' 

000225' 

001477' 

000323' 

000224 ' 

000336' 

000226' 

001514' 

001540' 

001543' 

001545' 

001523' 

001477' 

001734' 

001750' 

001752' 

001717' 

002131' 

002145' 

002147' 

002114' 

000000 

003364' 

006033' 

006027* 

106013' 

)03536' 

100012 

003416' 

8^: 

003760' 
003771 ' 



spd 

spd 

spd 

spd 
spd 

spd 



int 



DFCIC 
DFC1C3 

6ETINF 

GETINX 

GETREP 

GETTAB 

GETTI2 

GO 

GOBI! 

GPRS 

GPRS1 

GPRSB 

GTADZ 

GTINFO 

HALT 

HALTFX 

HALTP 

HIBER 

IFPIN1 

IFPIN5 

IFPINT 

INPDGO 

INPDGA 

INPDGB 

INPDGC 

INPDGD 

INPD6E 

INPDGF 

INPDGH 

INPDGM 

INPDGX 

INPMSO 

INPMSA 

INPMSe 

INPnSC 

INPnSD 

IJ^PHSC 

iNPnsr 

INPNSG 

INPMSH 

INPNSJ 

INPMSL 

INPMSn 

INPMSX 

INTDMS 

INTriG 

INTTEN 

KIL3RA 

ICIL3RB 

KIL C 

KIL 

»CIL:'^E 

KIL3RF 

K1L3RH 

KIL3RX 

LASTF 

LBUFOF 



Cluster Test Protocol Responder MACRO X53B(1242) 11:18 27-Aug-85 Page S-3 
MAC 26- Ju 1-85 16:23 SYMBOL TABLE 



SEQ 0221 



047000 

260740 
000001 



104000 
100000 
254200 
104000 

047000 



003706' 

003774' 

003364' 

000041 

004527' 

000000 

000000 spd 

003562' 

003576' 

003601 ' 

000227 int 

000000 spd 

000000 

00C''70 int 

004671 ' 

000072 

004402' 

004413' 

004360' 

006424' 

006510' 

006527' 

006532' 

006537' 

006552' 

006561 ' 

006501 ' 

006477' 

006570' 

006435' 

0uo606' 

006636' 

006641 ' 

006646' 

006674' 

Q067Q3' 

006574' 

006576' 

006630' 

006664' 

)06666' 

)06714' 

)06467' 

0002|0' 

0063?2' 

)03272' 

)0330.' 

)03304 ' 

)03263' 




000222' 
000271 ' 



LDSTUS 
LEVTAB 
LICAR6 
LIRARG 
LISDI1 
LISDIS 
LISTNC 
LISTNR 
LIT.. 
LK.LLC 
LK.LLS 
LK.LNE 
LK.LNP 
LOCALN 
L0CAR6 
LOCK 
LOCPRT 
LTLCRD 
M 

MAINA 
MAINC 
MAINC1 
MAINLN 
MAP6U1 
MAPBUF 
MATCH 
MAXD6M 
?fAXMS6 
iAXOPC 
<DSND1 
r?DSN02 
Mi)SND3 
MDSNOC 
10NTYP 

mvE 

?:0VEB1 

M0VE62 

M0VEB4 

=^i'yEB5 

*!OVEBA 

nOVEBF 

MOVETY 

MSGCHN 

MS6D6M 

MS6SRV 

MXDGM 

N 

NMATCH 

NMBYTS 

NOAC 

N06UFM 

NOCONN 

NODE 

NODEUN 

NONSEN 



003450' 

007301 • 

005172' 

005232' 

003044' 

003027' 

005136' 

005177' 

261040 

000010 

000001 



spd 
spd 



000002 spd 

000004 spd 
005635' 
005657' 

047000 000060 

000005 spd 
007175' 
000003 
000447' 
000463' 
000472' 
000437' 
000622' 
000607' 
000001 spd 
000266' 
000263' 
000020 S7d 
007140' 
007161' 
0071 74' 
007134' 
000234' 
000324' 

001230' 
001231 



01?06' 
101165' 
)0023V 

)OQOQ^ 
105550 • 
)00260' 

JQ0041 

W 

^Q366 
)0QQ4 
10370 
10376 



s>d 



spd 
spd 



spd 
spd 
spd 
spd 



NOP 

NORESO 

NOT IMP 

N0TMS6 

NOUTZ 

NRESRC 

NRSARG 

NTIMPL 

OFLINE 

OKSENl 

OKSEND 

OKTOSD 

ONCHNS 

ONETIM 

ONLINE 

OPCARY 

OPCHK 

OPCO 

OPCODE 

OTHCHN 

OTHE 

OTHERN 

OTHREO 

OTHREA 

OTHREV 

OTHREX 

OURNOD 

OUTCHR 

OUTSTR 

OVRDUE 

P 

POST 

P10T11 

P11T10 

PI ST 

PCLEV1 

PCLEV2 

PCLEV3 

PCLREV 

PCLTYP 

PCLVER 

PIINI. 

PISYS. 

PITMR. 

PIVIrCT 

PKTH 

PKTSZF 

PKTZ 

PLIST 

PLISTE 

PLISTS 

PORT 

PRINT1 

PRINT2 

PRiNT3 



600000 



104000 



020000 
760000 
000004 



051040 
051140 
000040 



047000 
047000 
047000 



000000 
000375 
003337' 
005010' 
000224 
000002 
005050' 
000377 
007200' 
007212' 
007206' 
000000 
000000 
000000 
007203' 
000577' 
003521 ' 
000313' 
000231 • 
000004 
000331 ' 
000232' 
006457' 
006763^ 
006761 ' 
006770' 
000247' 
000000 
000000 
000000 
000017 
000335' 
003502' 
003463' 
000337' 
QQ7304' 
007305' 
07306' 
00000 
00000 
uOO'.Hi 
000135 

oroi!6 

' '0203 
U07307' 

»* 

000333' 
000014' 
000215' 
000013' 

04574' 
04575' 



sin 
spd 



int 
spd 

sp'i 



spd 
spd 
spd 



spd 



spd 
spd 



sp 



'>pd 



PRINTA 


004706' 


PRINTB 


004710' 


PRINTC 


004547' 


PRINTD 


004564 
004555' 


PRINTO 


PRINTT 


004550' 


PRTBRK 


007227' 


PS.FAC 


004000 000000 


PS. f Of 


200000 000000 


PS.FON 


100000 000000 


PS.TMS 


40C000 000000 


PSOUTX 


104000 000076 


PUT 


261740 000000 


QBDAR6 


005413' 


QBD6M 


005370' 


QBMAR6 


005365' 


QBMS6 


005342' 


QUE3UF 


003630' 


QUEBUX 


003642' 


QUEUE 


003604 ' 


RBI 


033000 


RBIO 


035230 


RBI 00 


060000 


RBI 01 


060230 


RBI 02 


060460 


Rdl03 


061000 


RBI 04 


061230 


RBI 05 


C1460 


RBI 06 


062000 


RBI 07 


062230 


RB11 


035460 


RBI 10 


062460 


RB1 11 


063000 


RB1 12 


063230 


RB1 13 


063460 


RB1 14 


^^ 


RB1 15 


RBI 16 


064460 


RB1 17 


065000 


RBI 2 


036000 


RBI 20 


065230 


RBI 21 


065460 


RBI 22 


066000 


RBI 23 


066230 


RBI 24 


066460 


RBI 25 


067000 


RBI 26 


067230 


RBI 27 


067460 


RBI 3 


036230 


RBI 30 


0700QQ 
070230 


RBI 31 


RBI 32 


070460 
071000 
071230 


RBI 33 


RBI 34 


RBI 35 


071460 



spd 
spd 
spd 
spd 
int 



DFCIC 


Cluster Test Protocol ResDonder 


MACRO X53B(1242) 


11:18 27-Aug-85 Page 


S-4 




DFCIC3 


MAC 26-Jul-85 


16:23 


SYMBOL TABLE 


•* •^ 






RBI 36 


072000 


RB216 


112000 


RB277 


132230 


RB357 


RBI 37 


072230 


RB217 


112230 


RB3 


033460 


RB56 


RBU 


036A60 


RB22 


040460 


RB30 


04246C 


RB560 


RBUO 


072460 


RB220 


112460 


RB300 


132460 


RB561 


RBK1 


073000 


RB221 


113000 


RB301 


133000 


RB562 


RB142 


073230 


RB222 


113230 


RB302 


133230 


RB365 


RBU3 


073460 


RB223 


113^*60 


RB303 


133460 


RB564 


RB1AA 


074000 


RB224 


114000 


RB304 


134000 


RB565 


RBH5 


074230 


RB225 


114230 


RB305 


134230 


R3566 


RB1A6 


074460 


RB226 


114460 


R6306 


154460 


RB567 


RBU7 


075000 


RB227 


115000 


RBi07 


135000 


RB57 


RBI 5 


037000 


RB23 


041000 


RB31 


043000 


RB570 


RBI 50 


075230 


RB230 


115230 


RB310 


135230 


RB571 


RBI 51 


075460 


RB231 


115460 


RB311 


135460 


RB572 


RBI 52 


076000 


RB232 


116000 


RB312 


136000 


RB575 


RB153 


076230 


RB233 


116230 


RB313 


136230 


RB574 


RB15A 


076460 


RB234 


116460 


RB314 


136460 


RB575 


RBI 55 


077000 


RB235 


117000 


R8315 


137000 


RB576 


RB156 


077230 


RB236 


117230 


RB316 


137230 


RB577 


RBI 57 


077460 


RB237 


117460 


RB317 


137460 


RB4 


RBI 6 


037230 


RB24 


041230 


RB32 


043230 


RB40 


RBI 60 


100000 


RB240 


120000 


RBb20 


140000 


RB400 


RB161 


100230 


RB241 


120230 


RB321 


140230 


RB401 


RBI 62 


100460 


RB242 


120460 


RB322 


140460 


RB402 


RBI 63 


101000 


RB243 


121000 


RB323 


141000 


RB41 


RB16A 


101230 


rb:;4 


121230 


RB324 


141250 


Rd42 


RB165 


101460 


RB245 


121460 


RB325 


141460 


RB45 


RBI 66 


10200C 


RB246 


122000 


RB326 


142000 


RB44 


RBI 67 


102230 


RB247 


122230 


RB327 


142230 


RB45 


RBI 7 


037460 


RB25 


041460 


RB33 


045460 


RB46 


RBI 70 


iui460 


R3250 


122460 


RB330 


142460 


RB47 


RB171 


103000 


R8251 


123000 


RB331 


145000 


RB5 


RBI 72 


103230 


RB252 


123230 


RB332 


145250 


RB50 


RB173 


103460 


RB253 


123460 


RB333 


145460 


RB51 


RBI 74 


1 04000 


RB254 


124000 


RB334 


144000 


RB52 


RB175 


104230 


RB255 


124230 


RB335 


144250 


RB55 


RB176 


104460 


RB256 


124460 


RB336 


144460 


RB54 


RBI 77 


105000 


R8257 


125000 


RB337 


145000 


RB55 


RB2 


033230 


R626 


042000 


RB34 


044000 


RB56 


RB20 


040000 


RB260 


125230 


RB340 


145250 


RB57 


RB200 


105230 


RB261 


125460 


R8341 


145460 


RB6 


RB201 


105460 


R6262 


126000 


RB342 


146000 


RB60 


RB202 


106000 


RB263 


126230 


rb:43 


146250 


RB61 


RB203 


106230 


RB264 


126460 


RB344 


146460 


RB62 


RB204 


106460 


RB265 


127000 


RB345 


147000 


RB65 


RB205 


107000 


R6266 


127230 


R6346 


147250 


RB64 


RB206 


107230 


RB267 


127460 


RB347 


147460 


RB65 


RB207 


107460 


R827 


042230 


RB35 


044250 


RB66 


RB21 


040230 


RB270 


130000 


RB350 


150000 


RB67 


RB210 


110000 


R8271 


130230 


RB351 


150230 


RB7 


RB211 


110230 


RB272 


130460 


RB352 


150460 


RB70 


RB212 


110460 


RB273 


131000 
131230 


RB353 


151000 
151230 


RB71 


RB213 


111000 


RB274 


RB354 


RB72 


RB2U 


111230 


RB275 


131460 


RB355 


151460 


RB75 


RB215 


111460 


RB276 


132000 


RB356 


152000 


RB74 



SEQ 0222 



152230 
044460 
152460 
1 55000 
153250 
155460 
1 54000 
154250 
1 54460 
155000 
045000 
155250 
155460 
1 56000 
1 56250 
1 56460 
157000 
157250 
1 57460 
054000 
045250 
160000 
160250 
160460 
045460 
046000 
046250 
046460 
047000 
047250 
047460 
054250 
050000 
050250 
050460 
051000 
051250 
051460 
052000 
052250 
054460 
052460 
055000 
055250 
055460 
054000 
054250 
054460 
055000 
055000 
055250 
055460 
056000 
056250 
056460 



DFCIC 


Cluster Test Protocol Responder 


MACRO 2538(1242) 


11:18 27-Aug-85 Page 


S-5 


■ y^- 


■ .-. ■.--"-:■-■.- 


DFCIC3 


MAC 26-JUI-85 16:23 


SYMBOL TABLE 


•* •* 






SEQ 0223 


RB75 


057000 RH134 


011372' 


RH214 


011672' 


RH275 


012176' 


RB76 


057230 RH135 


011376' 


RH215 


011676' 


RH276 


012202' 


RB77 


^.7460 RH136 


011402' 


RH216 


011702' 


RH277 


012206' 


RBUFOF 


000272' RH137 


011406' 


RH217 


011706' 


RH3 


[)10626' 
}10752' 


RCDAR6 


005501' RH14 


010672' 


RH22 


010722' 


RH30 1 


RCnARG 


005445' RH140 


011412' 


RH220 


011712' 


RH300 


512212' 


RCVDGE 


005471' RH141 


011416' 


RH221 


011716' 


RH301 


012216' 


RCVDGn 


005452' RH142 


011422' 


RH222 


011722' 


RH302 


n2222' 


RCVHCE 


005435' RH143 


011426' 


RH223 


011726' 


RH303 


)12226' 


RCVHSG 


005416' RH144 


011432' 


RH224 


011732' 


RH304 


)12232' 


REALBU 


000001 spd RH145 


011436' 


RH225 


011736' 


RH305 


)12236' 


REDARG 


006137' RH146 


011442' 


RH226 


011742' 


RH306 


)12242' 


REDATA 


006115' RH147 


011446' 


RH227 


011746' 


RH307 


)12246' 


REFE 


000314* RH15 


01C 


1676* 


RH23 


010726' 


RH31 


)10756' 


REJARG 


005311' RH150 


011 


432' 


RH230 


011752' 


RH310 


)12252' 


REJECT 


005266' RH151 


011 


456' 


RH231 


011756' 


RH311 


012256' 


REPC 


000321' RH152 


Oil 


462' 


RH232 


011762' 


RH312 


)12262' 


REQ1 


000002 spd RH1 53 


Oil 


466' 


RH233 


011766' 
011772' 


RH313 


)12266' 


REQ2 


000003 spd RH15^» 


Oil 


472' 


RH234 


RH314 


^2272' 


RESETX 


104000 000147 int RH155 


Oil 


476' 


RH235 


011776' 


RH315 


)12276' 


RESOFS 


0001 00 spd RH156 


Oil 


502' 


RH236 


012002' 


RH316 


)12302' 


RESPFG 


000223' RH157 


Oil 


506' 


RH237 


012006' 


RH317 


)12306' 


RH1 


010616' RH16 


01C 


1702' 


RH24 


010732' 


RH32 


)10762' 


RH10 


010652' RH160 


Oil 


512' 


RH240 


012012' 


RH320 


012312' 


RHIOO 


011212' RH161 


Oil 


516' 


RH241 


012016' 


RH321 


)12316' 


RH101 


011216' RH162 


Oil 


522' 


RH242 


012022' 


RH322 1 


)12322' 


RH102 


011222' RH163 


Oil 


526' 




012026' 


RH323 ( 


)12326' 


RH103 


011226' RH164 




5^d' 


RH244 


012032' 


RH324 ( 


012332' 


RH104 


011232' RH165 


011 


536' 


RH245 


012036' 


RH325 ( 


012336' 


RH105 


011236' RH166 
0i!?42' ^Hl67 


oil 


542' 


RH246 


012042' 


RH326 \ 


)12342' 


RH106 


on 


546' 


RH247 


012046' 


RH327 1 


)12346' 


RH107 


0M246' RH17 


01C 


1^06' 


RH25 


010736' 


RH3 


3 ( 


)10766' 


JH11 


0(0656' RH170 


011 


552' 


RN250 


012052' 


RH330 < 


)12352' 


RH110 


011252' RH171 


oil 


556' 


RH251 


012056' 


RM331 ( 


)12356; 


RH111 


011256' JiKl72 


oil 


562' 


RH252 


012062' 


RH332 1 




RH112 


011262' RH173 


oil 


.66' 


RH253 


012066' 
Ol5072' 


RH3 


53 1 


)12372' 


RHm3 


011^66' RH174 


oil 


572' 


RH254 


Rh3 


34 1 


RH1U 


0^'^72' RH175 


oil 


576' 


RH255 


0:2076' 


• RH335 ( 


)12376' 


RM115 


0^276' RH176 
r 11302' RH177 


oil 


602' 


RH256 


012102' 


RH336 1 


)12402' 


RH116 


oil 


606' 


RH557 


012106' 


RH337 1 


312406' 


RH117 


J11306' RH2 


01C 


1622' 


RHcO 


010742' 


RH3^* ( 


310772' 


RH12 


010662' RH20 
011312' RH200 


010 


1712' 


RH260 

rh;6i 

RH262 


012112' 


RH3 


40 ( 


312^12' 


RH120 


oil 


612' 


012116' 


RH3 


41 1 


312416' 


RH121 


011316' RN201 


on 


616' 


01^22; 


RM3 


42 1 


312422' 


RH1 22 


01.322' RH202 


oil 


622" 


RH263 




RH3 


43 i 


312426' 


RH123 


011326' RH203 


oil 


626' 
632' 


RH264 


RH3 


44 1 


vhi^\ 


RH124 


011332' RH204 


on 


RH265 


Olcl j6' 


RH3 


45 ( 


il2442' 


RH125 


011336' RH205 


oil 


636' 


RH266 
RH267 
RH27 


012142' 


RH346 ( 


RH'i26 


011342' RH206 
011346' RH207 


oil 


642' 


012146' 


RH3 


47 ( 


312446' 


RH127 


oil 


646' 
1716' 


010746' 


RH3 


5 ( 


310776' 


RH13 


010666' RH21 


01C 


RH270 


012152' 


RH3 


50 ( 


312452' 


RM130 


011352' RH210 
011356' RH211 


Q11 


652' 


RH271 


012156' 


RH3 


51 ( 


)l2456' 


RH131 


oil 


656' 


RH272 


012162' 


RH3 


52 < 


312462' 


RH132 


011362' RH212 
011366' RH213 


911 


662' 


RH273 


012172' 


RH3 




312466' 
312472' 


RH133 

■i 


011666' 


RH274 


RH3 


54 1 



DFCIC 


Cluster Test ProtocGl Re 


DFCIC3 


MAC 26-JUL-85 16:23 


RH355 


012476' 


RH356 


012502' 


RH357 


012506' 


RH36 


011002' 


RH360 


012512' 


RH361 


012516' 


RH362 


012522' 


RH363 


012526' 


RH364 


012532' 


RH365 


012536' 


RH366 


012542' 


RH367 


012546' 


RH37 


011006' 


RH370 


012552' 


RH371 


012556' 


RH372 


012562' 


RH373 


012566' 


RH374 


012572' 


RH375 


012576' 


RH376 


012602' 


RH!i77 


012606' 


RH4 


010632' 


RH40 


011012' 


RN400 


012612' 


RH41 


011016' 


RH42 


011022' 


RH43 


011026' 


RH44 


011032' 


RH45 


011036' 


RH46 


011042' 


RH47 


0i!046' 


RH5 


010636' 


RH50 


011052' 


RH51 


011056' 


RH52 


011062' 


RH53 


011066' 


RH54 


011072' 


RH55 


011076' 


RH56 


011102' 


RH57 


011106' 


RH6 


010642' 


RH60 


011112' 


RH61 


011116' 


RH62 


011122' 


RH63 


011126' 


RH64 


011132' 


RH65 


011136' 


RH66 


011142' 


RH67 


011146' 


RH7 


010646' 


RM70 


011152' 


RH71 


011156' 
011162' 


RH72 


RH73 


011166' 
011172' 


RH74 



SYMBOL TABLE 



SEQ 0224 



RH75 

RH76 

RH77 

RH6LEN 

RHBLKA 

RHBLKB 

RHBI.KV 

RHBPER 

RMCBLA 

RMCBLB 

RMCBLC 

RMCBLG 

RMCBLH 

RMCBLK 

RMCBLM 

RMDISC 

RMHBLK 

RMRBLA 

RMRBLB 

RMVAR6 

RMVBUA 

RMVBUF 

RPCAPX 

RPCNT 

RQREFU 

RSPDR 

RSPNDR 

RTN 

S..CAI 

S..CC0 

S..CFC 

S..CFD 

S..CFM 

S..CII 

S..CLJ 

S..CST 

S..OBF 

S..E0N 

S..NCD 

S..NCI 

S..NRH 

S..NRn 

S..P0F 

S..RNO 

SCXD6A 

SCZDTA 

SCZEVA 

SC*^SA 

SCALBF 

SCARBF 

SCOFFS 

SCSI 

SCS. 

SCS8LK 

SCSCAL 



104000 



263740 



200000 
100000 
040000 
400000 



1040 
0470 



011176' 
011202' 
011206' 
000004 
003062' 
003067' 
003056' 
000010 
003174' 
003230' 
003233' 
003212' 
003221 ' 
003164' 
003?24' 
007224 ' 
003112' 
003134' 
003137' 
006064 ' 
006054 ' 
006040' 
000150 
000001 
000374 
000305 
000300 
000000 
004407 
007217 
007145 
006536 
006613 
004404 
004505 
004412 
004254 
004450 
006753 
006515 
003066 
006645 
4435 
3077 

00000 





000 

00267' 
70' 





spd 



spd 



lot 
spd 
spd 



spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 



spd 
int 



SCSERC 

SCSFCN 

SEDAR6 

SEDATA 

SE!y04 

SEN04C 

SEND 

SENDA 

SENDMA 

SENDMC 

SENDMD 

SENIMA 

SENIMP 

SENNRA 

SEHKRS 

SETTI1 

SETTI2 

SETTI6 

SETTI7 

SETTIH 

SIRX 

SIXCID 

SPEAR 

SPEARA 

SPEARE 

SPEARF 

SPEART 

SPEARX 

SPOFST 

SPRBLN 

SPRCIN 

SPRNOD 

SQZCVD 

SSACRZ 

SSACSZ 

SSARGZ 

SSCBFZ 

SSCPNZ 

SSCRBZ 

SSCUBZ 

SSDCFZ 

SSDQEZ 

SSEQEZ 

SSICIZ 

SSIDMZ 

SSIFCZ 

SSINNZ 

SSNBQZ 

SSNFBZ 

SSNFCZ 

SSNNKZ 

SSNPCZ 

SSNPVZ 

SSNS6Z 

SSPSFZ 



104000 



000237' 

000240' 

006110' 

006066' 

004147' 

004163' 

004124' 

004142' 

005536' 

005543' 

005506' 

005001 ' 

004750' 

005041 ' 

005015' 

004275' 

004273' 

004255' 

004251 ' 

004250' 

000125 

000000 

004005' 

004023' 

000200 

000217' 

007341 ' 

004026' 

000020 

000357' 

000360' 

000361 ' 

000010 

000003 

000004 

mm 

000005 
000026 
)00027 
)00017 
)00Q24 

000032 
000001 
1001 r 




int 
spd 



spd 



sin 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 



SSQBFZ 


000021 


SSRCFZ 


000016 


SSRQEZ 


000014 


SSSCPZ 


000033 


SSSTLZ 


000034 


SSTMSZ 


000031 


SSUNSl 


002332' 


SSUNSO 


002320' 


SSVNOZ 


000012 


STAAR6 


005733' 


STAR 


000342' 


START 


000362' 


STAT 


000317' 


STATSI 


005707' 


STATUS 


000002 


STPARG 


005626' 


STP0L1 


005606' 


STP0L2 


005613' 


STPOLL 


005555' 


S TRACT 


003402' 


STR6LN 


003434' 


STRREP 


003402' 


STRTAD 


000252' 


STRTF 


000217' 


SUCCES 


000000 


SYERRZ 


104000 000527 


SYSAC2 


000255' 


SYSE02 


007545' 


SYSE10 


007547' 


SYSE12 


007554' 


SYSERE 


000315 


SYSERT 


007541 ' 


SYSHLF 


000013 


SYSJYS 




THIRD 


200000 000000 


TIMCHN 
TIHEZ 


104000 000014 


TIMELN 


000074 


TIMERZ 


104000 000522 


TIMESP 


004341' 


TIMIN1 


TIMIN7 


004347' 


TIHINT 


004337' 


TIMR10 


004313' 


TIMR20 




TIOFFS 
TOPEXE 


Oo82?4' 


'RACE 
TSTTBL 


8o8?lt' 


UNMAP1 


001047' 


UNMAPB 


QQ1 034 ' 


UNSACT 


q50c53 ' 


UTim 


004515' 


UTIME 


004507' 
000553' 


VALOO 



spd 
spd 
spd 
spd 
spd 
spd 



spd 



spd 



spd 
int 



spd 
spd 
int 
spd 
int 



spd 



DFCIC 
DFCIC3 

VAL01 

VAL01A 

VAL01 C 

VAL01D 

VAL01G 

VAL01 S 

VAL01 X 

VAL02 

VAL02A 

VAL02G 

VAL02S 

VAL02X 

VAL03 

VAL03A 

VAL03B 

VAL03C 

VAL03F 

VAL03G 

VAL03H 

VAL03S 

VAL03X 

VALOA 

VALCKA 

VALOAB 

VALOAC 

VALOAD 

VALOAE 

VALOAF 

VALOAG 

VALOAH 

VALOAS 

VALOAX 

VAL06 

VAL06A 

VAL06S 

VAL06X 

VAL07 

VAL07A 

VAL07S 

VAL07X 

VAL08 

VAL09 

VAL09S 

VAL09X 

VAL10 

VAL10S 

VAL10X 

VAL11 

VAL11A 

VAL11S 

VALIIX 

VCBRKA 

VCBRKB 

VCBRKC 

VCBRKN 



Cluster Test Protocol Responder MACRO I53B(12A2) 11:18 27-Aug-85 Page S-7 
MAC 26-JUI-85 16:23 SYMBOL TABLE 



SEQ 0225 



000625' 
0006A5' 
00065A' 
000662' 
0006A1 • 
000673' 
000671 ' 
001052' 
001072' 
001066' 
001103' 
001101' 
001236' 
001 25A' 
001261' 
001265' 
001275' 
001302' 
001 30A' 
001 31 A' 
001312' 
001552' 
001570' 
001577' 
001601 ' 
001603' 
001632' 
001 6A0' 
001 6A6' 
001656' 
0u!670' 
001666' 
001757' 
001 112 ' 
002001 • 
001777' 
0021 5A' 
002167' 
002176' 
0021 7A' 
002335 ' 
002A25' 
002AA2' 
002AA0' 
002532' 
0025A7' 
0025A5' 
002753' 
002767' 
002775 • 
002773' 
Q07Q1A' 
007036' 
0070AA • 
007010' 



VCGONE 

VEDIT 

UAITZ 

WAITF 

UAITIM 

UAITRB 

WAITT 

UATOVR 

ZCNDTM 

ZCNMNT 

ZCNSTS 

ZCNSUP 

.D6CTR 

.D6ENB 

.DGRST 

.DGSTR 

.FHSLF 

.LBACC 

.LBCON 

.LBCSP 

.LBDIS 

.LBEVT 

.LB6DE 

.LBGLN 

.LBLIS 

.LBQRD 

.LBQRM 

.LBRBS 

.LBRCD 

.L6RDG 

.LBREJ 

.L6REQ 

.LBRMG 

.LBRPS 

.LBSMG 

.LBSND 

.LBSTS 

.LBUMP 

.PCSCS 

.PCTMR 

.PRIOU 

.PS VIS 

.PSVOP 

.SID6A 

.SIDMA 

.SIMSA 

.SQADC 
.SOAFB 
.SQAMC 
.SOAPT 
. SOARB 
. SOBDN 
.SQBID 
. SOBNA 



000010 
10A000 

000100 

000053 
000112 
000017 
000136 



mill 
mill 



000000 

00001 A 

000306 

000221 ' 

000250' 

000251 • 

000000 

00A355' 

00001 1 

00001 1 

00001 1 

00001 1 

000107 

000111 

000105 

000106 

AOOOOO 

000003 

000010 

000007 

000003 

000010 

000003 

000002 

000005 

000003 

000003 

000003 

00002A 

000005 

000003 

000005 

000005 

000003 

000005 

000005 

OOOOOA 

mk 

milt 

000101 
000003 
000001 
000000 
000002 
000001 
000003 
00000( 

ooooo; 

00000! 
000002 

589592 

OOOOOA 
000002 
000002 



spd 
spd 
int 



spd 

spd 
spd 
spd 
spd 
sin 
sin 
sin 
sin 
sin 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
sin 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 
spd 



.SQCDA 
.SQCDT 
.SQCID 
.SQDFL 
.SQDIS 
.SQDPN 
.SQESB 
.SQEVT 
.SQFL6 
.SQFST 
.SQLCI 
. SQLDG 
.SQLEN 
. SQLMG 
.SQLNN 
. SQLPN 
.SQLPT 
. SQLRP 
•SQNAM 
.SQOFS 
.SQ0S6 
.^QRCI 
.SORE J 
.SQRNM 
. SQRPN 
.SQRPS 
.SQSAD 
.SQSBI 
.SQSBR 
.SQSNM 
.SQSPN 
.SQSYS 
.SQVCS 
.SSACC 
.SSAIC 
.SSCON 
.SSCSP 
.SSDIS 
.SSEVT 
.SS6DE 
.SSGLN 
.SSLIS 
.SSMAP 
.SSQRD 
. SSQRM 
.SSRBS 
.SSRCD 
.SSRD6 
.SSREJ 
.SSREQ 
.SSRM6 
.SSRPS 
.SSSDG 
.SSSMG 
.SSSND 



000002 spd 
OOOOOA spd 

000001 spd 

000003 spd 

000002 spd 
000002 spd 

000002 spd 

000003 spd 
OOOOOA spd 
000002 spd 
OOOOOA spd 

000002 spd 

000000 spd 

000001 spd 
000001 spd 
000023 spd 

000003 spd 
OOOOOA spd 

000001 spd 
OOOOOA spd 

000002 spd 
000007 spd 

000002 spd 

000003 spd 

000001 spd 

000002 spd 
OOOOOA spd 
000005 spd 

000003 spd 

000002 spd 
000001 spd 

000003 spd 
000003 spd 
000023 spd 
000020 spd 

000000 spd 

000010 spd 
000003 spd 
000025 spd 
00002A spd 
000030 spd 

000001 spd 
00001 A spd 
000005 spd 
000007 spd 
000035 spd 

00001 1 spd 
000022 spd 

000002 spd 
"117 spd 

13 spd 

36 spd 

.JOA spd 

J0006 spd 

00016 spd 



SSSTS 


000012 


SSUHP 


000015 


TIMEL 


000001 



spd 
spd 
sin 




ACO 


4A# 


362 


363 


383 


384 


385 


410 


411 


415 


421 


422 


423 


424 




426 


^35 


437 


456 


457 


459 


463 


464 


468 


469 


470 


472 


563 




566 


571 


576 


577 


578 


580 


582 


584 


632 


639 


640 


642 


644 




650 


651 


653 


662 


668 


670 


671 


673 


681 


685 


698 


728 


733 




739 


746 


747 


751 


752 


757 


759 


765 


766 


772 


774 


776 


777 




786 


787 


788 


791 


792 


798 


800 


812 


835 


842 


843 


845 


847 




856 


858 


860 


867 


871 


881 


883 


884 


892 


895 


896 


899 


904 




910 


919 


926 


936 


962 


964 


976 


981 


991 


992 


994 


996 


1002 




1010 


1011 


1017 


1019 


1020 


1022 


1028 


1030 


1032 


1039 


1044 


1054 


1060 




1083 


1084 


1088 


1089 


1094 


1096 


1097 


1105 


1106 


1112 


1131 


1138 


1139 




1142 


1145 


1151 


1159 


1161 


1162 


1165 


1167 


1170 


1172 


1179 


1180 


1214 




1248 


1250 


1263 


1268 


1277 


1278 


1280 


1286 


1289 


1293 


1296 


1303 


1312 




1317 


1318 


132]; 


1334 


1335 


1341 


1343 


1345 


1346 


1354 


1355 


1356 


1357 




1361 


1367 


1369 


1377 


1378 


1382 


1394 


1398 


1404 


1410 


1420 


1430 


1447 




1463 


1469 


1470 


1472 


1478 


1479 


1481 


1488 


1494 


i513 


1518 


1519 


1523 




1557 


1559 


1567 


1574 


1577 


1589 


1599 


1616 


1627 


1632 


1638 


1639 


1641 




1648 


1650 


1657 


1663 


1682 


1687 


1688 


1693 


1694 


1698 


1716 


1732 


1734 




1740 


1742 


1749 


1756 


1759 


1771 


1794 


1795 


1797 


1803 


1808 


1809 


1813; 




1815 


1838 


1846 


1869 


1875 


1876 


1877 


1879 


1886 


1890 


1898 


1910 


1917 




1934 


1940 


1963 


1969 


1970 


1971 


1973 


1980 


1985 


1991 


2020 


2022 


2023 




2028 


2029 


2031 


2034 


2035 


2037 


2040 


2041 


2043 


2046 


2047 


2049 


2052 




2055 


2057 


2058 


2105 


2107 


2112 


2122 


2127 


2132 


2150 


2154 


2160 


2161 




2164 


2169 


2176 


2181 


2194 


2196 


2201 


2209 


2211 


2220 


2270 


2287 


2288 




2306 


2318 


2320 


2324 


2326 


2346 


2387 


2447 


2486 


2492 


2500 


2515 


2537 




2548 


2553 


2554 


2555 


2556 


2557 


2567 


2582 


2587 


2608 


2609 


2610 


2625 




2651 


2652 


2653 


2665 


2671 


2674 


2695 


2696 


2697 


2698 


2699 


2700 


2701 




2721 


2722 


2723 


2724 


2725 


2726 


2727 


2728 


2776 


2781 


2782 


2784 


2785 




2789 


2798 


2806 


2870 


2884 


2915 


2917 


2938 


2961 


2962 


2971 


2972 


2976 




2978 


2979 


3003 


3004 


3021 


3232 


3240 


3241 


3242 


3249 


3255 


3265 


3277 




3288 


3294 


3301 


3322 


3323 


3330 


3338 


3339 


3509 


3512 


3513 


3514 


3517 




4316 
5213 
45# 


4608 


4609 


4610 


4620 


4962 


4987 


4993 


5003 


5013 


5023 


5040 


5211 


AC1 


278 


281 


284 


285 


286 


289 


290 


293 


294 


295 


296 


297 




301 


302 


305 


306 


309 


310 


313 


314 


315 


316 


317 


318 


319 




323 


326 


327 


330 


331 


334 


335 


338 


341 


348 


350 


352 


367 




369 


370 


371 


372 


374 


378 


409 


410 


420 


421 


424 


430 


434 


! 


436 


442 


443 


462 


463: 


467 


468 


494 


495 


508 


510 


511 


514 




517 


549 


555 


556 


572 


573 


574 


575 


577 


579 


580 


581 


582 




617 


625 


626 


633 


636 


637 


638 


649 
720 


658 


659 


660 


667 


680 




695 


696 


703 


707 


715 


716 


718 


722 


724 


726 


736 


737 




743 


744 


745 


756 


811 


819 


827 


828 


836 


839 


840 


841 


855 




872 


878 


879 


880 


916 


925 


935 


937 


948 


949 


958 


959 


960 


^ 


975 


982 


985 


986 


990 


1001 


1009 


1016- 


1027 


1053 


1061 


1074 


1075 


, 


1080 


1081 


1082 


1093 


1124 


1125 


1127 


1128 


1156 


1157 


1158 


1164 


1169 




1175 


1213 


1222 


1224 


1236 


1237 


1244 


1245 


1246 


1248 


1262 


1269 


1274 


' 


1276 


1309 


1310 


1311 


1374 


1375 


1376 


1393 


1399 


1419 


1429 


1431 


1444 




1447 


1451 


1452 


1457 


1464 


1466 


1467 


1468 


1477 


1487 


1495 


1503 


1504 




1517 


1534 


1535 


1537 


1538 


1546 


1547 


1548 


1549 


1550 


1554 


1555 


1556 




1588 


1598 


1600 


1613 


1614 


1616 


1620 


1621 


1626 


1633 


1635 


1636 


1637 




1656 


1664 


1672 


1673 


1674 


1686 
1744 


1692 


1709 


1710 


1712 


1713 


1721 


1722 




1724 


1725 


1729 


1730 


1731 


1770 


1779 


1786 


1787 


1804 


1811 


1812 




1821 


1823 


1830 


1831 


1833 


1845 


1854 


1861 


1862 


1870 


1872 


1873 


1874 




1891 


1901 


1906 


1907 


1921 


1931 


1939 


1948 


1957 


1958 


1964 


1966 


1967 



425 
564 
646 
734 
785 
849 
905 
1003 
1069 
1141 
1223 
1313 
1360 
1458 
1541 
1647 
1739 
1814 
1927 
2025 
2053 
2162 
2295 
2542 
2630 
2702 
2786 
2977 
3280 
4315 
5212 

300 

322 

368 

435 

515 

583 

686 

738 

866 

962 

1076 

1174 

1275 

1445 

1505 

1562 

1646 

1723 

1820 

1885 

1968 



SEQ 0226 



L 



• 1979 


1986 


1996 


1997 


1998 


2002 


2003 


2004 


2005 


2006 


2010 


2016 


2017 


2062 


. 2063 


2064 


2065 


2066 


2067 


2068 


2071 


2077 


2078 


2079 


2080 


2081 


2085 


2091 SEQ ( 


2092 


2093 


2094 


2095 


2096 


2097 


2098 


2099 


2100 


2111 




2145 


2146 


2155 


. 2157 


2158 


2159 


2167 


2175 


2182 




2191 


2200 




2215 


2216 


2225 


2228 


2231 


2254 


2258 


2271 


2276 


2277 


2282 


p4^ 




2292 


2294 


2307 


2313 


2318 


2319 


2324 


2325 


2330 


2331 


2333 


2339 


2345 


2361 


2436 


2388 


2399 


2400 


2405 


2410 


2411 


2412 


2417 


2418 


2424 


2425 


\m 


2431 


2439 


2446 
2563 


2462 


2470 


2487 


2497 


2498 


2520 


2521 


2526 


2532 


2541 


2549 


2552 


2564 


2566 


2580 


2583 


2584 


2585 


2586 


2588 


2589 


2590 


2592 


2602 


2604 


2605 


2606 


2607 


2612 


2623 


2626 


2627 


2628 


2629 


2631 


2632 


2633 


2635 
2751 


2645 


2647 


2648 


2649 


2650 


2655 


2666 


2668 


2669 


2670 


2673 


2740 


2743 


2763 


2764 


2765 


2766 


2777 


2780 


2788 


2797 


2800 


2801 


2802 


2808 


2835 


2840 


2842 


284] i 


2847 


2848 


2858 


2871 


2883 


2893 


2898 


2925 


2939 


2952 


2953 


2958 


2960 


2961 


2966 


2970 


2971 


2977 


2979 


2983 


2984 


2985 


2989 


looo 


3002 


3006 


3007 


3008 


3011 


3020 


3041 


3046 


3051 


3060 


3065 


3085 


3088 


:;ioi 


3108 


3109 


3114 




3124 


3132 


3139 


3141 


3146 


3176 


3180 


3193 




:;207 


3218 


3233 


3237 


3238 


3239 


3245 


3264 


3278 


3281 


3300 


3314 


3320 


3323 


:324 


3331 


3347 


3350 


3352 


:353 


3354 


3357 


3362 


3372 


3377 


3387 


3396 


3401 


:;4i9 


3425 


3430 


3431 


3432 


:;438 


3439 


3440 


3441 


3442 


3443 


3444 


3445 


:446 


:;45i 


3464 


3468 


3472 


3473 


:;474 


3476 


3481 


3484 


3488 


3489 


3490 


3492 


:501 


:502 


3504 


3514 


3524 


3532 


:;532; 


3534 


3552 


3553 


3554 


3555 


3556 


3560 


:56i 


:562 


3563 


3564 


:;565 


3566 


: 576 


3577 


3578 


3584 


3595 


3602 


3612 


3618 


:6i9 


3620 


3640 


3641 


:;642 


3643 


:654 


l^l 


5664 


3665 


3666 


ii^? 


3677 


3686 
3834 


;689 


3844 


3699 
3850 


3703 


:;719 


3728 


: 731 


1777 


3794 


3796 


3803 


3828 


!842 


3855 


:;883 


3885 


: 894 


3895 


3899 


3900 


3904 


3905 


3911 


3915 


:9i7 


3942 


3946 


3947 


:;955 


3957 


: 961 


3962 


3964 


5?§§ 


3987 


3991 


3992 


3999 


4001 


4005 


4006 


4008 


4013 


4033 


4039 


4042 


4047 


4052 


4071 


4077 


4079 


4085 


4090 


4108 


4114 


4116 


4122 


4127 


4148 


4154 


4156 


4162 


4166 


4186 


4192 


4194 


4200 


4205 
4317 


4222 


4226 


4227 


4232 


4240 


4245 


4264 


4268 


4269 


4274 


4282 


4287 


4311 


4322 


4324 


4348 


4354 


4373 


4379 


4382 


4388 


4392 


4393 


4395 


4396 


4398 


4399 


4403 


4405 


4412 


4434 


4441 


4447 


4452 


4468 


4476 


4482 


4487 


4504 


4510 


4513 


4519 


4524 


4544 


4550 


4553 


4554 


4555 


4556 


4563 


4568 


4612 


4614 


4618 
4763 


4623 


4643 


4649 
4776 


4650 


4659 


4662 


4686 


4690 


4697 


4727 


4731 


4738 


4760 


4764 


4767 


4779 


4794 


4797 


4798 


';801 


4802 


4803 


4804 


4814 


4821 


4824 


4831 


4854 


4858 


4865 


4872 


4877 


4884 


4885 


4889 


4893 


4894 


4896 


4897 


4900 


4905 


4963 


4969 


4971 


4972 


4974 


4976 


4978 


4986 


4994 


5004 


5014 


5024 


5039 


5047 


5057 


5061 


5062 


5063 


5074 


Mi 


5086 


5088 


5090 


5099 


5105 


5106 
5155 


5107 


5108 


5116 


5117 


5118 


5119 


5129 


5130 


5131 


5132 


5133 


5139 


5144 


5159 


5160 


5161 


5173 


5174 


5176 


5177 


5178 


5185 


5195 


5197 


5199 


5201 


5210 


5221 




5224 


5225 

5271 


5234 


5235 


5237 


5238 


5245 


5247 


5248 


5249 


5259 


5260 




526B 


5264 


5276 




5308 


5312 


5317 


5323 


5334 


5356 


5358 




54^5 


5369 


5370 


5378 


5379 


53j 


5387 


5388 


5389 


5394 


5395 


5396 


5407 


5423 


5447 


5457 


5461 


5470 


5473 


5476 


5487 


5496 


5499 


ll^l 


5504 


5505 


5509 


5511 


5522 


5529 


5531 


5542 


5558 


5564 


5570 
AC 10 52# 
AC 11 53# 


5576 


5579 


5583 


5584 


5585 


5597 


5603 


5609 






































AC12 54# 








: 


, - - 


















AC 13 55# 




























AC 16 56* 


58 


























AC2 464f 


431 


509 


513 


516 


634 
873 


679 


687 


704 


773 


774 


784 


786 


788 


799 


8Q0 


810 


SH 


865 
1039 


888 


890 


891 


924 


938 


947 


948 


957 


958 


974 


983 


1038 


1052 


1062 


1101 


1103 


1104 


1118 




1121 


1185 


1195 


1212 


1225 

* 


1235 


1236 


1243 


1244 


1261 


1270 


1275 


1276 


1302 


1303 


1310 



1311 


1331 


1332 


1342 


1343 


1353 


1355 


1357 


1368 
1486 


1369 


1375 


1376 


1392 


1 \00 


1418 


1432 


1443 


1444 


1456 


1465 


1467 


1468 


1496 


1512 


1513 


1528 


1530 


1531 


1555 


1556 


1587 


1601 


1612 


1613 


1625 


1634 


1636 


1637 


1655 


1665 


1681 


1682 


1703 


1705 


1706 


1730 


1731 


1769 


1805 


1810 


1811 


1844 


1871 


1873 


1874 


1884 


1892 


1902 


1917 


1918 


1927 


1928 


1938 


1965 


1967 


1968 


1978 


1987 


2017 


2018 


2023 


2027 


2029 


2033 


2035 


2039 


2041 


2045 


2047 


2051 


2053 


2056 


2058 


2110 


2156 


2158 


2159 


2174 


2183 


2185 


2190 


2191 


2199 






2230 




2245 


2249 


2260 


2272 


2281 




2287 




2293 


2308 


2*30 


2331 


2332 


2333 


2334 


2338 


2341 


2344 


2358 


2362 


2364 


2365 


2375 


2389 


2393 


2395 


2396 


2445 


2459 


2463 


2465 


2466 


2476 


2488 


2508 


2512 


2527 


2540 


2550 


2551 


2552 


2565 


2581 


2584 


2585 


2587 


2588 


2590 


2591 


2603 


2605 


2606 


2607 


2608 


2610 


2611 


2624 


2627 


2628 


2630 


2631 


2633 


2634 


2646 
2702 


2648 


2649 


2650 


2651 


2653 


2654 


2667 


2669 


2670 


2672 


2691 


2693; 


2694 


2704 


2717 


2719 


2720 


2728 


2730 


2744 


2745 


2746 


2747 


2748 


2749 


2778 


2779 


2780 


2787 


2796 


2803 


2809 


2836 


2843 


2847 


2849 


2857 


2872 


2876 


2878 


2882 


2894 


2899 


2901 


2902 


2924 


2940 


2967 


3001 


3012 


3019 


3042 


3047 


3048 


3051 


3054 


3059 


3066 


3076 


3085 


3088 


3091 


3092 


3093 


3098 


3100 


3102 


3103 


3104 


3122 


3123 


3124 


3125 


3131 


3140 


3142 


3145 


3177 


3182 


3192 


3204 


3209 


3217 








3263 


3279 


3299 


3318 


3319 


3330 


3348 


3351 


3352 




3363 


3371 


3378 


3386 


3392 


3394 


3396 


3398 


3399 


3400 


3420 


3426 


3428 


3433 


3450 


3527 


3544 


3546 


3549 


3557 


3620 


3623 


3625 


3626 


3656 


3663 


3664 


3665 


3683 


3687 


3688 


3690 


3691 


3692 


3697 


3701 


3705 


3720 


3721 


3778 


3781 


3782 


3783 


3784 


3786 


:;787 


3791 


3792 


3797 


3806 


3829 


3835 


3839 


3840 


3845 


3854 


3875 


3878 


3879 


:;880 


3881 


3882 


3886 


3887 


3895 


3896 


3897 


3900 


3901 


3902 


3905 


3906 


3907 


:;9i2 


3920 


3943 


3948 


3949 


3950 


3951 


3952 


3953 


3958 


3967 


3988 


3993 


3994 


'995 


3996 


3997 


4002 


4012 


4034 


4037 


4038 


4040 


4041 


4043 


4051 


4072 


4078 


4080 


4089 


4109 


4115 


4117 


4126 


4149 


4155 


4157 


4165 


4187 


4193 


4195 


4204 


4223 


4233 


4244 


4265 


4275 


4286 


4312 


4318 


4326 


4353 


4374 


4380 


4381 


4383 


4411 


4435 


4442 


4451 


4469 


4477 


4486 


4505 


4514 


4523 


4545 


4551 


4557 


4567 


4611 


4615 


4644 


4647 


4648 


4651 


4658 


4687 


4691 


4728 


4732 


4761 


4768 


4775 


4795 


4805 


4813 


4822 


4826 


4830 


4855 


4871 


4887 


4891 


4895 


4902 


4907 


4908 


4964 


4969 


4973 


4975 


4977 


4979 


4980 


4985 


4995 


5005 


5015 


5025 


5038 


5056 


5058 


5059 


5075 


5085 


5089 


5154 


5156 


5157 


5179 


5186 


5196 


5200 


5285 


5287 


5288 


5302 


5303 


5304 


5357 
5581 
AC3 47# 


5359 


5360 


5424 


5436 


5448 


5456 


5498 


5500 


5501 


5519 


5539 


5578 


5580 


635 


637 


kl% 


649 


667 


678 


688 


737 


738 


744 


745 


756 


771 


775 


782 


790 


797 


801 


809 


838 


840 


841 


855 


864 


874 


879 


880 


889 


900 


901 


923 


984 


986 


990 


1001 


1009 


1016 


1027 


1051 


1063 


1081 


1082 


1093 


1102 


1108 


1119 


1130 


1157 


1158 


1164 


1169 


1186 


1196 


1211 


1271 


1340 


.'44 


1351 


1359 


1366 


1370 


1391 


1477 


1497 


1517 


1529 


1540 




1646 


]§§§ 


1686 


1692 


1704 


1715 


1768 


1806 


1843 


1893 


1905 


1916 


1919 


1922 


1926 


1929 


1932 


1937 


2i^3 


2244 


2246 


2248 




2259 


2309 


2319 


2320 


2325 


2326 


2343 


2359 


2363 


2367 


2368 


2374 


2390 


2394 


2441 


2444 


2460 


2464 


2468 
2539 


2469 


2475 


2489 


2491 


2493 


2494 


2507 


2509 


2510 


2511 


2514 


2516 


2517 


2692 


2694 


2695 


Wl 


2699 


2701 


2703 


2718 


2720 


2721 


2723 


2725 


2727 


2729 


2741 


2742 


2743 


2750 


2837 


2848 


2856 


2873 
3077 


2381 


2895 


2900 


2905 


|906 
3178 


2923 


2941 


2947 


3013 


3018 


3043 


3058 


3067 


3078 


3081 


3094 


3130 


3181 


3182 


3186 


3191 


3205 


• 3208 


:209 


3210 


3211 


P 


3235 


3262 


3332 


3364 


3370 


3379 


3385 


3406 


3407 


3412 


413 


3421 


3449 






362 1 




3688 


3689 


3722 


3779 


3785 


3786 


:788 


3789 


3790 


3791 


3843 


3853 


3876 


3897 


3901 


3902 


3906 


3919 


3944 


3966 
4243 


3989 


4011 


4050 


4073 


408S 
4330 


4110 


4125 


4150 


4164 


^l§§ 


4203 


4224 


4470 


4285 


431]; 


4319 


4329 


4331 


4342 


4343 


4352 


4375 


4410 


4436 


4450 


4485 


4506 


4522 


4546 


4566 


4645 


4657 



SEQ 022S 





4688 


4729 


4771 




5006 


5016 


5026 




5116 


5119 


5129 




5238 


5241 


5259 




5502 


5582 




ACA 


48# 


689 


719 




895 


899 


903 




1187 


1188 


1197 




1531 


1532 


1534 




1907 


1921 


1931 




2410 


2412 


2417 




2494 


2495 


2497 




2874 


2875 


2877 




2958 


2962 


2966 




3089 


3129 


3179 




3313 


3319 


3320 




3804 


3831 


3832 




4010 


4036 


4049 




4163 


4189 


4190 




4409 


4437 


4438 




4548 


4549 


4565 




4858 


4869 


4902 




5295 


5297 


5299 




5582 


5589 


5591 


AC5 


49# 


690 


707 




1354 


1358 


1389 




2916 


2917 


2921 




4723 


4741 


4796 




5069 


5100 


5K" 




5221 


5225 


523^ 




5304 


5384 


5385 




5476 


5511 


5512 


AC6 


50# 


2944 


3002 




4725 


'726 


4740 




5380 


5384 


5391 


AC7 


514f 


2945 


2994 


ACCARG 


4038 


4039 


4041 


ACCEPT 


4033# 


5462 




AC TOO 


552 


571# 




ACT01 


621 


685# 




ACT01A 


697 


703# 




ACT01B 


767 


7760 




ACT01C 


778 


791 # 




ACT01H 


785* 


790 




ACTOIL 


717 


722M 




ACT01M 


706 


721 


728# 


ACTOIN 


721 


727 


7lltt 


ACT01S 


793 


802 


806# 


ACT01X 


699 


729 


804# 


ACT02 


823 


871# 




ACT02A 


890# 


900 




ACT02B 


893 


899# 




ACT02C 


902 


91 0# 





4773 
5037 
5132 
5263 

720 
904 
1198 
1537 
1936 
2424 
2517 
2880 
2972 
3183 
3324 
3833 
4074 
4191 
4439 
4646 
4966 
5328 

718 
1499 
2943 
4812 
5103 
5241 
5387 
5519 
3003 
4968 
5423 
2995 
4043 



4808 
5052 
5133 
5264 

725 
1064 
1210 
1585 
2360 
2430 
2518 
2896 
2983 
3184 
3365 
3836 
4075 
4202 
4449 
4656 
4983 
5330 

724 
1584 
2946 
4967 
5111 
5247 
5389 
5531 
3006 
4981 
5425 
3004 
4057* 



4823 
5060 
5149 
5281 

726 
1104 
1272 
1667 
2365 
2437 
2520 
2902 
2985 
3185 
3369 
3837 
4076 
4225 
4471 
4689 
4997 
5437 

733 
1668 
2948 
4982 
5112 
5249 
5391 
5532 
3008 
4999 
5428 
3014 



4829 
5076 
5158 
5289 

764 
1105 
1330 
1706 
2366 
2438 
2526 
2903 
2994 
3186 
3380 
3838 
4087 
4242 
4472 
4730 
5007 
5449 

783 
1766 
2949 
4998 
5157 
5293 
5392 
5539 
3015 
5009 
5431 
3071 



4856 
5083 
5187 
5291 

773 
1106 
1331 
1707 
2369 
2443 
2533 
2912 
3017 
3190 
3384 
3839 
4111 
4267 
4473 
4762 
5017 
5501 

785 
2392 
3016 
5008 
5158 
5294 
5394 
5589 
3070 
5019 
5436 
3078 



4870 
5086 
5194 
5361 

784 
1121 
1332 
1709 
2373 
2461 
2534 
2915 
304< 
3206 
3394 
3852 
4112 
4284 
4484 
4774 
5027 
5502 

789 
2442 
3069 
5018 
5166 
5295 
5396 
5590 
3127 
5029 
5448 
3092 



4894 
5099 
5197 
5409 

799 
1122 
1342 
1712 
2391 
2466 
2538 
2922 
3057 
3215 
3407 
3877 
4113 
4314 
4507 
4809 
5036 
5509 

807 
2897 
3083 
5028 
5167 
5297 
5429 
5591 
4683 
5034 
5461 
3126 



4895 
5102 
5210 
5413 

80P 
112/ 
135 
1767 
2396 
2467 
2838 
2942 
3068 
3236 
3413 
3918 
4124 
4351 
4508 
4811 
5288 
5522 

1065 
2903 
3086 
5035 
5173 
5298 
5430 

4684 
5360 



4965 
5105 
5211 
5428 

891 
1127 
1368 
1807 
2397 
2470 
2850 
2949 
3081 
3261 
3422 
3945 
4151 
4376 
4509 
4818 
5289 
5529 

1209 
2904 
3128 
5059 
5177 
5299 
5431 

4685 
5361 



4984 
5108 
5217 
5457 

892 
1138 
1390 
1842 
2399 
2474 
2852 
2950 
3082 
3310 
3448 
3965 
4152 
4377 
4521 
4826 
5291 
5542 

1273 
2912 
4682 
5060 
5215 
5300 
5474 

4699 
5370 



4996 
5112 
5234 
5473 

894 
1142 
1498 
1894 
2405 
2490 
2855 
2952 
3083 
3311 
3780 
3990 
4153 
4378 
4547 
4857 
5293 
5581 

1352 
2913 
4700 
5068 
5217 
5302 
5475 

4724 
5378 



SEQ 0229 



ACT02E 

ACT02S 

ACT02X 

ACT03 

ACT03A 

ACT03B 

ACT03C 

ACT03D 

ACT03E 

ACT03F 

ACT036 

ACT03I 

ACT03J 

ACT03S 

ACT03T 

ACT03X 

ACT03Z 

ACTOA 

ACTOAS 

ACTOAX 

ACT06 

ACT06A 

ACT06P 

ACT06C 

ACT06D 

ACT06E 

ACT06F 

ACT06H 

ACT06J 

ACT063 

ACV06X 

ACT07 

ACT07A 

ACT07B 

ACT07C 

ACT07D 

ACT07E 

ACT07F 

ACT07G 

ACT07H 

ACT07J 

ACT07S 

ACT07X 

ACT08 

ACT08A 

ACT08C 

Arross 

ACT08X 

ACT09 

ACT09A 

ACT09S 

ACTIO 

ACT10A 



897 

918 

912 

952 
1080# 
1103# 
1107 
1120# 
1123 
1129 
liAO 
1137 
1181 
1191 
120A 
1113 
11AA 
12A1 
1A17# 
1A16 
1A41 
1510 
1528# 
1530# 
1533 
1539 
156A 
1565 
1573 
1579 
15A2 
1610 
1679 
1703# 
1705# 
1708 
171A 
17A6 
1735 
17A7 
1755 
1761 
1717 
1782 
1825 
1816 
1826 
1839# 
1858 
190A 
1933 
1952 
2105# 



906 
922# 
921 
1060# 

1108 

1118# 

1130 

1126 

1136# 

11A5# 

1150# 

1195# 

1201 

}209M 

1132 

1206# 

1398# 

1A18# 
1A9A# 
1517# 

15A0 

1536 

15A6# 

1567# 

1572# 

1576# 

1583# 

1568 

1663# 

1686# 

1715 

1711 

172U 

17A9# 

17AA# 

175A# 

1758# 

1765# 

1750 

18034? 

1835 

1830# 

1836 

1890# 
1912 
1936# 
1985* 



916/lf 
923# 



1130* 



1207* 
11A6 



1203* 



15A0* 



1581* 



1715* 



1763* 
1838* 
18A1* 

193A* 



SEQ 0230 



pH WHtn^^wttftw-aiw^ii J iw ^ ■ 



ACTIOS 


2012 


2073 


2087 


2102 2107# 


ACTIOS 


2103 


211 0# 






ACT10X 


2109# 








ACT11 


2141 


2181# 






ACT11B 


2187 


2196# 






ACT11S 


2198# 








ACT11X 


2193 


2199# 






ACT12 


2219 


2225# 






ACT12X 


2230# 








ACT3B1 


1099 


1112* 






ACTS 


296# 








ACTC 


289# 








ACTN 


31 8# 








ADHBLA 


229ZM 








ADH6LK 


2270# 


5134 


5266 


5527 5547 


AICARG 


3431 


3433 


3454* 


3459 


AICLEN 


3430 


3454 


3459# 




ANNOUN 


9U 


378 






BFSCA1 


124# 


659 


716 


718 892 


BFSCA2 
BLINK 


126# 
111# 




722 
2318 


724 899 
2320 2325 


BOTEXE 


235# 


385 


2281 


r '1. 


BUDO 


3344f 


1170 






BUF1 


5838# 


5854 






BUF10 




5854 






BUF100 


5 i3( if 








BUF11 


5 I3I # 


5«54 






BUF12 


5 l3( # 


5654 






BUF13 


ili 


5854 






BUF14 


5854 






BUF15 


5854 






BUF16 


5838^^ 


5854 






BUF17 


flip 


5854 






dUF2 


:'854 






BUF20 


58384^ 


5854 
5854 






BUF21 


583p 






BUF22 


5838# 


5854 
5854 






BUF23 


5838# 






BUF24 


58384^ 


5854 






BUF25 


5854 






BUF26 


583^ 


5854 






BUF27 


5854 






BUF3 


:l838# 


5854 






BUF30 


58384^ 


5854 






BUF31 


563S0 


5854 






BUF32 


! S3S0 


5854 






BUF33 


5838# 


5854 






BUF34 


5838ir 


5854 






BUF35 


58384^ 


5854 






BUF36 


5 ^384^ 


5854 






BUF37 


58384^ 


5854 






BUF4 


5 )3 \k 


5854 






BUF40 


5838# 


5854 







SEQ 0231 



894 
903 



1105 
1106 



?^05 



5289 
5291 



■ 1 



BUF41 


5838# 








BUF42 


5838# 








BUF43 


5838# 








BUF44 


5838# 








BUF45 


5838# 








BUF46 


5838# 








BUF47 


5838# 








BUF5 


5838# 


5854 






BUF50 


5838# 








BUF51 


5838# 








BUF52 


5838# 








BUF53 


5838# 








BUF54 


5838# 








BUF55 


5838# 








BUF56 


5838# 








BUF57 


5838# 








BUF6 


58384f 


5854 






BUF60 


5838# 








BUF61 


5838# 








BUF62 


5838# 








BUF63 


5838# 








6UF64 


5838# 








6UF65 


5838# 








BUF66 


5838# 








BUF67 


5838# 








BUF7 


5838# 


5854 






BUF70 


5838# 








BUF71 


5838/r 








BUF72 


5838# 








BUF73 


5838# 








BUF74 


5838# 








BUF75 


5838# 








BUF76 


58384f 








BUF77 


5838# 








BUFAA 


2465* 


2468 






BUFARG 


420 


'4473 


4474 


4475 4477 4492* 


BUFAV 


694 


2459# 






BUFD 


330# 


1159 






BUFFI 


125# 


720 


895 


2410 


BUFF 2 


127# 


726 


904 


2417 


BUFFS2 


419 


4468# 






BUFL 


315/r 


668 


757 


856 1017 


BUFLEN 


192# 


670 


704 


759 771 782 


BUFLIM 


253# 


662 






BUFLST 


2466 


5849* 


5856 




BUFNAM 


193# 


695 


711 


719 725 764 


BUFO 


1260 


1028 


1165 




BUFS 


Z220 


739 


881 


1094 


BUFSTE 


2464 


5856* 






BUFT 


284# 


639 


842 




CONR 


327# 




, 




C1NR 


338# 








CANTI1 


3352* 


3354 







SEQ 0232 



797 



1019 1030 



"1 





CANTIM 


3009 


3347# 




























CAVAIL 


5349 


5608# 


























1 


CBKLEN 

CBU1 

CBLK10 

CBLK1 1 

CBLK12 

CBLK13 

CBI.K14 

CBLK15 


101# 
5742# 
5742# 
5742# 
5742# 
5742# 
5742# 
5742# 


2436 
5756 
5756 
5756 
5756 
5756 
5756 
5756 


2532 


5742 






















1 


CBLK16 

CBLIC17 

CBL<2 

CBLK20 

CBLK21 

CBLK22 

CBLK23 

CBLK24 

CBLK25 

CBLK26 

CBLK27 

CBLK3 

CBLIC30 

CBLK31 

CBLK32 

CBLIC33 

CBLK34 

CBLK35 

CBLK36 

CBLK37 

CBLIC4 

CBLK40 

CBLK5 


5742# 
5742# 
5742# 
5742* 
5742* 
5742# 
5742* 
5742# 
5742* 
5742* 
5742* 
5742# 
5742* 
5742# 
5742# 
5742* 
5742# 
5742# 
5742# 
5742* 
5742# 
5742# 
5742# 


5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 
5756 


;. / ' ',. 




:r ■ ■ 








■■ 














CBLK6 
CBLK7 
C6LKAA 
CBLKAV 


5742# 
5742# 
2364# 
2166 


.>756 
5756 
2367 
2358# 


5422 


5472 
























CBLST 


891 
5360 


1104 
5501 


1121 
5581 


1531 
5751/lf 


1706 
5757 


2365 


2396 


249A 


2517 


2902 


2949 


5059 


5157 


5288 




CBLSTE 


889 
5358 


1102 
5499 


1119 
5579 


1529 
5757* 


170A 


2363 


2394 


2492 


2515 


2900 


2947 


5057 


5155 


5286 




CBSTS 


119# 


1138 


1142 


2399 


2497 


2520 


290? 


2952 


298]; 


2985 


5173 


5177 


5221 


5225 






5247 


5249 


5293 


5295 


5378 


53ji0 


5431 


5476 


5589 


5591 










* CHGOPC 


550 


618 


820 


967 


1228 


1435 


1604 


1780 


1855 


1949 


2136 


2210 


2776# 




1 HGOPX 


278:; 


27S70 


























' cHKVCA 


290 :# 


2905 




























CHKVCB 


2905M 


2914 


2918 


























CHKVCS 


2139 


2893# 




























CHKVCT 


2907 


2920# 








"'■.-■■''■■•'- 




















CHKVCX 


2919 


292 U 




























CHNCNT 
CHNTA6 
CID 


561 94f 
3426 
1184f 


5628 
5627# 

1122 


5628# 


5629 


5629M 


5630 


5630# 


5631 


5631* 


5632 


5632# 










1175 


1532 


1707 


2366 


2397 


2495 


2518 


2526 


2950 


2958 


2966 


2994 



SEQ 0233 



I 



,m\ [ mn I I — -• 



||il l ll<>>i|iW *»w iww»*^iii^ ii fc H itiB» j ii M i mm * ■ ^i i Ww it .^ W.ii i ' 1 1 H ft S ^n O Q i W|»t i | i 





5060 


5158 


5361 


5428 


5461 


5473 


5502 


5582 


• 












CIDLOC 


209# 


2763 


2766 






















SI 


CIPORT 


21 7# 


1076 


1125 


150'> 


1535 


1548 


1674 


1710 


1723 


1808 


1998 








CNOA 


31 6# 




























CNON 


323# 




























CN1A 
CN1N 
CNFARG 


331# 
335# 
434 






. >- 






















1905 


2970 


4549 


4550 


4551 


4552 


4553 


4554 


4555 


4557 


4573* 






CNFDA1 


1857 


1863* 


























CNFDAT 


533 


1853* 


























CNTLR 


263 


269# 


4392 


4395 


4398 




















CNTOLA 


5410 


541 3# 




„ - 






















CNTOLB 


5412 


5422# 


























CNTOLC 


5414 


5456# 


























CNTOLD 


5426 


5457* 












■' 














CNTOLE 


5443 


5454 


5461* 
























CNTOLS 


5339 


5406* 


























CNTOLX 


5459 


'^464# 


























CNTRLR 


263# 


3950 


























CNTRR1 


1951 


1953* 


























CNTRRD 


534 


1947* 
























f- 


CONACC 


5340 


5469* 
























/ 


CONARG 


3879 


3881 


3882 


3883 


3885 


3887 


3896 


3909 


3910 


3912 


3915 


3925* 






CONDAT 


271* 


3886 


3929 


4040 


4059 














,- - " 






CONECT 


2189 


3875* 
















''- " - - 










CONFIG 


432 


1903 


2186 


2968 


4544* 




















CONFIX 


4559 


4562* 


























CONIDC 


207M 


3962 


5409 
























CONIDR 


208# 


4006 


5413 






















' : - 


CONREJ 


5341 


5486* 


























CONT 


M2M 


2130 


3007 


3282 






















COUNT 


96# 
5786 


2245 
5816 


2508 
5834 


3001 
5849 


3310 


3350 


3392 


5085 


5196 


5737 


5751 


5775 


5784 


5785 


CTPCOA 


2126 


il30* 


























CTPCOB 


2124 


2136* 


























CTPCOC 


2129 


2134 


2138 


2140 


2147* 




















CTPCON 


535 


2120* 


























CTPCOX 


2131 


2142 


2149* 
























CTPPKT 


114# 


574 


637 


737 


744 


840 


879 


986 


1081 


1157 


1275 


1310 


1331 


1375 




1467 


1555 


1636 


1730 


1811 


1873 


1907 


1967 


2017 


2158 


2552 


2584 


2605 


2627 




2648 
5211 
2170 


2669 


2743 


2780 


2847 


3182 


3209 


3238 


3786 


3895 


3900 


3905 


5086 


5197 


CUREXE 


459 


462 


467 


472 


510 


514 


555 


573 


625 


636 


736 


743 


827 




839 


878 


947 


957 


985 


1038 


1080 


1156 


1235 


1243 


1274 


1302 


1309 


1330 




1 374 


1443 


1451 


1466 


1512 


1554 


1612 


1620 


1635 


1681 


1729 


1786 


1810 


1861 


'. ■ " 


1872 


1906 


1957 


1966 


2016 


2145 


2157 


2190 


2215 


2551 


2563 


2583 


2604 


2626 


"_ " , 


2647 


2668 


2742 


2779 


3181 


3208 


3237 


3318 


3351 


3785 


4342 








CURSTS 


58^ 


511 


515 


553 


554 


556 


623 


624 


626 


658 


715 


825 


826 


828 




939 


971 


972 


973 


:074 


1136 


1143; 


1174 


1190 


1200 


1226 
1503 


1238 


1239 


1252 




1253 


1257 


1258 


1260 


1287 


1433 


1449 


1450 


1452 


1455 


1509 


1572 


1602 


- 


1618 


1619 


1621 


1624 


1672 


1678 


1754 


1784 


1785 


1787 


1859 


1860 


1862 


1955 




1956 


.958 


1996 


?123 


2125 


2130 


2143 


2144 


2146 


2149 


2213 


2214 


2216 


2228 




2561 


2562 


2564 


2916 


3180 


3207 


3243 


3282 


3783 


379:, 


3798 


4323 


4327 


4341 



SEQ 0234 



CWAT1 

CUAT11 

CWATSC 

CYCL60 

DATAQ 

DATARG 

DATAT6 

DATET1 

DATETM 

DECVER 

DELA 

DGM 

DGnCHN 

DGMMSG 

DGMSG 

DGMSRV 

DIAAJZ 

DIABAX 

OIA IX 

DIA-CX 

DIAGAG 



DIA6F 

DIAGJ 

DIAGS 

DIAGU 

DIAIAX 

DIAIFX 

DIANCX 

DIANPX 

OIANRX 

DIATOX 

DIAVCX 

DISARG 

OISCON 

D1SIN1 

DISIN2 

DISINT 

DLYADR 

DLYGO 

DLYRBK 

DLYRTN 

DLYTIM 

DLYUPT 

DMA 

DMACHN 

D«AC«P 

OWARD 

DMAWRT 

DMAXFO 



4343 


5369 


5374 


3402 


3503 


3509* 


3511 


3516# 




3501# 


5137 


5269 


198# 


3550 


3556 


4760# 


5277 




4764 
4770 


4765 


4766 




3572 


3576* 




3113 


3571* 




20# 


23 


91 


28"^/' 


3240 




135* 


1239 


12:3 


3455 


5629* 


5629 


230# 


5153 


5214 


13U 


1238 


1239 


21 8# 


5051 




4921 






4929 






4930 






4922 






1547 


1550 


1558 


1831 


1832 


1833 


2055 


2063 


2066 


2099 


2100 


4937* 


4869# 


4911 




1563 


:745 


1824 


4863 


4868* 




486C 


4865* 




4916 






4925 






4927 






4915 






4928 






4931 






4926 






4113 


4114 


4115 


2229 


2528 


4108* 


3466 


3472* 




3470 


3476* 




454 


3464* 




3311 


3319 


3352 


];245 


3406* 




206# 






3320 


3398 


5786* 


205* 


3241 




3324 


3396 


5785* 


145* 


1139 


1141 


3457 


5631* 


5631 


222» 


5283 




22U 


4735 




220M 


4694 




501 3# 


5630 





SEQ 0235 



5318 
3566 

4768 



5706 

1287 

5236 
1252 



5402 5549 
4771 4782* 



2876 

526! 
12d3 



3795 4323 



5107 



5118 5131 5237 5262 



5265 
5237 



5262 



1560 
2003 
2068 



1834 



1562 
2006 
2069 



:011 



1722 
2007 
2071 



2072 



1725 


1733 


1742 


1744 


1809 


1821 


1822 


1823 


2008 


2010 


2020 


2025 


2031 


2037 


2043 


2049 


2078 


2081 


2082 


2083 


2085 


2092 


2095 


2097 



2086 2101 



4854* 



4117 4132* 



3353 



3394 3399 



5784* 



5294 



DMAXFA 
DMAXFB 
DMAXFC 
DHAXFD 
DMAXFR 
OMAXFS 
DMAXFX 
DONE 

DOSCS 

D0SCS1 
D0SCS2 
DSDG 

Duni 

ENABL1 

ENABLE 

ENAIN1 

ENAIN2 

ENAINT 

ENDF 

ENTER 

ENTERC 

ENTERD 

ENTERE 

ENTERG 

ENTERO 

ENTERP 

ENTERS 

ENTREN 

ERRDI1 

ERRDI2 

ERRDI3 

ERRDK 

ERRD?L 

ERRDIT 

ERRSC1 

F'*RSC2 

ERRSCL 
ERRSCS 

ERfiSCT 

ERSTRT 

EVENTE 

EVENTQ 

EVENTX 

EVTARG 

EVTTBL 

EXDLY 

EXDLY1 

EXDLY2 

EXDLY3 



5277* 

5287# 

5290 

5292 

A977 

5306 

5282 

138# 
43A1 
280A 
4276 
3645 
3650 

341 # 
4380 
3523 

389 
3483 
3486 

491 

239# 
3056 
3078# 
3081 # 
3085# 
3088# 
3079 
31234f 
3099 
3091* 
4866 
4862 
4894# 

4880 
4893 
4894 
3676 
3683# 
3680 
3687 
3435 
4444 
3688 
3679 
4807 
4794# 
4820 
4798 
5330 
943 
3247 
3242 
3257 



5314 
5308 
5293# 
5308# 
5020 
531 4# 
531 6# 
553 
5512 
3434 
4344 
36634f 
3654* 

4393 
3532* 
3522* 
3488* 
3492* 
3481* 
363 
3065* 
3094 



3094* 

3125 

3103* 

4884* 
4877* 
4896 

r900* 

4935* 

4897 

3682* 

3690 

3694* 

3766* 

3675* 

4479 

3691 

3719* 

4811* 

5324 

-.833* 

4799 

5i37* 

1231 

J255* 

3259* 

3^60* 



SEQ 0236 



5275* 



623 
5532 
3640* 
4384 



825 

3800 
4443 



971 1258 



3846 
4478 



3913 
4515 



1449 

3959 
4558 



1618 

4003 
4616 



1784 1859 1955 2143 2213 



4044 
4652 



4081 
4692 



4118 
4733 



4158 
4769 



4196 
4806 



2561 
4234 



4396 4399 4405 4415* 



4915* 4935 



3801 
4516 
3736* 
4879 



4800 
1438 



3847 
4693 
3766 



3914 
4734 



3960 4004 



4045 4082 4119 4159 4197 4345 



4385 



4801 
1607 



4802 
3232* 



4803 4805 



4808 4809 4835* 





EXDLYA 


3251 


3261 # 
















EXECT 


465 


506# 














' - 


EXTE 


293# 


1469 


1557 


1638 


1732 










EXWAH 


3284 


3294* 
















EXUAI3 


3296 


3298# 
















EXUAI4 


3290 


3299# 
















EXUAIT 


2192 


3277# 
















FAKEBU 

FCMD 

FLINK 


245# 
297# 
109# 


















468 


2287 


2288 


2292 


2319 


2324 


2326 


2842 3003 3894 3899 3904 


FSTS 


31 9# 


















FUNCFL 


254# 


1145 


1567 


1749 


1838 


2127 








FUNCST 


524 


548# 
















GA1 CON 


148# 


5224 
















GA2C0N 


149# 


5248 
















GAFLAG 


223# 


















GANRES 


147# 


5176 
















GENC 


300# 


751 


1317 


1378 












GENCON 


190# 


752 


772 


1318 


1341 










GENDGM 


529 


1220i^ 
















GENF 


294# 


650 


746 


1277 


1312 










GENFUN 


189# 


747 


766 


111 


792 


1313 


1335 


1346 


1361 


GENL 


31 3# 


2629 
















GENLEN 


191# 


1286 


1323 


1340 


1351 


1366 


3210 






GENMS! 


1227 


1234# 
















GENnS2 


1230 


1233 


1242 


1254* 












GENMSA 


1245 


1257* 
















GENnS5 


1232 


1249 


1260* 














GENnS6 


1237 


1241# 
















GENMSG 


528 


122U 
















GENRS1 


1434 


1441f 
















GENRS2 


1437 


1440 


1442 


1453* 












GENRS3 


1439 


1448 


1455* 














GENRST 


530 


!428# 
















GENST1 


1603 


1610* 
















GENST2 


1606 


1609 


1611 


\tlin 












GENST3 


1608 


1617 


1624* 














GENSTR 


531 


1597* 
















GETACT 


961 


1150 


1247 


1409 


1446 


1576 


1615 


1758 


2580* 


GETARG 


4610 


4611 


4612 


4613 


4615 


4618 


4628* 






GETBUA 


^6V 


4620* 
















GETBUF 


1 3 


4608* 














• 


GETCID 


2>o3# 


3884 


3954 


3998 












GETGLN 


1285 


1322 


2623* 














GETINA 


2948# 


3013 
















GET1N8 


295' 


2954 


2990 


3010 


3013* 










GETIND 


3C02# 


3012 
















GETINE 


3005 


3011* 
















GETINF 


460 


2938* 
















GETINX 


3014* 


















GETREP 


1037 


1301 


1511 


1680 


2579* 










GETTI2 


3551 


3560* 
















G08IT 


139* 


464 


554 


624 


826 


972 


1257 


1450 


1619 1785 1860 1956 2144 



SEQ 0237 



2214 



GPRS 

GPRS1 

GPRSB 

GTINFO 

HALTP 

IFPIN1 
IFPIN5 
IFPINT 
INPDGO 
INPDGA 
INPDGB 
INPDGC 
INPDGD 
INPDGE 
INPD6F 
INPDGH 
INPDGM 
INPDGX 
INPMSO 
INPMSA 
INPMSB 
INPMSC 
INPffSD 
INPMSE 
INPMSF 
INPnSG 
INPMSH 
INPnSJ 
INPHSL 

iNPnsn 
iNPnsx 

INTDMS 

INTFLG 

INTTEN 

KIL3RA 

KILSRB 

KIL3RC 

KIL3RD 

ICIL3RE 

ICIL3RF 

ICIL3RH 

KIL3RX 

LASTF 

LBUFOF 

LDSTUS 



LEVTAB 
LICARG 
LIRARG 
LISDIl 



2562 
1911 
2805 
2798 

2254 
5312 
3A24 
3436 
397 
4993# 
5058# 
5070 
50864f 
5087 
5101 
5104 
5048Af 
4975 
5050 
5003# 
5156# 
5168 
5197# 
5198 
5216 
5233 
4973 
5145# 
5175 
5223 
5234# 
5147 
5001 
1854r 
4962* 
2493# 
2496 
2509# 
476 
2519 
251 6# 
2533# 
2499 
187# 
22Sf 
565 
1524 
2133 
3426 
3947 
3992 
2218 




J808# 

2799 

2953 

2277 

5505 

34384f 

3448# 

341 9/r 

5628 

5061 

5083# 

5089 

5099# 

511U 

5129* 

5079 

5000 

5137* 

5629 

5159 

5194* 

5200 

521 0# 

524 1# 

5259# 

5010 

5181 

5185# 

5232# 

5246 

5269# 

-Oil 

478 
5649 
2500 
2500* 
2512 
2486# 
2522 
2537 
2535 
2538# 

946 
1167 

648 
1581 
2171 
3513 
3949 
3994 
2220# 



3406 



2801 
2984 
3314 
5585 



5106 5117 



5130 5235 5260 5303 



SEQ 0238 



2803 
5430 
3440 



2806 
5475 
3443 



2814* 
3446 



3474 3490 



3534 3711* 5063 5090 5161 



5201 



5109 
5046* 



5120 5135 



5143* 
5190 



5226 5239 5250 5267 



5021 
480 



5034* 
3516 



2537* 



950 
1188 

675 
1652 
2197 
5636* 
3951 
3995 



968 
1197 

804 
1699 
2212 

3953 
3997 



1234 1240 1254 4332 



854 
1763 
2558 

3955 
3999 



1^ 

2665* 

3956 
4000 



911 
1839 
3250 

3958 
4002 



920 
1881 
3256 

3961 
4005 



1048 
1899 
3289 

3973* 
4018* 



1070 
1935 
3295 



1203 
1975 



1386 
1992 



1405 
2109 



1483 
212P 



LISDIS 

LISTNC 

LISTNR 

LIT.. 

LK.LLC 

LK.LLS 

LK.LNE 

LIC.LNP 

LOCALN 

LOCARG 

LOCPRT 

LTLCRD 

n 

NAINA 

MAINC 

NAINC1 

nAINLN 

MAPBUI 

HAPBUF 

HATCH 

MAXDGn 

nAXMSG 

MAXOPC 

NOSNDI 

ra)SND2 

NDSND3 

NDSNDC 

MONTYP 

MOVE 

N0VEB1 

nOVEB2 

NOVE04 

N0VEB5 

nOVEBA 

NOVEBF 

HOVETY 

nSGCHN 

nsGDGn 

MSGSRV 

nXDGM 

N 

NMATCH 

NMBYTS 

NOAC 

NOBUFn 

NOCONN 

NODE 

NODEUN 

NONSEN 

NORESO 



536 
403 
404 
5860# 
3532 
3532 
3532 
3532 
408 
409 
123# 
5343 
581 4# 
462# 
458 
479 
453# 
620 
525 
163# 
225/r 
224# 
102# 
5500# 
5510 
5530 
5342 
197# 
3600 
295# 
940 
942 
954 
944 
952# 
527 
196# 
3456 
4316 
2194f 
99# 
5736# 
5822# 
162# 
3186 
3050 
252M 
249# 
122* 
251* 
2570 
2105 
256* 



2207* 
3942* 
3987* 



4434* 
4439 
1075 
5557# 
5816 
473 
469 
490# 
481 
627* 

616* 
2227 
426 
423 
2748 
5503 
5513 
5533 
5495* 
373 
3610 
991 
946* 
945 
972* 
963 

934* 
1084 

::630* 

4317 

5148 

5814 

5741 

5833* 

5456 

3791 

1813 

910 
1131 
1127 
1934 

642 
2164 

673 



5411 
5415 



SEQ 0239 



4440 
1124 

5822 

471 

497 

2527 
1289 
1293 
2749 

5523 
5543 

492 
3644 
1083 

953 

973* 



1179 
5630 
4318 

5822 
5742 
5838 



4442 
1504 



4^5* 
3512 



4457* 
1534 



1673 1709 1997 2915 2917 2972 



2782 3184 3789 3790 3837 3838 



5529* 
5549* 

3039 
3675 



959 



3137 
3711 



967* 



3328 
3713 



3423 
4859 



3465 3482 3522 3542 



3571 



3592 3594 



4319 4320 4326 



5742* 
5838* 



5750* 
5848* 



5755 
5853 



4359* 



5756 
5854 



5756* 
5854* 



5774* 5779 



5780 



5780* 5815* 5822 



3839 5664* 



1112 
1541 
1537 
2196 
646 

698 



1716 
1712 

653 

728 



2912 
845 
860 



2962 
849 

919 



1032 
1022 



1280 
1296 



1472 
2107 



1481 
2169 



1641 
2194 



1650 
3255 



1879 
3294 



1973 



1 



NOT IMP 
NOTMSG 
NRESRC 
NRSARG 
NTIMPL 
OFLINE 
0KSEM1 

OKSEND 

OKTOSD 

lONCHNS 

ONETin 

ONLINE 

OPCARY 

OPCHK 

OPCO 

OPCODE 

OTHCHN 

OTHE 

OTHERN 

OTHREO 
OTHREA 
OTHREV 
OTHREX 
OURNOD 
OVRDUE 
P 



POST 

P10T11 

P11T10 

PI ST 

PCLEV1 

PCLEV2 

PCLEV3 

PCLREV 

PCLTYP 

PCLVER 

PIVECT 

PKTM 

PKTSZF 

PKTZ 

PL I ST 

PLISTE 

PLISTS 

PORT 

PRINT1 

PRINT2 

PRINT3 

PRINTA 



537 
3782 

164# 
3833 
258# 
53A4 
5580# 
53A6 
H6# 
3428 
M7M 
2149 
5345 
576 
512 
278# 
194# 
3458 
302# 
1954f 
2161 
5023# 
5324# 
4979 
5329 
210* 
134# 
60# 
1388 
3214 
4887 
31 0# 
735 
669 
31 4# 
5636 
5637 
5638 
158# 
156# 
157* 
3438 
309* 
250* 
306* 
175* 
175 
176* 
301* 
3601 
3611 
3620* 
3724 



538 
3784 
5424 
3834 

996 
5563* 
5583 
5575* 
5590 
5618* 

939 

5569* 
578 
2740* 
2553 
2554 
5632* 
1010 
1089 
2185 
5631 
5331 
5030 
5333* 
411 
151* 
168 
1417 
3259 
4907 
1922 
2021 
758 
1932 
5642* 
5643* 
5644* 
271 
271 
271 
3514 



1002 
175 
177* 



3618* 
3619* 
3624 
3728* 



539 
3787 

3835 
2557 



540 
3792 



541 
3793 



2548* 
3797 



3840 3841 3845 



3812* 
3860* 



SEQ 0240 



5628 
973 



594* 

2556 
2784 
5632 
1088 
1128 
2913 



5322* 

798 
2125 

169 
1485 
3260 



2026 
857 



5628* 
1226 



5629 
1260 



5629* 5630 
1433 1455 



5630* 
1509 



5631 
1572 



5631* 5632 
1602 1624 



5632* 

1678 1754 



2123 



2744 
3183 

1478 
1519 



2781 
3788 

1518 
1538 



2786 
3836 

1647 
1549 



4329 

1687 
1688 



1875 
1713 



1969 
1724 



2160 
1876 



1902 



1910 1970 



2098 



1367 
3412 
170 
1583 
3298 



2032 
882 



171 
1654 
3335 



2038 
1018 



357 
1765 
3641 



2044 
1029 



455 
1841 
3643 



2050 
1095 



677 
1883 
3651 



2717* 
1160 



806 
1977 
3668 



1166 



863 
2173 
4350 



922 
2198 
4560 



1171 1741 



1050 
2807 
4619 



2691* 



1206 
2920 
4655 



1207 
3189 
4868 



4971 



357 



5648* 5648 5653 



455 



PRINTB 
PRINTC 
PRINTD 
PRINTO 
PRINT! 



PRTBRK 

PS.FAC 

PS.FOF 

PS.FON 

PS. IMS 

QBDARG 

QBDGM 

QBMARG 

QBMSG 

QUEBUF 

QUEBUX 

QUEUE 

RB1 

RB10 

RB10C 

RB101 

RB102 

RB103 

RB10A 

RB105 

RB106 

RBI 07 

RB11 

RB110 

RB111 

RB112 

RB113 

RB1U 

RB115 

RB1 16 

RBI 17 

RB12 

RBI 20 

RB121 

RB1 22 

RB123 

RBI 24 

RBI 25 

RBI 26 

RBI 27 

RBI 3 

RB130 



3725 
358A# 
361 0# 
3600# 
379 
2277 
3803 
4404 
4890 
5312 
5585 
5348 
3441 
3472 
3488 
3338 
4191 
2851 
4153 
2853 
2870# 
2880# 
2835# 
5780 
5780 
5780 
5780 
5780 
578C 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 



3731 # 
3707 
4827 
3684 
549 
3314 
3850 
4406 
4898 
5317 
5597 
5602# 
3444 



4192 

4186# 

4154 

4148# 

5520 

2879 

5822* 

5822# 

5822# 

5822* 

5822# 

5822# 

5822# 

5822# 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 

5822* 



4407 4828 4910 



SEQ 0241 



3698 
617 
3440 
3917 
4447 
4903 
5323 
5603 



3702 
819 
3443 
3964 
4482 
4906 
5334 
5609 



3706 


4888 


935 


1222 


3446 


3474 


4008 


4047 


4519 


4563 


4969 


5047 


5356 


5407 



4904 
1429 
3490 
4085 
4623 
5063 
5470 



4909 
1598 
3534 
4122 
4662 
5090 
5487 



1779 

3592* 

4162 

4697 

5139 

5496 



1854 
3696 
4200 
4738 
5144 
5505 



1948 
3700 
4240 
4779 
5161 
5558 



2121 
3704 
4282 
4825 
5201 
5564 



2208 
3729 
4348 
4878 
5271 
5570 



2254 
3732 
4388 
4886 
5276 
5576 



4193 
5078 
4155 
5180 
5540 



4195 

4157 
5189 



4210* 
4171* 



5438 5439 5440 5441 



5450 5451 5452 5453 



RBI 31 


5780 


5822# 


RBI 32 


5780 


5822# 


RBI 33 


5780 


5822# 


RB13A 


5780 


5822/r 


RBI 35 


5780 


5822# 


RBI 36 


5780 


5822# 


RBI 37 


5780 


5822# 


RB1A 


5780 


5822# 


RBUO 


5780 


5822# 


RBU1 


5780 


5822/r 


RBU2 


5780 


5822# 


RBU3 


5780 


5822# 


RBU4 


5780 


5822# 


RB145 


5780 


5822# 


RBU6 


5780 


5822# 


RBU7 


5780 


5 J22# 


RBI 5 


5780 


5 J22# 


RBI 50 


57 JO 


5 J22# 


RBI 51 


57 JO 


5 J22# 


RBI 52 


57 JO 


5J22# 


RBI 53 


57 JO 


5J22# 


RB15A 


57 JO 


5J22* 


RB155 


57 JO 


5822# 


RBI 56 


57 JO 


5822# 


RB157 


57 JO 


5822# 


RB16 


57 JO 


58224f 


RBI 60 


57 JO 


58224f 


RB161 


57 JO 


5822# 


RBI 62 


57 JO 


5822* 


RB163 


57J0 


5822/r 


RBI 64 


57 JO 


58224f 


RB165 


57 JO 


5J22* 


RBI 66 


57 JO 


5J22# 


RB167 


57 JO 


> J224f 


RB17 


57 JO 


5 122* 


RBI 70 


57 JO 


5 122* 


RBI 71 


57 JO 


5 Min 


RBI 72 


5780 


5\220 


RBI 73 


5780 




RBI 74 


5780 


RBI 75 


5780 


5 122* 


RB176 


5780 


5 \220 


RBI Tf 


5780 


5 \22ff 


RB2 


5780 


5 J22* 


RB20 


5780 


5J22* 


RB200 


5780 


5J22* 


RB201 


57 JO 


5 J22* 


RB202 


57 JO 


5 122* 


R6203 


5710 


5 \220 


RB204 


57 JO 




RB205 


57 JO 


5J22* 


RB206 


57 JO 


5822* 


RB207 


5780 


5822* 



SEQ 02^2 



RB21 

RB210 

RB211 

RB212 

RB213 

RB2U 

RB215 

RB216 

RB217 

RB22 

RB220 

RB221 

R6222 

RB223 

RB22A 

RB225 

RB226 

RB227 

RB23 

RB230 

RB231 

RB232 

RB233 

RB234 

RB235 

RB236 

RB237 

RB2A 

RB2A0 

RB2A1 

RB2A2 

RB2A3 

RB2AA 

RB245 

RB2A6 

RB2A7 

R625 

RB250 

RB251 

RB252 

RB253 

RB25A 

R6255 

R6256 

RB257 

RB26 

R6260 

RB261 

R6262 

RB263 

R626A 

RB265 

RB266 



5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
*J780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 



5822# 
5822# 
5822# 
5822# 
5822# 
5822# 

5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
58224f 
<B220 
5S220 
SS22M 
5822# 
5822# 

5822ir 
58|24r 
5822# 




5822f 



SEQ 02A3 



RB267 
RB27 
RB270 
RB271 
RB272 
RB273 
RB274 
RB275 
RB276 
RB277 
RB3 
RB30 
RB300 
RB301 
RB302 
RB303 
RB304 
RB305 
RB306 
RB307 
RB31 
RB310 
RB311 
RB312 
RB313 
RB3U 
RB315 
R6316 
RB317 
RB32 
RB320 
f1 



^u\ 



5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 

5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 

i?|8 

1780 

>A 

•7 

A 

\7 
\7 
\7 
\7 
\7 
)7 
\7 
\7 
7 
\7 



5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 
5822if 
5822# 
5822# 
5822# 
5822# 
5822# 
5822# 



SEQ 0244 



RB345 

RB346 

RB3A7 

RB35 

RB350 

RB351 

RB3S2 

RB353 

RB354 

RB355 

RB3S6 

RB357 

RB36 

RB360 

RB361 

RB362 

RB363 

RB36A 

RB365 

RB366 

RB367 

RB37 

R6370 

RB371 

RB372 

RB373 

RB374 

RB375 

RB376 

RB377 

RB4 

R6A0 

RBAOO 

R6401 

RB402 

RB41 

RBA2 

RBA3 

RB4A 

RB45 

RB46 

RBA7 

RB5 

R650 

RB51 

RB52 

RB53 

R654 

R655 

RB56 

R657 

R66 

RB60 



5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
5780 
57S0 
58224r 



5822^ 

5822^ 

5822^ 

5822/ 

5822^ 

5822^ 

582[ 

582; 

582; 

582l 

5822^ 

5822^ 

5822/ 

5822/ 

582r 

582L 

5822/ 

5822/ 

582r 

582; 

58i 

58 

5BI 

582; 

582; 

582; 

5f 

58; 

5822/ 

5822/ 



582; 

58J 

58 

5r 

51 
5( 
51 
51 
5 
51 



58 



SEQ 0245 



RB61 


5780 


5822* 










RB62 


5780 


5822* 










RB63 


5780 


5822* 










RB64 


5780 


5822* 










RB65 


5780 


5822* 










RB66 


5780 


5822* 










RB67 


5780 


5822* 










RB7 


5780 


5822* 










RB70 


5780 


5822* 










RB71 


5780 


5822* 










RB72 


5780 


5822* 










RB73 


5780 


5822* 










RB7A 


5780 


5822* 










RB75 


5780 


5822* 










RB76 


5780 


5822* 










RB77 


5780 


5822* 










RBUFOF 


229* 


1172 


1187 


1198 






RCDARG 


4269 


4270 


4271 


4272 


4273 


4275 


RCMARG 


4227 
5194 


4228 


4229 


4230 


4231 


4233 


RCVDGE 


4277 


4279* 










RCVDGM 


4264# 


5048 










RcvnsE 


4235 


4237* 










RCVnSG 


4222# 


5145 










REALBU 


244# 












REDARG 


4726 


4727 


4728 


4729 


4730 


4732 


REDATA 


1189 


4723* 










REFE 


28U 












REJARG 


4076 


4077 


4078 


4080 


4095* 




REJECT 


4071* 


5458 










REPC 


290# 


2586 










REQ1 


120# 


2331 


2332 


2424 


5068 


5100 


REQ2 


121# 
5529 


2333 


2334 


2430 


5069 


5103 


RESOFS 


103# 


2555 


2747 


3185 






RESPFG 


188# 


5416 


5442 


5464 






RH1 


2246 


2258 


2509 


2510 


3002 


5086 


RH10 


5780# 












RH100 


5780* 












RH101 


5780# 












RH102 


5780# 












RH103 


5780# 












RH1(K 


5780# 












RH105 


5780# 












'^HWt 


5780* 












•'107 


5780* 












KH11 


5780# 












RH110 


5780# 












RH111 


5780* 












RH112 


5780* 












RH113 


5780* 












RH1U 


5780* 












RH115 


5780* 






-: --: ; 







SEO 0246 



4279 4292* 5049 
4237 4250* 5146 



5052 
5149 



5074 
5178 



5075 
5179 



5083 
5185 



5186 



4746* 



5102 5166 5215 
5111 5112 5167 



5099 5197 5210 



5217 
5232 



5^80* 



5297 
5241 



5384 
5299 



5509 
5391 



5542 
5522 



RH116 


5780# 


RH117 


5780# 


RH12 


5780# 


Rm20 


5780# 


RH121 


5780# 


RH122 


5780# 


RH123 


5780# 


RH124 


5780# 


RH125 


5780# 


RH126 


5780# 


RH127 


5780# 


RH13 


5780# 


RH130 


5780# 


RH131 


5780# 


RH132 


5780# 


RH133 


5780# 


RH13A 


5780# 


RH135 


5780# 


RH136 


5780# 


RH137 


5780# 


RHU 


5780# 


RH140 


5780# 


RH1A1 


5780# 


RHU2 


5780# 


RH1h3 


5780# 


RHU4 


57S0M 


RHUS 


5780# 


RHU6 


5780# 


RHU7 


578C# 


RH15 


5780# 


RH150 


5780# 


RH151 


5780# 


RH152 


5780# 


RH153 


5780# 


RH1SA 


5780# 


RH155 


5780# 


RH156 


5780# 


RH157 


5780* 


RH16 


5780# 


RH160 


5780# 


RH161 


5780# 


RH162 


5780* 


RH163 


5780# 


RH16A 


5780* 


RH165 


5780# 


RH166 


5780# 


RH167 


57800 


RH17 


5780* 


nHl70 


5780* 


RH171 


5780* 


RH1 72 


5780* 


RH173 


5780* 


RH174 


5780* 



SEQ 02^7 



/ 



RH175 


5780# 


RH176 


5780# 


RH177 


5780# 


RH2 


5780# 


RH20 


5780* 


RH200 


5780* 


RH201 


5780* 


RH202 


5780# 


RH203 


5780* 


RH204 


5780# 


RH205 


5780* 


RH206 


5780# 


RH207 


5780# 


RH21 


5780* 


RH210 


5780# 


RH211 


5780# 


RH212 


5780* 


RH213 


5780# 


RH2U 


5780# 


RH215 


5780# 


RH216 


5780# 


RH217 


5780^ 


RH22 


5780# 


RH220 


5780# 


RH221 


5780/^ 


RH222 


57804f 


RH223 


5780# 


RH22A 


57804f 


RH225 


578C# 


RH226 


57804f 


RH227 


5780# 


RH23 


5780* 


RH230 


5780* 


RH231 


5780# 


RH232 


5780# 


RH233 


5780# 


RH23A 


5780# 


RH235 


5780* 


RH236 


5780# 


RH237 


5780* 


RH24 


5780# 


RH240 


5780* 


RH241 


57S0M 


RH2A2 


S7S0M 


RH243 


5780* 


RH24A 


5780* 


RH245 


5780* 


RH246 


5780* 


RH247 


5780* 


RH25 


5780* 


RH250 


5780* 


RH251 


5780* 


RH252 


5780* 



SEQ 02A8 



RH253 


5780# 


RH25A 


5780# 


RH255 


5780# 


RH256 


5780# 


RH257 


5780# 


RH26 


5780# 


RH260 


5780/r 


RH261 


5780# 


RH262 


5780# 


RH263 


5780# 


RH26A 


5780# 


RH265 


5780# 


RH266 


5780# 


RH267 


5780* 


RH27 


5780# 


RH270 


5780# 


RH271 


5780* 


RH272 


5780# 


RH273 


5780# 


RH27A 


5780* 


RH275 


5780* 


RH276 


5780* 


RH277 


5780# 


RH3 


5780# 


RH3;0 


5780* 


RH300 


5780# 


RH301 


5780# 


RH];02 


5780# 


RH:i03 


578C# 


rh: oa 


5780* 


RH]i05 


5780# 


RH306 


5780# 


RH307 


5780* 


RH31 


5780# 


RH310 


5780* 


RH? 1 1 


5780# 


RH312 


5780<f 


RH313 


5780* 


Kri3H 


5780* 


RH315 


5780# 


RH316 


5780# 


RH317 


5780# 


f.H32 


5780* 


RH320 


5780# 


RH321 


5780# 


RH322 


5780# 


RH323 


5780* 


RH32A 


5780# 


RH3;25 


5780# 


RH326 


5780# 


RH327 


5780* 


RH33 


5780* 


RH330 


5780* 



SEQ 0249 



RH331 


5780# 


RH332 
RH333 


5780# 


5780# 


RH33A 


5780# 


RH335 


5780# 


RH336 


57&0# 


RH337 


5780# 


RH3A 


5780# 


RH3A0 


5780# 


RH3A1 


5730# 


RH3A2 


5780# 


RH343 


5780# 


RH3A4 


5780# 


RH3A5 


5780# 


RH3A6 


5780# 


RH3A7 


5780# 


RH35 


5780# 


RH350 


5780# 


RH351 


5780# 


RH352 


5780# 


RH353 


5780# 


RH35A 


5780# 


RH355 


5780# 


RH356 


5780# 


RH357 


5780# 


RH36 


5780# 


RH360 


5780# 


RH361 


5780# 


RH362 


5780# 


RH363 


5780# 


RH36A 


5780# 


RH365 


5780* 


RH366 


57J0# 


RH367 


57 m 


RH37 


57 m 


RH370 


57 m 


RM371 


57 m 


RH372 


57 m 


RH373 


57 m 


RH37A 


57 m 


RH375 


57 m 


RH376 


57 m 


RH377 


57 m 


RHA 


57 m 


RHAO 


57 m 


RHAOO 


57 m 


RHA1 


57 m 


RHA2 


57 m 


RHA3 


57 m 


RHAA 


57 m 


RHA5 


57 m 


RHA6 


57 m 


RHA7 


57800 



SEQ 0250 



RH5 

RH50 

RH51 

RH52 

RH53 

RH54 

RH55 

RH56 

RH57 

RH6 

RH60 

RH61 

RH62 

RH63 

RH6A 

RH65 

RH66 

RH67 

RH7 

RH70 

RH71 

RH72 

RM73 

RH7A 

RH75 

RH76 

RH77 

RHBLEN 

RHBLKA 

RHBLKB 

RHBLKV 

RHBPER 

RMCBLA 

RMCBLB 

RMCBLC 

RMCBLG 

RMCBLH 

RMCBLK 

RNCBLM 

RNDISC 

RMNBLK 

RMRBLA 

RNRBLB 

RMVARG 

RMVBUA 

RMV6UF 

R^CNT 

ROREFU 

RSPDR 

RSPNDR 

S..CAI 

S..CCO 

S..CFC 



5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
5780# 
57804r 
5780# 
5780# 
5780* 
5780# 
5780* 
5780# 
5780# 
5780# 
100# 
2246* 
2247 
2242# 
970 
2395# 
2437* 
2398 
2406 
2413 
466 
24304f 
5347 
2306* 
2339# 
2314 
4648 
4653 
917 
112* 
255* 
264 
264* 
3443* 
5585* 
5505* 



SEQ 0251 



2248 
2249 
2258* 
2841 
2245 
2441 
i439 
2401 
2412* 
2424* 
475 

5596* 
2426 
2341 
2343* 
4649 
4655* 
2407 
948 

270* 
3880 



2338 2511 



3893 
2508 



2441* 
2385* 
2432 



3898 
3001 



3011 



3903 
5085 



5088 



5199 5780 



5196 5775 



5816 



5514 5534 



4651 4668* 



2414 
958 



4643* 
1039 



1236 1244 1303 1444 1513 1613 1682 



3948 3993 



HM>MM|MN<MiMiMiUK 



S..CFD 


5090# 












S..CFM 


5161# 












S..C1I 


34A0# 












S..CLJ 


3534# 












S..CST 


3AA6# 












S..DBF 


33U# 












S..EON 


3A90# 












S..NCD 


531 2# 












S..NCI 


5063# 












S..NRH 


2254# 












S..NRM 


5201 # 












S..POF 


3474# 












S..RNQ 


2277$ 












SCZDGA 


A97A 












SCXDTA 


A976 












SCZEVA 


4978 












scznsA 


4972 












SCALBF 


226# 


884 


916 


1097 


1098 


1186 1195 


SCARBF 


227$ 


1162 


1185 


1196 






SCOFFS 


3441 


3502 


4971 


5648# 






SCSBLK 


203# 


3701 






i - 




SCSCAL 


200# 


3642 


3705 








SCSERC 


201 # 


3656 


3669 


3683 


3686 


3720 


SCSFCN 


202# 


3640 


3697 








SEOARG 


4685 


4686 


4687 


4688 


4689 


4691 4705# 


SEDATA 


1199 


4682/r 










SENOA 


1255 


1415 


3203# 








SEN04C 


321 5# 












SEND 


557 


627 


829 


969 


1453 


1622 1788 1863 


SENDA 


3190# 






. -:-■■ "' 






SENDMA 


4333 


4344# 










SENDnC 


4328 


4351# 










SENDMD 


3187 


3212 


4311# 








SENINA 


3799 


<802# 










SENIMP 


2559 


1777$ 










SENNRA 


3849# 












SENNRS 


3828# 


5077 


5188 








SETTIl 


3329 


3338# 










SETTI2 


3335# 


3341 










SETTI6 


3312 


331 8# 










SETTI7 


331 1# 


3313 










SETTIM 


3246 


3283 


331 0# 


,i 






SIXCIO 


110# 


2191 










SPEAR 


477 


3039# 










SPEARA 


3050 


3054# 










SPEARE 


3077 


3122 


5696# 








SPEARF 


184# 


3049 


3055 








SPEART 


2979 


3078 


3123 


3124 


5692$ 


5696 


SPEARX 


3052 


3057# 










SPOFST 


105# 


2976 


3082 








SPRBLN 


348# 


3102 










SPRCIN 


350# 


437 


3086 








SPRNOD 


552$ 


3089 











SEQ 0252 



1953 2147 2217 3176# 



SQXCVD 
SSACRX 
SSACSX 
SSARGZ 
SSCBFX 
SSCPNX 
SSCRBX 

ssciex 

SSDCFX 

SSDQEX 

SSEQEX 

SSICIX 

SSIDMX 

SSIFCX 

SSINNX 

SSNBQX 

SSNFBX 

SSNFCX 

SSNNKX 

SSNPCX 

SSNPVX 

SSNSBX 

SSPSFX 

SSQBFX 

SSRCFX 

SSRQEX 

SSSCPX 

SSSTLX 

SSTHSX 

SSUNS1 

SSUNSO 

SSVNOX 

STAARG 

STAR 

START 

STAT 

STATSI 

STATUS 



STPAR6 

STP0L1 

STP0L2 

STPOLL 

STRACT 

STRGLN 

STRREP 

STRTAD 

STRTF 

SUCCES 

SYSAC2 

SYSE02 

SYSE10 



4629 

3739 

3740 

3738 

3754 

3741 

3758 

3759 

3751 

3756 

3757 

3747 

3762 

3737 

3744 

3749 

3752 

3745 

3743 

3742 

3736 

3760 

3755 

3753 

3750 

3748 

3763 

3764 

3761 

1788# 
532 

3746 

4509 
3174f 
357# 
286# 

4504# 
113# 

2330 

5234 

2960 

4394 

4401 

2959 
965 

2645# 

260U 
21 3# 
183# 
243# 
21 6# 

3108 
415 



SEQ 0253 



^77SM 

4510 
1693 
3715 
2671 

463 
2564 
5238 
4378 
4397 
4409# 
4373* 
1045 



1694 

361 

564 

3104 

3114 

436 



4511 
5863 



511 
2843 
5259 
4379 
4400 



4512 4514 4529/(f 



515 

m 

4381 
4403# 



556 
3008 
5302 
4383 



626 
3407 
5304 
4419/(f 



828 
3413 
5387 



1452 
4343 
5389 



1621 
5105 
5394 



1787 
5108 
5396 



1862 
5116 
5511 



1958 
5119 
5531 



2146 
5129 



2216 
5132 



1152 1251 1383 1411 



1575 



1578 1757 1760 2602# 



1739 
362 
1069 
3142 
57020 
5704# 



1404 



1523 1698 1795 1898 1991 



2132 



2211 3249 



3288 



«M»»t!i<«MWM**M«M*>Mi 



SYSE12 

SYSERE 

SYSERT 

SYSHLF 

SYSJYS 

THIRD 

TIWCHN 

TIHELN 

TIMESP 

TIM1N1 

TIMIN7 

TIMINT 

TIMR10 

TIMR20 

TIO«^FS 

TCPtXE 

TRACE 



TSTTBL 

UNMAP1 

UNMAPB 

UNSACT 

UTim 

UTIME 

VALOO 

VALOl 

VAL01A 

VALOl C 

VALOl D 

VAL01G 

VALOl S 

VALOl X 

VAL02 

VAL02A 

VAL02G 

VAL02S 

VAL02X 

VAL03 

VAL03A 

VAL03B 

VAL03C 

VAL03F 

VAL03G 

VAL03H 

VAL03S 

VAL03X 

VAL04 

VAL04A 

VALOAB 

VAL04C 



3085 
571 3# 
3141 
3103 
3118 
1A3# 
3332 
104# 
21 5# 
339A# 
3395 
3367 
3362# 
3377# 
3401 
234# 
179# 
3849 
4481 
5275 
5602 
513 
822 
526 
214# 
3543 
441 
551 
619 
645 
652 
661 
641 
672 
643 
821 
848 
844 
859 
846 
941 
995 
1004 
1016# 
1021 
993 
1031 
1046 
997 
1229 
1279 
1288 
1291 



3088 

57000 
571 5# 
3137# 
2498 
5628# 
3048 
443 
3400 
3397 
3382 
5654 
5627 
3444 
383 
548 
3916 
4518 
5316 
5608 
524# 
829# 
81 8# 
1814 
3549# 
3045 
563# 
6320 
648# 
6584f 
667# 
644# 
677# 
647 
835# 
8544f 
847* 
863# 
850 
981 # 
1001# 
1009# 

1027# 

1005 

1037# 

1050* 

1023 

1268# 

1285# 

1293* 

1296* 



3092 
5713 



2521 
5628 

3047 

3400* 
3392* 



5653* 
384 
616 
3963 
4562 
5322 



3101 
5715 

2904 

3054 



3109 



5709* 5715 



SEQ 0254 



2989 



5174 5222 5? 5 



5475 



456 

818 

4007 

4622 

5333 



'>57 

934 

4046 

4661 

5355 



470 
1221 
4084 
4696 
5406 



1428 
4121 
4737 
5469 



1597 
4161 
4778 
5486 



1778 
4199 
4819 
5495 



1853 
4239 
4969 
5557 



1947 
4281 
5046 
5563 



2120 
4347 
5138 
5569 



2207 
4387 
5143 
5575 



3802 
4446 
5270 
5596 



3321 3393 



3542* 



V 



654 



663 



675* 



861* 



1012 
1033 



1032* 
1048* 



VAL04D 


1290 


1294 


130U 




VAL04E 


1336 


1345# 






VAL04F 


135A# 


1359 






VAL04G 


1347 


1360# 






VAL04H 


1362 


1374# 






VAL04S 


1384 


1388# 






VAL04X 


1281 


1297 


1386# 




VAL06 


1436 


1463# 






VAL06A 


1471 


1477# 






VAL06S 


1480 


1485# 






VAL06X 


1473 


1483# 






VAL07 


1605 


1632# 






VAL07A 


1640 


1646# 






VAL07S 


1649 


1654# 






VAL07X 


1642 


1652# 






VAL08 


1781 


1794# 






VAL09 


1856 


1869# 






VAL09S 


1878 


1883# 






VAL09X 


1881# 








VAL10 


1950 


1963# 






VAL10S 


1972 


\977M 






VAL10X 


1975# 








VAL11 


2137 


2154# 






VAL11A 


2163 


2166# 






VAL11S 


2168 


2173# 






VAL11X 


2165 


2171# 






VCBRKA 


5359# 


5362 






VCBRKB 


5386 


5391 # 






VCBRKC 


5364 


5393 


5402* 




VCBRKN 


5338 


5355# 


5565 


5598 5604 


VCGONE 


136# 


152# 


2400 


3798 4327 


VEDIT 


19# 


23 


91 




WAITF 


186# 


453 


490 


3510 3515 


WAITI« 


211# 








UAITRB 


21 2f 








WAITT 


133# 


1136 


1143 


1190 1200 


UATOVR 


3281 


341 2# 






XCHOm 


3576 








XCNHNT 


367 








XCNSTS 


3560 








%CNSUP 


3552 








.OGCTR 


2002 


2062 


2077 


2091 


.DGENB 


1820 


1830 






.DGRST 


1546 








.DGSTR 


1721 








.FHSLF 


333- 


3425 


3468 


3484 3524 


.LBACC 


4037 


4057 






.LBCON 


3878 


3925 






.LBCSP 


4377 


4419 






.LBDIS 


4112 


4132 






.LBEVT 


4797 


4803 


4835 




.LB6DE 


4763 


4782 






.LBGLN 


4438 


4457 







SEC 0255 



5374 5379 5388 5395 



3654 3721 





.LBLIS 


3946 


3973 


3991 


4018 












.LBQRD 


4190 


4210 
















.LBQRM 


4152 


4171 
















.LBRBS 


4472 


4492 
















.LBRCD 


4548 


4555 


4573 














.LBRDG 


4268 


4292 
















.LBREJ 


4075 


4095 
















.LBREQ 


4725 


4746 
















.LBRMG 


4226 


4250 
















.LBRPS 


2800 


2814 
















.LBSN6 


3781 


3812 


3832 


3860 


4315 


4359 








.LBSND 


4684 


4705 
















.LBSTS 


4508 


4529 
















.LBUMP 


4647 


4668 
















.PCSCS 


3441 


5651 
















.PCTHR 


3444 


5656 
















.PRIOU 


3602 


3612 


3719 














.PSVIS 


4971 


















.PSVOP 


:514 


















.SIDGA 


'455 


















.SIDMA 


, 


457 


















.sinsA 


3 


456 


















.SIPAN 


3 


458 


















.SQADC 


3 


909 


















.SQAFB 


4155 


4193 
















•SQAMC 


3896 


















.SQAPT 


3787 


3835 


4318 














.SQARB 


4229 
4381 


4237 


4271 


4279 


5049 


5075 


5083 


5146 


5179 


•SQBDN 


















.SQBID 


4766 


4771 
















.SQ6NA 


4611 


4612 


4613 


4618 












.SQCDA 
.SOCOT 
.SQCID 


4041 




















Wi. 


<834 


t?^ 


4077 


4114 


4154 


4192 


\m 


4270 
5185 




4727 


4765 


4808 


5052 


5074 


5149 


.SQDFL 


4230 
4115 
















.SQDIS 


















. SQDPN 


3882 


3951 


3995 














.SQESB 


4800 


4801 
















•SQEVT 


^oQc 


4809 
















.SQFLG 


3793 


3841 


4320 














.SQFST 


4511 


















.SQLCI 


3956 


im 


4000 


4005 












. SQLDG 


424 
















. SQLEN 


im 


m 


vs 


im 


3879 
4509 


3947 
4549 


3992 
4610 


4038 
4648 


4076 
4685 


.SQLHG 


421 


i^itjit 
















. SQLNN 


410 


4440 
















. SQLPN 


zHl 


2971 
















. SQLPT 


4319 














. SQLRP 


4231 


4273 
















.SQNAM 


4649 


















.SQOFS 


< 


»689 


4730 

















SEQ 0256 



5186 5194 



4317 4379 4510 4550 4686 



4113 4153 4191 4227 4269 
4726 4764 4798 



.SQOSB 4551 

.SQRCI 3910 

.SQREJ 4078 

.SQRNM 4688 4729 

.SQRPN 2798 

.SQRPS 2799 2806 

.SQSAD 4554 

.SQSBI 2961 

.SQSBR 4512 

.SQSNM 4687 4728 

.SQSPN 3881 3949 3994 

.SQSYS 3883 3885 3915 3953 3955 3997 3999 

.SQVCS 4552 4553 

.SSACC 4042 

.SSAIC 3432 

.SSCON 3911 

.SSCSP 4382 

.SSDIS 4116 

.SSEVT 4804 

.SSGDE 4767 

.SSGLN 4441 

.SSLIS 3957 4001 

.SSHAP 4614 

.SSQRD 4194 

.SSQRM 4156 

.SSRBS 4476 

.SSRCD 4556 

.SSRD6 4274 

.SSREJ 4079 

.SSREQ 4731 

.SSRNG 4232 

.SSRPS 2802 

.SSSD6 3796 3844 4324 

.SSSMG 3794 <842 4322 

.SSSND 4690 

.SSSTS 4513 

.SSUnP 4650 

.TIHEL 3331 



SEO 0257 



AICX 

ASS INT 

BUF 

BUFLS 

CBLK 

CBLS 

CRASH 

DEBRKX 

DEBRK. 

DIAGZ 

DIAG. 

DIRX 

EIRZ 

EPCAPX 

ERCAL 

ERJHP 

ERSTRX 

EXIT 

GET 



GETERX 
GET TAB 
GO 



3429 

5620# 

5829# 

5842# 

5731 # 

5744# 

5312* 
3388 
3373 
4861 
4865 
3469 
3485 
3528 
1724 
1144 
1723 
3714 
171# 
809 
974 
1261 
1457 
1627 
1844 
1979 
2220 
237S 
2542 
2674 
2857 
3016 
3130 

3385 
3803 
3964 
4052 
4165 
4285 
4449 
4563 
4700 
4869 
5035 
5356 
3655 
368 

\^ 

619 
823 



5627 
5838 
5853 
5741 
5755 



5628 5629 5630 5631 



SEQ 0258 




5041 
4988 



3725 
3334 



3553 
379 
476 

829 



5854 
5742 
5756 

5585 



4451 
4566 
4740 
4871 
5037 
5470 




3314 3440 3443 3446 3474 3490 3534 5063 5090 5161 



3526 3529 3605 3615 3650 4862 



549 

812 

1051 

1389 

1487 

1657 

1854 

2111 

1259 

444 

1567 

1729 

|881 

t019 

1145 

[265 

1448 

[806 

J967 

420; 

434( 

445i 

4561 

4741 

487; 

503 

548; 

3577 
397 
491 

^? 




404 
882 



584 

1054 
1392 
1585 
1768 

'^ 

;294 
447 

'^W 

1191 
1301 
1451 

401 ( 
4ir 

tli 

4485 
4623 
4776 
4981 
5047 
5564 

408 
549 

(^94 
911 



617 

1209 
1393 
1586 
1769 
1936 
]174 
295 
474 

|921 

ll92 
!356 
476 
J853 
4011 
4124 
4240 
4354 
4486 

5570 




432 

920 




560] 



454 
557 
804 
941 



460 
565 
819 
943 



465 

f 



5201 



466 

i 



1 



GTADX 

HALT 

HALTFX 

HIBER 

LOCK 

NOP 

NOUTX 

OUTCHR 

OUTSTR 

PIINI. 

PISYS. 

PITWR. 

PRVERS 

PSOUTX 

PUT 



965 
1171 
1322 
1483 
1622 
1788 
1935 
2050 
2171 
2414 
3045 
3367 
3624 
3847 
4003 
4162 
4404 
4616 
4827 
4980 
5144 
5318 
5450 
5534 
357? 
5301 
3712 
495 
3533 
955 
3604 
3626 
3595 
3439 
3442 
3339 
S7» 
3593 
170# 
687 
936 
1223 
1431 
1601 
1805 
1964 
2209 
2360 
2490 
2667 
2837 
2940 
3069 



967 
1189 
1383 
1511 
1652 
1796 
1948 
2072 
2186 
2426 
3056 
3382 
3679 
3850 
4004 
4196 
4406 
4623 
4828 
5000 
5145 
5323 
5451 
5540 



3614 

3682 

3445 

91 
3678 
508 
688 
937 
1224 
1432 
1632 
1806 
1965 
2225 
2387 
2548 
2691 
2838 
2941 
3070 



969 


1018 


1199 


1203 


1386 


1405 


1524 


156]; 


1680 


1699 


1J24 


1834 


1949 


1950 


2086 


2101 


2189 


2192 


2432 


2528 


3113 


3118 


3393 


3398 


3684 


3696 


3884 


3893 


4008 


4044 


4197 


4200 


4407 


4443 


4652 


4662 


4878 


4879 


5010 


5020 


5161 


5180 


5];24 


5330 


5452 


5453 


5547 


5558 



3685 
3473 



509 
689 
938 
1225 
1463 
1633 
1807 
1985 
2226 
2388 
2549 
2692 
2870 
2942 
3071 



3692 
3489 



1029 


1037 


1045 


1048 


1070 


1095 


1222 


1228 


1229 


1231 


1241 


1247 


1409 


1411 


1415 


1429 


1435 


1436 


1575 


1576 


1578 


1581 


1598 


1604 


1741 


1745 


1757 


1758 


1760 


1763 


1839 


1854 


1855 


1856 


1858 


1863 


1952 


1953 


1975 


1992 


2011 


l^ll 


2109 


2121 


2128 


2133 


2136 


2137 


2197 


2208 


2210 


2212 


2217 


2219 


2558 


2559 


2804 


2841 


2851 


2853 


3187 


3212 


3246 


3250 


3256 


3283 


3434 


3435 


3440 


3443 


3446 


3474 


3698 


3700 


3702 


3704 


3706 


3707 


3898 


3903 


3913 


3914 


3917 


3954 


4045 


4047 


4081 


4082 


4085 


4118 


4234 


4240 


4276 


4282 


4344 


4345 


4444 


4447 


4478 


4479 


4482 


4515 


4692 


46931 


4697 


4733 


4734 


4738 


4886 


4888 


4890 


4898 


4903 


4904 


5030 


5047 


5048 


5063 


5077 


5078 


5188 


5189 


5201 


5266 


5269 


5271 


5];34 


5356 


5407 


5411 


5415 


5422 


5458 


5462 


5470 


5472 


5487 


5496 
5603 


5564 


5570 


5576 


5585 


5597 



549 


563 


690 


819 
982 


981 


1268 


12^-^ 


1464 


U 


1634 


1^ > 


1854 


1---^ 


1986 
2242 


1987 


2243; 


2389 


2390 


2550 


2580 


2717 


2718 


2871 


2872 


2943 


2944 


3139 


3140 



571 
835 
983 
1270 
1494 
1664 
1870 

IWo 

2391 
2581 
2740 
2873 
2945 
3176 



572 


617 


836 


837 


984 
1271 


m 


1495 


1496 


1665 
1871 


1666 


1890 


2122 


2154 




2272 


2392 


2459 


2602 
2741 


m 



3041 
3177 



J893 
!042 

;i78 



632 
838 
1061 
1273 
1497 
1667 
1891 
2155 
2306 

Mi 

m 

1894 
1043 
1179 



1150 
1251 
1438 
1605 
1779 
1881 

2139 
1229 
1879 
J289 
3490 
3800 
3959 
4119 
4348 
4516 
4769 
4906 
5090 
5276 
5438 
5505 
5609 



634 
872 
1063 
1399 
1499 
1779 
1893 

2308 
2486 
?645 
1796 
1896 

104 



Si 



1152 
1255 
1441 
1607 
1780 
1899 
2032 
2141 
2254 
2959 
3295 
3503 
3801 
3960 
4122 
4384 
4519 
4779 
4909 
5134 
5277 
5439 
5514 



1160 


1166 


1285 


1301 


1446 


1453 


1610 
1781 


1615 


1782 


1903 


1911 


2038 


2044 


2147 


2166 


2277 


2407 


2%B 


3009 


3314 


3321 


3534 


3551 


3803 


3846 


3964 


3998 


4158 


4159 


4385 


4388 


4558 


4563; 


4806 


4825 


4910 


4969 


5137 


5139 


5312 


53;i7 


5440 


5441 


5520 


5527 



SEO 0259 



685 
874 
1065 
1429 
1599 
1803 
1948 
2183 
2358 
2488 

im 

2938 
3067 
3206 



686 
935 
1222 
1430 
1600 
1804 
1963 
2208 
2S59 
2489 
2666 
2836 
2939 
'''68 
3232 



3233 3234 

3378 3379 

3777 3778 

3942 3943 

4047 4C71 

4151 4162 

4266 ^267 

4435 4436 

4544 4545 

4697 4723 

4854 4855 

4994 4995 



RBLK 

RESEU 

RHBLK 

RPCAPX 

RTN 



SCSX 

SCS. 

SIRX 

SYERRX 

TIMEX 

TIMERX 

TRMSG 



UAITX 



5014 
5139 
5570 
581 U 

371 
5768# 
3525 

169# 

935 
1658 
2121 
2568 
2926 
3408 
3596 
3964 
4240 
4563 
4969 
5356 
5592 
3649 
3666 
3427 
3143 
3545 
3333 

66# 
3849 
4481 
5316 
5608 

493 



5015 
5144 
5576 
5822 



5779 5780 



3235 


3236 


3380 


3419 


3779 


3780 


3944 


3945 


4072 


40731 


4186 


4187 


4282 


4311 


4437 


4447 


4546 


4547 


4724 


4738 


4856 


4857 


4996 


4997 


5016 


5017 


5271 


5276 


5597 


5603 



3277 
3420 
3803 
3964 
407^^ 
4188 
4312 
4468 
4563 
4760 
4884 
4998 
5018 
5317 
5609 



3278 
3421 
3828 
3987 
4085 
4189 
4313 
4469 
4608 
4761 
4962 
4999 
5019 
5323 



3279 


3347 


3348 


3362 


3363 


3364 


3365 


3377 


3422 


3464 


3481 


3501 


3509 


3544 


:;549 


3622 SEQ 026C 


3829 


3830 


3831 


3850 


3875 


3876 


:;877 


3917 


3988 


3989 


3990 


4008 


4033 


4034 


4035 


4036 


4108 


4109 


4110 


4111 


4122 


4148 


4149 


4150 


4200 


4222 


4223 


4224 


4225 


4240 


4264 


4265 


4314 


4348 


4373 


4374 


4375 


4376 


4388 


4434 


4470 


4471 


4482 


4504 


4505 


4506 


4507 


4519 


4623 


4643 


4644 


4645 
4795 


4646 


4662 


4682 


4683 


4762 


4779 


4794 


4796 


4821 


4822 


4823 


4963 


4964 


4965 


4966 


4967 


4968 


4969 


'»993 


5003 


5004 


5005 


5006 


5007 


5008 


5009 


5013 


502:; 


5024 


5025 


5026 


5027 


5028 


5029 


5047 


5334 


5356 


5407 


5470 


5487 


5496 


5558 


5564 



519 
977 
1772 
2151 
2593 
3022 
3414 
3606 
3969 
4246 
4569 
4970 
5407 
S597 



549 
1055 
1779 
2177 
2613 
3040 
3452 
3616 
4008 
4282 
4623 
5047 
5465 
5603 



559 
1215 
1790 
2202 
2636 
3061 
3477 
3627 
4014 
4288 
4624 
5139 
5470 
5609 



567 
1222 
1798 
2208 
2656 
3133 
3493 
3652 
4047 
4348 
4662 
5140 
5477 
5610 



585 
1264 
1847 
2221 
2675 
3138 
3505 
3657 
4053 
4355 
4664 
5144 
5487 



617 
1395 
1854 
2232 
2705 
3147 
3518 
3670 
4085 
4388 
4697 
5271 
5488 



629 
1421 
1865 
2261 
2731 
3194 
3530 
3726 
4091 
4413 
4701 
5272 
5496 



682 
1429 
1887 
2296 
2752 
3219 
3535 
3803 
4122 
4447 
4738 
5276 
5558 



813 
1459 
1941 
2347 
2767 
3266 
3547 
3808 
4128 
4453 
4742 
5317 
5559 



819 
1489 
1948 
2376 
2790 
3302 
3558 
3850 
4162 
4482 
4779 
5319 
5564 



831 
1590 
1959 
2449 
2810 
3336 
3567 
3856 
4167 
4488 
4780 
5323 
5570 



868 
1598 
1981 
2477 
2859 
3340 
3574 
3917 
4200 
4519 
4833 
5334 
5571 



927 
1628 
2113 
2543 
2885 
3358 
3579 
3921 
4206 
4525 
4873 
5335 
5576 



548 
3916 
4518 
5322 



6U 
3963 
4562 
5333 



818 
4007 
4622 
5355 



934 

4046 
4661 
5406 



1221 
4084 
4696 
5469 



1428 
4121 
4737 
5486 



1597 
4161 
4778 
5495 



1778 
4^99 
4969 
5557 



1853 
4239 
5046 
5563 



1947 
4281 
5138 
5569 



2120 
4347 
5143 
5575 



2207 
4387 
5270 
5596 



3802 
4446 
5275 
5602 



i