Skip to main content

Full text of "C120 CI CLUSTER TEST PROTOCOL RESPONDER"

See other formats


;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 

0  CPU  Diagnostics 

0  Memory  Diagnostics 

0  I/O  Box  Diagnostics 

0  CI  Port  Hardware  Diagnostics 

0  TOPS-20  Operating  System  or 

0  TOPS-10  Operating  System 


Mil  » 


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 


iirtWWftHiiw  iWti  ^»t«||Wi«iii1  lUitk^mt^m 


Product  6oals/Non-GoaLs 


Page  5 


SEQ  OOOS 


2.5  Non-Goals 

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

0  There  Is  no  user  interface. 

0  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 

0  A  TOPS-10  or  TOPS-20  Timesharing  Monitor  needs  to  be  running, 
0  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"^      9mimthnimn 


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 

0  Report  back  to  Controller  on  functional  errors. 

0  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. 

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

0  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 
0 


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     0 


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. 


■  MPiiiwjiiwiy^* 


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 


>.Mirim<imiiiWiii>wiip'ii  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  0  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  0 
E  0 


? 


Bit 


I 


001  Opcode  00 
041 


? 


I  Reference  I 

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


00/CTP$0PC0DE 
01/CTP$REFERENCE 


1 
1 

U 

0 

3 

R 

5 

D 

■f 

1 
1 

1 

•f 

1 

2 

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


■■*ilfc,JBrt»HIII<^« 


Appendices 


Page  20 


SEQ  0023 


Responder  Function  Set  Response  Message 


B  1- 
Y 

T  0 
E  0 

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 
0 
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  0 
E  0 

00! 

04! 


12! 


Buffer  Map  Request  Message 


Bit 


0 
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 

0 

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  0 
E  0 

00! 

OAI 


12! 
16! 


Bit 


0 
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 

0 
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  0 

E  0 


081 

12 


161 


Buffer  Unmap  Request  Message 


Bit 


0 
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 
0 
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  0 
E  0 

0 
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 

0 
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 


iiKn  I     iim'mmtu'mimt <ii! -•  mtini  i.inmm 


1 


Appendices 


Page  26 


6.2.5  Move  Buffer  Messages 


Move  Buffer  Request  Message 


B  :• 

Y 

T  0 
E  0 


Bit 


0 
7 


1 
5 


f 


1 


-.'  U 

0 

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 


■ittWi    «W  liiH^wHMwiU'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  0 
E  0 

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 
0 
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  0 

E  0 


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 
0 
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  0 
E  0 

^^^^^^^^^^« 

Bit  

3 

5 

u 

0 
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  0 
E  0 

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 

0 

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  0 
E  0 


Bit 


0 

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 

0 
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\imm  »*'{•>  itit*i-»wi»i 


23 


Appendices 


Page  33 


SEQ  0036 


6.2.8  Generate  Reset  Messages 


Generate  Reset  Request  Message 


Bit 


T  0 
E  0 

? 

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 
0 
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  iW»MiiW>i^«*«f»*warti»*W)Jl"t»W»»! 


l_ 


Appendices 


Page  3A 


SEQ   0037 


B  1- 
Y 

T  0 

E  0 

001 

OA! 

08! 


Generate  Reset  Response  Message 


Bit 


0 
7 


1 
5 


? 


Opcode  70 

.4. + + 

Reference            1 

"T" 

^x^ 

Status 

:       Act count        J 

Extend 

-4— 

Othernode 

.4 4 4 

-;  u 
0 

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*>}'^'»' 


•Mtnm'..tmi*'''>ttUmi^»ii^  i.iii-aiiii 


Appendices 


Page  35 


SEQ  0038 


6.2.9  Generate  Start  Messages 


Generate  Start  Request  Message 


B 
Y 
T  0 
E  0 


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 

0 

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  0 
E  0 

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 

0 

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 


giiningirirtt 


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  0 
E  0 

00! 

0/4! 

08! 


Bit 


0 

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 

0 

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  0 
E  0 


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 

0 

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  0 
E  0 

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 
0 
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  0 

E  0 


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  0  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 

0 
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  0 

E  0 


Bit 


0 
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 

0 

!; 

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  0 
E  0 

0 

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 

0 
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  11,11111111  nilHiUH Wimin 


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  0 
E  0 

1                        2                        3 
5                       3                       1 

00! 

Opcode  11 

Reference                               ! 

04! 

»M^« 

MBZ 

MBZ 

08! 

-1— 

M6Z 

— f- 

Othernode 

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

!  U 
0 
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  0 

E  0 


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 
0 
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  KiWiHi—t 


Appendices 


Page  45 


SEQ  0048 


6.2.1A  Listener  Disconnect  Messages 


B  !• 
Y 

T  0 

E  0 


Listener  Disconnect  Request  Messd9e 


Bit 


0 
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 

0 

3  R 

5  D 

I  1 


Listener  Disconnect  Response  Message 


6  !- 
Y 

T  0 
E  0 


Bit 


0 
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 

0 

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 


iirtt>M>i>l«aH*l|>llii'*'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 


iWUMilWnn  I'llKllliil'milliin.  '|«1I|  iHil  <ii  «  X.imirwillri  ii  iniliril1#i'im>»iwfc»«lij>  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  0  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:   0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0  00 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  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 

0  =  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  0  00  000000 

TOPEXE:  Z 

000275'  000  00  0  00  000000 

BOTEXE:  2 

000276'  000  00  0  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  0  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  0  01  000000 


000314'  04  30  0  01  000000 


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


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


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


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


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


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


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


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


0 
0 
0 
0 
0 
0 
0 


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  0 
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  0  status 


2  Byte  for  generated  length 

1  Byte  for  path  1  status 

4  Byte  for  size  of  buffer 

4  Byte  for  acks  on  path  0 

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  0  01  000000 
000346'  04  40  0  01  000000 


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


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


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


000355'  04  40  0  01  000000 


000356'  04  40  0  01  000000 


000357'  00  11  0  01  000000 
000360'  II  03  0  01  000000 
000361 •  00  04  0  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  0 

;4  Byte  for  local  buffer  offset 
;4  Byte  for  path  0  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  0  00  000014' 


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


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


200  01  0 

047  01  0 

400  01  0 

602  01  0 


334  01 
334  01 
476  00 
256  00 


0 
0 
0 
0 


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


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


000403'  260  17  0  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  0  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  0  00  005136* 
000406'  260  17  0  00  005177* 


000407'  260  17  0  00  005635' 

000410'  201  01  0  00  005657' 

000411'  200  00  0  01  000001 

000412'  202  00  0  00  000247' 


000413'  137  00  0  00  261044 


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


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


260  17  0 

201  01  0 
200  00  0 
242  00  0 

202  00  0 
200  00  0 
242  00  0 
202  00  0 


402  00 
201  02 
260  17 
255  00 
201  01 

200  00 

201  01 
137  00 


0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  004507' 
000435'  231  01  0  00  165140 
000436'  202  01  0  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 


0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000001 

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

262  17  0  00  000002 
262  17  0  00  000001 


EXECT 
;(12) 


000514'  263  17  0  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««.Hi-^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 


0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 
00 


0  01 


0 
0 
0 


00 
00 
00 


000216* 

261052 

003543* 

000553* 

000560* 

000002 

000001 

000276* 

000002 

004124* 

000000 

000000 


000553*  ^61  17  0  00  000000 

000554*  201  00  0  00  000000 

000555*  260  17  0  00  003450* 

000556*  262  17  0  00  000000 

000557*  263  17  0  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 


0 
0 
0 
0 
0 
0 

1 

0 
0 
0 
0 

1 

0 
0 
0 


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 
0  00  000000 
0  00  000000 
0  00  000000 
0  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 

0 

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  0  0  0  :  1  1  1  ;  1  1  0  ;  0  0  0 


; 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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
307  00  0 
254  00  0 
201  00  0 
254  00  0 
260  17  0 


254 
201 
254 


00 
00 
00 


201 
135 


01 
00 


307  00 


254 
201 
254 


00 
00 
00 


000654'  550  01  0 

000655'  33?  00  0 

000656'  5ic  00  0 

000657'  254  00  0 

000660*  201  00  0 

000661 '  254  00  0 


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 


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

0  00  003450' 
0  00  000000 
0  17  77777^ 
0  00  000003 
0  00  000002 
0  00  000001 
0  00  000000 
0  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  0  00  000000 

261  17  0  00  000001 

261  17  0  00  000002 

261  17  0  00  000003 

261  17  0  00  000004 

261  17  0  00  000005 


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


000715'  200  01  0  00  000001 
000716'  200  02  0  00  000227' 
000717'  260  17  0  00  006013' 
000720'  254  00  0  00  000740' 
000721 '  202  01  0  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  0 
332  00  0 
254  00  0 
202  05  0 
200  04  0 
202  04  0 
254  00  0 
332  00  0 
254  00  0 
202  05  0 

200  04  0 
202  04  0 
254  00  0 

201  00  0 
254  00  0 


;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  0 
242  00  0 
260  17  0 
200  01  0 

200  03  0 

201  01  0 
137  00  0 


00  000005 
00  11111k 
00  003502' 

00  000276' 

01  000003 
03  000004 
00  000345' 


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


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


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


000764'  200  04  0  00  000230' 
000765'  201  00  0  00  000000 
000766'  312  00  0  00  000224* 
000767'  254  00  0  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  0 
200  00  0 
200  02  0 
136  00  0 


367  03 
201  00 
312 
254 


00 
00 


0 
0 
0 
0 


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


200  03  0  00 

201  05  0  00 
200  02  0  00 

200  00  0  00 
136  00  0  00 
242  00  0  00 
136  00  0  00 
350  00  0  00 
367  05  0  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  0  00  000227* 
2uJ  00  0  00  000247* 
200  02  0  00  261071 
136  00  0  00  000002 
367  03  0  00  001017* 
254  00  0  00  001024* 

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

262  17  0  00  000000 

263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
200  01  0 
200  03  0 


201  01 
135  00 
30?  00 

CO 

201 


0 
0 
0 
0 
0 
254  00  0 
307  00  0 
254  00  0 
201  00  0 
254  00  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 

001112'  261  17  0  00  000001 

001113'  261  17  0  00  000002 

001 1U'  261  17  0  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 


0 
0 
0 
0 
0 
0 
0 


00 
01 
03 
00 
00 
00 
00 


000276' 

000003 

000004 

000345' 

003463' 

000004 

000267' 


476  00  0 
201  03  0 
350  00  0 
200  04  0 
312  00  0 


254  00 
402  00 
200  00 


0 
0 
0 


402  00  1 
254  00  0 


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 


0 
0 
0 
0 
0 
0 
1 
0 


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  0  00  003A50' 
001150'  25A  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  001322' 
001207'  254  00  0  00  001223' 
001210'  254  00  0  00  001230' 
001211'  600  00  0  00  000000 


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

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


200  02  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  =  0  we  are  all  done 

Ue  start  counting  at  0  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  0  00  000000 
001237'  261  17  0  00  000001 
001240*  261  17  0  00  000002 
001241'  261  17  0  00  000003 
001242'  200  01  0  00  000276* 
001243'  200  03  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


03 
00 
00 
00 
00 
00 
00 
00 


000002 

000324 ' 

000003 

001302' 

000001 

001254' 

000377 

001312* 


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


001261*  2o'  01  0  03  000002 

001262*  135  00  0  00  000331* 

001263*  335  00  0  00  000000 

001264'  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


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  0  03  000005 
00  0  00  000347* 
17  0  00  003463* 
00  0  00  000227* 
00  0  00  001304* 
00  0  00  000376 
00  0  00  001312* 


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


001307*  402  00  0  00  000000 
001310*  260  17  0  00  003402* 
001311*  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


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  0 
;  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  0  00  000000 

001323*  261  17  0  00  000001 

001324'  261  17  0  00  000002 

001325'  261  17  0  00  000003 

001326'  261  17  0  00  000004 

001327'  261  17  0  00  000005 


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


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


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


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


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

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


201  01  0 
135  00  0 
260  17  0 
242  00  0 

202  00  0 
336  00  0 
254  00  0 


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  0 
367  0 


0 
0 
0 
0 
0 
0 
0 
0 


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  0 

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  0  00  000371 
001364*  254  00  0  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 
0  00 
0  02 


0 
0 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


04 
00 
04 
00 
00 
04 
00 
00 
00 
00 
00 


16  0  00 

00  0  00 

00  0  04 

00  0  00 

00  0  00 

00  0  00 

00  0  04 

16  0  00 

00  0  00 

00  0  00 

00  0  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  0  00  003364' 
001420'  350  00  0  00  000000 
001421'  260  17  0  00  003402' 


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


200  01  0 

200  03  0 

201  01  0 


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  0  03  000005 
001432'  135  00  0  00  000347' 
001433'  260  17  0  00  003463* 
001434'  202  00  0  00  000271' 

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

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


001443'  200  00  0  00  000233' 
001444*  306  00  0  00  000001 
001445'  254  00  0  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  0 
200  03  0 
514  04  0 
540  04  0 
260  17  0 
661  16  0 
254  00  0 


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


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


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


001464'  260  17  0  00  003450' 
001465'  254  00  0  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 


0  17  111172 
0  17  111112 


0 
0 
0 
0 


00 
00 
00 
00 


0  00 


0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000004 

001546'  262  17  0  00  000002 

001547'  262  17  0  00  000001 

001550'  262  17  0  00  000000 

001551*  263  17  0  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  =  0  we  are  all  done 

U'e  start  counting  at  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 


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  0  00  000265' 
001600'  254  00  0  00  001603' 

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


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


001606'  200  01  0  00  000276' 
001607'  200  02  0  01  000003 
001610'  201  01  0  02  000002 
001611'  135  00  0  00  000323' 
001612'  202  00  0  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 


0  00  000327' 
0  00  000225' 


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


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

001622'  201  00  0  00  000000 
001623'  312  00  0  00  00022A' 
001 62A'  25A  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000226* 
001652'  200  00  0  00  000247' 
001653'  200  02  0  00  261133 
001654'  136  00  0  00  000002 
001655'  367  03  0  00  001654' 


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


001663'  476  00  0  00  000000 
001664'  260  17  0  00  003402' 
001665'  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 
001 70r  261  17  0  00  000001 
001702'  261  17  0  00  000002 


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


001705'  260  17  0  00  003364' 
001706'  350  00  0  00  000000 
001707'  2tO  17  0  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 


0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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


0  00 
0  02 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  03  000002 

001773'  135  00  0  00  000331' 

001774'  331  00  0  00  000000 

001775'  254  00  0  00  002001' 

001776'  201  00  0  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 


0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 
17  0  00  000001 
17  0  00  000002 
17  0  00  000003 
17  0  00  000004 
17  0  00  000005 


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


002017'  603  16  0  00  000004 

002020'  254  00  0  00  002024' 

002021'  260  17  0  00  003364' 

002022'  200  02  0  00  000276' 

002023'  5Co  00  0  02  000001 


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


002027'  201  00  0  00  000000 
002030'  260  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


;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  0  00  000105 

002051'  202  01  0  00  006342' 

002052'  5H  01  0  00  000256' 

002053'  540  01  0  00  000232' 

002054'  202  01  0  00  006343' 


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


200  01 

200  02 

201  01 
135  00 
476  00 
302  00 
402  00 


0 
0 
0 
0 
0 
0 
0 


00 
01 
02 
00 
00 
00 
00 


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

002070'  201  00  0  00  000373 
00207V  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

200  02  0 

554  01  0 

370  00 

260  17 

312  00 
00 
16 
16 

200  01  0 
16  0 
C 
0 
0 
0 
0 
0 
0 


254 
661 
621 


2ui 


0 
0 
0 
0 
0 
0 


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  0  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  0 
261  17  0 
261  17  0 
200  01  0 

200  02  0 

201  01  0 


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  0  03  000002 
002170'  135  00  0  00  000331' 
002171'  331  00  0  00  000000 
002172'  254  00  0  00  002176' 
002173'  201  00  0  00  000376 

002174'  260  17  0  00  003450' 
002175*  334  00  0  00  000000 
002176'  350  00  0  17  lllll'i 
002177'  262  17  0  00  000002 
002200'  262  17  0  00  000001 
002201'  262  17  0  00  000000 
002202'  263  17  0  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  0  00  000000 
17  0  00  000001 
17  0  00  000002 
17  0  00  000003 
17  0  00  000004 
17  0  00  000005 


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


002214'  603  16  0  00  000004 

002215'  254  00  0  00  002221' 

002216'  260  17  0  00  003364' 

002217'  200  02  0  00  000276' 

002220'  506  00  0  02  000001 


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


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


002227*  201  00  0  00  000000 
002230'  260  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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


0  00 


002250'  201  01  0  00  000106 

002251'  202  01  0  00  006342' 

002252'  514  01  0  00  000256' 

002253'  540  01  0  00  000232' 

002254'  202  01  0  00  006343' 


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


200  01 
2uJ  02 

201  01 
135  00 
402  00 
302  00 
254  00 


0  00 
0  01 


02 
00 
00 
0  00 
0  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  0  00  000252' 
002265'  242  00  0  00  17777 1, 
002266'  260,17  0  00  003463' 
002267'  202  00  0  00  006344' 

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

002274'  201  00  0  00  000373 
002275'  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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


0  00 


000216' 

261170 

003543' 

002335 ' 

002342' 

000000 

000002 

000001 

000276' 

000002 

004124' 

000000 

000000 


002335'  261  17  U  00  000000 

002336'  201  00  0  00  000000 

002337'  260  17  0  00  003450' 

002340'  262  17  0  00  000000 

00234V  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 


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  0 
260  17  0 
334  00  0 
350  00  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 

262  17  0 

263  17  0 


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 

0  =  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  0 
260  17  0 
260  17  0 
260  17  0 

254  00  0 
260  17  0 
661  16  0 
621  16  0 
200  01  0 
202  16  0 
260  17  0 

255  00  0 
263  17  0 


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  0 
261  17  0 
261  17  0 
200  01  0 
200  02  0 


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 


0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 

002450'  261  17  0  00  000001 

002451'  261  17  0  00  000002 

002452'  261  17  0  00  000003 

002453'  261  17  0  00  000004 


002454'  201  00  0  00  000000 
002455'  260  17  0  00  003450' 


002456' 
002457' 
002460' 
002461 • 
002462' 
002463' 
002464' 


402  00  0 
200  02  0 
260  17  0 
254  00  0 
554  03  0 
200  01  0 
200  04  0 


00  000001 
00  000232' 
00  005737' 
00  002505' 
00  005772' 

00  000276' 

01  000003 


002465'  200  00  0  00  000232' 
002466'  260  17  0  00  003562' 
002467'  254  00  0  00  002505' 


002470'  402  00  0  00  000003 

002471 '  554  02  0  00  000000 

002472'  33i  00  0  00  000002 

002473'  201  03  0  00  000001 

002474'  201  01  0  04  000002 

002475'  137  03  0  00  000335' 


002476'  402  00  0  00  000003 
002477'  550  02  0  00  000000 
002500'  332  00  0  00  000002 
002501 '  201  03  0  00  000001 


002502' 
002503' 
002504' 
002505' 
002506' 
002507' 
002510' 
002511' 
002512' 
002513' 
002514' 


201  01  0 
137  03  0 
254  00  0 
201  00  0 
260  17  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 

262  17  0 

263  17  0 


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  0  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  0 
;Skip  if  path  status  is  bad 
;Mark  path  as  good 

:Get  path  0  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  0  00  000216' 
260  17  0  00  261214 
260  17  0  00  003543' 
260  17  0  00  002532' 

254  00  0  00  002523' 
260  17  0  00  002554' 
260  17  0  00  004124' 

255  00  0  00  000000 
661  16  0  00  000002 
621  16  0  00  000001 
200  01  0  00  000276' 
202  16  0  01  000002 
263  17  0  00  000000 


261  17  0  00  000000 
261  17  0  00  000001 

261  17  0  00  000002 
200  01  0  00  000276' 
200  02  0  01  000003 

0  02  000002 
0  00  000331 • 
0  00  000232' 
0  00  000000 
0  00  002547' 
0  00  000376 

260  17  0  00  003450' 
334  00  0  00  000000 
350  00  0  17  11111^ 
2t2   17  0  00  000002 

262  17  0  00  000001 

262  17  0  00  000000 

263  17  0  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  0  00  000000 
002555'  261  17  0  00  000001 
002556'  261  17  0  00  000002 


002557'  201  00  0  00  000000 
002560'  260  17  0  00  003450' 


002561'  550  01  0  00  000016 
002562'  200  01  0  01  000005 
002563'  202  01  0  00  000256' 


002564' 
002565' 
002566' 
002567' 
002570' 
002571 ' 
002572' 


201  01 

202  01 
515  01 
541  01 
202  01 
402  00 
402  00 


0  00  000107 
0  00  006342' 
0  00  000007 
0  00  000003 
0  00  006343' 
0  00  006344' 
0  00  006345' 


002573'  200  01  0  00  261221 
002574'  260  17  0  00  006247' 
002575'  2y   00  0  00  002706' 


002576'  200  01  0  00  000276' 
002577'  200  02  0  01  000003 
002600'  271  02  0  00  000003 

002601 '  200  00  0  00  006346 ' 
002602'  260  17  0  00  003502' 
002603'  242  00  0  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  0  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  0  00  006347* 

002606'  260  17  0  00  003502' 

002607'  350  00  0  00  000002 

002610'  242  00  0  00  000004 

00261 1 '  202  00  1  00  000002 

002612'  200  00  0  00  006350' 
002613'  260  17  0  00  003502' 
002614'  350  00  0  00  000002 
002615'  242  00  0  00  000004 
002616'  202  00  1  00  000002 

002617'  200  00  0  00  006351' 

002620'  260  17  0  00  003502' 

002621 '  350  00  0  00  000002 

002622'  242  00  0  00  000004 

002623'  202  00  1  00  000002 

002624'  200  00  0  00  006352' 

002625'  260  17  0  00  003502' 

002626'  350  00  0  00  000002 

002627'  242  00  0  00  000004 

002630'  202  00  1  00  000002 

002631'  200  00  0  00  006353' 

002632'  260  17  0  00  003502' 

002633'  350  00  0  00  000002 

002634'  242  00  0  00  000004 

002635'  20?  00  1  00  000002 

002636'  200  00  0  00  006354' 

002637'  350  00  0  00  000002 

002640'  242  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 
00 


000107 

006342' 

000007 

000001 

006343' 

000001 

006344 ' 

006345' 


002652'  200  01  0  00  261221 
002653'  260  17  0  00  006247' 
002654'  254  00  0  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  0  nak  count 
Change  it  to  pdpll  word 
Increment  rblk  address 
Left  justify  it 
Store  it  in  the  ctp  packet 


6et  the  path  0  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 


0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 


000107 

006342' 

000007 

000000 

006343' 

006344 ' 

006345' 


002664'  200  01  0  00  261221 
002665'  260  17  0  00  006247' 
002666'  254  00  0  00  002706' 


002667' 
002670' 
002671 • 
002672' 
002673' 
002674 ' 
002675 • 
002676' 
D02677' 
002700' 
002701 ' 
002702 • 
002703' 


201  01  0 

202  01  0 
515  01  0 
541  01  0 
202  01  0 
205  01  0 
202  01  0 
200  01  0 
202  01  0 
200  01  0 
260  17  0 
254  00  0 
254  00  0 


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  0  00  000376 
002705'  334  00  0  00  000000 
002706'  201  00  0  00  000375 

002707'  260  17  0  00  003450' 
002710'  262  17  0  00  000002 
002711'  262  17  0  00  000001 
002712'  262  17  0  00  000000 
002713*  263  17  0  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 


0 
0 
0 
0 

0 


0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0 
17  0 
02  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
03 
00 
00 
00 


003066'  254  00  0  00  261256 


003067'  201  01  0  03  010616' 

003070'  262  17  0  00  000003 

003071'  262  17  0  00  000002 

003072'  263  17  0  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  0  00  000000 
003074'  261  17  0  00  000001 
003075'  261  17  0  00  000002 


003076'  331  00  1  00  000001 
003077'  254  00  0  00  261272 


003100'  200  02  0  00  000275' 
003101'  202  01  0  00  000275' 


003102'  202  0  01  000001 
003103'  200  .  0  02  OnooOO 
003104'  202  jO  0  01  000000 


003105'  2ui  01  0  02  000000 

003106'  262  17  0  00  000002 

003107'  262  17  0  00  000001 

003110'  262  17  0  00  000000 

003111'  263  17  0  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  0  00  000000 

003113*  261  17  0  00  000001 

003114'  261  17  0  00  000002 

003115'  261  ^7  0   00  000003 


003116'  336  00  1  00  000001 
003117'  254  00  0  00  003137' 


003120'  200  00  0  01  000001 
003121'  200  03  0  01  000000 
003122'  202  00  0  03  000001 


003123'  200  00  0  01  000000 
003124'  200  03  0  01  000001 
003125'  202  00  0  03  000000 


003126'  550  02  0  01  000002 
003127'  316  01  0  02  000002 
003130'  402  00  0  02  000002 
003131'  316  01  0  02  000003 
003132'  402  00  0  02  000003 


003133'  201  02  0  00  000003 
003134'  402  00  1  00  000001 
003135'  350  00  0  00  000001 
003136'  367  02  0  00  003134' 

003137'  262  17  0  00  000003 
003140'  262  17  0  00  000002 
003141'  262  17  0  00  000001 
003142'  262  17  0  00  000000 
003143'  263  17  0  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  0  00  000002 

• 
• 

CBLKAV:  PUT 

261  17  0  00  000003 

PUT 

261  17  0  00  000004 

PUT 

402  00  0  00  000001 

SETZH 

476  00  0  00  000002 

SETOM 

201  03;  0  00  000040 

MOVE  I 

350  00  0  00  000002 

CBLKAA:  AOS 

200  04  0  02  010556' 

MOVE 

332  00  0  04  000000 

SKIPE 

367  03  0  00  003152' 

SOJG 

332  00  0  00  000003 

SKIPE 

200  01  0  00  000004 

MOVE 

003144' 

oo:ii45' 

003146' 
003147' 
003150' 
003151' 
003152' 
003153' 
003154' 
003155' 
003156' 
003157' 


003160'  262  17  0  00  000004 

003161'  262  17  0  00  000003 

003162'  262  17  0  00  000002 

003163'  263  17  0  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  0  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  =  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


336  01 
254  00 
260  17 
235  00 
255 


0 
0 
0 
0 
0 
200  01  0 
402  00  1 


00 


336  01 

254  00 
260  17 

255  00 
255  00 


0 
0 
0 
0 
0 
200  01  0 
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  0  04  000002 
003222*  332  00  0  00  000001 
003223'  260  17  0  00  003112' 


003224'  550  01  0  04  000003 
003225'  332  00  0  00  000001 
003226'  260  17  0  00  003112* 


003227'  201  01  0  00  000012 

003230'  402  00  1  00  000004 

003231 '  350  00  0  00  000004 

003232'  367  01  0  00  003230' 


003233' 
003234' 
003235' 
003236' 
003237' 
003240' 
003241 • 


367 
262 
262 
262 
262 
262 
262 


03 
17 
17 
17 
17 
17 
17 


0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 


003174' 

000005 

000004 

000003 

000002 

000001 

000000 


003242'  2o<   17  0  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  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 


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  =  0  no  bufx  are  avail 


003257'  262  17  0  00  000004 

00326C'  262  17  0  00  000003 

003261'  262  17  0  00  000002 

003262'  263  17  0  00  000000 


GET 
GET 
GET 
RTN 


AC4 
AC3 
AC2 


.-Restore  acs 


.-Return 


•1 


]  "i'»'"w*«linii*iftpinii  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0  00  000003 
0  00  777400 
0  03  010616' 
0  03  010616' 
0  00  000004 
0  00  003304' 


0 
0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
03 
04 
00 
04 
00 
00 


000003 

000040 

000003 

010556' 

000000 

003330' 

000001 

200000 

003330' 


00332 • '  200  01  0  04  000000 
003322'  201  02  0  00  000001 
003323'  260  17  0  00  005314' 


003324'  201  01  0  00  000012 
003325'  402  00  1  00  000004 
003326'  350  00  0  00  000004 
003327'  367  01  0  00  003325' 


003330' 
003331 ' 
003332' 
003333' 
003334 • 
003335' 
003336' 


367  00  0 
262  17  0 


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  0 
261  17  0 
261   17  0 

200  02  0 

201  01  0 


135  00 
202  00 
271  00 
137  00 
201  00 
260  17 
260  17 
255  00 
661 
621 


16 

16 
200  01  0 
202  16  0 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 

0  00  000001 
0  00  000002 
0  00  000000 
0  00  000276' 
0  01  000003 
0  02  000001 
0  00  000321 ' 
0  00  261275 
0  00  000002 
0  00  777770 
0  00  000002 
0  00  000002 
0  00  000001 
0  00  000000 


003402 ' 
003402 ' 
003403' 
003404 ' 
003405 ' 
003406' 
003407' 
003410' 
003411' 
003412' 
003413' 
003414' 
003415' 


261  17  0 
261  17  0 
200  01  0 

200  02  0 

201  01  0 
200  02  0 
137  00  0 


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  0 
261  17  0 
400  00  0 
200  01  0 

200  02  0 

201  01  0 
135  01  0 
200  02  0 
137  01  0 


242  01 
136  01 
262  17 

262  17 

263  17 


0 
0 
0 
0 
0 


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  0 
261  17  0 
200  01  0 

200  02  0 

201  01  0 
200  02  0 
137  00  0 


242  00 
136  00 
262  17 

262  17 

263  17 


0 
0 
0 
0 
0 


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  0  00  000000 
003451'  261  17  0  00  000001 
003452'  261  17  0  00  000002 
003453'  200  01  0  00  000276' 
003454'  200  02  0  01  000003 
003455'  201  01  0  02  000001 
003456'  137  00  0  00  000317' 
003457'  262  17  0  00  000002 
003460'  262  17  0  00  000001 
003461'  262  17  0  00  000000 
003462'  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0 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  0  00  000002 

PiUlO:  PUT 

261  17  0  00  000003 

PUT 

A02  00  0  00  000002 

SETZM 

200  03  0  00  261300 

MOVE 

137  00  0  00  000003 

DPB 

2A2  00  0  00  777770 

LSH 

136  00  0  00  00C003 

I  DPB 

2A2  00  0  00  777770 

LSH 

136  00  0  00  000003 

I  DPB 

2A2  00  0  00  777770 

LSH 

1316  00  0  00  000003 

IDPB 

202  02  0  00  000000 

MOVEM 

262  17  0  00  000003 

GET 

262  17  0  00  000002 

GET 

263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000246' 

003537'  350  00  0  00  000001 

0035A0'  405  01  0  00  000077 

003541'  202  01  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 

0  00  000002 
0  00  000001 
0  00  003602' 
0  00  003603' 
0  00  000003 
0  00  003601 ' 
0  00  000036 
0  OC  003601 ' 
0  00  004605' 
0  00  003576' 
0  00  003603' 
0  17  lllllii 
0  00  000001 
0  00  000002 
0  00  000000 


003601'  000000  000003 
003602'  000  00  0  00  000000 
003603'  000  00  0  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  0  00  000001 

003605'  261  17  0  00  000002 

003606'  261  17  0  00  000003 

003607*  261  17  0  00  000004 

003610'  336  00  0  00  000001 
003611'  260  17  0  00  003056' 
003612'  476  00  0  01  000000 
003613'  202  02  0  01  000002 


003614' 
003615' 
003616' 
003617' 
003620' 
003621 ' 
003622' 


2uJ  02  0 
200  01  0 
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  0  00  000004 

003624'  262  17  0  00  000003 

003625'  262  17  0  00  000002 

003626'  262  17  0  00  000001 

003627'  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  " 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
17  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  04  000000 
003730'  260  17  0  00  005555' 
003731'  201  01  0  00  005626' 
003732'  200  00  0  01  000005 
003733'  202  00  0  04  000004 


003734 • 
003735' 
003736' 
003737' 
003740' 
003741 ' 
003742' 


200  01 
402  00 
260  17 
255  00 

201  01 
200  00 

202  00 


0 
0 
0 
0 
0 
0 
0 


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  0  00  000020 

0037A4'  270  01  0  00  000000 

0037A5'  200  00  0  00  261301 

003746'  272  00  0  01  007341* 


003747'  200  01  0  04  000001 
003750'  621  01  0  00  100000 
003751 '  202  01  0  04  000001 


003752'  607  01  0  00  200000 
003753'  254  00  0  00  003773' 


003754'  554  07  0  04  000000 
003755'  242  07  0  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  0 
515  02  0 

201  06  0 
53 •  00  0 
312  00  0 
254  00  0 
200  01  0 
661  01  0 

202  01  0 
260  17  0 
254  00  0 
271  01  0 
253  02  0 
367  03  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 
262  17  0 

262  17  0 

263  17  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000001 

17  0  00  000002 

17  0  00  000003 

17  0  00  000004 

17  0  00  000005 

17  0  00  000006 

1  /^  0  00  000007 


004042'  402  00  0  00  000002 
004043'  515  03  0  00  777600 
004044'  336  07  0  03  007341' 
004045'  254  00  0  00  004060' 

004046'  550  04  0  00  000003 
004047'  231  04  0  00  000020 
004050'  250  04  0  00  000005 

004051'  201  01  0  02  007556' 
004052'  137  05  0  00  000360' 

004053'  201  01  0  02  007556' 
004054'  137  04  0  00  000361' 

004055'  350  00  0  00  000002 

004056'  2v^   07  0  0?  007556' 

004057'  350  00  0  00  000002 

004060'  253  03  0  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 


0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 


000002 

004066 

000002 

007554' 

000357' 

00001 3 

000255' 


004070'  200  01  0  00  007546' 
004071'  202  01  0  00  007555' 


004072'  260  17  0  00  004537' 
004073'  202  01  0  00  007546' 


004074'  260  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 

0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
16 
00 
03 
00 


0  00 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 

0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  004352' 
004205'  260  17  0  00  004250' 
004206'  254  00  0  00  004212' 


004207'  20^ 
004210'  2oJ 
004211'  254 


00  0  00  000000 
17  0  00  003450' 
00  0  00  004217' 


004212'  201  00  0  00  000375 
004213'  260  17  0  00  003450' 
004214'  254  00  0  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  0  17  777771 

EXDLY2: 

AOS 

-5(P) 

00  0  17  777771 

EXDLY3: 

AOS 

-5(P) 

17  0  00  000004 

EXDLY4: 

GET 

AC4 

17  0  00  000003 

GET 

AC3 

17  0  00  000002 

GET 

AC2 

17  0  00  000001 

GET 

AC1 

17  0  00  000000 

GET 

ACO 

17  0  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  0 
261  17  0 
261  17  0 
201  00  0 
201  01  0 
621  16  0 
260  17  0 
254  00  0 


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  0  00  000000 
004236'  260  17  0  00  003450' 
004237'  254  00  0  00  004244' 


004240'  201  00  0  00  000375 

004241'  260  17  0  00  003450' 

004242'  254  00  0  00  004243' 

004243'  350  00  0  17  lllll'i 

004244'  262  17  0  00  000002 

004245'  262  17  0  00  000001 

004246'  262  17  0  00  000000 

004247'  263  17  0  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  0  00  777740 

004251*  336  GO  0  04  012616' 

004252'  254  00  0  00  004255' 

004253'  253  04  0  00  004251' 

004254'  254  GO  0  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 


0 
0 
0 
0 
0 
0 
0 


336  00 
254  00 
200  02 

200  01 

201  03 
ju'-  00 
320  16 
350  GO 
263  17 


0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  400000 

004276'  047  GO  0  00  000203 

004277'  263  17  0  00  000000 

004300'  254  00  0  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,, 0 
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  0  00  000001 
004302'  261  17  0  00  000002 

004303'  205  01  0  00  777740 
004304'  200  02  0  00  000276' 
004305'  316  02  0  01  012616' 
004306'  402  00  0  01  012616' 
004307'  253  01  0  00  004305' 

004310'  262  17  0  00  000002 
004311'  262  17  0  00  000001 
004312'  263  17  0  00  000000 


004313'  261  17  0  00  000001 

004314'  261  17  0  00  000002 

004315'  261  17  0  00  000003 

004316'  261  17  0  00  000004 

004317'  260  17  0  00  004337' 

004320'  262  17  0  00  000004 
004321'  262  17  0  00  000003 
004322'  26?  17  0  00  000002 
004323'  2oi  17  0  00  000001 
004324'  047  00  0  00  000137 


004325'  261  17  0  00  000001 

004326'  261  17  0  00  000002 

004327'  261  17  0  00  000003 

004330'  261  17  0  00  000004 

004331'  260  17  0  00  004337' 


004332'  262  17 

004333'  262  17 

004334'  262  17 

004335'  262  17 

004336'  104  00 


0  00  000004 
0  00  000003 
0  00  000002 
0  00  000001 
0  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 


0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 


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  0  00  000001 
004353'  436  03  0  04  000002 
004354'  263  17  0  00  000000 


004355'  205  03  0  00  000040 
004356'  436  03  0  04  000002 
004357'  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000004 

004414'  262  17  0  00  000003 

004415'  262  17  0  00  000002 

004416'  262  17  0  00  000001 

004417'  263  17  0  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  0  00  000001 
004426'  336  00  0  00  00023V 
004427'  254  00  0  00  004433' 

004430'  201  01  0  00  400000 
004431'  104  00  0  00  000130 
004432'  254  00  0  00  004436' 

004433'  205  01  0  00  200000 
004434'  047  01  0  00  000136 
004435'  254  00  0  00  261414 

004436'  262  17  0  00  000001 
004437'  263  17  0  00  000000 


004440' 
004441 ' 
004442' 
004443' 
004444 ' 
004445' 


261  17 
336  00 
254  00 
201  01 
104  00 
254  00 


0  00  000001 
0  00  000234' 
0  00  004446' 
0  00  400000 
0  00  000126 
0  00  004451' 


004446'  205  01  0  00  100000 
004447'  047  01  0  00  000136 
004450'  23  00  0  00  261430 


004451'  262  17  0  00  000001 
004452'  263  17  0  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  0  00  000001 

004454'  201  01  0  00  000000 

004455'  260  17  0  00  004460' 

004456'  262  17  0  00  000001 

004457'  263  17  0  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 


0 
0 
0 
0 
1 
0 
0 
0 
0 
0 


336  00 
254  00 
2u'  01 
104  00 
320  16 
200  03 
104  00 
320  16 
263  17 


0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000017 

004504'  047  01  0  00  000060 

004505'  254  00  0  00  261444 

004506'  263  17  0  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  0  00  000234* 
254  00  0  00  004515* 

261  17  0  00  000002 
104  00  0  00  000014 

262  17  0  00  000002 

263  17  0  00  000000 


261  17  0 
336  00  0 
260  17  0 
200  01  0 
047  01  0 
400  01  0 
221  01  0 
230  01  0 

262  17  0 

263  17  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 
00 


261450 

000041 

000000 

004000 

261451 

000074 

000235* 

000000 


004537*  336  00  0  00  000234* 

004540*  254  00  0  00  004543* 

004541*  104  00  0  00  000227 

004542*  263  17  0  00  000000 

004543*  200  01  0  00  261452 

004544*  047  01  0  00  000041 

004543*  400  01  0  00  000000 

004546*  263  17  0  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  0  00  261051 


004550'  332  00  0  00  000234' 

004551*  104  00  0  00  000076 

004552'  336  00  0  00  000234' 

004553'  051  03  0  01  000000 

004554'  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 


334  01 
201  01 
231  02 


0 
0 
0 
0 
0 
0 
0 
0 
0 
263  17  0 


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  0  00  000240' 
01  0  17  000000 
01  0  00  000236' 
01  0  17  000000 
00  0  00  000234' 
00  0  00  004623' 


004613'  104  00  0  00  000622 

004614'  320  16  0  00  00461:^' 

004615'  350  00  0  17  000000 

004616'  263  17  0  00  000000 

004617'  201  01  0  00  400000 
004620'  104  00  0  00  000012 
004621'  552  02  0  00  000237' 
004622'  263  17  0  00  000000 


004623' 
004624 ' 
004625' 
004626' 
004627' 
004630' 
004631 ' 
004632' 


504  01  0 
202  01  0 
200  01  0 
047  01  0 
304  00  0 
350  00  0 
202  01  0 
263  17  0 


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 


0  00  000234' 
0  00  004641 ' 
0  00  261454 
0  00  000076 
0  00  004676' 
0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000234 ' 
004672'  104  00  0  00  000170 
004673'  336  00  0  00  000234' 
004674'  047  01  0  00  000012 
004675'  254  00  0  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,. 0 
.-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  0  00  261501 
004707'  254  00  0  00  004550' 

004710'  561  01  0  00  261506 
004711'  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 

005012'  000  00  0  00  OOOuOO 

005013'  000  00  0  00  000000 

005014'  000  00  0  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  0  00  000001 
261  17  0  00  000002 
261  17  0  00  000003 
261  17  0  00  000004 

201  04  0  00  000005 

202  04  0  00  005050' 
202  01  0  00  005051 ' 
552  02  0  00  005052' 

200  04  0  00  000231 ' 
303  04  0  00  000020 

201  04  0  00  000021 

200  02  0  04  007317' 

202  02  0  00  005053' 
402  00  0  00  005054' 

201  01  0  00  000006 
332  00  0  00  000003 
201  01  0  00  000004 
201  02  0  00  005050' 
260  17  0  00  004605' 
2o.M7  0  00  004633' 


00*^041'  332  00  0  00  000216' 
0j5O/,2'  260  17  0  00  261777 

005043'  262  17  0  00  000004 

005044'  262  17  0  00  000003 

005045'  262  17  0  00  000002 

005046'  262  17  0  00  000001 

005047'  263  17  0  00  000000 


005C50'  000000  000005 
005051'  000  00  0  00  000000 
005052'  000  00  0  00  000000 
005053'  000  00  0  00  000000 
005054'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0 
476  00  0 
2uJ  02  0 
202  02  0 
202  02  0 
260  17  0 
476  00  0 
200  02  0 
202  02  0 
202  02  0 
260  17  0 
476  00  0 
200  02  0 
202  02  0 
402  00  0 


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  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 
0  00  000000 
0  00  000000 

000000 

000311' 
0  00  000000 
0  00  000000 
0  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  0 
17  0 
17  0 
17  0 
01  0 
202  01  0 
200  02  0 
202  02  0 
200  02  0 
202  02  0 
515  02  0 
202  02  0 
260  17  0 


5A2  01 
A02  00 
201 
201 


01 
02 


260  17 
260  17 


0 
0 
0 
0 
0 
0 


200  01  0 
20?  01  0 


^^^  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  0  00  000000 
0051  ^-t'  000  00  0  00  000000 
005175'  000  00  0  00  000000 
005176'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000004 

005226'  262  17  0  00  000003 

005227'  262  17  0  00  000002 

005230'  262  17  0  00  000001 

005231'  263  17  0  00  000000 


005232*  000000  000005 
005233'  000  00  0  00  000000 
00523^'  000  00  0  00  000000 
005235'  000  00  0  00  000000 
005236'  000  00  0  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  0  00 

17  0  00 

17  0  00 

17  0  00 

02  0  00 

02  0  00 

01  0  00 

02  0  00 

02  0  00 

01  0  00 

02  0  00 

17  0  00 

17  0  00 

00  0  00 

17  0  00 

000001 

000002 

000003 

000004 

000003 

005263' 

005264' 

00031 1 ' 

005265' 

000023 

005263' 

004605 ' 

004633' 

000216' 

262043 


005256'  262  17  0  00  000004 

005257'  262  17  0  00  000003 

005260'  262  17  0  00  000002 

005261'  26?  17  0  00  000001 

005262'  2oi  17  0  00  000000 


005263'  000000  000003 
005264'  000  00  0  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  0  00  000001 
005267'  261  17  0  00  000002 
005270*  261  17  0  00  000003 
005271'  261  17  0  00  000004 
005272'  201  04  0  00  000003 
005273'  202  04  0  00  005311' 
005274'  202  01  0  00  005312' 
005275'  202  02  0  00  005313' 
005276'  201  01  0  00  000002 
005277'  201  02  0  00  005311' 
005300'  260  17  0  00  004605' 
005301'  260  17  0  00  004633' 

005302'  332  00  0  00  000216' 
00530:'  260  17  0  00  262054 


005304'  262 

005305'  262 

005306'  26? 

005307'  2c J 

005310'  263 


17  0  00  000004 

17  0  00  000003 

17  0  00  000002 

17  0  00  000001 

17  0  00  000000 


005311*  000000  000003 
0053^2*  000  00  0  00  000000 
005313*  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


;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  0  00  000216' 

005331'  260  17  0  00  262064 

005332'  262  17  0  00  000004 

005333'  262  17  0  00  000003 

005334'  262  17  0  00  000002 

005335'  26?  17  0  00  000001 

005336'  2oi  17  0  00  000000 


005337'  000000  000003 
005340'  000  00  0  00  000000 
005341'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 


202  02  0 
201  01  0 
201  02  0 
260  17  0 
260  17  0 


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 


0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 


000216' 

262076 

000004 

000003 

000002 

000001 

000000 


005365'  000000  000003 
005366'  000  00  0  00  JOOOOO 
005367'  000  00  0  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  0  00  000001 
00537V  261  17  0  00  000002 
005372'  261  17  0  00  000003 
005373'  261  17  0  00  000004 
005374'  201  04  0  00  000003 
005375'  202  04  0  00  005413' 
005376'  202  01  0  00  005414' 
005377'  202  02  0  00  005415' 
005400'  201  01  0  00  000005 
005^01'  201  02  0  00  005413' 
005402'  260  17  0  00  004605' 
005403'  260  17  0  00  004633' 

005404'  332  00  0  00  000216' 
005405'  260  17  0  00  262110 

005406'  262  17  0  00  000004 
0054C7'  26?  17  0  00  000003 
005410'  2oi  17  0  00  000002 
005411'  262  17  0  00  000001 
005412'  263  17  0  00  000000 


005413'  000000  000003 
005414'  000  00  0  00  000000 
005415'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000216' 

005437'  260  17  0  00  262121 

005440'  26?  17  0  00  000004 

005441'  2oi  17  0  00  000003 

005442'  262  17  0  00  000002 

005443'  262  17  0  00  000001 

005444'  263  17  0  00  000000 


005445'  000000  000005 
005446'  000  00  0  00  000000 
005447'  000  00  0  00  000000 
005450'  000  00  0  00  000000 
005451 •  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000216' 

005473'  260  17  0  00  262132 

005474'  26?  17  0  00  000004 

005475'  2oi  17  0  00  000003 

005476'  262  17  0  00  000002 

005477*  262  17  0  00  000001 

005500'  263  17  0  00  000000 


005501'  000000  000005 

005502'  000  00  0  00  000000 

005503'  000  00  0  00  000000 

005504*  000  00  0  00  000000 

005505'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 
00 
00 
00 


000001 

000002 

000003 

000004 

000005 

005550' 

005551' 

005552' 

005553' 

005554' 


00552C'  201  01  0  00  000006 
005521'  603  16  0  00  000020 
005522'  201  01  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000002 

005534*  200  03  0  00  000276* 

005535*  202  16  0  03  000002 

005536*  260  17  0  00  004605' 

005537*  260  17  0  00  004633* 

005540*  332  00  0  00  000216* 
005541*  260  17  0  00  262145 

005542*  350  00  0  17  VUm 
005543*  262  17  0  00  000004 
005544*  262  17  0  00  000003 
005545*  262  17  0  00  000002 
005546*  262  17  0  00  000001 
005547*  263  17  0  00  000000 


00555C*  000000  000005 

005551*  000  00  0  00  000000 

005552*  000  00  0  00  000000 

005553*  000  00  0  00  000000 

005554*  000  00  0  00  000000 


>;end  of  repeat  0 


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  0 
261  17  0 
261  17  0 
261  17  0 

201  04  0 

202  04  0 
202  01  0 

200  02  0 
202  02  0 

201  01  0 
201  02  0 
260  17  0 
260  17  0 


0                                         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  0  00  000216' 
005573'  260  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
00 
00 
00 
00 
00 
00 
00 


000301 • 
005620* 
005606' 
000302  * 
005621  * 
005606* 
000303* 
005622* 
005606* 
005613* 


005606*  561  01  0  00  262165 

005607'  260  17  0  00  004550* 

005610*  561  01  0  00  005620* 

005611*  260  17  0  00  004550* 

005612*  260  17  0  00  004547* 

005613*  262  17  0  00  000004 

005614*  262  17  0  00  000003 

005615*  262  17  0  00  000002 

005616*  262  17  0  00  000001 

005617*  263  17  0  00  000000 

005620' 


005626' 
005627' 
005630' 
005631 ' 
005632' 
005633' 
005634' 


GuJOOO 
000  00 
000  00 
000  00 
000  00 
000  00 
000  00 


000007 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000216' 

005651'  260  17  0  00  262202 

005652'  262  17  0  00  OOOOOA 

005653'  262  17  0  00  000003 

00565A'  262  17  0  00  000002 

005655'  262  17  0  00  000001 

005656'  263  17  0  00  000000 


005657'  000000  000002 
005660'  000  00  0  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  0 

17  0 

17  0 

17  0 

04  0 

04  0 

00  0 

00  0 

01  0 

02  0 

17  0 

17  0 

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  0  00  000216* 

005676*  260  17  0  00  262214 

005677*  262  17  0  00  000004 

005700*  262  17  0  00  000003 

005701*  262  17  0  00  000002 

005702*  262  17  0  00  000001 

005703*  263  17  0  00  000000 


005704*  000000  000003 
005705*  000  00  0  00  000000 
005706*  000  00  0  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  0  00  000001 
005710'  261  17  0  00  000002 
005711'  261  17  0  00  000003 
005712'  261  17  0  00  000004 
005713'  201  04  0  00  000004 
005714'  202  04  0  00  005733' 
005715'  202  01  0  00  005734' 
005716'  402  00  0  00  005735' 
005717'  402  00  0  00  005736' 
005720'  201  01  0  00  000012 
005721'  201  02  0  00  005733' 
005722'  260  17  0  00  004605' 
005723'  260  17  0  00  004633' 

005724'  332  00  0  00  000216' 
005725'  260  17  0  00  262225 

005726'  262  17  0  00  000004 

005727'  262  17  0  00  000003 

005730'  262  17  0  00  000002 

005731'  26?  17  0  00  000001 

005732'  2o<  17  0  00  000000 


005733'  000000  000004 
005734'  000  00  0  00  000000 
005735'  000  00  0  00  000000 
005736*  000  00  0  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  0  00  000001 
17  0  00  000002 
17  0  00  000003 
17  0  00  000004 
00  000024 
00  005767* 
00  005770* 
00  005771  * 
00  005772* 
0  00  005772* 
0  00  005773* 
0  00  006012* 
0  00  000011 
0  00  005767* 
0  00  004605* 
0  00  005760* 

0  17  iiiim 


261 
261 
261 
261 

201  04  0 

202  04  0 
202  01  0 
202  02  0 
402  00  0 


01 
01 
01 


005760*  33?  00  0  00  000216* 
005761*  2c.'  17  0  00  262236 


005762'  262  17  0  00  000004 

005763*  262  17  0  00  000003 

005764*  262  17  0  00  000002 

005765*  262  17  0  00  000001 

005766'  263  17  0  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 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 


006004'  000  00  0  00  000000 

006005'  000  00  0  00  000000 
006006'  000  00  0  00  000000 
006007'  000  00  0  00  000000 

006010'  000  00  0  00  000000 
006011'  000  00  0  00  000000 

006012'  000  00  0  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  0  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 

^ 

0  00  000000 

GETBUF: 

PUT 

ACO 

0  00  000005 

MOVE  I 

ACO, 5 

0  00  006033' 

MOVEM 

AC0..SQLEN^GETAR6 

0  00  006036' 

MOVEM 

AC2,.SQBNAiUGETARG 

0  00  006037' 

MOVEM 

AC1,.SQBNA*2^GETARG 

0  00  006035' 

SETZM 

.SQBNA+GETARG 

0  00  000014 

MOVEi 

AC1..SSMAP 

0  00  006033' 

MOVE  I 

AC2.GETARG 

0  00  004605' 

GO 

DOSCS 

0  00  006027' 

JRST 

GETBUA 

0  00  006035' 

MOVE 

AC1..SQBNA*GETARG 

0  17  777777 

AOS 

-1(P) 

0  00  000000 

GETBUA: 

GET 

ACO 

006031'  260  17  0  00 
006032'  263  17  0  00 


262246 
000000 


TRMSG 
RTN 


(Map  Buffer) 


006033'  000000  000005 
006034'  000000  0000 :o 
006035'  000  00  0  00  000000 
006036'  000  00  0  00  000000 
006037'  000  00  0  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 


0  00 
0  00 
0  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  0  00  000216' 
006062'  260  17  0  00  262256 

006063'  263  17  0  00  000000 


006064'  000000  000002 
006065'  000  00  0  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  0  00  000005 

SEDATA:  PUT 

261  17  0  00  000006 

PUT 

201  06  0  00  000005 

MOVE  I 

202  06  0  00  006110' 

MOVEM 

202  01  0  00  006111 • 

MOVEM 

202  02  0  00  006112' 

MOVEM 

202  03  0  00  006113' 

MOVEM 

202  04  0  00  006114' 

MOVEM 

201  01  0  00  000016 

MOVEI 

201  02  0  00  006110' 

MOVEI 

260  17  0  00  004605' 

GO 

260  17  0  00  004633' 

GO 

350  00  0  00  000261 ' 

AOS 

006066' 
006067' 
006070' 
006071 • 
006072' 
006073' 
006074' 
006075 ' 
006076' 
006077' 
006100' 
006101' 
006102' 


006103'  332  00  0  00  000216' 

006104'  260  17  0  00  262266 

006105'  26?  17  0  00  000006 

006106'  2oi  17  0  00  000005 

006107'  263  17  0  00  000000 


006110'  000000  000005 
0061 1 1 '  000  00  0  00  000000 
006112'  000  00  0  00  000000 
006113'  000  00  0  00  000000 
006114'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000216' 

006133'  260  17  0  00  262276 

006134'  26?  17  0  00  000006 

006135'  2oi  17  0  00  000005 

006136'  263  17  0  00  000000 


006137'  OOgOCO  000005 
006140'  000  00  0  00  000000 
006141'  000  00  0  00  000000 
006142'  000  00  0  00  000000 
006143'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


=  0 


;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  0  00  000216' 
006166'  260  17  0  00  262310 
006167'  263  17  0  00  000000 

006170'  000000  000003 
006171'  000  00  0  00  000000 
006172'  000  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  =  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  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 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  00  000000 
0  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  0 

17  0 

17  0 

17  0 

04  0 

00  0 

00  0 

00  0 

16  0 

00  0 

00 
00 
00 
00 
01 
00 
00 
00 
00 
00 


000001 

000002 

000003 

000004 

000000 

000234 • 

006261 • 

000530 

006271 ' 

006263' 


DIAGJ: 


006261'  047  01  0  00  000163 
006262'  254  00  0  00  006275' 


006263'  350  00 

006264'  262  17 

006265'  262  17 

006266'  262  17 

006267'  26?  17 

006270'  2oi  17 


0  17  77777 i* 
0  00  000004 
0  00  000003 
0  00  000002 
0  00  000001 
0  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  0  00  262320 

006272'  260  17  0  00  004550' 

006273'  260  17  0  00  004676' 

006274'  254  00  0  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  0  00  000001 
561  01  0  00  262324 
260  17  0  00  004550' 
200  02  0  17  000000 
260  17  0  00  004555' 
561  01  0  00  261464 
260  17  0  00  004550' 

262  17  0  00  000002 

205  01  0  00  777765 
554  03  0  01  006326' 
302  02  0  03  000000 
253  01  0  00  006306' 
560  01  0  01  006326' 
260  17  0  00  004550' 


561  01  0 
550  02  0 
260  17  0 
2oJ  17  0 
561  01  0 
260  17  0 
550  02  0 
275  02  0 
260  17  0 
260  17  0 
254  00  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 

17  0  00  000001 

17  0  00  000002 

17  0  00  000003 

17  0  00  000004 

17  0  00  000005 

17  0  00  000006 


006401 ' 
006402 ' 
006403' 
006404' 
006405 ' 
006406' 
006407' 
006410' 
00641 1 • 
006412' 
006413' 
006414' 
006415' 
006416' 
006417' 
006420' 
006421 ' 
006422 • 
006423' 


201  02  0 

200  01  0 
603  01  0 

201  02  0 
603  01  0 
201  02  0 
603  01  0 
201  02  0 


603  01 
201  02 
260  17 
262  17 
262  17 
262  17 
262  17 
262  17 
262  17 
26?  17 
Oh'   00 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 


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 


0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  000000 
261  17  0  00  000001 

^]  Vr  §  §§  m\ 

261  17  0  00  000004 
261  17  0  00  000005 
261  17  0  00  000006 
260  17  0  00  006761' 


262  17  0  00  000006 
262  17  0  00  000005 
262  17  0  00  000004 
262  17  0  00  000003 
262  17  0  00  000002 
262  17  0  00  000001 
262  17  0  00  000000 
104  00  0  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 


0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 
0 


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  0  05  000002 
006517'  336  00  0  05  000003 
006520'  25A  00  0  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 

0  00  005502' 

MOVE 

AC1..SQCID+RCDARG 

0  00  005503' 

MOVE 

AC2..SQARB*RCDARG 

0  00  000003 

SETOM 

AC3 

0  00  005015' 

GO 

S'^NNRS 

0  00  005370' 

GO 

»UDGM 

0  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 


0  00 
0  00 
0  00 
0  01 
0  00 
0  00 
0  00 
0  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 


0  01 
0  05 


00 
05 
05 
00 
0  03 
0  00 
0  00 
0  03 
0  00 


010616' 

000002 

006552' 

000002 

000003 

006561  • 

000002 

000001 

000020 

000002 

006501 • 


006552'  336  00  0  05  000003 
006553'  202  03  0  05  000003 


006554'  200  01  0  03  000002 
006555'  661  01  0  00  000001 
006556'  661  01  0  00  000020 
006557'  202  01  0  03  000002 
006560'  254  00  0  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  0  add  the  rhblk  address 
;or  if  this  was  0  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 


0  03  000002 

INPD6F:  MOVE 

0  00  000001 

TLO 

0  00  000020 

TLO 

0  03  000002 

MOVEM 

0  00  000003 

MOVE 

0  00  003073' 

GO 

0  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  0  00  004453' 

006571'  332  00  0  00  000216' 

006572'  260  17  0  00  262522 

006573'  263  17  0  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 


0 
0 
0 
0 
0 
0 
0 


0 
0 
0 
0 
0 
0 
0 
0 
0 


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  0  05  000002 
006615'  336  00  0  05  000003. 
006616'  254  00  0  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  0 
006631 •  200  02  0 
006632'  402  00  0 
006633'  260  17  0 
006634'  260  17  0 
006635'  254  00  0 


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 


0 
0 
0 
0 
0 
0 
0 
0 


01 
03 
00 
00 
00 
05 
00 
05 


006656'  200  01  0  05 
006657'  607  01  0  00 
006660'  254  00  0  00 
006661 '  661  01  0  00 
006662'  202  01  0  05 
006663'  254  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


05 
00 
03 
00 
00 
00 
03 
00 


000003 

006703' 

000002 

000001 

000273' 

000420 

000002 

006576' 


006674'  202  03  0  05  000003 


006675'  607  01 
006676'  254  00 
006677'  200  01 
006700'  661  01 
006701 •  202  01 
006702'  254  00 


0  00  200000 
0  00  006666' 
0  05  000001 
0  00  002000 
0  05  000001 
0  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  0  add  the  rhblk  address 

;or  if  this  was  0  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 


0  03  000002 

INPMSF: 

MOVE 

0  00  000001 

TLO 

0  00  000273' 

SKIPE 

0  00  000420 

TLO 

0  03  000002 

MOVEM 

0  00  000003 

MOVE 

0  00  000273' 

SETZM 

0  00  003073' 

GO 

0  00  006576' 

JRST 

0  00  004453' 

INPMSX: 

GO 

0  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  0  00  262612 
006717'  263  17  0  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  0  00  000216' 
006721'  260  17  0  00  262625 
006722'  260  17  0  00  006144' 


006723'  337  00  0  00  000003 
006724*  254  00  0  00  006755' 
006725'  350  00  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 

0 
0 
0 
0 
0 
0 
0 
0 


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  0  00  006754' 
006752'  367  01  0  00  006730' 

006753'  254  00  0  00  262651 

006754'  254  00  0  00  006722' 

006755'  332  00  0  00  000216' 
006756'  260  17  0  00  262662 
006757'  260  17  0  00  004453' 
006760'  263  17  0  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  0  00  000216' 
006762'  260  17  0  00  262676 
006763'  260  17  0  00  006173' 


006764'  337  00  0  00  000004 

006765'  254  00  0  00  006770' 

006766'  260  17  1  04  006773' 

006767'  254  00  0  00  006763' 

006770'  332  00  0  00  000216' 

006771'  260  17  0  00  262713 

006772'  263  17  0  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  0  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  0  00  000016 
007023'  316  06  0  00  000001 


007024'  661  16  0  00  000010 


007025'  200  01  0  06  000001 
007026'  661  01  0  00  000010 
007027'  20?  01  0  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 


0  06  000002 
0  00  000005 
0  00  007036' 
0  05  000002 
0  00  000010 
0  05  000002 

0  06  000003 
0  00  000005 
0  00  007044' 
0  05  000002 
0  00  000010 
0  05  000002 


007044'  254  00  0  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  0 
007046'  260  17  0 


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  0  00  003144' 
007060'  200  06  0  00  000001 
007061 '  201  02  0  00  000002 
007062'  336  00  0  00  000006 
007063'  254  00  0  00  007112' 

007064'  202  03  0  06  000000 
007065'  402  00  0  00  000005 
007066'  661  05  0  00  100000 
007067'  202  05  0  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 


0 
0 
0 
0 
0 
0 
0 
0 
0 


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 

0  =  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  0  00  000000 

007112'  200  01  0  00  000003 

007113'  260  17  0  00  005266* 

007114*  254  00  0  00  007117' 

007115'  200  01  0  06  000000 

007116'  260  17  0  00  005237' 

007117'  402  00  0  00  000223' 

007120'  263  17  0  00  000000 


007121'  332  00  0  00  000216' 
007122'  260  17  0  00  262756 


007123'  260  17 

007124'  202  03 

007125'  402  00 

007126'  661  05 

007127'  202  05 

007130'  263  17 


007131'  332  00  0  00  000216' 
007132'  260  17  0  00  Itllll 
007133'  263  17  0  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)>) 


0  00  003144' 

60 

CBLKAV 

0  01  000000 

MOVEM 

AC3.CID(AC1) 

0  00  000005 

SETZM 

AC5 

0  00  300000 

TLO 

AC5.(THIRD!GTINF0) 

0  01  000001 

MOVEM 

AC5.CBSTS(AC1) 

0  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 


mull  II  iijiii - 


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  0  00  000216' 
007135'  260  17  0  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 


0 
0 
0 
0 
0 
0 
0 
0 


00 
00 
00 
02 
04 
00 
00 
00 


000002 

000040 

000002 

010556* 

000000 

007140* 

000001 

263030 


0  04  000002 
0  00  007161* 
0  01  000002 
0  00  000002 
0  00  007161* 
0  00  003112' 


007154'  2uJ  02  0  00  000005 
007155'  260  17  0  00  003630' 

007156'  336  01  0  04  000003 
007157*  254  00  0  00  007161' 


007160'  260  17  0  00  003073' 


007161'  336  01  0 

007162'  254  00  0 

007163'  200  05  0 

007164*  607  05  0 

007165*  254  00  0 

007166*  260  17  0 


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  0  00  000005 

007170'  260  17  0  00  003630* 

007171'  336  01  0  04  000002 

007172'  254  00  0  00  007174' 


007173'  260  17  0  00  003073' 
007174'  254  00  0  00  004453' 


007175'  332  00  0  00  000216' 
007176'  ?60  17  0  00  263041 
007177'  263  17  0  00  000000 


007200'  332  00  0  00  000216' 
007201 '  260  1 7  0  00  263054 
007202'  23-  00  0  00  007010' 


007203'  332  00  0  00  000216' 
007204'  260  17  0  00  263066 
007205'  263  17  0  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  0  00  000216* 
007207'  260  17  0  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 


0  00  000002 
0  00  000040 
0  00  000002 
0  02  010556' 
0  04  000000 
0  00  007212' 
0  00  000001 
0  00  263124 


007220'  200  05  0  04  000001 

007221 '  661  05  0  00  020000 

007222'  202  05  0  04  000001 

007223'  263  17  0  00  000000 


007224'  332  00  0  00  000216' 
007225'  260  17  0  00  263137 
007226'  254  00  0  00  0C7010' 


007227'  3':>^   00  0  00  000216' 
007230'  260  17  0  00  263153 
007231'  254  00  0  00  007010' 


00721-'  332  00  0  00  000216' 
007233'  260  17  0  00  263166 
00^234'  263  17  0  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  0  00  000000 
007305'  000  00  0  00  000000 
007306'  000  O'^  0  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    0 
XWO     O..PCSCS 
IX?  0 

TI0FFS==. -PIVECT 
.     EXP     TIMRIO 
EXP     0 
XyD     O..PCTMR 
U?  0 


.•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 


iXWitirtiiMillgiiiiilWItiliKii.   I1 1;  Hill  "111117  111  liliriTjirp 


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»iini.ii  i 


***■ 


mm'M  mir  .iniiiiHiiiai  ttmn 


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»'*yWiiii'>i  W!W»\i»T)ii' 


mmmiii^mii»im^tmmMmui^t»m*k'Mii  .nirirfirjri  r>iMw>iiriiiii^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'lifin iiin iii'ii  'iiiiwirmnr 


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  0 

»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 

0 

0 

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  0 

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 


pHWHtn^^wttftw-aiw^iiJiw^  ■ 


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   II  — -• 


||illll<>>i|iW*»wiww»*^iii^ii  fcHitiB»jiiM  i  mm*  ■  ^iiWwit  .^W.iii'  1 1  HftS^nOQ  i W|»ti|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