Trailing-Edge
-
PDP-10 Archives
-
BB-M836C-BM
-
tools/rmtcon/rmtcon.seq
There are 3 other files named rmtcon.seq in the archive. Click here to see a list.
Date: 11 Jul 85 22:25:37
Charge Number:V20-05113 SEQ 0001
Revision "0.2" of
Diagnostic Engineering Functional Specification for
NI Services Program
RMTCON
Revisions:
Rev 0.1 26-Sep-83 By John R. Kirchoff
Rev 0.2 17-Oct-84 By Gary Papazian
Overview of the Diagnostic Product Page ii
Table of Contents 11 Jul 85 SEQ 0002
Table of Contents
Page
----
1.0 OVERVIEW OF DIAGNOSTIC PRODUCT . . . . . . . . . . . 1
1.1 Scope of this document . . . . . . . . . . . . . . 1
1.2 General program description . . . . . . . . . . . 1
1.3 Users and Uses . . . . . . . . . . . . . . . . . . 1
1.4 Pre-requisite software . . . . . . . . . . . . . . 1
2.0 PRODUCT GOALS/NON-GOALS . . . . . . . . . . . . . . 2
2.1 Performance goals . . . . . . . . . . . . . . . . 2
2.1.1 Program size . . . . . . . . . . . . . . . . . . 2
2.1.2 Program run time . . . . . . . . . . . . . . . . 2
2.1.3 Exec mode capability . . . . . . . . . . . . . . 2
2.1.4 User mode capability . . . . . . . . . . . . . . 2
2.1.5 Fault Detection . . . . . . . . . . . . . . . . 2
2.1.6 Fault isolation . . . . . . . . . . . . . . . . 2
2.1.7 General user interface philosophy . . . . . . . 3
2.1.8 Program documentation . . . . . . . . . . . . . 3
2.2 Compatibility goals . . . . . . . . . . . . . . . 3
2.2.1 CPU family . . . . . . . . . . . . . . . . . . . 3
2.2.2 Standard diagnostic support software . . . . . . 3
2.2.3 Operating systems (TOPS-10) . . . . . . . . . . 3
2.2.4 Operating systems (TOPS-20) . . . . . . . . . . 4
2.2.5 Spear . . . . . . . . . . . . . . . . . . . . . 4
2.3 Failsoft goals . . . . . . . . . . . . . . . . . . 4
2.3.1 CPU/Memory failures . . . . . . . . . . . . . . 4
2.3.2 Power fail/restart . . . . . . . . . . . . . . . 4
2.4 Restrictions . . . . . . . . . . . . . . . . . . . 4
2.4.1 User mode privileges . . . . . . . . . . . . . . 4
2.4.2 User mode priority interrupts . . . . . . . . . 4
2.5 Non-Goals . . . . . . . . . . . . . . . . . . . . 5
3.0 REQUIREMENTS . . . . . . . . . . . . . . . . . . . . 6
3.1 Run time requirements . . . . . . . . . . . . . . 6
3.2 Development environment requirements . . . . . . . 6
3.3 Evaluation system . . . . . . . . . . . . . . . . 6
4.0 PROGRAM INTERFACES . . . . . . . . . . . . . . . . . 7
4.1 Diagnostic software interfaces . . . . . . . . . . 7
4.2 Operating system interfaces (TOPS-10) . . . . . . 7
4.3 Operating system interfaces (TOPS-20) . . . . . . 7
5.0 COMMANDS . . . . . . . . . . . . . . . . . . . . . . 8
6.0 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . 10
6.1 Relationship To Other Components . . . . . . . . 10
6.2 NI Services Program . . . . . . . . . . . . . . 11
6.3 PLUTO Console Carrier Server . . . . . . . . . . 12
Overview of the Diagnostic Product Page iii
Table of Contents 11 Jul 85 SEQ 0003
6.4 Console Carrier Protocol . . . . . . . . . . . . 12
6.4.1 Message Flow Within The CC Protocol . . . . . 13
6.4.2 Characteristics And Uses Of The Protocol . . . 14
6.5 Remote Console Reservation . . . . . . . . . . . 16
6.5.1 Reservation States . . . . . . . . . . . . . . 16
6.5.2 Reservation Details . . . . . . . . . . . . . 17
6.5.3 Console Carrier exists - but console in use . 18
6.5.4 Console Carrier exists - Console not reserved 18
6.5.5 Console Carrier exists - we own the console . 19
6.5.6 Console Carrier code does not exist . . . . . 20
6.6 Remote Console Operation . . . . . . . . . . . . 23
7.0 ERROR REPORTING PHILOSOPHY . . . . . . . . . . . . 24
7.1 Reporting to SPEAR . . . . . . . . . . . . . . . 24
8.0 OPEN ISSUES . . . . . . . . . . . . . . . . . . . 25
9.0 SCHEDULE . . . . . . . . . . . . . . . . . . . . . 25
10.0 BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . 26
11.0 GLOSSARY . . . . . . . . . . . . . . . . . . . . . 27
12.0 REVISION HISTORY . . . . . . . . . . . . . . . . . 27
13.0 ALGORITHMS . . . . . . . . . . . . . . . . . . . . 28
13.1 NI Services Program algorithm . . . . . . . . . 28
13.2 Normal Command Processing algorithm . . . . . . 28
13.3 Reserve Remote Console algorithm . . . . . . . . 29
13.4 Release Remote Console algorithm . . . . . . . . 29
13.5 Load Server Code algorithm . . . . . . . . . . . 30
13.6 Multi-block Load algorithm . . . . . . . . . . . 31
Overview of the Diagnostic Product Page 1
OVERVIEW OF DIAGNOSTIC PRODUCT 11 Jul 85 SEQ 0004
1.0 OVERVIEW OF DIAGNOSTIC PRODUCT
1.1 Scope of this document
This document describes the functional definition, design details,
testing requirements and schedule for the "NI Services Program
[DFNIC] of the TOPS-20 implementation of the TOPS-20/PLUTO. This
program implements the console carrier requestor portion (CCR) of
the NI based system. This document will be updated whenever changes
are necessitated in these areas.
1.2 General program description
The NI Services Program is a user mode only Program that will run
under the TOPS-20 Operating System (Release 6.1 or newer). In
simple terms the NI Services Program is basically a terminal
interface between TOPS-20(host) and a remote program which resides
in a PLUTO(node) on the NI. This Program will have the ability to
cause a Diagnostic or a Utility program in the remote node to be
loaded and executed. It will also be able to communicate with the
remote program while it is running and may take status or terminate
its operation.
Command and Response Packets are passed between the NI Services
Program and the PLUTO Console Carrier Server Task using the Console
Carrier Protocol and the NI Remote Console Interface provided by the
LLMOP% JSYS.
1.3 Users and Uses
Field Service will use this Program to run remote diagnostic and
utility programs on NI nodes.
1.4 Pre-requisite software
o TOPS-20 Operating System with the LLMOP% JSYS implemented.
Overview of the Diagnostic Product Page 2
PRODUCT GOALS/NON-GOALS 11 Jul 85 SEQ 0005
2.0 PRODUCT GOALS/NON-GOALS
2.1 Performance goals
To be able to execute, with a high degree of predictability, the
commands received by the user on a terminal and relay messages
effectively from the remote program.
2.1.1 Program size
The NI Services Program should not be more than 10k, including
buffer storage.
2.1.2 Program run time
Run time in the traditional sense does not apply. This program is
used as a terminal interface between TOPS-20 and a remote NI node.
2.1.3 Exec mode capability
The NI Services Program will not run in Exec Mode.
2.1.4 User mode capability
The user will need Wheel, Operator or Maintenance priviledges to run
this Program.
2.1.5 Fault Detection
The NI Services Program will not have any of its own Fault
Detection. Any error detected by the remote program will be
displayed for the User to see. A JSYS failure will be displayed on
the users terminal like all other TOPS-20 programs.
2.1.6 Fault isolation
The NI Services Program has no built in isolation capability. Any
Functional Fault Detected will be passed back to the user by the
remote program for analysis and reporting.
Overview of the Diagnostic Product Page 3
PRODUCT GOALS/NON-GOALS 11 Jul 85 SEQ 0006
2.1.7 General user interface philosophy
The NI Services Program will use TOPS-20 style Parsing and
Recognition.
2.1.8 Program documentation
Excerpts from this Functional Specification will be incorporated in
the final Program documentation. The Program Documentation will be
in conformance to the Diagnostic Q.A. Manual.
2.2 Compatibility goals
The NI Services Program will support the manditory functionality as
defined in the "A PLUTO IMPLEMTATION OF A CONSOLE CARRIER SERVER",
3-Mar-82 by Paul Weiss.
2.2.1 CPU family
The NI Services Program is a user Program and is Monitor dependent
rather than Hardware dependent. It will run on any KL10 Model B 36
bit CPU provided the Monitor is a TOPS-20 Monitor that supports the
NI.
2.2.2 Standard diagnostic support software
The NI Services Program will not use any of the Standard Diagnostic
Support Software. It will be a self contained program with an
".EXE" extension.
2.2.3 Operating systems (TOPS-10)
There is no planned TOPS-10 support for the NI Services Program. If
in the future it is decided to have the NI Services Program run
under TOPS-10, it will be done as a separate project. The TOPS-10
effort will be minimized by organizing the Software in a modular
fashion.
Overview of the Diagnostic Product Page 4
PRODUCT GOALS/NON-GOALS 11 Jul 85 SEQ 0007
2.2.4 Operating systems (TOPS-20)
The NI Services Program will run under TOPS-20 release 6.1 and
newer.
2.2.5 Spear
The NI Services Program will be upward compatible with versions of
SPEAR after TOPS-20 release 6.1 and newer.
2.3 Failsoft goals
2.3.1 CPU/Memory failures
The NI Services Program will be aborted by the Operating System.
2.3.2 Power fail/restart
The Ni Services Program will have to be restarted by the user when
the System is reloaded.
2.4 Restrictions
The NI Services Program will only work under a TOPS-20 Operating
System and communication will only be with a PLUTO node located on
the NI.
2.4.1 User mode privileges
The LLMOP% JSYS requires Wheel, Operator or Maintenence priviledges.
This means that the directory the user is logged on to must have the
above priviledges.
2.4.2 User mode priority interrupts
The NI Services Program will not use any Hardware Interrupts. The
Software Interrupt System will be used.
Overview of the Diagnostic Product Page 5
PRODUCT GOALS/NON-GOALS 11 Jul 85 SEQ 0008
2.5 Non-Goals
o The Ni Services Program will not do error retries.
o The NI Services Program will provide no exec mode support.
o The NI Services Program will provide no TOPS-10 support as part
of this Project.
Overview of the Diagnostic Product Page 6
REQUIREMENTS 11 Jul 85 SEQ 0009
3.0 REQUIREMENTS
3.1 Run time requirements
o A TOPS-20 Timesharing Monitor needs to be running.
o Adequate user priviledges.
o An NI (ETHERNET) Network
o A PLUTO, that has Console Carrier Server support.
3.2 Development environment requirements
The hardware requirements needed to test the NI Services Program
are:
o A KL10 system that has a KLNI and a PLUTO is required.
o One Pluto system with a UNA.
o Two host systems residing on the NI.
The NI Services Program must be tested with the PLUTO console server
in each of the three possible states described below under
Reservation States.
The NI Services Program must be tested with the PLUTO at micro-odt
level and with the PLUTO based diagnostics package to test the
normal processing of commands.
3.3 Evaluation system
Engineering, Manufacturing and CSSE are expected to make their own
arrangements as to the availability of hardware for their Diagnostic
evaluation.
Overview of the Diagnostic Product Page 7
PROGRAM INTERFACES 11 Jul 85 SEQ 0010
4.0 PROGRAM INTERFACES
4.1 Diagnostic software interfaces
Not Applicable
4.2 Operating system interfaces (TOPS-10)
Not Supported
4.3 Operating system interfaces (TOPS-20)
The programming interface will be with the Monitor. Packets of
information will be sent and recieved using Monitor Calls that will
be supported in TOPS-20 Release 6.1 and newer.
Overview of the Diagnostic Product Page 8
COMMANDS 11 Jul 85 SEQ 0011
5.0 COMMANDS
The commands available to the user of the NI Services Program are:
HELP
ENABLE/DISABLE
| Debug
Spear-Reporting
Output-Logging (to) <file-spec>
| Trace
IDENTIFY (node) <node-address>
| DISPLAY-ADDRESS <of>
| All
| Local-node
| Remote-nodes-on-network
| READ-COUNTERS <node>
| REDEFINE
| CONNECT (port) <number>
| CONNECT (node) <node-address>
SHOW
| All
| Debug
| Logging
| Spear-reporting
| Trace
QUIT
| EXIT
Control-C
Control-Y
| Control-D
| Control-B
The HELP command will list information about the other commands and
their options
The ENABLE command is used to enable or "turn-on" certain program
features.
The DISABLE command is used to disable or "turn-off" certain program
features.
Overview of the Diagnostic Product Page 9
COMMANDS 11 Jul 85 SEQ 0012
| The IDENTIFY command will cause the program to perform a REQUEST ID
| to the address specified as part of the command and will print the
| SYS-ID information obtained from that address.
|
| The DISPLAY-ADDRESS command displays the address of the local node
| and/or all the remote nodes on the network.
|
| The READ-COUNTERS command will read the counters of the specified
| node.
|
| The REDEFINE command will enable the user to change the exit
| character to exit from the remote mode.
|
| The CONNECT command actually connects the user's terminal to the
| PLUTO console terminal to transfer characters back and forth between
| the two. A "control-D" typed by the user will disconnect the user's
| terminal from this mode and return the user's terminal to command
| mode. A "control-B" typed on the user's terminal will cause a BREAK
| to be sent to the the PLUTO.
The SHOW command is used to display the current state of various
options and control flags in use by the program.
|
| The QUIT and EXIT commands will return the user to TOPS20 monitor
| level. It will Deselect a selected NODE properly before returning
| to the monitor and close the logging file if it was in use.
|
| A CONTROL-D typed while in the Remote Terminal mode will cause a
| disconnect from the remote mode and put the user back to the command
| level.
|
| Two CONTROL-C's typed while the program is in command or remote mode
| will always put the user back to TOPS20 monitor level.
A CONTROL-Y typed while the program is in any mode will cause an
immediate return to TOPS20 monitor level. The monitor CONTINUE
command will then resume operation from the interrupted point.
Overview of the Diagnostic Product Page 10
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0013
6.0 FUNCTIONAL DESCRIPTION
The PLUTO hardware does not include a physical console terminal.
Instead, a facility has been designed whereby a terminal on a host
node can be connected logically to the console interface on the
PLUTO and hence act as its console.
The standard PLUTO Server software will not use the console at all,
but there are occasions where this facility will be useful. For
example, diagnostics will use this facility extensively to
communicate with the user running the diagnostic - this enables
diagnostics that currently exist to be used without being rewritten.
Also, the 11/24 PLUTO processor includes micro-ODT, and so the
remote console facility may be used to control or debug a failing
node, much in the same way that a standard 11/24 may be controlled
via its own console terminal.
6.1 Relationship To Other Components
Terminal
|
|
V
+-----+ LLMOP% +---------+ NI +-------+ ASYNC +-------+
| NIS |<-------->| TOPS-20 |<------->| PLUTO |<------->| PLUTO |
+-----+ +---------+ (MOP) | UNA | Console | 11/24 |
| | CCS | +-------+
| +----------+ +-------+
+----------->| Volatile |
| Data | NIS = NI Services Program
| Base | CCS = Console Carrier Server
+----------+
Overview of the Diagnostic Product Page 11
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0014
6.2 NI Services Program
The NI Services Program will communicate with the PLUTO console
carrier server (CCS) which resides on a target node to provide
remote access to normal PLUTO console services. The NI Services
Program will provide the user interface to communicate with the
remote console. This program communicates via the LLMOP% interface
with the TOPS-20 monitor which in turn communicates with the PLUTO
console carrier server on a target node. It is a requirement that
the user be a privileged user in order to invoke the NI Services
Program and communicate with the PLUTO console carrier server.
There are two pieces of software that implement the remote console
facility. The NI Services Program on a TOPS20 host implements the
Console Carrier protocol and transfers characters transmitted across
the NI to and from a physical terminal on the host. The PLUTO UNA
code that implements this facility is known as the Console Carrier
Server.
The PLUTO remote console is a resource, and as such is subject to
contention between multiple requesting hosts. There is a mechanism
to resolve conflicts in using the remote console, viz.
'reservation' of the console. The requestor has to 'reserve' the
console before it may be used to transfer characters, and normally
the requestor 'releases' the remote console when it is no longer
required.
There is a timeout associated with reservation of the remote
console; the requestor must communicate with the server often
enough so that the reservation timer does not complete and hence
cause the remote console to be released from the requestor. The
value of the reservation timer is of the order of minutes; its
exact value will be determined later.
Having reserved the PLUTO's remote console facility and confirmed
that the reservation was successful, the NI Services Program may now
initiate communication to and from the PLUTO remote console.
Normally this would involve communications with a real terminal,
taking characters typed by the user on the real terminal and passing
them to the remote console and taking characters from the remote
console and displaying them on the users real terminal.
There is a requirement to provide an escape convention, so that the
terminal user may effect the following features:
1. Exit from the REMOTE TERMINAL portion of the NI Services
Program.
2. Emulate an input break condition, as though the user had hit the
break key on a local 11/24 console. This will force the PLUTO
processor into its micro-ODT, making available all the features
that micro-ODT permits, ie. examining memory, depositing
memory, resetting the machine etc.
Overview of the Diagnostic Product Page 12
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0015
3. Pass characters through that would otherwise be interpreted by
the hosts terminal driver, for example ^C.
As previously described, the requestor program should ensure that
there is communications with the server often enough to avoid the
reservation timer in the server expiring and forcing the remote
console back in the unreserved state. The Console Carrier protocol
includes the ability to send 'null' messages so that communication
can still occur between a functioning requestor and the server
without passing any data.
When the terminal user has finished with the remote console, the
requestor should relinquish control. The remote console facility is
now available to other requestors.
6.3 PLUTO Console Carrier Server
The PLUTO console carrier server is being supplied by the PLUTO
server base.
6.4 Console Carrier Protocol
The Console Carrier (CC) protocol is, as its name implies, a means
of transporting ("carrying") the information flow between a computer
console and that console's usually human user, in a situation in
which the user's terminal is attached to a system other than the
system of interest. The information is typically streams of ASCII
characters, though that is not a requirement of the protocol. The
physical console serving as a paradigm for the model is not an
"old-fashioned" console with a switch register, boot, continue,
examine, address, and deposit switches, but rather an ASCII console.
Such a console is a distinguished terminal. It can be used as a
normal terminal I/O device until a particular sequence of characters
is input by the human, after which point it has all the capabilities
of the old-fashioned console.
The objects of interest in the protocol are a requestor module, a
server module (the objects which speak the protocol) and a requestor
user process and server user process. Typically the latter two will
be a human using the remote console, and the target system's ASCII
console, respectively. The requestor and server protocol modules
occupy levels III through VI in the ISO model: they make direct use
of a data link layer (DDCMP or NI Data Link), under which is a
physical link layer (RS232-C or Ethernet Physical Link). The end
users make direct use of the CC Requestor and Server.
The Console Carrier protocol is a simple half-duplex polled protocol
designed to provide some degree of end-to-end (or user-to-user)
communication without the overhead of DECnet logical links. These
sections will discuss the operation of the protocol in terms of
Overview of the Diagnostic Product Page 13
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0016
message interchanges, the services the protocol affords, and what
the costs are for supplying those services in such an "inexpensive"
manner. The description will be informal; the protocol is formally
defined in the DNA Low-level Maintenance Operations Spec.
6.4.1 Message Flow Within The CC Protocol
The protocol is comprised of six different types of messages:
Request System ID, System ID, Reserve Console, Release Console,
Console Command and Poll, and Console Response and Acknowledgement.
The procedure which a Console Requestor must follow to reserve a
remote console is:
1. Ask the remote system for a System ID message, and receive that
message.
2. Note that the remote system has a remote console, and that the
console is not reserved. These two pieces of information are
included in the system ID message.
3. Assuming that the remote system has an unreserved console, send
that remote system a Reserve Console message.
4. Again ask the remote system for a System ID message by means of
a Request System ID message. If the requestor system has been
successful in reserving the remote console, the requestor's
address will appear as the console owner in the System ID
message.
If the remote system does not have a remote console, it may be
possible to "put a console on the system". This is not part of the
CC protocol, but is rather a function of a particular
implementation. For instance, it will be seen later in this paper
that the CC server for a Pluto implementation runs on the CPU aboard
the Pluto's UNA, not on the Pluto's CPU. This CC server can be
down-line loaded into the UNA, at which time the remote system will
"have" a console.
After reserving the remote console, the requestor must maintain that
reservation by sending Console Commands and Polls at some interval
less than the console's reservation timer. (The magnitude of the
timer is contained, again, within the System ID message.)
After the point at which the console is successfully reserved, the
communication consists of an arbitrarily long series of Console
Commands and Polls, answered by Console Responses and
Acknowledgements. Any messages may have null data; the protocol is
concerned only with the correct state changes. This dialog is
driven by the Requestor, which is responsible for issuing commands
and polling for responses from the Server. The Server cannot
independently return a response. Therefore, the Requestor must know
when and how often it must poll a response in order to prevent a
Overview of the Diagnostic Product Page 14
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0017
buffer overrun at the Server. The association of Requestor-defined
command data to Server-returned response data is made in the user
layer above the CC protocol. The communications path thus
established between Requestor User and Server User will remain
intact until the console is explicitly given up by the Requestor by
means of a Release Console message, or until the interval between
Console Commands and Polls exceeds the Console Server-defined
reservation timer. The protocol state is reflected unchanged by the
Console Server. The burden of recognizing an unsynchronized
protocol rests on the requestor. To resynchronize the protocol, the
requestor must release, then re-reserve the console.
6.4.2 Characteristics And Uses Of The Protocol
A user process within a DECnet network (or other modern layered
protocol network) has available certain services which allow that
user to believe that there exists a direct, exclusive, error free
communication path between him/herself and some physically distant
analogous user process. Of course, neither of the "users" need be
human, and the physical distance may vary by several orders of
magnitude, but in all cases, a model of two users "conversing" over
an I/O channel (telephone line, "pipe") is a useful one. Such user
processes have the following expectations of an end-to-end protocol:
1. That the pipe will hide the imperfections of the physical
medium; that is, they expect the path to be error-free.
2. That everything entering at one end will come out the other in
the same order; that is, they expect guaranteed delivery and
sequentiality.
3. That no other user's traffic will be interjected into their data
stream, and that the data that they input will be delivered only
to the partner process.
4. The initiating process expects that, if an attempted connection
succeeds, that connection will be made only to the object with
which it is specifically interested in communicating.
5. Both processes expect a degree of flow control sufficient to
protect themselves and the network from congestion and/or
overrun.
The CC protocol addresses all of these problems except the first by
the expedient of ignoring them: it is entirely the concern of the
user processes to see that they get done. The first, the error-free
path, is assumed to be supplied by the data link layer protocol.
Delivery is not guaranteed: if a requestor doesn't poll the server
as fast as the server generates responses, response data will be
lost. If the requestor generates commands faster than the server or
the server user process is able to process them, commands will be
Overview of the Diagnostic Product Page 15
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0018
lost, or the association of response to command will become skewed.
Access to the PLUTO Console Carrier Server is controlled by
requiring that the value of the "verification" field in a Reserve
Console message match the verification field which is stored in the
PLUTO UNA. How the verification field value in the PLUTO UNA gets
set is yet to be defined. Access to the CC requestor module is
neither specified nor controlled by the protocol. (However, CC
requestors will typically be implemented on larger, more controlled
systems.)
Because the protocol assumes no layers between itself and a user
layer, and because it demands no particular proof of identity from
its users, the server user process is that process which happens to
be interested in being the server user. Control of the access to
the console by a requestor user is within the protocol: a requestor
sends the console server a request to reserve the console, and then
asks the console to send a system ID. If the requestor has
successfully reserved the console, the requestor's own address will
appear in the ID message as the console user. A requestor may
explicitly release a reserved console. In addition, a reservation
timer, the magnitude of which is indicated in the system ID message,
determines how long the requestor may remain idle (not sending
commands or polling for data) before its ownership will be
rescinded. (The magnitude of this timer is not yet defined; it is
thought to be of the order of minutes.) This value will be
hard-coded into the Console Carrier Server microcode.
Flow control is very rudimentary: only one message may be
outstanding at any one time; to return response data requires a
command/poll. Lost response data is reported by the CC server. The
protocol state is kept as a one-bit sequence number. The first
command from the requestor has a sequence number of one. The
protocol state of the requestor may be thought of as the message
number of the current command/poll that it is currently attempting
to get across. The protocol state of the server may be thoght of as
the message number of the last correctly received command/poll. A
change in state implies an ACK, and is accompanied by (possibly
null) command data or response data. Command/polls with no state
changes and no data are used by the Console Requestor to NAK Console
Responses. The Console Server has the ability to indicate that it
has dropped (or lost, or scrambled) a Console Command, and the
ability to piggyback Console Response data on that NAK. Such a
response might be better called a WAK (wait/acknowledgement), with
the semantic meaning: "I've received your command, but no action
will be taken on it. Please retransmit the command, and,
incidently, here is some response data."
All of this should be taken to mean that this protocol assumes that
the requestor user process has the intelligence of a human, that in
fact the requestor user process is a human. Although the preceeding
traits seem to describe a terrible protocol, they are, in fact, very
much the same traits exhibited by a real ASCII console terminal
connected to a computer system in which one may be interested. That
terminal may be attached by some process of no interest, it may be
Overview of the Diagnostic Product Page 16
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0019
too slow to output the information from the process without dropping
characters, it may be typing out the uncoordinated interspersed
outputs of several processes, it may be a terminal on a "dead"
machine, etc. In such a case, the human user would either make some
sense of the scrambled mess presented to him/her, or would put the
terminal into console mode and reboot the system, perhaps using the
console emulator to try to figure the system's state first. (Of
course, it will frequently be the case that the terminal will afford
the user exactly the desired capabilities.)
6.5 Remote Console Reservation
The user must specify the target node with which the user wishes to
communicate. The required input to the NI Services Program will be
a node id (ie. either node name or node address). The other
parameters are optional. If not specified in the command line, they
must be specified in the Ni Services data base. If specified in the
command line, they override the parameters set in the NI Services
data base. The syntax for the command line input is:
| RMTCON> CONNECT port-id
| RMTCON> CONNECT node-id
If the connection is established with the specified node, the
following message will be displayed on the user's terminal:
| To Disconnect & return to command mode, type a single control-D
|
| Typing one or several carrage returns will then result in the
| following prompt to be displayed on the user's terminal:
| Local>
The user can now begin communications as a remote terminal.
In order for the NI Services Program to communicate with a remote
node, the SERVICE CIRCUIT, HARDWARE ADDRESS, and SERVICE PASSWORD
must be specified in either the command line or the volatile data
base. The names of the files containing the special secondary
loader and the micro-code will be hardwired into the program image.
6.5.1 Reservation States
The PLUTO console carrier server may be in one of three states when
the user wishes to reserve the console:
1. The PLUTO console carrier server is loaded and unreserved.
2. The PLUTO console carrier server is loaded and reserved.
Overview of the Diagnostic Product Page 17
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0020
3. The PLUTO console carrier server is not loaded.
If the PLUTO console carrier server is loaded and unreserved, the NI
Services Program will reserve it. At this point, the user will
enter commands as if he were physically located at a console. The
commands will be transmitted by the requestor to the server. The
appropriate response will be transmitted by the server to the
requestor. The requestor will display this information to the user.
If the PLUTO console carrier server is loaded and reserved, an error
message will be displayed to the user on the issuing terminal.
If the PLUTO console carrier server is not loaded, the requestor
will load the server. It may be necessary for the requestor to
identify the target node via the 48-bit hardware address if the
target node is not known to the network. Once the server is loaded,
the requestor will attempt to reserve the console and proceed as
above.
6.5.2 Reservation Details
The PLUTO UNA code that implements the Console Carrier protocol may
or may not be resident in the PLUTO UNA. Thus the requestor must
check whether the Console Carrier code is present in the PLUTO UNA
and if necessary load the appropriate server code into the PLUTO UNA
via the NI.
The target PLUTO may be responding to one of two 48bit NI addresses,
depending on the state of the PLUTO UNA. Thus the requestor should
attempt to communicate with both the PLUTO 48bit hardware UNA
address and the PLUTO 48bit Phase IV UNA address and use whichever
one that responds in subsequent messages.
In its initial state, the PLUTO UNA will respond to its 48bit
hardware UNA address. When the PLUTO Server software initializes
the UNA for a phase IV node, it changes the UNA address to be a
Phase IV 48bit address. The Phase IV 48bit address is formed by
appending the 16bit Phase IV node number to a fixed 32bit value.
The following sections describe the different situations which may
occur when the requestor tries to connect to the remote console
facility. The requestor sends the initial request, to both 48bit
addresses if necessary, as follows:
REQUEST ID :
CODE = 15
RECEIPT NUMBER = requestors identification
We will now see the possible responses to this request, and the
actions that may be taken by the requestor in each case.
Overview of the Diagnostic Product Page 18
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0021
6.5.3 Console Carrier exists - but console in use
In this case, the Console Carrier code has been loaded into the
PLUTO UNA previously, but at the moment, another host has reserved
the console, so that it is unavailable to us.
The format of the reply is:
SYSTEM ID :
CODE = 7
RECEIPT NUMBER = matches value sent in REQUEST ID
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = at least console carrier
CONSOLE USER = non-zero 48bit Phase IV address
which does not match our address
RESERVATION TIMER = (value to be determined)
CONSOLE COMMAND SIZE = (value to be determined)
CONSOLE RESPONSE SIZE = (value to be determined)
HARDWARE ADDRESS = 48bit hardware UNA address
DEVICE = 1 (ie. UNA)
In this case, console carrier is known to be present as the 'console
carrier' bit is set in the FUNCTIONS field - other bits will be set
in this field depending on the current state of the PLUTO UNA. The
console is reserved by some user as CONSOLE USER is non zero.
However the host is not the current user of the remote console
feature as the value of this field does not match the hosts 48bit
Phase IV address.
In this case, the host is unable to reserve the console. There are
two options at this point: either wait a while and try again, or
return an error message to the user who is requesting the console
service for the PLUTO.
6.5.4 Console Carrier exists - Console not reserved
In this case, the Console Carrier code has been previously loaded
into the PLUTO UNA, but at the moment there is no requestor who has
reserved the console.
The reply looks like:
SYSTEM ID :
CODE = 7
RECEIPT NUMBER = matches value sent in REQUEST ID
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = at least console carrier
CONSOLE USER = 0 (ie. not reserved)
RESERVATION TIMER = (value to be determined)
CONSOLE COMMAND SIZE = (value to be determined)
Overview of the Diagnostic Product Page 19
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0022
CONSOLE RESPONSE SIZE = (value to be determined)
HARDWARE ADDRESS = 48bit hardware UNA address
DEVICE = 1 (ie. UNA)
Here we see that the Console Carrier code is running, as the console
carrier bit is set in the FUNCTIONS byte. However, CONSOLE USER is
0 meaning that there is no current host that has reserved the
console.
We may now attempt to reserve the console, as follows:
RESERVE CONSOLE :
CODE = 13
This will attempt to reserve the remote console for our exclusive
use. However it is possible that another user is trying to reserve
the console, and managed to do so before we were able to. There is
also a possibility that the Console Carrier in the PLUTO UNA has
been disabled before we were able to reserve the console. Thus we
need to check whether we did indeed manage to reserve the console
successfully.
We now issue another REQUEST ID message, and depending on the reply,
we will find that we own the console, or that some other host has
reserved the console before us, or that Console Carrier is no longer
operational in the PLUTO, and will therefore have to be reloaded.
6.5.5 Console Carrier exists - we own the console
Assuming that we have tried to reserve the console, as in the
previous case, then we would normally expect this reply when we
issue the second REQUEST ID. In this case, we have managed to
successfully reserve the PLUTO console carrier server and may
proceed to use the remote console feature.
It is also possible that due to some error, the console believes we
own it, but we were not aware that we own it. This case is an error
as there can only be one user of the Console Carrier request code
for a given PLUTO at any time. In this case, the requestor should
issue a warning message, then release the console via a RELEASE
CONSOLE message and then attempt to reserve the console again via a
RESERVE CONSOLE message.
The format of the reply is:
SYSTEM ID :
CODE = 7
RECEIPT NUMBER = matches value sent in REQUEST ID
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = at least console carrier
Overview of the Diagnostic Product Page 20
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0023
CONSOLE USER = non-zero 48bit Phase IV address
which matches our address
RESERVATION TIMER = (value to be determined)
CONSOLE COMMAND SIZE = (value to be determined)
CONSOLE RESPONSE SIZE = (value to be determined)
HARDWARE ADDRESS = 48bit hardware UNA address
DEVICE = 1 (ie. UNA)
The console carrier code is present, as determined by the bit set in
the FUNCTIONS field, and we are designated as the console requestor
as the CONSOLE USER is set to be our 48bit Phase IV address. We may
now use the console carrier server and communicate between the host
terminal and the DL on the PLUTO.
6.5.6 Console Carrier code does not exist
Either there has never been any console carrier code operating in
the PLUTO, or else it had previously been loaded but has since been
disabled.
The reply in this case looks like:
SYSTEM ID :
CODE = 7
RECEIPT NUMBER = matches value sent in REQUEST ID
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = does not include console carrier
HARDWARE ADDRESS = 48bit UNA hardware address
DEVICE = 1 (ie. UNA)
In this case, the FUNCTIONS field does not include the console
carrier bit, so there is no running PLUTO Console Carrier server on
the PLUTO's UNA. Therefore we must load the console carrier code
into the UNA. This is accomplished by sending a BOOT message to the
PLUTO indicating that we wish to load the communications processor,
ie. the UNA, rather than the PLUTO itself.
The message format is:
BOOT :
CODE = 6
VERIFICATION = 8 bytes of password
PROCESSOR = 1 (ie. communications processor)
CONTROL :
BOOT SERVER = 1 (ie. requesting system)
BOOT DEVICE = 0 (ie. system default)
DEVICE ID = 0 (ie. irrelevant)
SOFTWARE ID = -1 (ie. system image)
Overview of the Diagnostic Product Page 21
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0024
As in the case of loading a PLUTO from a host, the password field
may be set up in the PLUTO UNA as 8 octets of zero, or it may be
non-zero. The requestor should attempt this message twice if
necessary, once with the normal password, and once with the
VERIFICATION field consisting of 8 octets of zeros. Only one of
these requests will be responded to. Note that the SOFTWARE ID is
always -1; "diagnostic" is not supported when trying to boot the
communications processor (ie. the UNA).
The reply to the BOOT message will be a REQUEST PROGRAM, which is a
request for the host to load the appropriate secondary loader into
the PLUTO UNA. The format of the request is as follows:
REQUEST PROGRAM :
CODE = 8
DEVICE TYPE = 1 (ie. UNA)
FORMAT VERSION = 1
PROGRAM TYPE = 0 (ie. secondary loader)
SOFTWARE ID = -1 (ie. system image)
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = dependant on current UNA state
... the rest of this section depends on
the current UNA state
The secondary loader that the host responds with is not the same as
would be sent for a load of the complete node. This secondary
loader is a loader which will load an image into the PLUTO UNA WCS
rather than the PLUTO memory. The secondary loader is contained in
a file PLUTOWL.SYS on the PLUTO directory.
The host sends the secondary loader in a single message as follows:
MEMORY LOAD WITH TRANSFER ADDRESS :
CODE = 0
LOAD NUMBER = 0
LOAD ADDRESS = (value to be determined)
IMAGE DATA = data from PLUTOWL.SYS
TRANSFER ADDRESS = (value to be determined)
The PLUTO WCS secondary loader now runs and requests the PLUTO WCS
code to be loaded, ie. the console carrier server code. The
message is as follows:
REQUEST PROGRAM :
CODE = 8
DEVICE TYPE = 1 (ie. UNA)
FORMAT VERSION = 1
PROGRAM TYPE = 2 (ie. system)
SOFTWARE ID = -1 (ie. loading standard software)
OTHER INFO :
MAINTENANCE VERSION = 3.0.0
FUNCTIONS = dependant on current UNA state
Overview of the Diagnostic Product Page 22
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0025
... the rest of this section depends on
the current state of the UNA
The host will now load down the PLUTO console carrier server code
into the PLUTO UNA WCS. This is a multiblock load. The PLUTO
console carrier server code is in the file PLUTOCC.SYS on the PLUTO
directory.
The host sends the following message:
MEMORY LOAD :
CODE = 2
LOAD NUMBER = starts at zero
LOAD ADDRESS = starting address to load this segment
IMAGE DATA = data to be loaded into the UNA's WCS
The exact method for determining LOAD ADDRESS and IMAGE DATA from
the file PLUTOCC.SYS will be determined later. The PLUTO UNA
secondary loader will reply with a message in the following form:
REQUEST MEMORY LOAD :
CODE = 10
LOAD NUMBER = number of next segment to load
ERROR = 0, if the last segment received correctly
1, if the last segment received was in error
The sequence of MEMORY LOAD and REQUEST MEMORY LOAD is repeated as
often as necessary to complete the load of the PLUTO console carrier
server. The load is terminated with a message of the form:
PARAMETER LOAD WITH TRANSFER ADDRESS :
CODE = 20
LOAD NUMBER = matches the last REQUEST MEMORY LOAD value
PARAMETERS :
0 (ie. no parameters)
TRANSFER ADDRESS = starting address of Console Carrier server
The actual value for TRANSFER ADDRESS will be determined later.
At this stage the PLUTO console carrier server is loaded and running
in the PLUTO UNA WCS. The host should now issue a RESERVE CONSOLE
request to attempt to get exclusive access to the remote console
facility. The format of the message is as follows:
RESERVE CONSOLE :
CODE = 13
The possible responses to the RESERVE CONSOLE message are explained
in a previous section.
Overview of the Diagnostic Product Page 23
FUNCTIONAL DESCRIPTION 11 Jul 85 SEQ 0026
6.6 Remote Console Operation
Once the remote console is reserved, a timer routine will be
executed once per second. The timer routine will transmit a console
command and poll message to the server with any data which has been
typed in by the user since the last transmit. If any response data
is received from the server, this data will be displayed on the
user's terminal exactly as it was received from the server. The
reservation timer for the server must be specified in units of
seconds. Since the requestor is polling at one second intervals,
there is no problem with satisfying the requirement that the server
must be polled within the time specified by its reservation timer.
Overview of the Diagnostic Product Page 24
ERROR REPORTING PHILOSOPHY 11 Jul 85 SEQ 0027
7.0 ERROR REPORTING PHILOSOPHY
o Report back to the user on functional errors.
o Hardware errors will be detected and logged by the Operating
System.
7.1 Reporting to SPEAR
The following information will be logged into the System Error Log
for SPEAR use.
o The current time when the remote console is reserved.
o The current time when the remote console is released.
o Port number/Node number.
Overview of the Diagnostic Product Page 25
OPEN ISSUES 11 Jul 85 SEQ 0028
8.0 OPEN ISSUES
There must be some special character which will be used to specify a
'BREAK' command in order to get the attention of micro-odt. [Control-B]
There must also be some special character to exit console carrier mode.
[Control-X]
These special characters should be agreed upon by all host
implementations (VMS and TOPS). At this point, there has not been any
agreement on the details in these areas.
The manner in which circuits over the UNA are modelled in network
management has not been defined as yet. For DDCMP circuits, the owner
is changed to the appropriate module (ex. LOOPER) and the state and
sub-state of the circuit is set according to the operation (ex.
on-looping). There is currently no definition of the model of UNA
circuits which specifies that this information will be kept or how this
information will be passed to network management if it will be
collected.
9.0 SCHEDULE
Milestone Target Date
--------- -----------
1. Functional Spec 6 May 83
Complete
2. Design/Code 1 July 83
Complete
3. Begin Debug 5 July 83
4. Complete Debug 15 July 83
5. Documentation 29 July 83
Complete
6. Evaluation 5 Aug 83
Complete
7. Completed 12 Aug 83
Overview of the Diagnostic Product Page 26
BIBLIOGRAPHY 11 Jul 85 SEQ 0029
10.0 BIBLIOGRAPHY
o Diagnostic Engineering Project Plan For Support of the Ethernet
Port (KLNI) on KL10.
Frank Gatulis / January 13,1983
o NI Node Product Architecture Specification
/ March 24,1982
o Digital Network Architecture - Low Level Maintenance Operations
Architectural Specification
Bob Stewart, Ken Chapman / April 20,1982
o A PLUTO Implementation of a Console Carrier Server
Paul Weiss / March 3,1982
Overview of the Diagnostic Product Page 27
GLOSSARY 11 Jul 85 SEQ 0030
11.0 GLOSSARY
o CCR Console Carrier Requestor, (the NI Services Program)
o CCS Console Carrier Server
o FCS First Customer Ship
o KLNI KL10 NI Ethernet Adapter
o N/A Not Applicable
o NI Network Interconnect (ETHERNET)
o PLUTO Communications Controller
o RCS Remote Console Service
o SCS Systems Communications Services
o SPEAR Standard Package for Error Analysis and Reporting
o TBD To Be Determined
o UUT Unit Under Test
12.0 REVISION HISTORY
Revision 0.1
May 3, 1983
John R. Kirchoff
The first mailing of this document.
Overview of the Diagnostic Product Page 28
ALGORITHMS 11 Jul 85 SEQ 0031
13.0 ALGORITHMS
13.1 NI Services Program algorithm
MODULE NIS
Get node to connect to
Check for required parameters in data base
IF user is privileged THEN
Open circuit
IF NI circuit THEN
Set characteristics
ENDIF
CALL Reserve_console
IF success then
Clear exit_flag
WHILE exit_flag not set DO
CALL process_command
ENDWHILE
Call release_console
ENDIF
Close circuit
ELSE
Display error messge
ENDIF
EXIT
13.2 Normal Command Processing algorithm
ROUTINE process_command
WHILE exit not set DO
Complement message number
IF timer expired or character received THEN
IF character received = exit character THEN
Set exit
ELSE
Transmit console command and poll message
Display response if any
ENDIF
ELSE
Wait
ENDIF
Overview of the Diagnostic Product Page 29
ALGORITHMS 11 Jul 85 SEQ 0032
13.3 Reserve Remote Console algorithm
ROUTINE reserve_console
Clear error
CALL transmit(request_id)[receive system id message]
IF CCS not loaded THEN
CALL load_server
ELSEIF CCS reserved by other node THEN
Display error message
Set error
ELSEIF CCS reserved by local node THEN
CALL release_console
ENDIF
IF no error THEN
Retry = 0
Clear fatal_error
WHILE retry < 5 and not fatal_error and not success DO
IF no error THEN
CALL transmit(reserve_console)
CALL transmit(request_id)
IF reservation not successful THEN
IF not loaded THEN
CALL load_server
ELSE
Set fatal_error
Display error message
ENDIF
ELSE
Get reservation timer from system id message
Message_number = 0
Set success
ENDIF
ENDIF
ENDWHILE
ENDIF
RETURN
13.4 Release Remote Console algorithm
ROUTINE release_console
CALL transmit(release_console)
RETURN
Overview of the Diagnostic Product Page 30
ALGORITHMS 11 Jul 85 SEQ 0033
13.5 Load Server Code algorithm
ROUTINE load
Transmit boot message - no service password
IF no reply THEN
Transmit boot message - include service password
IF no reply THEN Set fatal error
ENDIF
WHILE no fatal error DO
Set secondary comm loader flag
WHILE no error and more to load DO
Open image and check for proper format
IF improper format THEN
Set file error
ELSE
Get start address, length, and transfer address
IF loading secondary comm loader THEN
Read entire image
Transmit memory load with transfer address
ELSE
Call multi-block load
Set retry counter to 0
WHILE no error and request memory load
and req segment = load number DO
Transmit memory load with transfer address
IF no error and request memory load
and req segment = load number
and retry counter < 5 THEN
Increment retry counter
ELSE
Increment load segment number
ENDIF
ENDWHILE
ENDIF
ENDIF
IF no error THEN
Close file being loaded
IF loading server image THEN
IF request memory and segment = load number THEN
Indicate no more to load
ELSE
Set line protocol error
ENDIF
ELSE
IF request program received THEN
Set file to load from Program Request
ELSE
Set line protocol error
ENDIF
ENDIF
ENDIF
ENDWHILE
ENDWHILE
RETURN
Overview of the Diagnostic Product Page 31
ALGORITHMS 11 Jul 85 SEQ 0034
13.6 Multi-block Load algorithm
ROUTINE multi-block_load
Set Load Segment number to 0
Set Requested Segment number to 0
WHILE no error and more to load DO
Read a segment of memory from file
Set retry count to 0
WHILE no error and Requested Segment = Load Segment DO
Transmit Memory Load Message
IF no error THEN
IF Request Memory Load received THEN
Set Requested Segment number from message
IF Requested Segment = Load Segment THEN
IF Retry count less than 5 THEN
Increment retry count
ELSE
Set Line Communication error
ENDIF
ELSE
IF Req Segment .ne. Load Segment+1 THEN
Set Line Protocol error
ENDIF
ENDIF
ELSE
Set Line Protocol error
ENDIF
ENDIF
ENDWHILE
Increment Load Segment number
ENDWHILE
RETURN
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 1
SEQ 0035
DOCUMENT
**************
RMTCON LST
**************
COPYRIGHT 1985
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 2
SEQ 0036
TABLE OF CONTENTS
*******************
1
51 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE
57 COMMAND PARSING TABLES
164 TOP LEVEL PARSER
205 CONNECT PORT/NODE COMMAND
268 ENABLE COMMAND
302 DISABLE COMMAND
339 REDEFINE COMMAND
382 HELP COMMAND
418 REQUEST ID COMMAND
448 SET PASSWORD
468 READ COUNTERS COMMAND
492 DISPLAY COMMAND
545 SHOW COMMAND
1 RMTCNM
57 INITIAL START UP
116 REMOTE TERMINAL OPERATION
240 TERMINAL INPUT INTERRUPT HANDLER
293 RCSND INTERRUPT HANDLER
343 RCPOL INTERRUPT HANDLER
447 SAVE/RESTORE TERMINAL PARAMETERS
503 REMOTE TERMINAL STORAGE
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 3
SEQ 0037
TABLE OF CONTENTS
*******************
535 INTERRUPT CHANNEL & LEVEL TABLES
587 RCRID SUBROUTINE
657 RCRCT SUBROUTINE
726 RCRBT SUBROUTINE
801 RCRPY SUBROUTINE
873 RCRSV SUBROUTINE
941 RCREL SUBROUTINE
1005 RCSND SUBROUTINE
1093 RCPOL SUBROUTINE
1170 RCABT SUBROUTINE
1222 RCSTS SUBROUTINE
1308 RCADR SUBROUTINE
1369 LLMOP SUBROUTINE
1407 RDSTIM SUBROUTINE
1455 HEX SUBROUTINE
1527 REJUS SUBROUTINE
1578 PWSWAP SUBROUTINE
1617 PRINT 12 DIGIT HEX NUMBER SUBROUTINE
1664 ASCIZ A 12 DIGIT HEX NUMBER SUBROUTINE
1746 SPEAR SUBROUTINES
1861 RESERVE CONSOLE
2259 RELEASE CONSOLE
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 4
SEQ 0038
TABLE OF CONTENTS
*******************
2406 SHOW ALL NODE ADDRESSES ON NETWORK
2499 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES
3331 DEBUG TABLE FOR PRINTING SYS-ID INFO
3477 READ COUNTERS REPORTING
3679 READ COUNTER BYTES & PRINT
3703 DEBUG TABLE FOR PRINTING READ COUNTERS INFORMATION
3784 STATUS FLAG REPORTING
3846 SPEAR REPORTING SUBROUTINES
4057 GENERAL STORAGE
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 5
SEQ 0039
*****************************************************************
1 RMTCON
*****************************************************************
*****************************************************************
51 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE
*****************************************************************
*****************************************************************
57 COMMAND PARSING TABLES
*****************************************************************
*****************************************************************
164 TOP LEVEL PARSER
*****************************************************************
*****************************************************************
205 CONNECT PORT/NODE COMMAND
*****************************************************************
*****************************************************************
268 ENABLE COMMAND
*****************************************************************
*****************************************************************
302 DISABLE COMMAND
*****************************************************************
*****************************************************************
339 REDEFINE COMMAND
*****************************************************************
*****************************************************************
382 HELP COMMAND
*****************************************************************
*****************************************************************
418 REQUEST ID COMMAND
*****************************************************************
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 6
SEQ 0040
*****************************************************************
448 SET PASSWORD
*****************************************************************
*****************************************************************
468 READ COUNTERS COMMAND
*****************************************************************
*****************************************************************
492 DISPLAY COMMAND
*****************************************************************
*****************************************************************
545 SHOW COMMAND
*****************************************************************
568 QUIT command - Exit this program (NI SERVER) & return to system monitor.
*****************************************************************
1 RMTCNM
*****************************************************************
*****************************************************************
57 INITIAL START UP
*****************************************************************
*****************************************************************
116 REMOTE TERMINAL OPERATION
*****************************************************************
*****************************************************************
240 TERMINAL INPUT INTERRUPT HANDLER
*****************************************************************
*****************************************************************
293 RCSND INTERRUPT HANDLER
*****************************************************************
*****************************************************************
343 RCPOL INTERRUPT HANDLER
*****************************************************************
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 7
SEQ 0041
*****************************************************************
447 SAVE/RESTORE TERMINAL PARAMETERS
*****************************************************************
*****************************************************************
503 REMOTE TERMINAL STORAGE
*****************************************************************
*****************************************************************
535 INTERRUPT CHANNEL & LEVEL TABLES
*****************************************************************
*****************************************************************
587 RCRID SUBROUTINE
*****************************************************************
589 RCRID subroutine
*****************************************************************
657 RCRCT SUBROUTINE
*****************************************************************
659 RCRCT subroutine
*****************************************************************
726 RCRBT SUBROUTINE
*****************************************************************
728 RCRBT subroutine
*****************************************************************
801 RCRPY SUBROUTINE
*****************************************************************
803 RCRPY subroutine
*****************************************************************
873 RCRSV SUBROUTINE
*****************************************************************
875 RCRSV subroutine
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 8
SEQ 0042
*****************************************************************
941 RCREL SUBROUTINE
*****************************************************************
943 RCREL subroutine
*****************************************************************
1005 RCSND SUBROUTINE
*****************************************************************
1007 RCSND subroutine - SEND CONSOLE COMMAND
*****************************************************************
1093 RCPOL SUBROUTINE
*****************************************************************
1095 RCPOL subroutine - CONSOLE RESPONSE POLL
*****************************************************************
1170 RCABT SUBROUTINE
*****************************************************************
1172 RCABT subroutine - ABORT OUTSTANDING REMOTE CONSOLE REQUEST.
*****************************************************************
1222 RCSTS SUBROUTINE
*****************************************************************
1224 RCSTS - OBTAIN REMOTE CONSOLE REQUEST STATUS
*****************************************************************
1308 RCADR SUBROUTINE
*****************************************************************
1310 RCADR subroutine - READ LOCAL ADDRESS
*****************************************************************
1369 LLMOP SUBROUTINE
*****************************************************************
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 9
SEQ 0043
*****************************************************************
1407 RDSTIM SUBROUTINE
*****************************************************************
1409 Rdstim subroutine
1432 OTIME subroutine
*****************************************************************
1455 HEX SUBROUTINE
*****************************************************************
1457 HEX subroutine
*****************************************************************
1527 REJUS SUBROUTINE
*****************************************************************
1529 REJUS subroutine
*****************************************************************
1578 PWSWAP SUBROUTINE
*****************************************************************
1580 PWSWAP subroutine
*****************************************************************
1617 PRINT 12 DIGIT HEX NUMBER SUBROUTINE
*****************************************************************
1619 PRHEX prints a 12 digit hex node address.
*****************************************************************
1664 ASCIZ A 12 DIGIT HEX NUMBER SUBROUTINE
*****************************************************************
1666 UHEX subroutine
*****************************************************************
1746 SPEAR SUBROUTINES
*****************************************************************
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 10
SEQ 0044
*****************************************************************
1861 RESERVE CONSOLE
*****************************************************************
*****************************************************************
2259 RELEASE CONSOLE
*****************************************************************
*****************************************************************
2406 SHOW ALL NODE ADDRESSES ON NETWORK
*****************************************************************
2408 SALLAD subroutine Called from SALLNO (Show all Nodes) in RMTCNP
*****************************************************************
2499 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES
*****************************************************************
2501 RRID subroutine Called from REQU (Req-ID command) in RMTCNP.
*****************************************************************
3331 DEBUG TABLE FOR PRINTING SYS-ID INFO
*****************************************************************
*****************************************************************
3477 READ COUNTERS REPORTING
*****************************************************************
*****************************************************************
3679 READ COUNTER BYTES & PRINT
*****************************************************************
*****************************************************************
3703 DEBUG TABLE FOR PRINTING READ COUNTERS INFORMATION
*****************************************************************
*****************************************************************
3784 STATUS FLAG REPORTING
*****************************************************************
3786 RDFLGS Subroutine - Come here after doing "GO RCSTS"
RMTCON LST DECDOC VER 00.24 11-JUL-85 22:25:49 PAGE 11
SEQ 0045
*****************************************************************
3846 SPEAR REPORTING SUBROUTINES
*****************************************************************
*****************************************************************
4057 GENERAL STORAGE
*****************************************************************
4059 General Program Storage
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 1
RMTCNT MAC 10-Jun-85 15:17 RMTCON SEQ 0046
1 SUBTTL RMTCON
2
3 000000 DECVER==0
4 000001 MCNVER==1
5
6
7 XLIST
8 LIST
9 LALL
10
11 NAME \MCNVER,\DECVER^
12
13 TITLE RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0^
14
15 ; ****************************************************************
16 ; This "NI SERVER" runs under "TOPS20" only. !
17 ; ****************************************************************
18
19 ;"COPYRIGHT 1984"
20 ;"LARGE SYSTEMS DIAGNOSTICS GROUP"
21 ;"DIGITAL EQUIPMENT CORPORATION"
22 ;"MARLBORO, MASS. 01752"
23
24 ;"GARY PAPAZIAN"
25
26 000137 LOC 137
27 000137 000001 000000 MCNVER,,DECVER
28 000000' RELOC
29
30 NOSYM
31 SEARCH KCUNV,MONSYM,MACSYM,UUOSYM
32 SALL
33
34 000000 DEBUG==0 ;No debug area
35 000000 EXCASB==0 ;No exec mode
36 000001 USRASB==1 ;User mode
37 000000 MEMMAP==0
38 000001 PGMEND==1
39 400000 IPAG=400000
40
41 .REQUIRE RMTCNP
42 .REQUIRE RMTCNM
43
44 ; **************************
45 ; * Externals and internals *
46 ; **************************
47
48 INTERN IPAG,DECVER,MCNVER
49 EXTERN PGMNAM,START,STARTA
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 2
RMTCNT MAC 10-Jun-85 15:17 RMTCON SEQ 0047
50
51 SUBTTL *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE
52
53 EXTERN START,STARTA,PGMNAM,MODCHK,SUBINI
54 000000 DDTLNK=:0 ;Ddt linkage address (no ddt)
55
56 ; ************************************************************
57 ; Program starting addresses
58 ; These addresses call various special start routines and or options
59 ; Normal start address is 140 all others are special.
60 ; ************************************************************
61
62 000000' 254 00 0 00 000000* BEGIN:: JRST MODCHK ;Mode check starting address
63
64 000001' 254 00 0 00 000000* $START::JRST START ;Stand-alone start
65
66 000002' 254 00 0 00 000001' DIAGMN::JRST $START ;Diagnostic monitor start
67
68 000003' 254 00 0 00 000001' SYSEXR::JRST $START ;System exerciser start
69
70 IFNDEF SADR1,<SADR1=BEGIN>
71 000004' 254 00 0 00 000000' SFSTRT::JRST SADR1 ;Special feature start
72
73 IFNDEF SADR2,<SADR2=BEGIN>
74 000005' 254 00 0 00 000000' PFSTRT::JRST SADR2 ;Power fail restart
75
76 IFNDEF SADR3,<SADR3=BEGIN>
77 000006' 254 00 0 00 000000' REENTR::JRST SADR3 ;Reenter start
78
79 000007' 254 00 0 00 000001' DDTSRT::JRST $START ;Ddt start
80
81 000010' 254 00 0 00 000000* SBINIT::JRST SUBINI ;Pmgint linkage
82
83 000011' 000000 000000 RETURN::0 ;Return address storage
84
85 000012' 000000 000001 ITRCNT::1 ;Program iterations
86
87 IFNDEF ABTADR,<ABTADR=0>
88 000013' 000000 000000 ABORT:: ABTADR ;Abort routine address
89
90 IFNDEF TLTADR,<TLTADR=0>
91 000014' 000000 000000 TOTALS::TLTADR ;Totals routine address
92
93 000015' 000000 000000 0 ;Reserved
94 000016' 000000 000000 0
95 000017' 000000 000000 0
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 2
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0048
96
97 ; ************************************************************
98 ; Special program dispatch addresses
99 ; ************************************************************
100
101 000020' 037 01 0 00 000003 BEGEND::ENDPASS ;End of pass
102 000021' 254 00 0 00 000000* $BEND1::JRST STARTA ;Keep running program
103 000022' 037 02 0 00 000003 $BEND2::EOPROG ;End of program - no return
104
105 000023' 350 00 0 17 000000 CPOPJ1::AOS (P) ;Skip return
106 000024' 263 17 0 00 000000 CPOPJ:: RTN ;Non-skip regular return
107
108 ; ************************************************************
109 ; Program fixed parameter area
110 ; ************************************************************
111
112 IFNDEF PAREA1,<PAREA1=0>
113 000025' 000000 000000 RANDBS::PAREA1 ;Random base number
114 000026' 000000000000# P%NAME::PGMNAM ;Pointer to programs name
115 000027' 000001 000000 P%VER:: MCNVER,,DECVER ;Mcn & dec version level
116 000030' 000000 000000 $EMODE::EXCASB ;Exec allowed if -1
117 000031' 000000 000001 $UMODE::USRASB ;User allowed if -1
118 000032' 000000 000000 $MMAP:: MEMMAP ;Allow memory rtns if -1
119
120 ; ************************************************************
121 ; Uuo dispatch table
122 ; ************************************************************
123 XLIST
124 LIST
125
126 000033' 000161' 000161' U%DTBL::LUUO1,,U%ERR
127 000034' 000161' 000161' LUUO3,,LUUO2
128 000035' 000161' 000161' LUUO5,,LUUO4
129 000036' 000161' 000161' LUUO7,,LUUO6
130 000037' 000161' 000161' LUUO11,,LUUO10
131 000040' 000161' 000161' LUUO13,,LUUO12
132 000041' 000161' 000161' LUUO15,,LUUO14
133 000042' 000161' 000161' LUUO17,,LUUO16
134 000043' 000161' 000161' LUUO21,,LUUO20
135 000044' 000161' 000161' LUUO23,,LUUO22
136 000045' 000161' 000161' LUUO25,,LUUO24
137 000046' 000161' 000161' LUUO27,,LUUO26
138 000047' 000161' 000161' LUUO31,,LUUO30
139 000050' 000161' 000161' LUUO33,,LUUO32
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 3
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0049
140
141 ; ************************************************************
142 ; 'Comnd' command parsing parameters
143 ; ************************************************************
144
145 000051' 014000 000000 INIT:: 014000,,000000 ;.Cmini - 'comnd' initialization
146 000052' 000000 000000 0
147 000053' 010000 000000 CFM:: 010000,,000000 ;.Cmcfm - 'comnd' confirm
148 000054' 000000 000000 0
149
150 ; ************************************************************
151 ; Program variable parameter area
152 ; ************************************************************
153
154 000055' 000000 000000 USER:: 0 ;0 = Exec, -1 = user mode flag
155 000056' 000000 000000 MONTYP::0 ;0 = Tops10, -1 = tops20
156 000057' 000000 000000 MONFLG::0 ;Diag monitor special user flag
157 000060' 000000 000000 MONCTL::0 ;Diag mon/sys exr flag
158 000061' 000000 000000 MONTEN::0 ;-1= Loaded by 10
159 000062' 000000 000000 SERNBR::0 ;Processor serial number
160 000063' 000000 000000 CONSW:: 0 ;Console switch settings
161 000064' 000000 000000 PASCNT::0 ;Program pass count
162 000065' 000000 000000 RUNFLG::0 ;Program run flag
163 000066' 000000 000000 TESTPC::0 ;Subtest pc
164 000067' 000000 000000 TESTNBR::0 ;Subtest number
165 000070' 000000 000000 CLOCKF::0 ;Clock ticked flag
166 000071' 000000 000000 CLKCNT::0 ;Clock tick counter
167 000072' 000000 000000 TIMERF::0 ;Interval timer ticked flag
168 000073' 000000 000000 TMRCNT::0 ;Interval timer tick counter
169 000074' 000000 000000 PVPAGI::0 ;If n=0, override "INHPAG" switch action
170 000075' 000000 000000 CSHFLG::0 ;Allow cache if 0
171 000076' 000000 000000 CSHMEM::0 ;Cache memory segments if zero
172 000077' 000000 000000 $ONETM::0 ;Subroutine initialization flag
173 000100' 000000 000000 PG%END::0 ;If n=0, xct'd by 'eopuuo' before ending prog
174 000101' 000000 000000 S%TOGGLE::0 ;If n=0, use c(consw) for switches
175 000102' 000000 000000 SWPTAB::0 ;0 = No prompt, adr = adr of sixbit prompt table
176
177 000103' 000000 000000 CC%FLG::0 ;Control-c flag
178 000104' 000000 000000 CY%FLG::0 ;Control-y flag
179 000105' 000000 000000 CD%FLG::0 ;Control-d flag
180 000106' 000000 000000 CC%PRE::0 ;^C check pre-routine
181 000107' 000000 000000 CC%POST::0 ;^C check post-routine
182 000110' 000000 000000 CY%PRE::0 ;^Y pre-routine
183 000111' 000000 000000 CY%POST::0 ;^Y post-routine
184 000112' 000000 000000 CY%ACT::0 ;^Y activated flag
185 000113' 000000 000000 C%PSTK::0 ;Saved parser stack pointer
186 000114' 000000 000000 C%CCADR::0 ;^C transfer address
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 4
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0050
187
188 ; ************************************************************
189 ; Error handler parameters
190 ; ************************************************************
191
192 000115' 000000 000000 ERRPC:: 0 ;Error pc
193 000116' 000000 000000 ERRNBR::0 ;Error [test#,,error#]
194 000117' 000000 000000 ERRTLS::0 ;Error totals
195 000120' 000000 000000 ERMORE::0 ;Additional error handler linkage
196 000121' 000000 000000 REPTU:: 0 ;Repeat uuo iterations
197 000122' 000000 000000 SCOPE:: 0 ;Error handler scope loop flag
198 000123' 000000 000000 E%LUUO::0 ;Error luuo
199 000124' 000000 000000 E%ERPC::0 ;Error pc
200 000125' 000000 000000 E%FMT:: 0 ;Error format, 0=pc, -1=#
201 000126' 000000 000000 E%ERFLG::0 ;Error flag, -1=use repeat ac's
202 000127' 000000 000000 E%CORFL::0 ; " CORRECT FLAG
203 000130' 000000 000000 E%COREC::0 ; " CORRECT DATA
204 000131' 000000 000000 E%ACTFL::0 ; " ACTUAL FLAG
205 000132' 000000 000000 E%ACTUL::0 ; " ACTUAL DATA
206 000133' 000000 000000 E%DISCR::0 ; " DISCREPENCY DATA
207 000134' 000000 000000 E%ERH1::0 ;If n=0, xct'd at start of %eruuo
208 000135' 000000 000000 E%ERH2::0 ;If n=0, xct'd at end of %eruuo
209 000136' 000000 000000 E%ERH3::0 ;If n=0, xct'd after "PC" of %eruuo
210
211 ; ************************************************************
212 ; Processor interrupt control storage
213 ; ************************************************************
214
215 000137' 000000 000000 ITRCH1::0 ;Pc & flags of current interrupt
216 000140' 000000 000000 0
217 000141' 000000 000000 0 ;New pc and flags
218 000142' 000000 000000 0
219
220 000143' 000000 000000 I%AC0:: 0 ;Interrupt saved ac0
221 000144' 000000 000000 I%SVPI::0 ;Interrupt saved pi
222 000145' 000000 000000 I%SVAPR::0 ;Interrupt saved apr
223
224 000146' 000000 000000 I%ITRX::0 ;Additional interrupt linkage
225 000147' 000000 000000 I%ITRY::0 ; "
226 000150' 000000 000000 I%PWRX::0 ;Additional power fail linkage
227 000151' 000000 000000 I%PWRY::0 ; "
228
229 000152' 000000 000000 I%LEVTAB::0 ;Tops-20 software interrupt levtab address
230 000153' 000000 000000 I%CHNTAB::0 ;Tops-20 software interrupt chntab address
231 000154' BLOCK 3 ;Unused (was old i%lxpc)
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 5
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0051
232
233 ; ************************************************************
234 ; Uuo control
235 ; ************************************************************
236
237 000157' 000000 000000 U%USRTN::0 ;Additional users uuo routine
238 000160' 000000 000000 U%RTX:: 0 ;Additional uuo linkage
239 000161' 000000 000000 U%ERR:: 0 ;Inited as (jrst $uoerx)
240 000162' 000000 000000 U%SVUUO::0 ;Current users uuo
241 000163' 000000 000000 U%SVUPC::0 ;Pc of current users uuo
242 000164' 000000 000000 U%UUO:: 0 ;If n=0, xct'd at start of $uortn
243 000165' 000000 000000 M%MUUO::0 ;If n=0, xct'd at start of muuoer
244
245 ; ************************************************************
246 ; Memory managment storage
247 ; ************************************************************
248
249 000166' 000000 000000 MAPNEW::0 ;Memory mapping control flag, -1 = 32m mapping
250 000167' 000000 000000 MEMTOT::0 ;Total memory size in k (1024.)
251 000170' 000000 000000 MEMLOW::0 ;Lowest usable memory
252 000171' MEMSIZ::BLOCK ^D41 ;Memory segment pointer table
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 6
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0052
253
254 ; ************************************************************
255 ; Print control storage
256 ; ************************************************************
257
258 000242' 000000 000000 P%FLAG::0 ;Print flag, -1 while in print routine
259 000243' 000000 000000 P%ENABLE::0 ;Print enable, -cnt of allowed output lines
260
261 000244' 000000 000000 P%FORCE::0 ;Set for forced printout
262 000245' 000000 000000 P%FRCALL::0 ;Print force all override
263 000246' 000000 000000 P%FCRLF::0 ;Print free cr/lf flag (at column 80)
264 000247' 000000 000000 P%OPTR::0 ;Byte pointer for output buffer
265 000250' 000000 000000 P%OUTP::0 ;Starting address of output buffer
266 000251' 000000 000000 P%LFGO::0 ;Continue after line feed
267 000252' 000000 000000 P%NOTYP::0 ;Prevent terminal output
268 000253' 000000 000000 P%XOFF::0 ;Xoff flag
269 000254' 000000 000000 P%SAV:: 0 ;Print temporary save word
270 000255' 000000 000000 P%PNT:: 0 ;Print misc control flag
271 000256' 000000 000000 P%CARCT::0 ;Print character position count
272 000257' 000000 000000 P%DISF::0 ;Print disabled flag
273 000260' 000000 000000 P%INHIBIT::0 ;Print inhibit (control-o)
274 000261' 000000 000000 P%TINH::0 ;Inhibit print input checks
275 000262' 000000 000000 P%SPACE::0 ;Print space control
276 000263' 000000 000000 P%TABF::0 ;Tab conversion flag
277 000264' 000000 000000 P%DVOFF::0 ;Logical device inited flag
278
279 000265' 000000 000000 P%RADIX::0 ;Decimal print radix (^d10)
280 000266' 000000 000000 P%RADLC::0 ;Decimal print leading char (space)
281 000267' 000000 000000 P%RADCNT::0 ;Decimal print leading char count (^d10)
282
283 000270' 000000 000000 P%PAX1::0 ;If n=0, xct'd after printing cr/lf
284 000271' 000000 000000 P%UERR::0 ;If n=0, xct'd at end of user mode error
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 7
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0053
285
286 ; ************************************************************
287 ; Typein control storage
288 ; ************************************************************
289
290 000272' 000000 000000 T%TWAIT::0 ;Type-in wait time
291 000273' 000000 000000 T%TIMW::0 ;Time waited
292 000274' 000000 000000 T%CHAR::0 ;Actual typed in char
293 000275' 000000 000000 T%CHRIN::0 ;Upper cased & parity stripped char
294 000276' 000000 000000 T%NUMB::0 ;Typed in number
295 000277' 000000 000000 T%DIGIT::0 ;-1 If any digit typed
296 000300' 000000 000000 T%NEG:: 0 ;Negate flag
297 000301' 000000 000000 T%CNV:: 0 ;Decimal convert flag
298
299 000302' 000000 000000 T%CDADR::0 ;Control-d dispatch address
300
301 000303' 000000 000000 T%IPTR::0 ;Typein input byte pointer
302 000304' 000000 000000 T%INP:: 0 ;Address of typein input buffer
303
304 000305' 000000 000000 T%TAX1::0 ;If n=0, xct'd at start of altmode switch call
305 000306' 000000 000000 T%TAX2::0 ;If n=0, xct'd at end of altmode switch call
306
307 000307' 000000 000000 T%TAX3::0 ;If n=0, xct'd at end of altmode ^d
308
309 ; ************************************************************
310 ; User mode output file information
311 ; ************************************************************
312
313 000310' 000000 000000 P%DSKF::0 ;Print on the disk
314 000311' 000000 000000 P%T20:: 0 ;Print tops-20 file name style
315 000312' 000000 000000 P%T20P::0 ;Print tops-20 pointer to file name
316 000313' 000000 000000 P%DJFN::0 ;Print tops-20 logical device jfn
317 000314' P%OHDR::BLOCK 3 ;Logical file output buffer header
318 000317' 000000 000000 P%OUTNM::0 ;File name
319 000320' 000000 000000 P%OUTEX::0 ;File name extension
320 000321' BLOCK 2
RMTCON DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 8
RELOC KCM 22-Apr-83 09:26 *RELOC* [KC10] RELOCATABLE CONTROL AND DISPATCH STORAGE SEQ 0054
321
322 ; ************************************************************
323 ; Power fail ac save storage
324 ; ************************************************************
325
326 000323' POWER:: BLOCK ^D16
327
328 ; ************************************************************
329 ; Pushdown list control information
330 ; ************************************************************
331
332 000343' 000000 000000 $PSHER::0 ;Inited as (jrst psherr)
333 000344' 000000 000000 PLIST:: 0 ;Base pointer (plist-pliste,,plist)
334 000345' PLISTS::BLOCK 200
335 000545' 000000 000000 PLISTE::0 ;End of pushdown list
336
337 ; ************************************************************
338 ; Special future expansion room
339 ; ************************************************************
340
341 000546' 000000 000000 $ATOM:: 0 ;Adr of command atom buffer
342 000547' 000000 000000 $GTJFNB::0 ;Adr of file name block
343 000550' 000000 000000 $IPAG:: 0 ;Adr of input page
344
345 000551' 000000 000000 T%TERM::0 ;Terminal type
346 000552' 000000 000000 T%TWD:: 0 ;Terminal width
347 000553' 000000 000000 T%TLEN::0 ;Terminal length
348
349 000554' 000000 000000 C%FIRST::0 ;If n=0, xct'd before first parse
350
351 000555' 000000 000000 U%SVPC::0 ;Pc of luuo
352
353 000556' 000000 000000 I%L1FL::0 ;Tops-20 level 1 interrupt flags
354 000557' 000000 000000 I%L1PC::0 ;Tops-20 level 1 interrupt pc
355
356 000560' 000000 000000 I%L2FL::0 ;Tops-20 level 2 interrupt flags
357 000561' 000000 000000 I%L2PC::0 ;Tops-20 level 2 interrupt pc
358
359 000562' 000000 000000 I%L3FL::0 ;Tops-20 level 3 interrupt flags
360 000563' 000000 000000 I%L3PC::0 ;Tops-20 level 3 interrupt pc
361
362 ; ************************************************************
363 ; End of fixed storage
364 ; ************************************************************
365
366 000564' 000000 000000 ENDFIX::0 ;End of fixed storage
367
368 END
NO ERRORS DETECTED
PROGRAM BREAK IS 000565
CPU TIME USED 00:03.024
127P CORE USED
ABORT 88#
ABTADR 87 88 SEQ 0055
BEGEND 101#
BEGIN 62#
C%CCAD 186#
C%FIRS 349#
C%PSTK 185#
CC%FLG 177#
CC%POS 181#
CC%PRE 180#
CD%FLG 179#
CFM 147#
CLKCNT 166#
CLOCKF 165#
CONSW 160#
CPOPJ 106#
CPOPJ1 105#
CSHFLG 170#
CSHMEM 171#
CY%ACT 184#
CY%FLG 178#
CY%POS 183#
CY%PRE 182#
DDTLNK 54#
DDTSRT 79#
DEBUG 34#
DECVER 3# 11 27 48 115
DIAGMN 66#
E%ACTF 204#
E%ACTU 205#
E%CORE 203#
E%CORF 202#
E%DISC 206#
E%ERFL 201#
E%ERH1 207#
E%ERH2 208#
E%ERH3 209#
E%ERPC 199#
E%FMT 200#
E%LUUO 198#
ENDFIX 366#
ERMORE 195#
ERRNBR 193#
ERRPC 192#
ERRTLS 194#
EXCASB 35# 116
I%AC0 220#
I%CHNT 230#
I%ITRX 224#
I%ITRY 225#
I%L1FL 353#
I%L1PC 354#
I%L2FL 356#
I%L2PC 357#
I%L3FL 359# SEQ 0056
I%L3PC 360#
I%LEVT 229#
I%PWRX 226#
I%PWRY 227#
I%SVAP 222#
I%SVPI 221#
INIT 145#
IPAG 39# 48
ITRCH1 215#
ITRCNT 85#
LUUO1 124 124# 126
LUUO10 124 124# 130
LUUO11 124 124# 130
LUUO12 124 124# 131
LUUO13 124 124# 131
LUUO14 124 124# 132
LUUO15 124 124# 132
LUUO16 124 124# 133
LUUO17 124 124# 133
LUUO2 124 124# 127
LUUO20 124 124# 134
LUUO21 124 124# 134
LUUO22 124 124# 135
LUUO23 124 124# 135
LUUO24 124 124# 136
LUUO25 124 124# 136
LUUO26 124 124# 137
LUUO27 124 124# 137
LUUO3 124 124# 127
LUUO30 124 124# 138
LUUO31 124 124# 138
LUUO32 124 124# 139
LUUO33 124 124# 139
LUUO4 124 124# 128
LUUO5 124 124# 128
LUUO6 124 124# 129
LUUO7 124 124# 129
M%MUUO 243#
MAPNEW 249#
MCNVER 4# 11 27 48 115
MEMLOW 251#
MEMMAP 37# 118
MEMSIZ 252#
MEMTOT 250#
MODCHK 53# 62
MONCTL 157#
MONFLG 156#
MONTEN 158#
MONTYP 155#
P 105
P%CARC 271#
P%DISF 272#
P%DJFN 316# SEQ 0057
P%DSKF 313#
P%DVOF 277#
P%ENAB 259#
P%FCRL 263#
P%FLAG 258#
P%FORC 261#
P%FRCA 262#
P%INHI 273#
P%LFGO 266#
P%NAME 114#
P%NOTY 267#
P%OHDR 317#
P%OPTR 264#
P%OUTE 319#
P%OUTN 318#
P%OUTP 265#
P%PAX1 283#
P%PNT 270#
P%RADC 281#
P%RADI 279#
P%RADL 280#
P%SAV 269#
P%SPAC 275#
P%T20 314#
P%T20P 315#
P%TABF 276#
P%TINH 274#
P%UERR 284#
P%VER 115#
P%XOFF 268#
PAREA1 112 113
PASCNT 161#
PFSTRT 74#
PG%END 173#
PGMEND 38#
PGMNAM 49# 53# 114
PLIST 333#
PLISTE 335#
PLISTS 334#
POWER 326#
PVPAGI 169#
RANDBS 113#
REENTR 77#
REPTU 196#
RETURN 83#
RUNFLG 162#
S%TOGG 174#
SADR1 70 71
SADR2 73 74
SADR3 76 77
SBINIT 81#
SCOPE 197#
SERNBR 159# SEQ 0058
SFSTRT 71#
START 49# 53# 64
STARTA 49# 53# 102
SUBINI 53# 81
SWPTAB 175#
SYSEXR 68#
T%CDAD 299#
T%CHAR 292#
T%CHRI 293#
T%CNV 297#
T%DIGI 295#
T%INP 302#
T%IPTR 301#
T%NEG 296#
T%NUMB 294#
T%TAX1 304#
T%TAX2 305#
T%TAX3 307#
T%TERM 345#
T%TIMW 291#
T%TLEN 347#
T%TWAI 290#
T%TWD 346#
TESTNB 164#
TESTPC 163#
TIMERF 167#
TLTADR 90 91
TMRCNT 168#
TOTALS 91#
U%DTBL 126#
U%ERR 124 126 239#
U%RTX 238#
U%SVPC 351#
U%SVUP 241#
U%SVUU 240#
U%USRT 237#
U%UUO 242#
USER 154#
USRASB 36# 117
$ATOM 341#
$BEND1 102#
$BEND2 103#
$EMODE 116#
$GTJFN 342#
$IPAG 343#
$MMAP 118#
$ONETM 172#
$PSHER 332#
$START 64# 66 68 79
$UMODE 117#
ENDPAS 101
EOPROG 103 SEQ 0059
NAME 8# 11
RTN 106
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 1
RMTCNP MAC 10-Jun-85 15:18 SEQ 0060
1
2 000000 DECVER==0
3 000001 MCNVER==1
4
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0^
13
14 ; ****************************************************************
15 ; This "NI SERVER" runs under "TOPS20" only. !
16 ; ****************************************************************
17
18 ;COPYRIGHT 1985
19 ;LARGE SYSTEMS DIAGNOSTICS GROUP
20 ;DIGITAL EQUIPMENT CORPORATION
21 ;MARLBORO, MASS. 01752
22
23 ;GARY PAPAZIAN
24
25 SEARCH KCUNV,MONSYM,MACSYM,UUOSYM
26
27 NOSYM
28 SALL
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 2
RMTCNP MAC 10-Jun-85 15:18 SEQ 0061
29
30 ;Parse.Mac user interface
31
32 INTERN DISABL,ENABLE
33 INTERN HELP,PGMHDR,PGMNAM,PGNAME,PROMPT,.QUIT
34 INTERN CONECT,SHOW,MAINCM
35
36 EXTERN $ATOM,CFM,CONSW,PRTNBR,TARADH,TARADL,PRHEX,HEX
37 EXTERN DBGFLG,LOGFLG,TRCFLG,P%CARC,SBINIT
38 EXTERN SPRFLG,T%TWD,TTEXIT,$REMOTE,CTRSTR
39 EXTERN START,STARTA,C$QUIT,IPAG,I%L2FL,I%L3FL,I%L1FL
40 EXTERN INTAKE,ECHOF,CMFILE,CSB,DIAT20,GTJDEV,GTJDIR
41 EXTERN GTJEXT,GTJFIL,GTJFLG,$CCL,RRID,SPR1,SPR4
42 EXTERN RESCON,RELCON,RRCT,RCADR,SALLAD,NODSEL
43 EXTERN PWFLG,PWORDH,PWORDL
44
45 ;Data push list definitions
46
47 000016 DP=16 ;Define dp as data list pointer
48
49 DEFINE PUSHD (ARG),< ;Push data on data stack
50 IRP ARG
51 < PUSH DP,ARG>>
52
53 DEFINE POPD (ARG),< ;Pop data from data stack
54 IRP ARG
55 < POP DP,ARG>>
56
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 3
RMTCNP MAC 10-Jun-85 15:18 COMMAND PARSING TABLES SEQ 0062
57 SUBTTL COMMAND PARSING TABLES
58 ;#***********************************************************************
59 ; CMTAB cmd,addr cmd = keyword to parse for
60 ; addr = dispatch address or return value (data)
61 ;#***********************************************************************
62 ;This is the top level command table.
63
64 000000' 000014 000014 SCMTAB MAINCM ;Start command table, top level
65 000001' 000462' 000101' CMTAB CONNECT,CONECT ;Connect (to node/port) command
66 000002' 000464' 000177' CMTAB DISABLE,DISABL ;Disable spear, logging, trace, debug
67 000003' 000466' 000364' CMTAB DISPLAY,DISPLA ;Display spear, log, trace, debug flags
68 000004' 000470' 000151' CMTAB ENABLE,ENABLE ;Enable spear, logging, trace, debug
69 000005' 000472' 000446' CMTAB EXIT,.QUIT ;Command to exit i.E. Quit
70 000006' 000473' 000263' CMTAB HELP,HELP ;Help command
71 000007' 000474' 000314' CMTAB IDENTIFY,REQU ;Request id command
72 000010' 000476' 000446' CMTAB QUIT,.QUIT ;Quit, exit to kcmon
73 000011' 000477' 000350' CMTAB READ-COUNTERS,RDCTRS ;Read counters
74 000012' 000502' 000226' CMTAB REDEFINE,REDEFINE ;Redefine remote tty switch char
75 000013' 000504' 000336' CMTAB SET-PASSWORD,SETPW ;Set password
76 000014' 000507' 000433' CMTAB SHOW,SHOW ;Show local/remote/all node addresses
77 ECMTAB ;End command table, top level
78
79 ;This table is used with the 'ENABLE and DISABLE' command.
80
81 000015' 000004 000004 SCMTAB ENATAB ;Start of enable command table
82 000016' 000510' 000001 CMTAB DEBUG,1 ;Enable debug
83 000017' 000512' 000002 CMTAB LOGGING,2 ;Enable logging command
84 000020' 000514' 000003 CMTAB SPEAR-REPORTING,3 ;Enable spear command
85 000021' 000520' 000004 CMTAB TRACE,4 ;Enable program trace
86 ECMTAB ;End of enable command table
87
88 ;These tables are used with the 'CONNECT' command.
89
90 000022' 000002 000002 SCMTAB CONTAB
91 000023' 000522' 000000 CMTAB NODE,0 ;12 digit hex
92 000024' 000523' 000001 CMTAB PORT,1 ;0,1,2,3
93 ECMTAB
94
95 000025' 000004 000004 SCMTAB PRTTAB ;Port 0,1,2,3
96 000026' 000524' 000000 CMTAB 0,0
97 000027' 000525' 000001 CMTAB 1,1
98 000030' 000526' 000002 CMTAB 2,2
99 000031' 000527' 000003 CMTAB 3,3
100 ECMTAB
101
102 ;This table is used with the 'DISPLAY' command
103
104 000032' 000005 000005 SCMTAB DISTAB ;Start of display-address table
105 000033' 000530' 000000 CMTAB ALL,0 ;Display state of all
106 000034' 000510' 000001 CMTAB DEBUG,1 ;Display state of debug
107 000035' 000512' 000002 CMTAB LOGGING,2 ;Display state of logging
108 000036' 000514' 000003 CMTAB SPEAR-REPORTING,3 ;Display state of spear
109 000037' 000520' 000004 CMTAB TRACE,4 ;Display state of trace
110 ECMTAB ;End of display address command table
111
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 4
RMTCNP MAC 10-Jun-85 15:18 COMMAND PARSING TABLES SEQ 0063
112
113 ; **************************************************************************
114 ; * Top level command parser (see COMND JSYS for field/format defs) *
115 ; **************************************************************************
116
117 ;The macro used to build the command descriptor block is (cmddb.) And has the
118 ;Following format (type,flags,data,help,default,additional command data block),
119 ;The type field will contain the command function code, the function codes are:
120 ;
121 ; .Cmkey= 0 ;keyword .Cmusr= 12 ;user name
122 ; .Cmnum= 1 ;number .Cmcma= 13 ;comma
123 ; .Cmnoi= 2 ;guide (noise) word .Cmini= 14 ;init line
124 ; .Cmswi= 3 ;switch .Cmdev= 16 ;device name
125 ; .Cmifi= 4 ;input file .Cmtxt= 17 ;text to action char
126 ; .Cmofi= 5 ;output file .Cmqst= 21 ;quoted string
127 ; .Cmfil= 6 ;general filespec .Cmuqs= 22 ;unquoted string
128 ; .Cmfld= 7 ;arbitrary field .Cmtok= 23 ;token
129 ; .Cmcfm= 10 ;confirm .Cmnux= 24 ;number delimited
130 ; .Cmdir= 11 ;directory name ; by non-digit
131 ;
132 ;The flag field will contain one of the following flags or will be represented
133 ;By two commas (,,), this indicates to the macro that this field is blank.
134 ;The flags are:
135 ; Cm%hpp ;help pointer is present
136 ; Cm%dpp ;default pointer is present
137 ; Cm%sdh ;suppress default help message
138 ;
139 ;The data field is dependent on the command function, see tops20 monitor call
140 ;Manual commd jsys v544. This field may be omitted by using two commas (,,).
141 ;
142 ;The help field points to a message to be printed if the question mark (?)
143 ;Is typed. This field may be omitted by using two commas (,,).
144 ;
145 ;The default field is pointer to a string to be used if the escape is the first
146 ;Character to be typed. This field may be omitted by using two commas (,,).
147 ;
148 ;The alternate command block is a pointer to a command block to be parsed if
149 ;The parse failed in the first command block. This field may be omited.
150 ;
151 ;The function field is always used but not all other fields are necessarily
152 ;Used. If a field to the right is to be used, the unused fields separating
153 ;The fields must be represented by two commas (,,).
154 ;
155 ;KCUNV.MAC uses the COMND JSYS in the following manner:
156 ;
157 ; CMD [CMDDB.(TYPE,FLAGS,DATA,etc)],<text>
158 ;
159 ;Where CMD, CMDDB., <text> are KCUNV functions
160 ;and (type,flags,data,etc) are COMND JSYS fields.
161 ;
162 ;See JSYS, KCMON.MEM, KCUNV,KCSUB, MONSYM, MACSYM, UUOSYM
163
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 5
RMTCNP MAC 10-Jun-85 15:18 TOP LEVEL PARSER SEQ 0064
164 SUBTTL TOP LEVEL PARSER
165
166 000040' PGMNAM: ASCIZ/
167 000040' 015 012 075 055 075 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
168 000041' 055 075 055 075 055
169 000042' 075 055 075 055 075
170 000043' 055 075 055 075 055
171 000044' 075 055 075 055 075
172 000045' 055 075 055 075 055
173 000046' 075 055 075 055 075
174 000047' 055 075 055 075 055
175 000050' 075 055 075 055 075
176 000051' 055 075 015 012 174 | DECSYSTEM 20 NETWORK INTERCONNECT SERVER |
177 000052' 040 104 105 103 123
178 000053' 131 123 124 105 115
179 000054' 040 062 060 040 116
180 000055' 105 124 127 117 122
181 000056' 113 040 111 116 124
182 000057' 105 122 103 117 116
183 000060' 116 105 103 124 040
184 000061' 123 105 122 126 105
185 000062' 122 040 040 174 015
186 000063' 012 075 055 075 055 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
187 000064' 075 055 075 055 075
188 000065' 055 075 055 075 055
189 000066' 075 055 075 055 075
190 000067' 055 075 055 075 055
191 000070' 075 055 075 055 075
192 000071' 055 075 055 075 055
193 000072' 075 055 075 055 075
194 000073' 055 075 055 075 055
195 000074' 075 015 012 000 000 /
196
197 000075' PGMHDR: ASCIZ/
198 000075' 015 012 000 000 000 /
199
200 000076' 62 55 64 43 57 56 PGNAME: SIXBIT /RMTCON/ ;Program name
201
202 000077' 122 115 124 103 117 PROMPT: ASCIZ/RMTCON> / ;Program prompt for top level
203 000100' 116 076 040 000 000
204
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 6
RMTCNP MAC 10-Jun-85 15:18 CONNECT PORT/NODE COMMAND SEQ 0065
205 SUBTTL CONNECT PORT/NODE COMMAND
206 ; ***********************************************************************
207 ; 1. CONNECT PORT inputs a port number (0-3) & stores it in PRTNBR which
208 ; is used as the CHANNEL-ID in LLMOP argument blocks.
209 ;
210 ; 2. CONNECT NODE inputs a 12 digit hex number (no spaces allowed) & stores
211 ; it in TARADH & TARADL which is used as the destination address in the
212 ; RESERVE CONSOLE argument block & other LLMOP's.
213 ; ***********************************************************************
214
215 000101' 400 01 0 00 000000 CONECT: CMD [CMDDB.(.CMKEY,,CONTAB)]
216 000102' 201 02 0 00 000531'
217 000103' 037600 000001
218
219 000104' 550 01 0 02 000000 HRRZ AC1,(AC2)
220 000105' 254 00 1 01 000106' JRST @$CON(AC1) ;Dispatch to port or node
221
222 000106' 000000 000122' $CON: .CONN
223 000107' 000000 000110' .CONP
224
225 000110' 201 01 0 00 000533' .CONP: GUIDE <NUMBER> ;Port
226 000111' 201 02 0 00 000537'
227 000112' 037600 000001
228
229 000113' 400 01 0 00 000000 CMD [CMDDB.(.CMKEY,,PRTTAB)]
230 000114' 201 02 0 00 000541'
231 000115' 037600 000001
232
233 000116' 550 01 0 02 000000 HRRZ AC1,(AC2) ;Get port number
234 000117' 202 01 0 00 000000* MOVEM AC1,PRTNBR ;Save
235 000120' 037 15 0 00 000001 CMDCFM
236 000121' 263 17 0 00 000000 RTN
237
238 000122' 201 01 0 00 000543' .CONN: GUIDE <ADDRESS> ;node
239 000123' 201 02 0 00 000547'
240 000124' 037600 000001
241
242 000125' 400 01 0 00 000000 CMD [CMDDB.(.CMFLD,,,<12 DIGIT HEX ADDRESS>)]
243 000126' 201 02 0 00 000556'
244 000127' 037600 000001
245
246 000130' 260 17 0 00 000000* GO HEX ;Input hex digits
247 000131' 302 04 0 00 000014 CAIE AC4,^D12 ;12 Digits ?
248 000132' 260 17 0 00 000564' CMDERR <WRONG FORMAT> ; No,report error
249 000133' 037 15 0 00 000001 CMDCFM
250
251 000134' 202 10 0 00 000000* MOVEM AC10,TARADH ;Put node number and entry bit in table
252 000135' 202 11 0 00 000000* MOVEM AC11,TARADL
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 7
RMTCNP MAC 10-Jun-85 15:18 CONNECT PORT/NODE COMMAND SEQ 0066
253
254 000136' 260 17 0 00 000000* GO RESCON ;Go reserve (conect) node
255 000137' 254 00 0 00 000150' JRST .CONNX ; Cannot reserve, exit
256
257 000140' 037 01 0 00 000566' PMSG <T[O [D[ISCONNECT & RETURN TO COMMAND MODE, TYPE A SINGLE CONTROL->
258 000141' 200 00 0 00 000000* MOVE TTEXIT
259 000142' 271 00 0 00 000100 ADDI 100
260 000143' 037 12 0 00 000000 PNTCHR
261 000144' 332 00 0 00 000000* SKIPE DBGFLG ;Debug mode?
262 000145' 037 01 0 00 000601' PMSG <^L[OCAL -> ; Yes
263 000146' 037 03 0 00 000001 PCRLF
264 000147' 260 17 0 00 000000* GO $REMOTE ;Do RCSEND & RCPOLL's (in RMTCNM)
265
266 000150' 263 17 0 00 000000 .CONNX: RTN
267
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 8
RMTCNP MAC 10-Jun-85 15:18 ENABLE COMMAND SEQ 0067
268 SUBTTL ENABLE COMMAND
269 ;#***********************************************************************
270 ; Enable debug, logging, spear or trace
271 ;#***********************************************************************
272
273 000151' 400 01 0 00 000000 ENABLE: CMD [CMDDB.(.CMKEY,,ENATAB)]
274 000152' 201 02 0 00 000603'
275 000153' 037600 000001
276
277 000154' 550 01 0 02 000000 HRRZ AC1,(AC2) ;Set up to go to proper enable routine
278 000155' 037 15 0 00 000001 CMDCFM
279 000156' 254 00 1 01 000157' JRST @$ENA(AC1)
280
281 000157' 000 00 0 00 000000 $ENA: Z
282 000160' 000000 000164' EN.DBG ;1
283 000161' 000000 000166' EN.LOG ;2
284 000162' 000000 000173' EN.SPEAR ;3
285 000163' 000000 000175' EN.TRACE ;4
286
287 000164' 476 00 0 00 000144* EN.DBG: SETOM DBGFLG ;Enable debug
288 000165' 263 17 0 00 000000 RTN
289
290 000166' 200 00 0 00 000000* EN.LOG: MOVE AC0,CONSW ;Get console switches
291 000167' 661 00 0 00 000040 TLO AC0,SW.LOG ;Set the log switch
292 000170' 202 00 0 00 000166* MOVEM AC0,CONSW ;Save the console switches
293 000171' 476 00 0 00 000000* SETOM LOGFLG ;Set enable logging word
294 000172' 263 17 0 00 000000 RTN
295
296 000173' 476 00 0 00 000000* EN.SPEAR:SETOM SPRFLG ;Enable spear
297 000174' 263 17 0 00 000000 RTN
298
299 000175' 476 00 0 00 000000* EN.TRACE:SETOM TRCFLG ;Enable trace
300 000176' 263 17 0 00 000000 RTN
301
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 9
RMTCNP MAC 10-Jun-85 15:18 DISABLE COMMAND SEQ 0068
302 SUBTTL DISABLE COMMAND
303 ;#***********************************************************************
304 ; Disable debug, logging, spear or trace
305 ;#***********************************************************************
306
307 000177' 400 01 0 00 000000 DISABL: CMD [CMDDB.(.CMKEY,,ENATAB)]
308 000200' 201 02 0 00 000603'
309 000201' 037600 000001
310
311 000202' 550 01 0 02 000000 HRRZ AC1,(AC2) ;Set up to go to proper enable routine
312 000203' 037 15 0 00 000001 CMDCFM
313 000204' 254 00 1 01 000205' JRST @$DIS(AC1)
314
315 000205' 000 00 0 00 000000 $DIS: Z
316 000206' 000000 000212' DA.DBG ;1
317 000207' 000000 000214' DA.LOG ;2
318 000210' 000000 000222' DA.SPEAR ;3
319 000211' 000000 000224' DA.TRACE ;4
320
321 000212' 402 00 0 00 000164* DA.DBG: SETZM DBGFLG ;Disable debug
322 000213' 263 17 0 00 000000 RTN
323
324 000214' 200 00 0 00 000170* DA.LOG: MOVE AC0,CONSW ;Get console switches
325 000215' 621 00 0 00 000040 TLZ AC0,SW.LOG ;Clear the log switch
326 000216' 202 00 0 00 000214* MOVEM AC0,CONSW ;Save the console switches
327 000217' 402 00 0 00 000171* SETZM LOGFLG ;Clear enable logging word
328
329 000220' 037 05 0 00 000003 DROPDV ;Close the device
330 000221' 263 17 0 00 000000 RTN
331
332 000222' 402 00 0 00 000173* DA.SPEAR:SETZM SPRFLG ;Disable spear
333 000223' 263 17 0 00 000000 RTN
334
335 000224' 402 00 0 00 000175* DA.TRACE:SETZM TRCFLG ;Disable trace
336 000225' 263 17 0 00 000000 RTN
337
338
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 10
RMTCNP MAC 10-Jun-85 15:18 REDEFINE COMMAND SEQ 0069
339 SUBTTL REDEFINE COMMAND
340 ;#***************************************************************************
341 ;Redefine the "EXIT CHAR" to be any of those listed below.
342 ;note, the entire word "CONTROL" must be entered.
343 ;#***************************************************************************
344
345 000226' 201 01 0 00 000605' REDEFINE:GUIDE <TTY EXIT CHARACTER>
346 000227' 201 02 0 00 000613'
347 000230' 037600 000001
348
349 000231' 201 01 0 00 000615' CMD [CMDDB.(.CMKEY,,.TSWC,,,CFM)],<NOT A VALID SWITCH CHARACTER>
350 000232' 201 02 0 00 000623'
351 000233' 037600 000001
352 000234' 306 03 0 00 000000* CAIN AC3,CFM
353 000235' 254 00 0 00 000255' JRST REDEF1 ;Cr only
354
355 000236' 550 06 0 02 000000 HRRZ AC6,(AC2) ;Get char
356
357 000237' 037 15 0 00 000001 CMDCFM
358
359 000240' 202 06 0 00 000141* MOVEM AC6,TTEXIT ;Set it up
360 000241' 263 17 0 00 000000 RTN
361
362 000242' 000012 000012 SCMTAB .TSWC
363 000243' 000625' 000001 CMTAB CONTROL-A,"A"-100
364 000244' 000627' 000004 CMTAB CONTROL-D,"D"-100
365 000245' 000631' 000005 CMTAB CONTROL-E,"E"-100
366 000246' 000633' 000006 CMTAB CONTROL-F,"F"-100
367 000247' 000635' 000016 CMTAB CONTROL-N,"N"-100
368 000250' 000637' 000020 CMTAB CONTROL-P,"P"-100
369 000251' 000641' 000026 CMTAB CONTROL-V,"V"-100
370 000252' 000643' 000027 CMTAB CONTROL-W,"W"-100
371 000253' 000645' 000030 CMTAB CONTROL-X,"X"-100
372 000254' 000647' 000032 CMTAB CONTROL-Z,"Z"-100
373 ECMTAB
374
375 000255' 037 01 0 00 000651' REDEF1: PMSG <TTY E[XIT CHARACTER = CONTROL->
376 000256' 200 00 0 00 000240* MOVE TTEXIT
377 000257' 271 00 0 00 000100 ADDI 100
378 000260' 037 12 0 00 000000 PNTCHR
379 000261' 037 03 0 00 000001 PCRLF
380 000262' 263 17 0 00 000000 RTN
381
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 11
RMTCNP MAC 10-Jun-85 15:18 HELP COMMAND SEQ 0070
382 SUBTTL HELP COMMAND
383 ;#***********************************************************************
384 ; To assist user in the options available
385 ;#***********************************************************************
386
387 000263' 201 01 0 00 000657' HELP: GUIDE <ABOUT A COMMAND, (* FOR ALL)>
388 000264' 201 02 0 00 000667'
389 000265' 037600 000001
390
391 000266' 400 01 0 00 000000 CMD [CMDDB.(.CMTXT)]
392 000267' 201 02 0 00 000671'
393 000270' 037600 000001
394
395 000271' 200 06 0 00 000673' MOVE AC6,[POINT 7,HLPBUF] ;Get pointer to help buffer
396 000272' 201 07 1 00 000000* MOVEI AC7,@$ATOM ;Get the address of the atom buffer
397 000273' 200 01 0 00 000674' MOVE AC1,[POINT 7,(AC7)] ;Get pointer to atom buffer
398
399 000274' 134 00 0 00 000001 ILDB AC0,AC1 ;Get first character
400 000275' 136 00 0 00 000006 IDPB AC0,AC6 ;Put it in help buffer
401 000276' 326 00 0 00 000274' JUMPN AC0,.-2 ;Do till null
402
403 000277' 037 15 0 00 000001 CMDCFM
404
405 000300' 201 00 0 00 000305' MOVEI AC0,HLPFIL ;Get pointer to help file
406 000301' 201 01 0 00 000307' MOVEI AC1,HLPBUF ;Get pointer to help buffer
407 000302' 037 16 0 00 000004 FHELP ;Go provide requested help
408
409 000303' 037 15 0 00 000004 FRESET ;Reset the help file
410
411 000304' 263 17 0 00 000000 RTN
412
413 000305' 62 55 64 43 57 56 HLPFIL: SIXBIT /RMTCON/ ;Name of help file
414 000306' 50 54 60 00 00 00 SIXBIT /HLP/ ;Extension of help file
415
416 000307' HLPBUF: BLOCK ^D5 ;Buffer for help request
417
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 12
RMTCNP MAC 10-Jun-85 15:18 REQUEST ID COMMAND SEQ 0071
418 SUBTTL REQUEST ID COMMAND
419 ;#***********************************************************************
420 ;Enter via "IDENTIFY" (addr) Command.
421 ;Node does not have to be selected (reserved).
422 ;The req id will return info (status) on desired node.
423 ;#***********************************************************************
424
425 000314' 201 01 0 00 000675' REQU: GUIDE <NODE>
426 000315' 201 02 0 00 000700'
427 000316' 037600 000001
428
429 000317' 400 01 0 00 000000 CMD [CMDDB.(.CMFLD,,,<12 DIGIT HEX ADDRESS>)]
430 000320' 201 02 0 00 000556'
431 000321' 037600 000001
432
433 000322' 260 17 0 00 000130* GO HEX ;Input hex digits
434 000323' 302 04 0 00 000014 CAIE AC4,^D12 ;12 Digits ?
435 000324' 260 17 0 00 000564' CMDERR <WRONG FORMAT> ; No,report error
436 000325' 037 15 0 00 000001 CMDCFM
437
438 000326' 200 00 0 00 000224* MOVE AC0,TRCFLG ;See what flag is
439 000327' 322 00 0 00 000332' JUMPE AC0,REQU1 ;If zero, force a trace then clear it
440 000330' 260 17 0 00 000000* GO RRID ;Do Req-ID for this node
441 000331' 254 00 0 00 000335' JRST REQUX
442
443 000332' 476 00 0 00 000326* REQU1: SETOM TRCFLG ;Force trace
444 000333' 260 17 0 00 000330* GO RRID ;Do request id for this node
445 000334' 402 00 0 00 000332* SETZM TRCFLG ;Clear trace
446 000335' 263 17 0 00 000000 REQUX: RTN
447
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 13
RMTCNP MAC 10-Jun-85 15:18 SET PASSWORD SEQ 0072
448 SUBTTL SET PASSWORD
449 ;#************************************************************************
450 ;Enter via "SET-PASSWORD" command.
451 ;Take up to 16 hex digits & store in PWORDH/L.
452 ;The Password is used in RCRBT & RCRSV
453 ;#************************************************************************
454
455 000336' 400 01 0 00 000000 SETPW: CMD [CMDDB.(.CMFLD,,,<UP TO 16 HEX DIGITS>)]
456 000337' 201 02 0 00 000706'
457 000340' 037600 000001
458
459 000341' 476 00 0 00 000000* SETOM PWFLG ;Doing password flag
460 000342' 260 17 0 00 000322* GO HEX ;Input hex digits
461 000343' 037 15 0 00 000001 CMDCFM
462 000344' 202 10 0 00 000000* MOVEM AC10,PWORDH ;Hi = bytes 7,6,5,4,z
463 000345' 202 11 0 00 000000* MOVEM AC11,PWORDL ;Lo = bytes 3,2,1,0,z
464 000346' 402 00 0 00 000341* SETZM PWFLG ;Done
465 000347' 263 17 0 00 000000 RTN
466
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 14
RMTCNP MAC 10-Jun-85 15:18 SET PASSWORD SEQ 0073
467
468 SUBTTL READ COUNTERS COMMAND
469 ;#*************************************************************************
470 ;Enter via "READ-COUNTERS" (addr) Command.
471 ;Node does not have to be selected (reserved).
472 ;The counter information will be returned on the desired node.
473 ;#*************************************************************************
474
475 000350' 201 01 0 00 000675' RDCTRS: GUIDE <NODE>
476 000351' 201 02 0 00 000700'
477 000352' 037600 000001
478
479 000353' 400 01 0 00 000000 CMD [CMDDB.(.CMFLD,,,<12 DIGIT HEX ADDRESS>)]
480 000354' 201 02 0 00 000556'
481 000355' 037600 000001
482
483 000356' 260 17 0 00 000342* GO HEX ;Input hex digits
484 000357' 302 04 0 00 000014 CAIE AC4,^D12 ;12 Digits ?
485 000360' 260 17 0 00 000564' CMDERR <WRONG FORMAT> ; No,report error
486
487 000361' 037 15 0 00 000001 CMDCFM
488
489 000362' 260 17 0 00 000000* GO RRCT ;Do read counters for this node
490 000363' 263 17 0 00 000000 RTN
491
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 15
RMTCNP MAC 10-Jun-85 15:18 DISPLAY COMMAND SEQ 0074
492 SUBTTL DISPLAY COMMAND
493 ;#****************************************************************************
494 ;Display state (enabled/disabled) of debug, logging, spear reporting & trace.
495 ;#****************************************************************************
496
497 000364' 201 01 0 00 000711' DISPLA: GUIDE <CURRENT STATE OF> ;Noise word for show command
498 000365' 201 02 0 00 000717'
499 000366' 037600 000001
500
501 000367' 400 01 0 00 000000 CMD [CMDDB.(.CMKEY,,DISTAB)]
502 000370' 201 02 0 00 000721'
503 000371' 037600 000001
504
505 000372' 550 01 0 02 000000 HRRZ AC1,(AC2)
506 000373' 037 15 0 00 000001 CMDCFM
507 000374' 254 00 1 01 000375' JRST @$DISP(AC1) ;Go display it
508
509 000375' 000000 000402' $DISP: .$ALL ;0
510 000376' 000000 000414' .D$DBG ;1
511 000377' 000000 000407' .D$LOG ;2
512 000400' 000000 000421' .D$SPE ;3
513 000401' 000000 000426' .D$TRC ;4
514
515 000402' 260 17 0 00 000414' .$ALL: GO .D$DBG ;Display debug
516 000403' 260 17 0 00 000407' GO .D$LOG ;Display logging
517 000404' 260 17 0 00 000421' GO .D$SPE ;Display spear
518 000405' 260 17 0 00 000426' GO .D$TRC ;Display trace
519 000406' 263 17 0 00 000000 RTN
520
521 000407' 336 00 0 00 000217* .D$LOG: SKIPN LOGFLG ;Is logging enabled ?
522 000410' 037 01 0 00 000723' PMSG <L[OGGING IS DISABLED^>
523 000411' 332 00 0 00 000407* SKIPE LOGFLG
524 000412' 037 01 0 00 000727' PMSG <L[OGGING IS ENABLED^>
525 000413' 263 17 0 00 000000 RTN
526
527 000414' 336 00 0 00 000212* .D$DBG: SKIPN DBGFLG ;Is debug enabled ?
528 000415' 037 01 0 00 000733' PMSG <P[ROGRAM [DEBUG[ IS DISABLED^>
529 000416' 332 00 0 00 000414* SKIPE DBGFLG
530 000417' 037 01 0 00 000740' PMSG <P[ROGRAM [DEBUG[ IS ENABLED^>
531 000420' 263 17 0 00 000000 RTN
532
533 000421' 336 00 0 00 000222* .D$SPE: SKIPN SPRFLG ;Is spear enabled ?
534 000422' 037 01 0 00 000745' PMSG <R[EPORTS TO [SPEAR [ARE DISABLED^>
535 000423' 332 00 0 00 000421* SKIPE SPRFLG
536 000424' 037 01 0 00 000753' PMSG <R[EPORTS TO [SPEAR [ARE ENABLED^>
537 000425' 263 17 0 00 000000 RTN
538
539 000426' 336 00 0 00 000334* .D$TRC: SKIPN TRCFLG ;Is trace enabled ?
540 000427' 037 01 0 00 000761' PMSG <P[ROGRAM [TRACE [IS DISABLED^>
541 000430' 332 00 0 00 000426* SKIPE TRCFLG
542 000431' 037 01 0 00 000766' PMSG <P[ROGRAM [TRACE [IS ENABLED^>
543 000432' 263 17 0 00 000000 RTN
544
RMTCNP DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 16
RMTCNP MAC 10-Jun-85 15:18 SHOW COMMAND SEQ 0075
545 SUBTTL SHOW COMMAND
546 ;#*****************************************************************************
547 ; Show the LOCAL node & all remote node addresses on network.
548 ;#*****************************************************************************
549
550 000433' 201 01 0 00 000773' SHOW: GUIDE <NODE ADDRESSES ON NETWORK>
551 000434' 201 02 0 00 001003'
552 000435' 037600 000001
553 000436' 037 15 0 00 000001 CMDCFM
554 ; LOCAL node address
555 000437' 200 00 0 00 000430* MOVE AC0,TRCFLG ;Save TRACE flag
556 000440' 476 00 0 00 000437* SETOM TRCFLG ;Force TRACE
557 000441' 260 17 0 00 000000* GO RCADR ;Do the LLMOP to read local node addr
558 000442' 600 00 0 00 000000 NOP ; error return
559 000443' 202 00 0 00 000440* MOVEM AC0,TRCFLG ;Restore TRACE
560
561 000444' 260 17 0 00 000000* GO SALLAD ;All REMOTE NODE addresses on network
562 000445' 263 17 0 00 000000 RTN
563
564
565
566
567 ;#**************************************************************************
568 ;* QUIT command - Exit this program (NI SERVER) & return to system monitor.
569 ;#**************************************************************************
570
571 000446' 201 01 0 00 001005' .QUIT: GUIDE <TO MONITOR> ;Noise word for quit command
572 000447' 201 02 0 00 001012'
573 000450' 037600 000001
574 000451' 037 15 0 00 000001 CMDCFM ;Expect a carriage return here
575
576 000452' 260 17 0 00 000000* GO CTRSTR ;Restore controlling terminal
577
578 000453' 260 17 0 00 000000* GO SPR4 ;Go make a spear entry for this
579 ; Diagnostic exit
580 000454' 200 00 0 00 000216* MOVE AC0,CONSW ;Get console switches
581 000455' 621 00 0 00 000040 TLZ AC0,SW.LOG ;Clear the log switch
582 000456' 202 00 0 00 000454* MOVEM AC0,CONSW ;Save the console switches
583 000457' 402 00 0 00 000411* SETZM LOGFLG ;Clear enable logging word
584 000460' 037 05 0 00 000003 DROPDV ;Close the device
585 000461' 254 00 1 00 000000* JRST @C$QUIT ;Quit through kcsub
586
587 END
NO ERRORS DETECTED
PROGRAM BREAK IS 001014
CPU TIME USED 00:02.682
130P CORE USED
AC0 290 291 292 324 325 326 399 400 401 405 438 439 555 559
580 581 582 SEQ 0076
AC1 215 219 220 225 229 233 234 238 242 248 273 277 279 307
311 313 345 349 387 391 397 399 406 425 429 435 455 475
479 485 497 501 505 507 550 571
AC10 251 462
AC11 252 463
AC2 216 219 226 230 233 239 243 274 277 308 311 346 350 355
388 392 426 430 456 476 480 498 502 505 551 572
AC3 352
AC4 247 434 484
AC6 355 359 395 400
AC7 396 397
C$QUIT 39# 585
CFM 36# 350 352
CM%HPP 243 430 456 480
CMFILE 40#
CONECT 34 65 215#
CONSW 36# 290 292 324 326 580 582
CONTAB 90# 93 216
CSB 40#
CTRSTR 38# 576
DA.DBG 316 321#
DA.LOG 317 324#
DA.SPE 318 332#
DA.TRA 319 335#
DBGFLG 37# 261 287 321 527 529
DECVER 2# 10
DIAT20 40#
DISABL 32 66 307#
DISPLA 67 497#
DISTAB 104# 110 502
DP 47#
ECHOF 40#
EN.DBG 282 287#
EN.LOG 283 290#
EN.SPE 284 296#
EN.TRA 285 299#
ENABLE 32 68 273#
ENATAB 81# 86 274 308
GTJDEV 40#
GTJDIR 40#
GTJEXT 41#
GTJFIL 41#
GTJFLG 41#
HELP 33 70 387#
HEX 36# 246 433 460 483
HLPBUF 395 406 416#
HLPFIL 405 413#
I%L1FL 39#
I%L2FL 39#
I%L3FL 39#
INTAKE 40#
IPAG 39#
L..TSW 362 373# SEQ 0077
L.CONT 90 93#
L.DIST 104 110#
L.ENAT 81 86#
L.MAIN 64 77#
L.PRTT 95 100#
LOGFLG 37# 293 327 521 523 583
MAINCM 34 64# 77
MCNVER 3# 10
NODSEL 42#
P%CARC 37#
PGMHDR 33 197#
PGMNAM 33 166#
PGNAME 33 200#
PRHEX 36#
PROMPT 33 202#
PRTNBR 36# 234
PRTTAB 95# 100 230
PWFLG 43# 459 464
PWORDH 43# 462
PWORDL 43# 463
RCADR 42# 557
RDCTRS 73 475#
REDEF1 353 375#
REDEFI 74 345#
RELCON 42#
REQU 71 425#
REQU1 439 443#
REQUX 441 446#
RESCON 42# 254
RRCT 42# 489
RRID 41# 440 444
SALLAD 42# 561
SBINIT 37#
SETPW 75 455#
SHOW 34 76 550#
SPR1 41#
SPR4 41# 578
SPRFLG 38# 296 332 533 535
START 39#
STARTA 39#
SW.LOG 291 325 581
T%TWD 38#
TARADH 36# 251
TARADL 36# 252
TRCFLG 37# 299 335 438 443 445 539 541 555 556 559
TTEXIT 38# 258 359 376
$ATOM 36# 396
$CCL 41#
$CON 220 222#
$DIS 313 315#
$DISP 507 509#
$ENA 279 281#
$REMOT 38# 264 SEQ 0078
.$ALL 509 515#
..XX 216# 216 226# 226 230# 230 239# 239 243# 243 274# 274 308# 308
346# 346 350# 350 388# 388 392# 392 426# 426 430# 430 456# 456
476# 476 480# 480 498# 498 502# 502 551# 551 572# 572
.CMFLD 243 430 456 480
.CMKEY 216 230 274 308 350 502
.CMNOI 226 239 346 388 426 476 498 551 572
.CMTXT 392
.CONN 222 238#
.CONNX 255 266#
.CONP 223 225#
.D$DBG 510 515 527#
.D$LOG 511 516 521#
.D$SPE 512 517 533#
.D$TRC 513 518 539#
.QUIT 33 69 72 571#
.TSWC 350 362# 373
CMD 215 225 229 238 242 273 307 345 349 387 391 425 429 455
475 479 497 501 550 571 SEQ 0079
CMDCFM 235 249 278 312 357 403 436 461 487 506 553 574
CMDDB. 216 226 230 239 243 274 308 346 350 388 392 426 430 456
476 480 498 502 551 572
CMDERR 248 435 485
CMTAB 65 66 67 68 69 70 71 72 73 74 75 76 82 83
84 85 91 92 96 97 98 99 105 106 107 108 109 363
364 365 366 367 368 369 370 371 372
DROPDV 329 584
ECMTAB 65# 77 82# 86 91# 93 96# 100 105# 110 363# 373
FHELP 407
FRESET 409
GO 246 248 254 264 433 435 440 444 460 483 485 489 515 516
517 518 557 561 576 578
GUIDE 225 238 345 387 425 475 497 550 571
NAME 7# 10
NOP 558
PCRLF 263 379
PMSG 257 262 375 522 524 528 530 534 536 540 542
PNTCHR 260 378
POPD 53#
PSIXM 257 262 375 522 524 528 530 534 536 540 542
PUSHD 49#
RTN 236 266 288 294 297 300 322 330 333 336 360 380 411 446
465 490 519 525 531 537 543 562
SCMTAB 64 81 90 95 104 362
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 1
RMTCNM MAC 10-Jun-85 15:20 RMTCNM SEQ 0080
1 SUBTTL RMTCNM
2
3 000000 DECVER==0
4 000001 MCNVER==1
5
6
7 XLIST
8 LIST
9 LALL
10
11 NAME \MCNVER,\DECVER^
12
13 TITLE RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0^
14
15 ;#**********************************************************************
16 ; This "NI SERVER" runs under "TOPS20" only.
17 ;#**********************************************************************
18
19 ;COPYRIGHT 1985
20 ;LARGE SYSTEMS DIAGNOSTICS GROUP
21 ;DIGITAL EQUIPMENT CORPORATION
22 ;MARLBORO, MASS. 01752
23
24 ;GARY PAPAZIAN
25
26 NOSYM
27 SEARCH KCUNV,MONSYM,MACSYM,UUOSYM
28 SALL
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 2
RMTCNM MAC 10-Jun-85 15:20 RMTCNM SEQ 0081
29
30 INTERN LOGFLG,SPRFLG,TRCFLG,DBGFLG,RRID,SPR1,SPR4
31 INTERN HEX,PRHEX,PRTNBR,TARADH,TARADL,TTEXIT,$REMOTE,CTRSTR
32 INTERN RESCON,RELCON,RRCT,RCADR,SALLAD,NODSEL
33 INTERN PWFLG,PWORDH,PWORDL
34
35 EXTERN TESTPC,ATOM,C$QUIT,CONSW,P%T20,P%T20P,C%FIRST,START
36 EXTERN P%DJFN
37
38 ;Note: Z:<CUSP10>PARAM.KLM contains equates such as CR, XON, XOFF etc.
39
40 ;Data stack definitions
41
42 000016 DP=16 ;Define dp as data stack pointer
43
44 DEFINE PUSHD (ARG),< ;Push data on data stack
45 IRP ARG
46 < PUSH DP,ARG>>
47
48 DEFINE POPD (ARG),< ;Pop data from data stack
49 IRP ARG
50 < POP DP,ARG>>
51
52 320740 000025' OPDEF ERJSYS [ERCAL $ERJSYS] ;Jsys error reporter
53
54
55 003720 BUFSIZ=^D2000 ;Max Command/Response buffer size
56
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 3
RMTCNM MAC 10-Jun-85 15:20 INITIAL START UP SEQ 0082
57 SUBTTL INITIAL START UP
58 ;#****************************************************************************
59 ; Set up "C%FIRST" so that kcsub will execute "INITIA" code before prompting.
60 ;#****************************************************************************
61
62 000000' 200 00 0 00 015642' SETUP: MOVE AC0,[GO INITIA] ;Get initialization address
63 000001' 202 00 0 00 000000* MOVEM AC0,C%FIRST ;Store it where kcsub can find it
64 000002' 254 00 0 00 000000* JRST START ;Do the initialization
65
66 ; This code is executed in startup before prompting occurs.
67
68 000003' 200 16 0 00 015643' INITIA: MOVE DP,[IOWD STKLEN,DSTK] ;Set up the data stack pointer
69
70 000004' 332 00 0 00 015073' SKIPE ONETIM ;Skip if first through this code
71 000005' 254 00 0 00 000012' JRST INPEX ; Not first time
72 000006' 476 00 0 00 015073' SETOM ONETIM ;Mark that this code is executed
73 000007' 476 00 0 00 000000* SETOM P%T20
74 000010' 201 00 0 00 000020' MOVEI AC0,LOGNAM ;Get address of the logname to use
75 000011' 202 00 0 00 000000* MOVEM AC0,P%T20P ;Save it
76
77 000012' 037 01 0 00 015644' INPEX: PMSG <F[OR HELP, TYPE "[HELP" [AFTER THE PROGRAM PROMPT^>
78 000013' 260 17 0 00 000373' GO CTSAVE ;Save controlling terminal parameters
79 000014' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Process handle
80 000015' 200 02 0 00 015655' MOVE AC2,[1B<.TICTI>] ;Enable all type-in
81 000016' 104 00 0 00 000174 STIW ;Set Terminal Interrupt Word to
82 000017' 263 17 0 00 000000 RTN ; allow ^C exit at any time to monitor
83
84 000020' 104 123 113 072 122 LOGNAM: ASCIZ/DSK:REMOTE.LOG/
85 000021' 105 115 117 124 105
86 000022' 056 114 117 107 000
87
88 015656' T=SIXBTZ<NI SERVER>
89
90 000023' 000000 000000 PWFLG: 0 ;When set, "HEX" will rejustify for
91 ;PASSWORD & not for ADDRESS
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 4
RMTCNM MAC 10-Jun-85 15:20 INITIAL START UP SEQ 0083
92
93 ;#**********************************************************************
94 ; If data stack push down overflow occurs, program will come here.
95 ;#**********************************************************************
96
97 000024' 037200 015660' DSERR: FATALP <^DATA STACK PUSH DOWN LIST OVERFLOW^>
98
99 000025' 037 01 0 00 015667' $ERJSYS: PMSG <^? JSYS E[RROR AT >
100 000026' 262 17 0 00 000000 GETIT AC0
101 000027' 037 06 0 00 000000 PNT6
102 000030' 037 01 0 00 015673' PMSG < - >
103
104 000031' 561 01 0 00 000000* HRROI AC1,ATOM
105 000032' 525 02 0 00 400000 HRLOI AC2,.FHSLF ;Get system error string
106 000033' 400 03 0 00 000000 SETZ AC3,
107 000034' 104 00 0 00 000011 ERSTR
108 000035' 104 00 0 00 000170 HALTF
109 000036' 104 00 0 00 000170 HALTF
110
111 000037' 037 00 0 00 000031* PNTMSG ATOM
112 000040' 037 03 0 00 000001 PCRLF
113 000041' 104 00 0 00 000170 HALTF
114 000042' 254 00 0 00 000002* JRST START
115
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 5
RMTCNM MAC 10-Jun-85 15:20 REMOTE TERMINAL OPERATION SEQ 0084
116 SUBTTL REMOTE TERMINAL OPERATION
117 ;#****************************************************************************
118 ; $REMOTE subroutine - Entered from "CONNECT" in RMTCNP.
119 ;#****************************************************************************
120
121 000043' 402 00 0 00 000452' $REMOTE:SETZM IBUFCT ;Init terminal input buffer char ctr
122 000044' 402 00 0 00 000453' SETZM OBUFCT ;Init terminal output buffer char ctr
123
124 000045' 402 00 0 00 000454' SETZM TTIBUF ;Clear buffers (helps debug)
125 000046' 200 01 0 00 015674' MOVE AC1,[TTIBUF,,TTIBUF+1] ;Source,,Dest
126 000047' 251 01 0 00 010313' BLT AC1,TABLEN
127
128 000050' 402 00 0 00 000441' SETZM XOFFLG ;XOFF flag
129 000051' 402 00 0 00 000442' SETZM BRKFLG ;BREAK flag
130 000052' 402 00 0 00 000443' SETZM CHRFLG ;Character received flag
131 000053' 402 00 0 00 000444' SETZM TIMINT ;Timer interrupt
132 000054' 402 00 0 00 000445' SETZM EXTFLG ;Exit character received flag
133 000055' 402 00 0 00 000446' SETZM MNOFLG ;Msg number flag used in RCSND & RCPOL
134 000056' 402 00 0 00 015324' SETZM CMDPND ;Command pending flag
135
136 000057' 260 17 0 00 000415' GO INITIM ;Initialize reservation timer
137
138 ; SETUP TERMINAL
139 ;#**************************
140
141 000060' 201 01 0 00 777777 REM1: MOVEI AC1,.CTTRM ;Specified termimal
142 000061' 104 00 0 00 000107 RFMOD ; read its JFN mode word
143 000062' 202 02 0 00 000437' MOVEM AC2,TTMOD ; & save it (restored in REMX)
144 000063' 620 02 0 00 004300 TRZ AC2,1B24!3B29 ;change to: 7 bit in/out, echos off,
145 ; no format control, no translation
146 000064' 104 00 0 00 000110 SFMOD ;Set program related modes for
147 ; specified terminal
148 000065' 201 01 0 00 400000 REM3: MOVEI AC1,.FHSLF ;Process handle
149 000066' 104 00 0 00 000173 RTIW ;Read terminal interrupt word
150 000067' 202 02 0 00 000440' MOVEM AC2,TTIWD ; & save it (restored in REMX)
151 000070' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Process handle
152 000071' 200 02 0 00 015655' MOVE AC2,[1B<.TICTI>] ;All type in
153 000072' 104 00 0 00 000174 STIW ;Set modified terminal interr word
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 6
RMTCNM MAC 10-Jun-85 15:20 REMOTE TERMINAL OPERATION SEQ 0085
154
155 ; SETUP INTERRUPTS
156 ;#***********************
157
158 000073' 201 01 0 00 400000 REM6: MOVEI AC1,.FHSLF ;Current process handle
159 000074' 200 02 0 00 015675' MOVE AC2,[LEVTAB,,CHNTAB] ;interrupt tables
160 000075' 104 00 0 00 000125 SIR ;Set chan & priority level table addr
161 ; for current process
162 000076' 104 00 0 00 000126 EIR ;Enable interrupt system
163
164 000077' 200 01 0 00 015676' MOVE AC1,[.TICTI,,2] ;Assign terminal intr for ALL TYPE-IN
165 000100' 104 00 0 00 000137 ATI ; for chan 2
166
167 000101' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Current process handle
168 000102' 200 02 0 00 015677' MOVE AC2,[17B3] ;Chan 0,1,2,3
169 000103' 104 00 0 00 000131 AIC ;Activate specified channels only
170
171 ;#*************************************************************************
172 ; Loop & wait for characters from TTY input
173 ;#*************************************************************************
174
175 000104' 200 05 0 00 015700' MOVE AC5,[POINT 8,TTIBUF] ;Init input buffer pointer
176
177 000105' 332 00 0 00 000443' LOOP: SKIPE CHRFLG ;Have a char?
178 000106' 254 00 0 00 000114' JRST LOOP1 ; yes, process it
179 000107' 336 00 0 00 000444' SKIPN TIMINT ;Reservation timer up yet?
180 000110' 254 00 0 00 000105' JRST LOOP ; No, try all over
181 000111' 332 00 0 00 015065' SKIPE TRCFLG ;Yes, force RCPOLL
182 000112' 037 01 0 00 015701' PMSG <^S[ENDING NULL [RCSEND [TO FORCE [RCPOLL [TO NOT LOOSE CONNECTION^>
183 000113' 254 00 0 00 000117' JRST LOOP2
184
185 000114' 402 00 0 00 000443' LOOP1: SETZM CHRFLG
186 000115' 332 00 0 00 000445' SKIPE EXTFLG ;Was it "EXIT CHAR"?
187 000116' 254 00 0 00 000136' JRST LOOPX ; Yes, restore all & return
188
189 000117' 332 00 0 00 015324' LOOP2: SKIPE CMDPND ;No, command pending?
190 000120' 254 00 0 00 000105' JRST LOOP ; Yes, RCSEND denied
191
192 000121' 350 00 0 00 000446' AOS MNOFLG ;Complement msg number
193 000122' 476 00 0 00 015324' SETOM CMDPND ;Set command pending
194 000123' 402 00 0 00 000444' SETZM TIMINT
195 000124' 260 17 0 00 000415' GO INITIM ;Initialize reservation timer
196
197 ; *** MUST TRANSACT ***
198
199 000125' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Invoke RCSEND: Current process handle
200 000126' 200 02 0 00 015715' MOVE AC2,[1B0] ;Channel 0
201 000127' 104 00 0 00 000132 IIC ;Initiate interrupt on chan 0 (RCSEND)
202
203 000130' 336 00 0 00 015070' SKIPN DBGFLG ;Debug?
204 000131' 254 00 0 00 000105' JRST LOOP ; no, repeat all
205 000132' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Invoke RCPOLL: Current process handle
206 000133' 200 02 0 00 015716' MOVE AC2,[1B1] ;Channel 1
207 000134' 104 00 0 00 000132 IIC ;Initiate interrupt on chan 1 (RCPOLL)
208 000135' 254 00 0 00 000105' JRST LOOP ;Repeat all
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 7
RMTCNM MAC 10-Jun-85 15:20 REMOTE TERMINAL OPERATION SEQ 0086
209
210 ; We got EXIT CHAR...reset stuff & go back to command mode
211 ;#*********************************************************
212
213 000136' 260 17 0 00 012627' LOOPX: GO RELCON ;Release console
214 000137' 600 00 0 00 000000 NOP ; Unsucessful release
215 000140' 200 01 0 00 015717' MOVE AC1,[.TICTI] ;Clear interrupts
216 000141' 104 00 0 00 000140 DTI ;De-assign all type-in
217
218 000142' 201 01 0 00 400000 MOVEI AC1,.FHSLF
219 000143' 200 02 0 00 015677' MOVE AC2,[17B3]
220 000144' 104 00 0 00 000133 DIC ;De-activate chan 0,1,2,3
221 000145' 104 00 0 00 000130 DIR ;Disable system
222 000146' 104 00 0 00 000141 CIS ;Clear interrupt system
223
224 ; RESTORE TERMINAL
225 ;#************************
226
227 000147' 201 01 0 00 777777 LOOPX1: MOVEI AC1,.CTTRM ; Specified terminal
228 000150' 200 02 0 00 000437' MOVE AC2,TTMOD ; get orig JFN mode word
229 000151' 104 00 0 00 000110 SFMOD ; restore program related modes
230 000152' 104 00 0 00 000217 STPAR ; restore device related modes
231
232 000153' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Process handle
233 000154' 200 02 0 00 000440' MOVE AC2,TTIWD ;Get orig terminal interr word
234 000155' 104 00 0 00 000174 STIW ; & restore orig terminal int word
235
236 000156' 037 03 0 00 000001 PCRLF
237
238 000157' 263 17 0 00 000000 RTN ; & return to Parser in RMTCNP
239
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 8
RMTCNM MAC 10-Jun-85 15:20 TERMINAL INPUT INTERRUPT HANDLER SEQ 0087
240 SUBTTL TERMINAL INPUT INTERRUPT HANDLER
241 ;#***************************************************************************
242 ;Input chars from the TTY & set various flags depending on character.
243 ;Other routines/interrupt handlers will key off the flags.
244 ;Put all other chars into TTIBUF.
245 ; (See P.2-59 TOPS-20 MONITOR CALLS REFERENCE MANUAL)
246 ;#***************************************************************************
247
248 000160' 261 17 0 00 000001 TTYINP: PUTIT <AC1,AC0> ;Save some ac's
249 000161' 261 17 0 00 000000
250 000162' 201 01 0 00 777777 TTIN7: MOVEI AC1,.CTTRM ;TTY source designation
251 000163' 104 00 0 00 000102 SIBE ;TTY input buffer empty?
252 000164' 254 00 0 00 000166' JRST TTIN2 ; no, get character
253 000165' 254 00 0 00 000222' JRST TTINX ;yes, dismiss interrupt
254
255 000166' 104 00 0 00 000073 TTIN2: PBIN ;Get character from terminal
256 000167' 312 01 0 00 015071' CAME AC1,TTEXIT ;Match exit character ?
257 000170' 254 00 0 00 000174' JRST TTIN1 ; no, continue
258 000171' 476 00 0 00 000445' SETOM EXTFLG ;Yes, set flag for use in $REMOTE
259 000172' 476 00 0 00 000443' SETOM CHRFLG
260 000173' 254 00 0 00 000222' JRST TTINX ;& exit
261
262 000174' 302 01 0 00 000002 TTIN1: CAIE AC1,"B"-100 ;Control-B ?
263 000175' 254 00 0 00 000201' JRST TTIN6
264 000176' 476 00 0 00 000442' SETOM BRKFLG ;Yes, set flag for use in RCSND
265 000177' 476 00 0 00 000443' SETOM CHRFLG
266 000200' 254 00 0 00 000222' JRST TTINX
267
268 000201' 302 01 0 00 000023 TTIN6: CAIE AC1,XOFF ;XOFF ?
269 000202' 254 00 0 00 000205' JRST TTIN3
270 000203' 476 00 0 00 000441' SETOM XOFFLG ;Yes, stop output
271 000204' 254 00 0 00 000222' JRST TTINX
272
273 000205' 302 01 0 00 000021 TTIN3: CAIE AC1,XON ;Xon ?
274 000206' 254 00 0 00 000211' JRST TTIN5
275 000207' 402 00 0 00 000441' SETZM XOFFLG ;Yes, allow output
276 000210' 254 00 0 00 000222' JRST TTINX
277
278 000211' 200 00 0 00 000452' TTIN5: MOVE AC0,IBUFCT ;Get terminal input pointers
279 000212' 317 00 0 00 010314' CAMG AC0,CBUFSZ ;Pointer beyond buff size?
280 000213' 254 00 0 00 000216' JRST TTIN4 ; no
281 000214' 037 01 0 00 015720' PMSG <^WARNING...INPUT BUFFER POINTER BEYOND BUFF LENGTH^>
282 000215' 254 00 0 00 000222' JRST TTINX
283
284 000216' 136 01 0 00 000005 TTIN4: IDPB AC1,AC5 ;Deposit byte in TTIBUF
285 000217' 350 00 0 00 000452' AOS IBUFCT ;bump pointer
286 000220' 476 00 0 00 000443' SETOM CHRFLG
287 000221' 254 00 0 00 000162' JRST TTIN7 ;see if tty buffer empty
288
289 000222' 262 17 0 00 000000 TTINX: GETIT <AC0,AC1> ;Restore ac's
290 000223' 262 17 0 00 000001
291 000224' 104 00 0 00 000136 DEBRK ;dismiss interrupt
292
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 9
RMTCNM MAC 10-Jun-85 15:20 RCSND INTERRUPT HANDLER SEQ 0088
293 SUBTTL RCSND INTERRUPT HANDLER
294 ;#*****************************************************************************
295 ; Take chars from the input buffer (TTIBUF) & pass them to PLUTO
296 ; via the RCSND LLMOP.
297 ; RCSND sets the argument block (RCSNDB+.LMREQ) to interrupt when RCPOL arrives
298 ;#*****************************************************************************
299
300 000225' 261 17 0 00 000001 RCSEND: PUTIT <AC1,AC0> ;Save some ac's
301 000226' 261 17 0 00 000000
302 000227' 336 00 0 00 015070' SKIPN DBGFLG ;Debug?
303 000230' 254 00 0 00 000245' JRST RCS4 ; no
304
305 000231' 200 05 0 00 015700' MOVE AC5,[POINT 8,TTIBUF] ;Yes, fake it!
306 000232' 200 06 0 00 015731' MOVE AC6,[POINT 8,TTOBUF]
307
308 000233' 200 00 0 00 000452' MOVE AC0,IBUFCT
309 000234' 202 00 0 00 000453' MOVEM AC0,OBUFCT ;For later use by RCPOLL
310
311 000235' 336 00 0 00 000452' SKIPN IBUFCT ;Any input?
312 000236' 254 00 0 00 000256' JRST RCSX ; no, dismiss interrupt
313
314 000237' 134 00 0 00 000005 RCS2: ILDB AC0,AC5 ;Yes, put TTIBUF char in ac0
315 000240' 136 00 0 00 000006 IDPB AC0,AC6 ;then to TTOBUF
316
317 000241' 372 00 0 00 000452' SOSE IBUFCT ;any chars left?
318 000242' 254 00 0 00 000237' JRST RCS2 ; yes, do again
319
320 000243' 200 05 0 00 015700' MOVE AC5,[POINT 8,TTIBUF] ;No, init input buffer pointer
321 000244' 254 00 0 00 000256' JRST RCSX ; & dismiss interrupt
322
323 000245' 200 00 0 00 015700' RCS4: MOVE AC0,[POINT 8,TTIBUF]
324 000246' 200 01 0 00 000452' MOVE AC1,IBUFCT
325 000247' 261 16 0 00 000000 PUSHD <AC0,AC1> ;Buffer ptr & Byte Count for RCSND
326 000250' 261 16 0 00 000001
327 000251' 260 17 0 00 010744' GO RCSND ;Do Send Console Command jsys
328 000252' 254 00 0 00 000261' JRST RCS6 ; Jsys error return
329 000253' 262 16 0 00 015072' POPD SREQN ;Save req # (not used)
330
331 000254' 402 00 0 00 000452' SETZM IBUFCT ;re-init byte counter
332 000255' 200 05 0 00 015700' MOVE AC5,[POINT 8,TTIBUF] ; & init input buffer pointer
333
334 000256' 262 17 0 00 000000 RCSX: GETIT <AC0,AC1> ;Restore ac's
335 000257' 262 17 0 00 000001
336 000260' 104 00 0 00 000136 DEBRK ;dismiss interrupt
337
338
339 000261' 037 01 0 00 015732' RCS6: PMSG <^.RCSND JSYS F[AILURE - ^>
340 000262' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
341 000263' 254 00 0 00 000256' JRST RCSX ;dismiss interrupt
342
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 10
RMTCNM MAC 10-Jun-85 15:20 RCPOL INTERRUPT HANDLER SEQ 0089
343 SUBTTL RCPOL INTERRUPT HANDLER
344 ;#**************************************************************************
345 ; Do RCPOL, put response into output buffer (TTOBUF) & display it.
346 ;#**************************************************************************
347
348 000264' 261 17 0 00 000002 RCPOLL: PUTIT <AC2,AC1,AC0> ;Save some ac's
349 000265' 261 17 0 00 000001
350 000266' 261 17 0 00 000000
351 000267' 336 00 0 00 015070' SKIPN DBGFLG ;Debug?
352 000270' 254 00 0 00 000273' JRST RCP7 ; no
353 000271' 402 00 0 00 015324' SETZM CMDPND ;Yes, clear flag
354 000272' 254 00 0 00 000334' JRST RCP5 ; & skip RCPOLL
355
356 000273' 336 00 0 00 015324' RCP7: SKIPN CMDPND ;Command pending?
357 000274' 254 00 0 00 000356' JRST RCPX ; No, unrecognized request...exit
358
359 000275' 200 00 0 00 015731' MOVE AC0,[POINT 8,TTOBUF] ;Yes
360 000276' 200 01 0 00 010315' MOVE AC1,RBUFSZ ;Response buffer size
361 000277' 261 16 0 00 000000 PUSHD <AC0,AC1> ;Buff ptr & useable buff len for RCPOL
362 000300' 261 16 0 00 000001
363 000301' 260 17 0 00 011030' GO RCPOL ;Do Console Response Poll jsys
364 000302' 254 00 0 00 000362' JRST RCP2 ; jsys error return
365 000303' 200 00 0 00 011076' MOVE AC0,RCPOLB+.LMCID ;Get flags
366
367 000304' 200 01 0 00 000446' MOVE AC1,MNOFLG ;Get Msg # flag
368 000305' 606 01 0 00 000001 TRNN AC1,1B35 ;Skip if should test for LM%MNO = 1
369 000306' 254 00 0 00 000312' JRST RCP1 ; else test for LM%MNO = 0
370
371 000307' 607 00 0 00 000001 TLNN AC0,(LM%MNO)
372 000310' 254 00 0 00 000330' JRST RCP6 ;Invoke RCSEND again (must transact)
373 000311' 254 00 0 00 000314' JRST RCP3
374
375 000312' 603 00 0 00 000001 RCP1: TLNE AC0,(LM%MNO)
376 000313' 254 00 0 00 000330' JRST RCP6 ;Invoke RCSEND again (must transact)
377
378 000314' 402 00 0 00 015324' RCP3: SETZM CMDPND ;Clear command pending
379 000315' 603 00 0 00 000002 TLNE AC0,(LM%CDL)
380 000316' 037 01 0 00 015737' PMSG <^RCPOL S[TATUS - [C[OMMAND [D[ATA [L[OST^>
381 000317' 603 00 0 00 000004 TLNE AC0,(LM%RDO)
382 000320' 037 01 0 00 015746' PMSG <^RCPOL S[TATUS - [R[ESPONSE [D[ATA [L[OST^>
383 000321' 603 00 0 00 002000 TLNE AC0,(LM%RDL)
384 000322' 037 01 0 00 015756' PMSG <^RCPOL S[TATUS - [R[ECEIVE [D[ATA [L[OST^>
385 000323' 554 00 0 00 011102' HLRZ AC0,RCPOLB+.LMRBL ;Get returned message length
386 000324' 202 00 0 00 000453' MOVEM AC0,OBUFCT ; & put in output buff char count
387
388 000325' 313 00 0 00 010315' CAMLE AC0,RBUFSZ ;Pointer beyond buffer size?
389 PMSG <^WARNING...RCPOLL RET MSG LEN GREATER THAN AVAIL RESP BUFF SIZE...PGM MAY B
390 000326' 037 01 0 00 015765' E OVERLAID^>
391 000327' 254 00 0 00 000334' JRST RCP5
392 ; *** MUST TRANSACT ***
393
394 000330' 201 01 0 00 400000 RCP6: MOVEI AC1,.FHSLF ;Repeat RCSEND
395 000331' 200 02 0 00 015715' MOVE AC2,[1B0] ; on channel 0
396 000332' 104 00 0 00 000132 IIC ;Initiate Interrupt
397 000333' 254 00 0 00 000356' JRST RCPX ; & exit
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 11
RMTCNM MAC 10-Jun-85 15:20 RCPOL INTERRUPT HANDLER SEQ 0090
398
399 ;#****************************************************************************
400 ; Display TTOBUF
401 ;#****************************************************************************
402
403 000334' 200 06 0 00 015731' RCP5: MOVE AC6,[POINT 8,TTOBUF] ;Init output buffer pointer
404
405 000335' 201 01 0 00 000101 RCP4: MOVEI AC1,.PRIOU ;Do actual display
406 000336' 104 00 0 00 000175 SOBF ;Is output buffer full? (def by .PRIOU)
407 000337' 334 00 0 00 000000 SKIPA ;No
408 000340' 254 00 0 00 000335' JRST RCP4 ; Yes, have to wait
409
410 000341' 375 00 0 00 000453' SOSGE OBUFCT ;Decr & see if any chars to display?
411 000342' 254 00 0 00 000356' JRST RCPX ; no, exit
412 000343' 134 01 0 00 000006 ILDB AC1,AC6 ;Yes, put char in ac1
413 000344' 322 01 0 00 000335' JUMPE AC1,RCP4 ;Ignore nulls
414
415 000345' 332 00 0 00 000441' SKIPE XOFFLG ;XOFF set?
416 000346' 254 00 0 00 000345' JRST .-1 ; yes, loop until cleared by TTYINP
417 ; (priority 1)
418 000347' 104 00 0 00 000074 PBOUT ;No, print (ac1) on users terminal
419
420 000350' 200 02 0 00 000001 MOVE AC2,AC1 ;Byte to output
421 000351' 200 01 0 00 000000* MOVE AC1,P%DJFN ;Dest designation
422 000352' 332 00 0 00 015066' SKIPE LOGFLG
423 000353' 104 00 0 00 000051 BOUT ;Put in log (def by P%DJFN)
424 000354' 320 17 0 00 000365' ERCAL TTBERR
425 000355' 254 00 0 00 000335' JRST RCP4 ;Do next char
426
427 000356' 262 17 0 00 000000 RCPX: GETIT <AC0,AC1,AC2> ;Restore ac's
428 000357' 262 17 0 00 000001
429 000360' 262 17 0 00 000002
430 000361' 104 00 0 00 000136 DEBRK ;dismiss interrupt
431
432
433 000362' 037 01 0 00 016004' RCP2: PMSG <^.RCPOL JSYS F[AILURE - ^>
434 000363' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
435 000364' 254 00 0 00 000356' JRST RCPX ;dismiss interrupt
436
437
438 TTBERR: TMSG <
439 LOG OUTPUT ERROR - LOGGING STOPPED
440 000365' 561 01 0 00 016011' >
441 000366' 104 00 0 00 000076
442 000367' 402 00 0 00 015066' SETZM LOGFLG
443 000370' 402 00 0 00 000000* SETZM CONSW
444 000371' 037 05 0 00 000003 DROPDV
445 000372' 263 17 0 00 000000 RTN
446
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 12
RMTCNM MAC 10-Jun-85 15:20 SAVE/RESTORE TERMINAL PARAMETERS SEQ 0091
447 SUBTTL SAVE/RESTORE TERMINAL PARAMETERS
448 ;#************************************************************************
449
450 ;Save original controlling terminal parameters
451 ;Called from beginning of RMTCNM
452
453 000373' 201 01 0 00 777777 CTSAVE: MOVEI AC1,.CTTRM ;get specified terminal
454 000374' 104 00 0 00 000107 RFMOD ;get its JFN mode word
455 000375' 320 17 0 00 000025' ERJSYS
456 000376' 202 02 0 00 000434' MOVEM AC2,CTMOD ; & save it for restore below
457
458 000377' 104 00 0 00 000112 RFCOC ;get control char output (cont words)
459 000400' 320 17 0 00 000025' ERJSYS
460 000401' 124 02 0 00 000435' DMOVEM AC2,CTCOC ; & save 'em for restore below
461 000402' 263 17 0 00 000000 RTN
462
463 ;Restore original controlling terminal parameters
464 ;Called from "QUIT" in RMTCNP
465
466 000403' 201 01 0 00 777777 CTRSTR: MOVEI AC1,.CTTRM ;get specified terminal
467 000404' 200 02 0 00 000434' MOVE AC2,CTMOD ;get saved JFN mode word
468 000405' 104 00 0 00 000110 SFMOD ; restore orig program related modes
469 000406' 104 00 0 00 000217 STPAR ; restore orig device related modes
470
471 000407' 120 02 0 00 000435' DMOVE AC2,CTCOC ;get saved control char output
472 000410' 104 00 0 00 000113 SFCOC ; restore orig back
473 000411' 263 17 0 00 000000 RTN
474
475
476 ; TIMER INTERRUPT HANDLER
477 ;#**************************************************************************
478
479 000412' 350 00 0 00 000444' ETIME: AOS TIMINT ;Set reservation time up flag
480 000413' 260 17 0 00 000415' GO INITIM ;Init reservation timer
481 000414' 104 00 0 00 000136 DEBRK ;Dismiss interrupt
482
483
484 ; INITIALIZE RESERVATION TIMER
485 ;#****************************************************************************
486
487 000415' 261 17 0 00 000003 INITIM: PUTIT <AC3,AC2,AC1> ;Save some ac's
488 000416' 261 17 0 00 000002
489 000417' 261 17 0 00 000001
490 000420' 200 01 0 00 016021' MOVE AC1,[.FHSLF,,.TIMAL] ;Process handle,,reset timer interrupt
491 000421' 104 00 0 00 000522 TIMER
492 000422' 037 01 0 00 016022' PMSG <^ERROR IN TIMER JSYS^>
493 000423' 200 01 0 00 016026' MOVE AC1,[.FHSLF,,.TIMEL] ;Process handle,,do elapsed time
494 000424' 200 02 0 00 000447' MOVE AC2,RESTIM ;Reservation timer from SYS-ID (RESCON)
495 000425' 201 03 0 00 000003 MOVEI AC3,3 ;Interrupt on channel 3
496 000426' 104 00 0 00 000522 TIMER ;Invoke timer jsys
497 000427' 037 01 0 00 016022' PMSG <^ERROR IN TIMER JSYS^>
498 000430' 262 17 0 00 000001 GETIT <AC1,AC2,AC3> ;Restore ac's
499 000431' 262 17 0 00 000002
500 000432' 262 17 0 00 000003
501 000433' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 13
RMTCNM MAC 10-Jun-85 15:20 SAVE/RESTORE TERMINAL PARAMETERS SEQ 0092
502
503 SUBTTL REMOTE TERMINAL STORAGE
504 ;#*************************************************************************
505
506 000434' 000000 000000 CTMOD: 0 ;Controlling terminal parameters
507 000435' 000000 000000 CTCOC: 0 ;Controlling terminal coc
508 000436' 000000 000000 0 ; "
509 000437' 000000 000000 TTMOD: 0 ;Terminal parameters
510 000440' 000000 000000 TTIWD: 0 ;Terminal interrupt word
511
512 000441' 000000 000000 XOFFLG: 0 ;Xoff flag. enabled = -1
513 000442' 000000 000000 BRKFLG: 0 ;Break flag. enabled = -1
514 000443' 000000 000000 CHRFLG: 0 ;Received character flag
515 000444' 000000 000000 TIMINT: 0 ;Timer interrupt counter
516 000445' 000000 000000 EXTFLG: 0 ;Received exit character flag
517 000446' 000000 000000 MNOFLG: 0 ;Message Number flag
518 ;Alternate between 0 & 1 in RCSND
519 ;Should receive same sense in RCPOL
520 000447' 000000 000000 RESTIM: 0 ;Reservation timer from SYS-ID (RESCON)
521
522 000450' 000000 000000 TO$FORK:0 ;Terminal output fork handle
523 000451' 000000 000000 NI$FORK:0 ;"NI" Fork handle
524
525 000452' 000000 000000 IBUFCT: 0 ;Terminal input buffer char counter
526 000453' 000000 000000 OBUFCT: 0 ;Terminal output buffer char counter
527
528 000454' TTIBUF: BLOCK BUFSIZ ;Terminal input buffer (command buffer)
529 004374' TTOBUF: BLOCK BUFSIZ ;Terminal output buffer (response buff)
530 010313' TABLEN= .-1 ;Table length
531
532 010314' 000000 000620 CBUFSZ: ^D400 ;Default values...will be modified
533 010315' 000000 001750 RBUFSZ: ^D1000 ; in RESCON
534
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 14
RMTCNM MAC 10-Jun-85 15:20 INTERRUPT CHANNEL & LEVEL TABLES SEQ 0093
535 SUBTTL INTERRUPT CHANNEL & LEVEL TABLES
536 ;#****************************************************************************
537
538 010316' 000001 000225' CHNTAB: 1,,RCSEND ;Chan 0 priority 1,,service routine
539 010317' 000003 000264' 3,,RCPOLL ;Chan 1 priority 3
540 010320' 000002 000160' 2,,TTYINP ;Chan 2 priority 2
541 010321' 000003 000412' 3,,ETIME ;Chan 3 priority 3
542 REPEAT ^D32,<0> ;Zero rest of table
543 010322' 000000 000000
544 010323' 000000 000000
545 010324' 000000 000000
546 010325' 000000 000000
547 010326' 000000 000000
548 010327' 000000 000000
549 010330' 000000 000000
550 010331' 000000 000000
551 010332' 000000 000000
552 010333' 000000 000000
553 010334' 000000 000000
554 010335' 000000 000000
555 010336' 000000 000000
556 010337' 000000 000000
557 010340' 000000 000000
558 010341' 000000 000000
559 010342' 000000 000000
560 010343' 000000 000000
561 010344' 000000 000000
562 010345' 000000 000000
563 010346' 000000 000000
564 010347' 000000 000000
565 010350' 000000 000000
566 010351' 000000 000000
567 010352' 000000 000000
568 010353' 000000 000000
569 010354' 000000 000000
570 010355' 000000 000000
571 010356' 000000 000000
572 010357' 000000 000000
573 010360' 000000 000000
574 010361' 000000 000000
575
576 010362' 000000 010365' LEVTAB: 0,,PCSND ;Addr to save PC for priority lev 1
577 010363' 000000 010367' 0,,PCTTY ; ditto for lev 2
578 010364' 000000 010371' 0,,PCPOLL ; ditto for lev 3
579
580 010365' 000000 000000 PCSND: 0 ;Ret addr for lev 1 - RCSEND
581 010366' 000000 000000 0 ; use 2 words for possible ext address
582 010367' 000000 000000 PCTTY: 0 ;Ret addr for lev 2 - TTYINP
583 010370' 000000 000000 0
584 010371' 000000 000000 PCPOLL: 0 ;Ret addr for lev 3 - RCPOLL & ETIME
585 010372' 000000 000000 0
586
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 15
RMTCNM MAC 10-Jun-85 15:20 RCRID SUBROUTINE SEQ 0094
587 SUBTTL RCRID SUBROUTINE
588 ;#*************************************************************************
589 ;* RCRID subroutine
590 ;
591 ; Send a Request Identity LLMOP to the dest address node on the Ethernet.
592 ;
593 ; Return +1 if a jsys error occurs.
594 ; Return +2 if successful...the data stack will contain the Request Number
595 ; for later .RCRPY/.RCABT/.RCSTS calls.
596 ;#**********************************************************************
597
598 010373' 261 17 0 00 000002 RCRID: PUTIT <AC2,AC1,AC0> ;Save some acs
599 010374' 261 17 0 00 000001
600 010375' 261 17 0 00 000000
601 ;Fill .rcrid jsys arg block
602
603 010376' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
604 010377' 202 00 0 00 010435' MOVEM RCRIDB+.LMCID
605
606 010400' 120 00 0 00 015046' DMOVE AC0,NODADH ;Put hi/lo dest addr in
607 010401' 124 00 0 00 010436' DMOVEM AC0,RCRIDB+.LMDST ; jsys arg block
608
609 010402' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
610 010403' 254 00 0 00 010411' JRST RCRID1 ; No
611
612 ;Print the node address
613
614 010404' 037 01 0 00 016027' PMSG <R[EQUESTING [ID[ OF NODE ADDRESS: >
615 010405' 261 16 0 00 015046' PUSHD <NODADH> ;Push hex digits 1-8
616 010406' 261 16 0 00 015047' PUSHD <NODADL> ;Push hex digits 9-12
617 010407' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
618 010410' 037 03 0 00 000001 PCRLF
619
620 010411' 201 01 0 00 000006 RCRID1: MOVEI AC1,.RCRID ;Get function code
621 010412' 201 02 0 00 010435' MOVEI AC2,RCRIDB ;Set up pointer to .Rcrid jsys block
622 010413' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
623 010414' 254 00 0 00 010432' JRST RCRID4 ;Error return
624 010415' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 16
RMTCNM MAC 10-Jun-85 15:20 RCRID SUBROUTINE SEQ 0095
625
626 010416' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
627 010417' 254 00 0 00 010424' JRST RCRID2 ; No
628
629 010420' 037 01 0 00 016035' PMSG <.....R[EQUEST # >
630 010421' 550 00 0 00 010440' HRRZ AC0,RCRIDB+.LMREQ ;Get request number
631 010422' 037 15 0 00 000000 PNTDEC
632 010423' 037 03 0 00 000001 PCRLF
633
634 010424' 550 00 0 00 010440' RCRID2: HRRZ AC0,RCRIDB+.LMREQ
635 010425' 261 16 0 00 000000 PUSHD <AC0> ;Push Req # on data stack
636
637 010426' 262 17 0 00 000000 RCRID3: GETIT <AC0,AC1,AC2> ;Restore acs
638 010427' 262 17 0 00 000001
639 010430' 262 17 0 00 000002
640 010431' 263 17 0 00 000000 RTN
641
642 ;Jsys failure comes here
643
644 010432' 037 01 0 00 016040' RCRID4: PMSG <^.RCRID JSYS F[AILURE - ^>
645 010433' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
646 010434' 254 00 0 00 010426' JRST RCRID3 ;Take jsys error return
647
648 ;.Rcrid jsys argument block
649
650 010435' 000000 000000 RCRIDB: 0 ;Channel id (port number)
651 010436' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
652 010437' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
653 010440' 000000 000000 0 ;Int chan #,,Request number ret by jsys
654 ;Int chan #...0 = no interrupt
655 ;Req # for .RCRPY/.RCABT/.RCSTS
656
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 17
RMTCNM MAC 10-Jun-85 15:20 RCRCT SUBROUTINE SEQ 0096
657 SUBTTL RCRCT SUBROUTINE
658 ;#*************************************************************************
659 ;* RCRCT subroutine
660 ;
661 ; Send a Read Counters LLMOP to the dest address node on the Ethernet.
662 ;
663 ; Return +1 if a jsys error occurs.
664 ; Return +2 if successful...the data stack will contain the Request Number
665 ; for later .RCRPY/.RCABT/.RCSTS calls.
666 ;#**********************************************************************
667
668 010441' 261 17 0 00 000002 RCRCT: PUTIT <AC2,AC1,AC0> ;Save some acs
669 010442' 261 17 0 00 000001
670 010443' 261 17 0 00 000000
671 ;Fill .rcrct jsys arg block
672
673 010444' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
674 010445' 202 00 0 00 010503' MOVEM RCRCTB+.LMCID
675
676 010446' 120 00 0 00 015046' DMOVE AC0,NODADH ;Put hi/lo dest addr in
677 010447' 124 00 0 00 010504' DMOVEM AC0,RCRCTB+.LMDST ; jsys arg block
678
679 010450' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
680 010451' 254 00 0 00 010457' JRST RCRCT1 ; No
681
682 ;Print the node address
683
684 010452' 037 01 0 00 016045' PMSG <R[EADING [C[OUNTERS OF NODE ADDRESS: >
685 010453' 261 16 0 00 015046' PUSHD <NODADH> ;Push hex digits 1-8
686 010454' 261 16 0 00 015047' PUSHD <NODADL> ;Push hex digits 9-12
687 010455' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
688 010456' 037 03 0 00 000001 PCRLF
689
690 010457' 201 01 0 00 000007 RCRCT1: MOVEI AC1,.RCRCT ;Get function code
691 010460' 201 02 0 00 010503' MOVEI AC2,RCRCTB ;Set up pointer to .rcrct jsys block
692 010461' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
693 010462' 254 00 0 00 010500' JRST RCRCT4 ;Error return
694 010463' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 18
RMTCNM MAC 10-Jun-85 15:20 RCRCT SUBROUTINE SEQ 0097
695
696 010464' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
697 010465' 254 00 0 00 010472' JRST RCRCT2 ; No
698
699 010466' 037 01 0 00 016035' PMSG <.....R[EQUEST # >
700 010467' 550 00 0 00 010506' HRRZ AC0,RCRCTB+.LMREQ ;Get request number
701 010470' 037 15 0 00 000000 PNTDEC
702 010471' 037 03 0 00 000001 PCRLF
703
704 010472' 550 00 0 00 010506' RCRCT2: HRRZ AC0,RCRCTB+.LMREQ
705 010473' 261 16 0 00 000000 PUSHD <AC0> ;Push Req # on data stack
706
707 010474' 262 17 0 00 000000 RCRCT3: GETIT <AC0,AC1,AC2> ;Restore acs
708 010475' 262 17 0 00 000001
709 010476' 262 17 0 00 000002
710 010477' 263 17 0 00 000000 RTN
711
712 ;Jsys failure comes here
713
714 010500' 037 01 0 00 016054' RCRCT4: PMSG <^.RCRCT JSYS F[AILURE - ^>
715 010501' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
716 010502' 254 00 0 00 010474' JRST RCRCT3 ;Take jsys error return
717
718 ;.rcrct jsys argument block
719
720 010503' 000000 000000 RCRCTB: 0 ;Channel id (port number)
721 010504' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
722 010505' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
723 010506' 000000 000000 0 ;Int chan #,,Request number ret by jsys
724 ;Int chan #...0 = no interrupt
725 ;Req # for .RCRPY/.RCABT/.RCSTS
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 19
RMTCNM MAC 10-Jun-85 15:20 RCRBT SUBROUTINE SEQ 0098
726 SUBTTL RCRBT SUBROUTINE
727 ;#*************************************************************************
728 ;* RCRBT subroutine
729 ;
730 ; Send a Remote Boot LLMOP to the dest address node on the Ethernet
731 ; to load Console Carrier ucode into PLUTO
732 ;
733 ; Return +1 if a jsys error occurs.
734 ; Return +2 if successful
735 ;#**********************************************************************
736
737 010507' 261 17 0 00 000002 RCRBT: PUTIT <AC2,AC1,AC0> ;Save some acs
738 010510' 261 17 0 00 000001
739 010511' 261 17 0 00 000000
740 ;Fill .rcrbt jsys arg block
741
742 010512' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
743 010513' 202 00 0 00 010550' MOVEM RCRBTB+.LMCID
744
745 010514' 120 00 0 00 015042' DMOVE AC0,TARADH ;Put hi/lo dest addr in
746 010515' 124 00 0 00 010551' DMOVEM AC0,RCRBTB+.LMDST ; jsys arg block
747
748 010516' 120 00 0 00 015052' DMOVE AC0,PWORDH ;Put password in
749 010517' 124 00 0 00 010553' DMOVEM RCRBTB+.LMPWD ; jsys arg block
750
751 010520' 200 00 0 00 016061' MOVE AC0,[1B35] ;Put control info - boot comm proc
752 010521' 202 00 0 00 010555' MOVEM AC0,RCRBTB+.LMCIF ; in jsys arg block
753
754 010522' 402 00 0 00 010556' SETZM RCRBTB+.LMDID ;Device ID
755
756 010523' 200 00 0 00 016062' MOVE AC0,[POINT 8,RBTSID] ;Put pointer to Software ID
757 010524' 202 00 0 00 010557' MOVEM AC0,RCRBTB+.LMSID ; in jsys arg block
758
759 010525' 336 00 0 00 015065' SKIPN TRCFLG ;Trace enabled ?
760 010526' 254 00 0 00 010534' JRST RCRBT1 ; No
761
762 ;Print the node address
763
764 010527' 037 01 0 00 016063' PMSG <B[OOT [I[SSUED TO [TARGET NODE ADDRESS: >
765 010530' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
766 010531' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
767 010532' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
768 010533' 037 03 0 00 000001 PCRLF
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 20
RMTCNM MAC 10-Jun-85 15:20 RCRBT SUBROUTINE SEQ 0099
769
770 010534' 201 01 0 00 000011 RCRBT1: MOVEI AC1,.RCRBT ;Get function code
771 010535' 201 02 0 00 010550' MOVEI AC2,RCRBTB ;Set up pointer to .RCRBT jsys block
772 010536' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
773 010537' 254 00 0 00 010545' JRST RCRBT4 ;Error return
774 010540' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
775
776 010541' 262 17 0 00 000000 RCRBT3: GETIT <AC0,AC1,AC2> ;Restore acs
777 010542' 262 17 0 00 000001
778 010543' 262 17 0 00 000002
779 010544' 263 17 0 00 000000 RTN
780
781 ;Jsys failure comes here
782
783 010545' 037 01 0 00 016072' RCRBT4: PMSG <^.RCRBT JSYS F[AILURE - ^>
784 010546' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
785 010547' 254 00 0 00 010541' JRST RCRBT3 ;Take jsys error return
786
787 ;.RCRBT jsys argument block
788
789 010550' 000000 000000 RCRBTB: 0 ;Channel id (port number)
790 010551' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
791 010552' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
792 010553' 000000 000000 0 ;PLUTO password (hi bytes 7,6,5,4,z)
793 010554' 000000 000000 0 ;PLUTO password (lo bytes 3,2,1,0,z)
794 010555' 000000 000000 0 ;Control information
795 010556' 000000 000000 0 ;Pointer to Device-id
796 010557' 000000 000000 0 ;Pointer to Software-id
797
798 010560' 000000 000000 RBTDID: 0 ;8 bit byte string for Device ID
799 010561' 776000 000000 RBTSID: 377B7 ; " " " " Software ID
800
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 21
RMTCNM MAC 10-Jun-85 15:20 RCRPY SUBROUTINE SEQ 0100
801 SUBTTL RCRPY SUBROUTINE
802 ;#****************************************************************************
803 ;* RCRPY subroutine
804 ;
805 ; Do REMOTE CONSOLE REPLY to a REQUEST-ID or READ COUNTERS LLMOP.
806 ;
807 ; 1. Push the Request Number on the data stack (from .RCRID/.RCRCT).
808 ; 2. Call this routine via "GO RCRPY".
809 ; 3. Return +1 If a jsys error occured.
810 ; Return +2 If successful.
811 ; 4. If successful, RCRPYB+.LMRBL will contain the Remote Console Buffer
812 ; Message Length returned by the jsys.
813 ;#****************************************************************************
814
815 010562' 261 17 0 00 000002 RCRPY: PUTIT <AC2,AC1,AC0> ;Save some acs
816 010563' 261 17 0 00 000001
817 010564' 261 17 0 00 000000
818 ;Fill .rcrpy jsys arg block
819
820 010565' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
821 010566' 202 00 0 00 010624' MOVEM RCRPYB+.LMCID
822
823 010567' 262 16 0 00 010627' POPD <RCRPYB+.LMREQ> ;Req # from .RCRID/.RCRCT
824
825 010570' 200 00 0 00 010315' MOVE AC0,RBUFSZ ;Get response buffer size
826 010571' 202 00 0 00 010630' MOVEM AC0,RCRPYB+.LMRBL ; Put in .Rcrpy jsys block
827
828 010572' 200 00 0 00 015731' MOVE AC0,[POINT 8,TTOBUF] ;Get console output buffer ptr
829 010573' 202 00 0 00 010631' MOVEM AC0,RCRPYB+.LMRBP ; Put in .Rcrpy jsys block
830
831 010574' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
832 010575' 254 00 0 00 010602' JRST RCRPY1 ; No
833
834 010576' 037 01 0 00 016077' PMSG <^ R[EAD [CONSOLE REPLY [FOR REQUEST # >
835 010577' 200 00 0 00 010627' MOVE AC0,RCRPYB+.LMREQ ;Get request number
836 010600' 037 15 0 00 000000 PNTDEC
837 010601' 037 03 0 00 000001 PCRLF
838
839 010602' 201 01 0 00 000012 RCRPY1: MOVEI AC1,.RCRPY ;Get function code
840 010603' 201 02 0 00 010624' MOVEI AC2,RCRPYB ;Set up pointer to .Rcrpy jsys block
841 010604' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
842 010605' 254 00 0 00 010621' JRST RCRPY4 ;Jsys error return
843 010606' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 22
RMTCNM MAC 10-Jun-85 15:20 RCRPY SUBROUTINE SEQ 0101
844
845 010607' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
846 010610' 254 00 0 00 010615' JRST RCRPY3 ; No
847
848 010611' 037 01 0 00 016106' PMSG <.....R[ETURNED MESSAGE LENGTH = >
849 010612' 554 00 0 00 010630' HLRZ AC0,RCRPYB+.LMRBL ;Get message length
850 010613' 037 15 0 00 000000 PNTDEC
851 010614' 037 03 0 00 000001 PCRLF
852
853 010615' 262 17 0 00 000000 RCRPY3: GETIT <AC0,AC1,AC2> ;Restore acs
854 010616' 262 17 0 00 000001
855 010617' 262 17 0 00 000002
856 010620' 263 17 0 00 000000 RTN
857
858 ;Jsys failure comes here
859
860 010621' 037 01 0 00 016114' RCRPY4: PMSG <^.RCRPY JSYS F[AILURE - ^>
861 010622' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
862 010623' 254 00 0 00 010615' JRST RCRPY3 ;Take jsys error return
863
864 ;.Rcrpy jsys argument block
865
866 010624' 000000 000000 RCRPYB: 0 ;Channel-id (port number)
867 010625' 000000 000000 0 ;Source addr ret from BCAST/MCAST
868 010626' 000000 000000 0 ; " "
869 010627' 000000 000000 0 ;Request # from .RCRID/.RCRCT jsys ret.
870 010630' 000000 000000 0 ;Ret msg len,,Response Buffer Length
871 010631' 000000 000000 0 ;Response Buffer Pointer
872
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 23
RMTCNM MAC 10-Jun-85 15:20 RCRSV SUBROUTINE SEQ 0102
873 SUBTTL RCRSV SUBROUTINE
874 ;#*****************************************************************************
875 ;* RCRSV subroutine
876 ;
877 ; Send a RESERVE REMOTE CONSOLE LLMOP to the dest address node on the Ethernet
878 ;
879 ; Return +1 if a jsys error occurs.
880 ; Return +2 if successful.
881 ;#*****************************************************************************
882
883 010632' 261 17 0 00 000002 RCRSV: PUTIT <AC2,AC1,AC0> ;Save some acs
884 010633' 261 17 0 00 000001
885 010634' 261 17 0 00 000000
886 ;Fill .rcrsv jsys arg block
887
888 010635' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
889 010636' 202 00 0 00 010674' MOVEM RCRSVB+.LMCID
890
891 010637' 120 00 0 00 015042' DMOVE AC0,TARADH ;Put hi/lo dest addr in
892 010640' 124 00 0 00 010675' DMOVEM AC0,RCRSVB+.LMDST ; jsys arg block
893
894 010641' 120 00 0 00 015052' DMOVE AC0,PWORDH ;Get password, hi/lo bytes
895 010642' 124 00 0 00 010677' DMOVEM RCRSVB+.LMPWD
896
897 010643' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
898 010644' 254 00 0 00 010652' JRST RCRSV1 ; No
899
900 ;Print the node address
901
902 010645' 037 01 0 00 016121' PMSG <R[ESERVING [R[EMOTE [C[ONSOLE OF TARGET NODE ADDRESS: >
903 010646' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
904 010647' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
905 010650' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
906 010651' 037 03 0 00 000001 PCRLF
907
908 010652' 201 01 0 00 000013 RCRSV1: MOVEI AC1,.RCRSV ;Get function code
909 010653' 201 02 0 00 010674' MOVEI AC2,RCRSVB ;Set up pointer to .Rcrsv jsys block
910 010654' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
911 010655' 254 00 0 00 010671' JRST RCRSV4 ;Error return
912 010656' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 24
RMTCNM MAC 10-Jun-85 15:20 RCRSV SUBROUTINE SEQ 0103
913
914 010657' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
915 010660' 254 00 0 00 010665' JRST RCRSV3 ; No
916
917 010661' 037 01 0 00 016133' PMSG <.....P[ORT [ID # >
918 010662' 200 00 0 00 010674' MOVE AC0,RCRSVB+.LMCID ;Get port id number
919 010663' 037 15 0 00 000000 PNTDEC
920 010664' 037 03 0 00 000001 PCRLF
921
922 010665' 262 17 0 00 000000 RCRSV3: GETIT <AC0,AC1,AC2> ;Restore acs
923 010666' 262 17 0 00 000001
924 010667' 262 17 0 00 000002
925 010670' 263 17 0 00 000000 RTN
926
927 ;Jsys failure comes here
928
929 010671' 037 01 0 00 016136' RCRSV4: PMSG <^.RCRSV JSYS F[AILURE - ^>
930 010672' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
931 010673' 254 00 0 00 010665' JRST RCRSV3 ;Take jsys error return
932
933 ;.Rcrsv jsys argument block
934
935 010674' 000000 000000 RCRSVB: 0 ;Channel id (Port #)
936 010675' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
937 010676' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
938 010677' 000000 000000 0 ;PLUTO password (hi = bytes 7,6,5,4,z)
939 010700' 000000 000000 0 ;PLUTO password (lo = bytes 3,2,1,0,z)
940
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 25
RMTCNM MAC 10-Jun-85 15:20 RCREL SUBROUTINE SEQ 0104
941 SUBTTL RCREL SUBROUTINE
942 ;#*****************************************************************************
943 ;* RCREL subroutine
944 ;
945 ; Send a RELEASE REMOTE CONSOLE LLMOP to the dest address node on the Ethernet
946 ;
947 ; Return +1 if a jsys error occurs.
948 ; Return +2 if successful
949 ;#*****************************************************************************
950
951 010701' 261 17 0 00 000002 RCREL: PUTIT <AC2,AC1,AC0> ;Save some acs
952 010702' 261 17 0 00 000001
953 010703' 261 17 0 00 000000
954 ;Fill .rcrel jsys arg block
955
956 010704' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
957 010705' 202 00 0 00 010741' MOVEM RCRELB+.LMCID
958
959 010706' 120 00 0 00 015042' DMOVE AC0,TARADH ;Put hi/lo dest addr in
960 010707' 124 00 0 00 010742' DMOVEM AC0,RCRELB+.LMDST ; jsys arg block
961
962 010710' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
963 010711' 254 00 0 00 010652' JRST RCRSV1 ; No
964
965 ;Print the node address
966
967 010712' 037 01 0 00 016143' PMSG <R[ELEASING [R[EMOTE [C[ONSOLE OF TARGET NODE ADDRESS: >
968 010713' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
969 010714' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
970 010715' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
971 010716' 037 03 0 00 000001 PCRLF
972
973 010717' 201 01 0 00 000014 RCREL1: MOVEI AC1,.RCREL ;Get function code
974 010720' 201 02 0 00 010741' MOVEI AC2,RCRELB ;Set up pointer to .Rcrel jsys block
975 010721' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
976 010722' 254 00 0 00 010736' JRST RCREL4 ;Error return
977 010723' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 26
RMTCNM MAC 10-Jun-85 15:20 RCREL SUBROUTINE SEQ 0105
978
979 010724' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
980 010725' 254 00 0 00 010732' JRST RCREL3 ; No
981
982 010726' 037 01 0 00 016133' PMSG <.....P[ORT [ID # >
983 010727' 200 00 0 00 010741' MOVE AC0,RCRELB+.LMCID ;Get port id number
984 010730' 037 15 0 00 000000 PNTDEC
985 010731' 037 03 0 00 000001 PCRLF
986
987 010732' 262 17 0 00 000000 RCREL3: GETIT <AC0,AC1,AC2> ;Restore acs
988 010733' 262 17 0 00 000001
989 010734' 262 17 0 00 000002
990 010735' 263 17 0 00 000000 RTN
991
992 ;Jsys failure comes here
993
994 010736' 037 01 0 00 016155' RCREL4: PMSG <^.RCREL JSYS F[AILURE - ^>
995 010737' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
996 010740' 254 00 0 00 010732' JRST RCREL3 ;Take jsys error return
997
998 ;.Rcrel jsys argument block
999
1000 010741' 000000 000000 RCRELB: 0 ;Channel-id (Port #)
1001 010742' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
1002 010743' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
1003
1004
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 27
RMTCNM MAC 10-Jun-85 15:20 RCSND SUBROUTINE SEQ 0106
1005 SUBTTL RCSND SUBROUTINE
1006 ;#**********************************************************************
1007 ;* RCSND subroutine - SEND CONSOLE COMMAND
1008 ;
1009 ; This function sends ASCII console command data to the remote console
1010 ; & polls for response data. With no command data, this function may be
1011 ; used to poll for more response data without sending a command.
1012 ;
1013 ; 1. Put the Response Buffer Ptr & Response Buffer Length on the data stack.
1014 ; 2. Call this routine via "GO RCSND".
1015 ; 3. Return +1 if a jsys error occurs.
1016 ; Return +2 if successful...The data stack will contain the Request Number
1017 ; for later .RCPOL/.RCABT/.RCSTS calls.
1018 ;#**********************************************************************
1019
1020 010744' 261 17 0 00 000002 RCSND: PUTIT <AC2,AC1,AC0> ;Save some acs
1021 010745' 261 17 0 00 000001
1022 010746' 261 17 0 00 000000
1023 ;Fill .rcsnd jsys arg block
1024
1025 010747' 200 00 0 00 015041' MOVE PRTNBR ;get selected port number
1026 010750' 332 00 0 00 000442' SKIPE BRKFLG ;command break flag set?
1027 010751' 661 00 0 00 000002 TLO AC0,(LM%CBF) ; yes, set B1 for arg block
1028 010752' 661 00 0 00 000001 TLO AC0,(LM%MNO) ;assume flag = 1 for now
1029 010753' 200 01 0 00 000446' MOVE AC1,MNOFLG ;get message number flag
1030 010754' 606 01 0 00 000001 TRNN AC1,1B35 ;skip if = 1
1031 010755' 621 00 0 00 000001 TLZ AC0,(LM%MNO) ; else we assumed wrong
1032 010756' 202 00 0 00 011022' MOVEM RCSNDB+.LMCID ;put in arg block
1033 010757' 402 00 0 00 000442' SETZM BRKFLG ;clear flag for next time
1034
1035 010760' 120 00 0 00 015042' DMOVE AC0,TARADH ;Put hi/lo dest addr in
1036 010761' 124 00 0 00 011023' DMOVEM AC0,RCSNDB+.LMDST ; jsys arg block
1037
1038 010762' 400 00 0 00 000000 SETZ AC0, ;Assign interrupt channel (AIC) &
1039 010763' 661 00 0 00 400001 TLO AC0,(LM%AIC ! 1B17) ; response (RCPOLL) to interr on chan 1
1040 010764' 202 00 0 00 011025' MOVEM AC0,RCSNDB+.LMREQ ; & put in jsys arg block
1041
1042 010765' 262 16 0 00 011026' POPD <RCSNDB+.LMRBL,RCSNDB+.LMRBP>
1043 010766' 262 16 0 00 011027'
1044 010767' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1045 010770' 254 00 0 00 010776' JRST RCSND1 ; No
1046
1047 ;Print the target node address
1048
1049 010771' 037 01 0 00 016162' PMSG <S[ENDING TO [R[EMOTE [C[ONSOLE OF TARGET NODE ADDRESS: >
1050 010772' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
1051 010773' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
1052 010774' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
1053 010775' 037 03 0 00 000001 PCRLF
1054
1055 010776' 201 01 0 00 000015 RCSND1: MOVEI AC1,.RCSND ;Get function code
1056 010777' 201 02 0 00 011022' MOVEI AC2,RCSNDB ;Set up pointer to .Rcsnd jsys block
1057 011000' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
1058 011001' 254 00 0 00 011017' JRST RCSND4 ;Error return
1059 011002' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 28
RMTCNM MAC 10-Jun-85 15:20 RCSND SUBROUTINE SEQ 0107
1060
1061 011003' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1062 011004' 254 00 0 00 011011' JRST RCSND2 ; No
1063
1064 011005' 037 01 0 00 016035' PMSG <.....R[EQUEST # >
1065 011006' 550 00 0 00 011025' HRRZ AC0,RCSNDB+.LMREQ ;Get request number
1066 011007' 037 15 0 00 000000 PNTDEC
1067 011010' 037 03 0 00 000001 PCRLF
1068
1069 011011' 550 00 0 00 011025' RCSND2: HRRZ AC0,RCSNDB+.LMREQ
1070 011012' 261 16 0 00 000000 PUSHD <AC0> ;Push Req # on data stack
1071
1072 011013' 262 17 0 00 000000 RCSND3: GETIT <AC0,AC1,AC2> ;Restore acs
1073 011014' 262 17 0 00 000001
1074 011015' 262 17 0 00 000002
1075 011016' 263 17 0 00 000000 RTN
1076
1077 ;Jsys failure comes here
1078
1079 011017' 037 01 0 00 015732' RCSND4: PMSG <^.RCSND JSYS F[AILURE - ^>
1080 011020' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
1081 011021' 254 00 0 00 011013' JRST RCSND3 ;Take jsys error return
1082
1083 ;.Rcsnd jsys argument block
1084
1085 011022' 000000 000000 RCSNDB: 0 ;Cmd break flag,,Chan-id (port #)
1086 011023' 000000 000000 0 ;Dest addr (hi = byte 0,1,2,3,z)
1087 011024' 000000 000000 0 ;Dest addr (lo = byte 4,5,z,z,z)
1088 011025' 000000 000000 0 ;Int chan #,,Req # ret by jsys
1089 ;Int chan #... 0 = no interrupt
1090 ;req # for .RCPOL/.RCABT/.RCSTS calls
1091 011026' 000000 000000 0 ;Response Buffer Length
1092 011027' 000000 000000 0 ;Response Buffer Pointer
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 29
RMTCNM MAC 10-Jun-85 15:20 RCPOL SUBROUTINE SEQ 0108
1093 SUBTTL RCPOL SUBROUTINE
1094 ;#**********************************************************************
1095 ;* RCPOL subroutine - CONSOLE RESPONSE POLL
1096 ;
1097 ; This function polls for completion of the SEND CONSOLE COMMAND fuction.
1098 ;
1099 ; 1. Put the Response Buffer Ptr & Response Buffer Length on the data stack.
1100 ; 2. Call this routine via "GO RCPOL".
1101 ; 3. Return +1 if a jsys error occurs.
1102 ; Return +2 if successful.
1103 ; 4. Upon successful ret, RCPOLB+.LMRBL will contain the Remote Console Buffer
1104 ; Message Length returned by the jsys.
1105 ;#**********************************************************************
1106
1107 011030' 261 17 0 00 000002 RCPOL: PUTIT <AC2,AC1,AC0> ;Save some acs
1108 011031' 261 17 0 00 000001
1109 011032' 261 17 0 00 000000
1110 ;Fill .rcpol jsys arg block
1111
1112 011033' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
1113 011034' 202 00 0 00 011076' MOVEM RCPOLB+.LMCID
1114
1115 011035' 550 00 0 00 011025' HRRZ RCSNDB+.LMREQ ;Req # from .RCSND
1116 011036' 552 00 0 00 011101' HRRZM RCPOLB+.LMREQ ; to .RCPOL jsys block
1117
1118 011037' 262 16 0 00 011102' POPD <RCPOLB+.LMRBL,RCPOLB+.LMRBP>
1119 011040' 262 16 0 00 011103'
1120 011041' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1121 011042' 254 00 0 00 011050' JRST RCPOL1 ; No
1122
1123 ;Print the target node address
1124
1125 011043' 037 01 0 00 016174' PMSG <P[OLLING [R[EMOTE [C[ONSOLE OF TARGET NODE ADDRESS: >
1126 011044' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
1127 011045' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
1128 011046' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
1129 011047' 037 03 0 00 000001 PCRLF
1130
1131 011050' 201 01 0 00 000016 RCPOL1: MOVEI AC1,.RCPOL ;Get function code
1132 011051' 201 02 0 00 011076' MOVEI AC2,RCPOLB ;Set up pointer to .Rcpol jsys block
1133 011052' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
1134 011053' 254 00 0 00 011073' JRST RCPOL4 ;Error return
1135 011054' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 30
RMTCNM MAC 10-Jun-85 15:20 RCPOL SUBROUTINE SEQ 0109
1136
1137 011055' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1138 011056' 254 00 0 00 011067' JRST RCPOL3 ; No
1139
1140 011057' 037 01 0 00 016035' PMSG <.....R[EQUEST # >
1141 011060' 550 00 0 00 011101' HRRZ AC0,RCPOLB+.LMREQ ;Get request number
1142 011061' 037 15 0 00 000000 PNTDEC
1143 011062' 037 03 0 00 000001 PCRLF
1144
1145 011063' 037 01 0 00 016106' PMSG <.....R[ETURNED MESSAGE LENGTH = >
1146 011064' 554 00 0 00 011102' HLRZ AC0,RCPOLB+.LMRBL ;Get message length
1147 011065' 037 15 0 00 000000 PNTDEC
1148 011066' 037 03 0 00 000001 PCRLF
1149
1150 011067' 262 17 0 00 000000 RCPOL3: GETIT <AC0,AC1,AC2> ;Restore acs
1151 011070' 262 17 0 00 000001
1152 011071' 262 17 0 00 000002
1153 011072' 263 17 0 00 000000 RTN
1154
1155 ;Jsys failure comes here
1156
1157 011073' 037 01 0 00 016004' RCPOL4: PMSG <^.RCPOL JSYS F[AILURE - ^>
1158 011074' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
1159 011075' 254 00 0 00 011067' JRST RCPOL3 ;Take jsys error return
1160
1161 ;.Rcpol jsys argument block
1162
1163 011076' 000000 000000 RCPOLB: 0 ;Ret Data Lost Flags,,Chan-id (port #)
1164 011077' 000000 000000 0 ;not used
1165 011100' 000000 000000 0 ;not used
1166 011101' 000000 000000 0 ;Request # from .RCSND jsys ret.
1167 011102' 000000 000000 0 ;Ret msg len,,Response Buffer Length
1168 011103' 000000 000000 0 ;Response Buffer Pointer
1169
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 31
RMTCNM MAC 10-Jun-85 15:20 RCABT SUBROUTINE SEQ 0110
1170 SUBTTL RCABT SUBROUTINE
1171 ;#***************************************************************************
1172 ;* RCABT subroutine - ABORT OUTSTANDING REMOTE CONSOLE REQUEST.
1173 ;
1174 ; 1. Push the Request Number on the data stack (from .RCRID/.RCRCT/.RCSND)
1175 ; 2. Call this routine via "GO RCABT"
1176 ; 3. Return +1 If a jsys error occured.
1177 ; Return +2 If successful.
1178 ;#***************************************************************************
1179
1180 011104' 261 17 0 00 000002 RCABT: PUTIT <AC2,AC1,AC0> ;Save some ac's
1181 011105' 261 17 0 00 000001
1182 011106' 261 17 0 00 000000
1183 ;Fill .rcabt jsys arg block
1184
1185 011107' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
1186 011110' 202 00 0 00 011134' MOVEM RCABTB+.LMCID
1187
1188 011111' 262 16 0 00 011137' POPD <RCABTB+.LMREQ> ;Put Req # in jsys arg block
1189
1190 011112' 201 01 0 00 000020 MOVEI AC1,.RCABT ;Get function code
1191 011113' 201 02 0 00 011134' MOVEI AC2,RCABTB ;Set up pointer to .RCABT jsys block
1192 011114' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
1193 011115' 254 00 0 00 011131' JRST RCABT4 ;Error return
1194 011116' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
1195
1196 011117' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1197 011120' 254 00 0 00 011125' JRST RCABT3 ; No
1198
1199 011121' 037 01 0 00 016205' PMSG <^A[BORTED [R[EQUEST # >
1200 011122' 200 00 0 00 011137' MOVE AC0,RCABTB+.LMREQ ;Get request number
1201 011123' 037 15 0 00 000000 PNTDEC
1202 011124' 037 03 0 00 000001 PCRLF
1203
1204 011125' 262 17 0 00 000000 RCABT3: GETIT <AC0,AC1,AC2> ;Restore acs
1205 011126' 262 17 0 00 000001
1206 011127' 262 17 0 00 000002
1207 011130' 263 17 0 00 000000 RTN
1208
1209 ;Jsys failure comes here
1210
1211 011131' 037 01 0 00 016211' RCABT4: PMSG <^.RCABT JSYS F[AILURE - ^>
1212 011132' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
1213 011133' 254 00 0 00 011125' JRST RCABT3 ;Take jsys error return
1214
1215 ;.rcabt jsys argument block
1216
1217 011134' 000000 000000 RCABTB: 0 ;Channel-id
1218 011135' 000000 000000 0 ;Not used
1219 011136' 000000 000000 0 ;Not used
1220 011137' 000000 000000 0 ;Req # from .RCRID/.RCRCT/.RCSND
1221
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 32
RMTCNM MAC 10-Jun-85 15:20 RCSTS SUBROUTINE SEQ 0111
1222 SUBTTL RCSTS SUBROUTINE
1223 ;#**********************************************************************
1224 ;* RCSTS - OBTAIN REMOTE CONSOLE REQUEST STATUS
1225 ;
1226 ; 1. Put request number on the data stack from .RCRID/.RCRCT/.RCSND
1227 ; 2. Call this routine via "GO RCSTS".
1228 ; 3. Return +1 If a jsys error occured.
1229 ; Return +2 If successful
1230 ; 4. Upon successful return from the jsys, RCSTSB+.LMSTF will contain
1231 ; the status from the previous request.
1232 ;#**********************************************************************
1233
1234 011140' 261 17 0 00 000002 RCSTS: PUTIT <AC2,AC0> ;Save some ac's
1235 011141' 261 17 0 00 000000
1236 ;Fill .rcsts jsys arg block
1237
1238 011142' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
1239 011143' 202 00 0 00 011222' MOVEM RCSTSB+.LMCID
1240
1241 011144' 262 16 0 00 011225' POPD RCSTSB+.LMREQ ;Request number to .Rcsts jsys block
1242
1243 011145' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1244 011146' 254 00 0 00 011153' JRST RCSTS1 ; No
1245
1246 011147' 037 01 0 00 016216' PMSG <C[HECKING REQUEST # >
1247 011150' 200 00 0 00 011225' MOVE AC0,RCSTSB+.LMREQ ;Get request number
1248 011151' 037 15 0 00 000000 PNTDEC
1249 011152' 037 03 0 00 000001 PCRLF
1250
1251 011153' 201 01 0 00 000021 RCSTS1: MOVEI AC1,.RCSTS ;Get function code
1252 011154' 201 02 0 00 011222' MOVEI AC2,RCSTSB ;Set up pointer to .Rcsts jsys block
1253 011155' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
1254 011156' 254 00 0 00 011217' JRST RCSTS4 ;Error return
1255 011157' 350 00 0 17 777776 AOS -2(P) ;Bump return address for success return
1256
1257 011160' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1258 011161' 254 00 0 00 011214' JRST RCSTS3 ; No
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 33
RMTCNM MAC 10-Jun-85 15:20 RCSTS SUBROUTINE SEQ 0112
1259
1260 011162' 037 01 0 00 016222' PMSG <.....S[TATUS = >
1261 011163' 200 00 0 00 011223' MOVE AC0,RCSTSB+.LMSTF ;Get request status
1262 011164' 037 15 0 00 000000 PNTDEC ; & print it
1263
1264 011165' 200 00 0 00 011223' MOVE AC0,RCSTSB+.LMSTF ;Get again
1265 011166' 302 00 0 00 000000 CAIE AC0,.LMPND ;Pending?
1266 011167' 254 00 0 00 011172' JRST RCSTS5 ; no
1267 011170' 037 01 0 00 016225' PMSG < = P[ENDING>
1268 011171' 254 00 0 00 011213' JRST RCSTS2
1269
1270 011172' 302 00 0 00 000001 RCSTS5: CAIE AC0,.LMSUC ;Success?
1271 011173' 254 00 0 00 011176' JRST RCSTS6 ; no
1272 011174' 037 01 0 00 016227' PMSG < = S[UCCESS>
1273 011175' 254 00 0 00 011213' JRST RCSTS2
1274
1275 011176' 302 00 0 00 000002 RCSTS6: CAIE AC0,.LMABT ;Aborted?
1276 011177' 254 00 0 00 011202' JRST RCSTS7 ; no
1277 011200' 037 01 0 00 016231' PMSG < = A[BORTED>
1278 011201' 254 00 0 00 011213' JRST RCSTS2
1279
1280 011202' 302 00 0 00 000003 RCSTS7: CAIE AC0,.LMTXF ;Transmit failed?
1281 011203' 254 00 0 00 011206' JRST RCSTS8 ; no
1282 011204' 037 01 0 00 016233' PMSG < = T[RANSMIT [F[AILED>
1283 011205' 254 00 0 00 011213' JRST RCSTS2
1284
1285 011206' 302 00 0 00 000004 RCSTS8: CAIE AC0,.LMCCE ;Channel communication error?
1286 011207' 254 00 0 00 011212' JRST RCSTS9 ; no
1287 011210' 037 01 0 00 016237' PMSG < = C[HANNEL [C[OMMUNICATION [E[RROR>
1288 011211' 254 00 0 00 011213' JRST RCSTS2
1289
1290 011212' 037 01 0 00 016245' RCSTS9: PMSG < = U[NKNOWN [S[TATUS [T[YPE>
1291 011213' 037 03 0 00 000001 RCSTS2: PCRLF
1292
1293 011214' 262 17 0 00 000000 RCSTS3: GETIT <AC0,AC2> ;Restore AC's
1294 011215' 262 17 0 00 000002
1295 011216' 263 17 0 00 000000 RTN
1296
1297 011217' 037 01 0 00 016252' RCSTS4: PMSG <^.RCSTS JSYS F[AILURE - ^>
1298 011220' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
1299 011221' 254 00 0 00 011214' JRST RCSTS3 ;Take jsys error return
1300
1301 ;.Rcsts jsys argument block
1302
1303 011222' 000000 000000 RCSTSB: 0 ;Channel-id
1304 011223' 000000 000000 0 ;Status flags upon jsys return
1305 011224' 000000 000000 0 ;Channel status upon jsys return
1306 011225' 000000 000000 0 ;Req # from .RCRID/.RCRCT/.RCSND
1307
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 34
RMTCNM MAC 10-Jun-85 15:20 RCADR SUBROUTINE SEQ 0113
1308 SUBTTL RCADR SUBROUTINE
1309 ;#***************************************************************************
1310 ;* RCADR subroutine - READ LOCAL ADDRESS
1311 ;
1312 ; 1. Call this routine via "GO RCADR"
1313 ; 2. Return +1 If a jsys error occured.
1314 ; Return +2 If successful.
1315 ; 3. Return is immediate.
1316 ; Hardware & physical address will appear in the argument block upon
1317 ; successful return & the physical address stored in LOCADH/L.
1318 ;#***************************************************************************
1319
1320 011226' 261 17 0 00 000002 RCADR: PUTIT <AC2,AC1,AC0> ;Save some ac's
1321 011227' 261 17 0 00 000001
1322 011230' 261 17 0 00 000000
1323 011231' 200 00 0 00 015041' MOVE PRTNBR ;Selected port number
1324 011232' 202 00 0 00 011265' MOVEM RCADRB+.LMCID
1325
1326 011233' 201 01 0 00 000022 MOVEI AC1,.RCADR ;Get function code
1327 011234' 201 02 0 00 011265' MOVEI AC2,RCADRB ;Set up pointer to .rcadr arg block
1328 011235' 260 17 0 00 011272' GO $LLMOP ;Do "LLMOP"
1329 011236' 254 00 0 00 011262' JRST RCADR4 ;Error return
1330 011237' 350 00 0 17 777775 AOS -3(P) ;Bump return address for success return
1331
1332 011240' 120 00 0 00 011270' DMOVE AC0,RCADRB+.LMPYA ;Put returned physical addr in LOCADH/L
1333 011241' 124 00 0 00 015044' DMOVEM AC0,LOCADH
1334
1335 011242' 336 00 0 00 015065' SKIPN TRCFLG ;Trace enabled ?
1336 011243' 254 00 0 00 011256' JRST RCADR3 ; No
1337
1338 011244' 037 01 0 00 016257' PMSG <L[OCAL [P[HYSICAL [A[DDRESS = >
1339 011245' 261 16 0 00 015044' PUSHD <LOCADH,LOCADL>
1340 011246' 261 16 0 00 015045'
1341 011247' 260 17 0 00 011460' GO PRHEX
1342 011250' 037 03 0 00 000001 PCRLF
1343
1344 011251' 037 01 0 00 016265' PMSG <L[OCAL [H[ARDWARE [A[DDRESS = >
1345 011252' 261 16 0 00 011266' PUSHD <RCADRB+.LMHWA,RCADRB+.LMHWA+1>
1346 011253' 261 16 0 00 011267'
1347 011254' 260 17 0 00 011460' GO PRHEX
1348 011255' 037 03 0 00 000001 PCRLF
1349
1350 011256' 262 17 0 00 000000 RCADR3: GETIT <AC0,AC1,AC2> ;Restore acs
1351 011257' 262 17 0 00 000001
1352 011260' 262 17 0 00 000002
1353 011261' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 35
RMTCNM MAC 10-Jun-85 15:20 RCADR SUBROUTINE SEQ 0114
1354
1355 ;Jsys failure comes here
1356
1357 011262' 037 01 0 00 016273' RCADR4: PMSG <^.RCADR JSYS F[AILURE - ^>
1358 011263' 260 17 0 00 011641' GO FJSYS ;Go report jsys error
1359 011264' 254 00 0 00 011256' JRST RCADR3 ;Take jsys error return
1360
1361 ;.RCADR jsys argument block
1362
1363 011265' 000000 000000 RCADRB: 0 ;Channel-id
1364 011266' 044321 263600 44321,,263600 ;hex 1-8,z (for debug) ;Ret local hardware addr
1365 011267' 465360 000000 465360,,0 ;hex 9-C,z (for debug) ; " " " "
1366 011270' 044321 263600 44321,,263600 ;for debug ;Ret local physical addr
1367 011271' 465360 000000 465360,,0 ;for debug ; " " " "
1368
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 36
RMTCNM MAC 10-Jun-85 15:20 LLMOP SUBROUTINE SEQ 0115
1369 SUBTTL LLMOP SUBROUTINE
1370 ;#**************************************************************************
1371 ; This subroutine does the actual LLMOP% JSYS.
1372 ;
1373 ; Enter with AC1 = function code
1374 ; AC2 = address of arg block
1375 ; If DEBUG is enabled, simulate the LLMOP.
1376 ; Return +1 if jsys error
1377 ; Return +2 if successful
1378 ;#***************************************************************************
1379
1380 011272' 332 00 0 00 015070' $LLMOP: SKIPE DBGFLG ;Do real or fake ?
1381 011273' 254 00 0 00 011277' JRST $LLM5 ; Simulate "LLMOP" for debug
1382
1383 011274' 104 00 0 00 000624 LLMOP% ;Do "LLMOP" jsys
1384 011275' 320 16 0 00 011315' ERJMP $LLM3 ;Failed
1385 011276' 254 00 0 00 011314' JRST $LLM2 ;Passed
1386
1387 011277' 302 01 0 00 000021 $LLM5: CAIE AC1,.RCSTS ;Doing "OBTAIN STATUS" ?
1388 011300' 254 00 0 00 011304' JRST $LLM4 ; no
1389
1390 011301' 201 02 0 00 000001 MOVEI AC2,.LMSUC ;Yes, set success bit
1391 011302' 202 02 0 00 011223' MOVEM AC2,RCSTSB+.LMSTF ; Make successful
1392 011303' 254 00 0 00 011314' JRST $LLM2 ; Exit
1393
1394 011304' 302 01 0 00 000006 $LLM4: CAIE AC1,.RCRID ;Doing "REQUEST-ID" ?
1395 011305' 254 00 0 00 011310' JRST $LLM1 ; no
1396 011306' 350 00 0 00 010440' AOS RCRIDB+.LMREQ ;Yes, fake by increment request number
1397 011307' 254 00 0 00 011314' JRST $LLM2 ; Exit
1398
1399 011310' 302 01 0 00 000012 $LLM1: CAIE AC1,.RCRPY ;Doing "READ REMOTE CONSOLE REPLY" ?
1400 011311' 254 00 0 00 011314' JRST $LLM2 ; no
1401 011312' 201 02 0 00 000144 MOVEI AC2,^D100 ;Yes, get ret message length in bytes
1402 011313' 506 02 0 00 010630' HRLM AC2,RCRPYB+.LMRBL ;Put in .Rcrpy jsys block
1403
1404 011314' 350 00 0 17 000000 $LLM2: AOS (P) ;Skip return if ok
1405 011315' 263 17 0 00 000000 $LLM3: RTN
1406
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 37
RMTCNM MAC 10-Jun-85 15:20 RDSTIM SUBROUTINE SEQ 0116
1407 SUBTTL RDSTIM SUBROUTINE
1408 ;#**********************************************************************
1409 ;* Rdstim subroutine
1410 ;
1411 ; Read the current time since last time system was restarted.
1412 ; Save that value and calculate and save a value of time 5 seconds later.
1413 ;#**********************************************************************
1414
1415 011316' 261 17 0 00 000001 RDSTIM: PUTIT <AC1,AC2> ;Save some acs
1416 011317' 261 17 0 00 000002
1417
1418 011320' 104 00 0 00 000014 TIME ;Do time jsys
1419 011321' 202 01 0 00 015054' MOVEM AC1,TIMST ;Save it
1420
1421 011322' 271 01 0 00 011610 ADDI AC1,^D5000 ;Add 5 seconds to the current time
1422
1423 011323' 332 00 0 00 015065' SKIPE TRCFLG ;Tracing enabled ?
1424 011324' 271 01 0 00 165140 ADDI AC1,^D<1000*60> ; Yes, 60 seconds more for typeouts
1425
1426 011325' 202 01 0 00 015055' MOVEM AC1,TIMEND ;Save it
1427 011326' 262 17 0 00 000002 GETIT <AC2,AC1> ;Restore acs
1428 011327' 262 17 0 00 000001
1429 011330' 263 17 0 00 000000 RTN
1430
1431 ;#**********************************************************************
1432 ;* OTIME subroutine
1433 ;
1434 ; This subroutine reads the current time and compares that value with
1435 ; TIMEND that was calculated in the RDSTIM subroutine.
1436 ; This is used to determine if 5 seconds has elapsed since calling
1437 ; the RDSTIM subroutine.
1438 ;
1439 ; Return +1 if time exceeded
1440 ; Return +2 if time not exceeded.
1441 ;#**********************************************************************
1442
1443 011331' 261 17 0 00 000001 OTIME: PUTIT <AC1,AC2> ;Save some acs
1444 011332' 261 17 0 00 000002
1445
1446 011333' 104 00 0 00 000014 TIME ;Do time jsys
1447
1448 011334' 317 01 0 00 015055' CAMG AC1,TIMEND ;Has current time exceeded timend ?
1449 011335' 350 00 0 17 777776 AOS -2(P) ; No, bump for skip return
1450
1451 011336' 262 17 0 00 000002 GETIT <AC2,AC1> ;Restore acs
1452 011337' 262 17 0 00 000001
1453 011340' 263 17 0 00 000000 RTN
1454
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 38
RMTCNM MAC 10-Jun-85 15:20 HEX SUBROUTINE SEQ 0117
1455 SUBTTL HEX SUBROUTINE
1456 ;#**********************************************************************
1457 ;* HEX subroutine
1458 ;
1459 ; This subroutine is called from SELECT, DESELECT, REQ-ID & READ COUNTERS
1460 ; from DNISP to read in a 12 digit hex node address.
1461 ; When inputting the 12 digit address the digits will be in the form:
1462 ;
1463 ; AC10 = Hi addr = z,z,z,z,z,z,1,2,3 ==> rejust to: 1,2,3,4,5,6,7,8,z
1464 ; AC11 = Lo addr = 4,5,6,7,8,9,10,11,12 ==> rejust to: 9,10,11,12,z,z,z,z,z
1465 ;
1466 ; The bytes will then be in the form: Hi = 0,1,2,3,z
1467 ; Lo = 4,5,z,z,z
1468 ;
1469 ; This subroutine is also called to read in a 16 digit PASSWORD from RMTCNP
1470 ; When inputting the 16 digit password, the digits will be in the form:
1471 ;
1472 ; AC10 = Hi = z,z,1,2,3,4,5,6,7 ==> rejust to: 1,2,3,4,5,6,7,8,z
1473 ; AC11 = Lo = 8,9,10,11,12,13,14,15,16 ==> rejust to: 9,10,11,12,13,14,15,16,z
1474 ;
1475 ; PWSWAP will then re-arrange the digits to be:
1476 ;
1477 ; AC10 = Hi = 15,16,13,14,11,12,9,10,z = bytes 7,6,5,4,z
1478 ; AC11 = Lo = 7,8,5,6,3,4,1,2,z = bytes 3,2,1,0,z
1479 ;
1480 ; Hyphens will be ignored.
1481 ; Any other non hex digit will cause this subroutine to exit.
1482 ;#**********************************************************************
1483
1484 011341' 403 10 0 00 000011 HEX: SETZB AC10,AC11 ;Clear ac10 and ac11
1485 011342' 402 00 0 00 000004 SETZM AC4 ;Set digit count to 0
1486 011343' 200 05 0 00 016300' MOVE AC5,[POINT 7,ATOM] ;Set up byte pointer atom buffer
1487
1488 011344' 134 00 0 00 000005 HEXA: ILDB AC0,AC5 ;Read in a char
1489 011345' 322 00 0 00 011372' JUMPE AC0,HEXC ; 0 = end of field, rejustify it
1490 011346' 301 00 0 00 000060 CAIL AC0,60 ;Less than a 0 ?
1491 011347' 303 00 0 00 000071 CAILE AC0,71 ;Greater than a 9 ?
1492 011350' 254 00 0 00 011355' JRST HEXD ; Yes check for a-f
1493
1494 011351' 275 00 0 00 000060 SUBI AC0,60 ;No, so convert char to hex
1495
1496 011352' 245 10 0 00 000004 HEXB: ROTC AC10,4 ;Left 4 places (combined ac10/11)
1497 011353' 270 11 0 00 000000 ADD AC11,AC0 ;Add new number to ac11
1498 011354' 344 04 0 00 011344' AOJA AC4,HEXA ;Bump digit counter and go get next
1499
1500 011355' 301 00 0 00 000101 HEXD: CAIL AC0,"A" ;Less than an "A"
1501 011356' 303 00 0 00 000106 CAILE AC0,"F" ;Greater than an "F"
1502 011357' 254 00 0 00 011362' JRST HEXE ; Yes, see if lower case characters
1503 011360' 275 00 0 00 000067 SUBI AC0,67 ;Convert char into hex number
1504 011361' 254 00 0 00 011352' JRST HEXB ;Pack it into the hex node number
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 39
RMTCNM MAC 10-Jun-85 15:20 HEX SUBROUTINE SEQ 0118
1505
1506 011362' 301 00 0 00 000141 HEXE: CAIL AC0,"A"+40 ;Less than an a
1507 011363' 303 00 0 00 000146 CAILE AC0,"F"+40 ;Greater than an f
1508 011364' 254 00 0 00 011367' JRST HEXG ; Yes, see if hyphen
1509 011365' 275 00 0 00 000127 SUBI AC0,40+67 ;Make lower case into hex
1510 011366' 254 00 0 00 011352' JRST HEXB ;Pack it into the hex node number
1511
1512 011367' 302 00 0 00 000055 HEXG: CAIE AC0,"-" ;hyphen?
1513 011370' 254 00 0 00 011401' JRST HEXX ; no, error...exit
1514 011371' 254 00 0 00 011344' JRST HEXA ;yes, ignore & input next char
1515
1516 011372' 336 00 0 00 000023' HEXC: SKIPN PWFLG ;Doing PASSWORD?
1517 011373' 254 00 0 00 011400' JRST HEXF ; No, do ADDRESS
1518 011374' 245 10 0 00 000004 ROTC AC10,4 ;Yes, left 4 places combined
1519 011375' 241 10 0 00 000004 ROT AC10,4
1520 011376' 260 17 0 00 011434' GO PWSWAP ;Swap password bytes around
1521 011377' 254 00 0 00 011401' JRST HEXX ;Exit
1522
1523 011400' 260 17 0 00 011402' HEXF: GO REJUS ;Rejustify address
1524
1525 011401' 263 17 0 00 000000 HEXX: RTN
1526
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 40
RMTCNM MAC 10-Jun-85 15:20 REJUS SUBROUTINE SEQ 0119
1527 SUBTTL REJUS SUBROUTINE
1528 ;#**********************************************************************
1529 ;* REJUS subroutine
1530 ;
1531 ; Rejustifies a node address to the standard format used by
1532 ; LLMOP jsys's arg block.
1533 ;
1534 ; 1. Enter with the Hi address in AC10
1535 ; & Lo address in AC11
1536 ; 2. Call this subroutine via GO REJUS.
1537 ;
1538 ; Upon return, AC10 & AC11 will be in the following format:
1539 ;
1540 ; AC10 = Hi addr = x,x,x,x,x,x,1,2,3 ==> rejust to: 1,2,3,4,5,6,7,8,z
1541 ; AC11 = Lo addr = 4,5,6,7,8,9,10,11,12 ==> rejust to: 9,10,11,12,z,z,z,z,z
1542 ;#**********************************************************************
1543
1544 011402' 261 17 0 00 000003 REJUS: PUTIT <AC3,AC2,AC1> ;Save some ac's
1545 011403' 261 17 0 00 000002
1546 011404' 261 17 0 00 000001
1547 011405' 402 00 0 00 000001 SETZM AC1 ;Clear ac1
1548 011406' 135 02 0 00 016301' LDB AC2,[POINT 8,AC11,^D27] ;Get hex digits 9 and 10
1549 011407' 137 02 0 00 016302' DPB AC2,[POINT 8,AC1,7] ;Put it in ac1
1550
1551 011410' 135 02 0 00 016303' LDB AC2,[POINT 8,AC11,^D35] ;Get hex digits 11 and 12
1552 011411' 137 02 0 00 016304' DPB AC2,[POINT 8,AC1,^D15] ;Put it in ac1
1553 011412' 202 01 0 00 000003 MOVEM AC1,AC3 ;Store rejustified lo address
1554
1555 011413' 402 00 0 00 000001 SETZM AC1 ;Clear ac1
1556 011414' 135 02 0 00 016305' LDB AC2,[POINT 8,AC10,^D31] ;Get hex digits 1 and 2
1557 011415' 137 02 0 00 016302' DPB AC2,[POINT 8,AC1,7] ;Put them in ac1
1558
1559 011416' 135 02 0 00 016306' LDB AC2,[POINT 4,AC10,^D35] ;Get hex digit 3
1560 011417' 137 02 0 00 016307' DPB AC2,[POINT 4,AC1,^D11] ;Put it in ac1
1561
1562 011420' 135 02 0 00 016310' LDB AC2,[POINT 4,AC11,^D3] ;Get hex digit 4
1563 011421' 137 02 0 00 016311' DPB AC2,[POINT 4,AC1,^D15] ;Put it in ac1
1564
1565 011422' 135 02 0 00 016312' LDB AC2,[POINT 8,AC11,^D11] ;Get hex digits 5 and 6
1566 011423' 137 02 0 00 016313' DPB AC2,[POINT 8,AC1,^D23] ;Put it in ac1
1567
1568 011424' 135 02 0 00 016314' LDB AC2,[POINT 8,AC11,^D19] ;Get hex digits 7 and 8
1569 011425' 137 02 0 00 016315' DPB AC2,[POINT 8,AC1,^D31] ;Put it in ac1
1570
1571 011426' 202 01 0 00 000010 MOVEM AC1,AC10 ;Put rejustified Hi addr back in AC10
1572 011427' 202 03 0 00 000011 MOVEM AC3,AC11 ;Put rejustified Lo addr back in AC11
1573
1574 011430' 262 17 0 00 000001 GETIT <AC1,AC2,AC3> ;Restore the ac's
1575 011431' 262 17 0 00 000002
1576 011432' 262 17 0 00 000003
1577 011433' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 41
RMTCNM MAC 10-Jun-85 15:20 PWSWAP SUBROUTINE SEQ 0120
1578 SUBTTL PWSWAP SUBROUTINE
1579 ;#**********************************************************************
1580 ;* PWSWAP subroutine
1581 ;
1582 ; Swaps the password bytes as shown below:
1583 ;
1584 ; 1. Enter with the Hi password in AC10
1585 ; & Lo password in AC11
1586 ;
1587 ; 2. Call this subroutine via GO PWSWAP
1588 ;
1589 ; Upon return, AC10 & AC11 will be in the following format:
1590 ;
1591 ; AC10 = Hi bytes = 0,1,2,3,z ==> rejust to: 7,6,5,4,z
1592 ; AC11 = Lo bytes = 4,5,6,7,z ==> rejust to: 3,2,1,0,z
1593 ;#**********************************************************************
1594
1595 011434' 403 00 0 00 000001 PWSWAP: SETZB AC0,AC1
1596 011435' 200 06 0 00 016316' MOVE AC6,[POINT 8,AC10] ;Set byte pointer
1597
1598 011436' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 0
1599 011437' 137 05 0 00 016315' DPB AC5,[POINT 8,AC1,31] ; & put in AC1
1600 011440' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 1
1601 011441' 137 05 0 00 016313' DPB AC5,[POINT 8,AC1,23] ; & put in AC1
1602 011442' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 2
1603 011443' 137 05 0 00 016304' DPB AC5,[POINT 8,AC1,15] ; & put in AC1
1604 011444' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 3
1605 011445' 137 05 0 00 016302' DPB AC5,[POINT 8,AC1,7] ; & put in AC1
1606 011446' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 4
1607 011447' 137 05 0 00 016317' DPB AC5,[POINT 8,AC0,31] ; & put in AC0
1608 011450' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 5
1609 011451' 137 05 0 00 016320' DPB AC5,[POINT 8,AC0,23] ; & put in AC0
1610 011452' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 6
1611 011453' 137 05 0 00 016321' DPB AC5,[POINT 8,AC0,15] ; & put in AC0
1612 011454' 134 05 0 00 000006 ILDB AC5,AC6 ;Get byte 7
1613 011455' 137 05 0 00 016322' DPB AC5,[POINT 8,AC0,7] ; & put in AC0
1614
1615 011456' 120 10 0 00 000000 DMOVE AC10,AC0 ;AC0,1 to AC10,11
1616 011457' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 42
RMTCNM MAC 10-Jun-85 15:20 PRINT 12 DIGIT HEX NUMBER SUBROUTINE SEQ 0121
1617 SUBTTL PRINT 12 DIGIT HEX NUMBER SUBROUTINE
1618 ;#**********************************************************************
1619 ;* PRHEX prints a 12 digit hex node address.
1620 ;
1621 ; 1. Put the Hi address (hex digits 1 - 8)
1622 ; followed by the Lo address (hex digits 9 - 12) on the data stack.
1623 ; 2. Call this subroutine by "GO PRHEX".
1624 ; 3. A hyphen will be printed between every 2 hex digits.
1625 ;#**********************************************************************
1626
1627 011460' 261 17 0 00 000000 PRHEX: PUTIT <AC0,AC1,AC3,AC4,AC5> ;Save acs
1628 011461' 261 17 0 00 000001
1629 011462' 261 17 0 00 000003
1630 011463' 261 17 0 00 000004
1631 011464' 261 17 0 00 000005
1632
1633 011465' 262 16 0 00 000004 POPD <AC4,AC3> ;Get lo,hi hex addr
1634 011466' 262 16 0 00 000003
1635 011467' 201 05 0 00 000014 MOVEI AC5,^D12 ;Initialize 12 digits to type
1636 011470' 241 03 0 00 777774 ROT AC3,-^D4 ;Right justify Hi address
1637 011471' 400 01 0 00 000000 SETZ AC1, ;Char counter for hyphens
1638
1639 011472' 245 03 0 00 000004 PRHEXA: ROTC AC3,^D4 ;Put digit to be printed at far left
1640 011473' 135 00 0 00 016323' LDB AC0,[POINT 4,AC3,3] ;Copy hex digit to ac0
1641 011474' 271 00 0 00 000060 ADDI AC0,60 ;Make an ascii character
1642
1643 011475' 303 00 0 00 000071 CAILE AC0,"9" ;Less than a "9" ?
1644 011476' 271 00 0 00 000007 ADDI AC0,7 ; No, add 7 more to get a-f
1645
1646 011477' 037 12 0 00 000000 PNTCHR ;Print the hex digit
1647 011500' 340 01 0 00 000000 AOJ AC1, ;Bump char ctr
1648 011501' 302 01 0 00 000002 CAIE AC1,2 ;2nd char?
1649 011502' 254 00 0 00 011510' JRST PRHEXB ; No
1650 011503' 306 05 0 00 000001 CAIN AC5,1 ;Last char?
1651 011504' 254 00 0 00 011510' JRST PRHEXB ; Yes
1652 011505' 201 00 0 00 000055 MOVEI AC0,"-" ;Yes, print hyphen
1653 011506' 037 12 0 00 000000 PNTCHR
1654 011507' 400 01 0 00 000000 SETZ AC1, ;Reset ctr
1655 011510' 367 05 0 00 011472' PRHEXB: SOJG AC5,PRHEXA ;Do next digit
1656
1657 011511' 262 17 0 00 000005 GETIT <AC5,AC4,AC3,AC1,AC0> ;Restore acs
1658 011512' 262 17 0 00 000004
1659 011513' 262 17 0 00 000003
1660 011514' 262 17 0 00 000001
1661 011515' 262 17 0 00 000000
1662 011516' 263 17 0 00 000000 RTN
1663
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 43
RMTCNM MAC 10-Jun-85 15:20 ASCIZ A 12 DIGIT HEX NUMBER SUBROUTINE SEQ 0122
1664 SUBTTL ASCIZ A 12 DIGIT HEX NUMBER SUBROUTINE
1665 ;#**********************************************************************
1666 ;* UHEX subroutine
1667 ;
1668 ; 1. Asciz a 12 digit hex node address & put the 3 words on the data stack.
1669 ; 2 Put the hi address (hex digits 1,2,3).
1670 ; 3. Put the lo address (hex digits 4 thru 12) on the data stack.
1671 ; 4. Call this subroutine by "GO UHEX".
1672 ; 5. To remove the data do "POPD <X,Y,Z>
1673 ; WHERE "X" IS ASCII DIGITS 1,2,3,4,5,
1674 ; "Y" Is ascii digits 6,7,8,9,10
1675 ; "Z" is asciz digits 11,12 .
1676 ;#**********************************************************************
1677
1678 011517' 261 17 0 00 000000 UHEX: PUTIT <AC0,AC1,AC3,AC4,AC5> ;Save acs
1679 011520' 261 17 0 00 000001
1680 011521' 261 17 0 00 000003
1681 011522' 261 17 0 00 000004
1682 011523' 261 17 0 00 000005
1683 011524' 262 16 0 00 000004 POPD <AC4,AC3> ;Get hex word from data stack
1684 011525' 262 16 0 00 000003
1685 011526' 201 05 0 00 000014 MOVEI AC5,^D12 ;Initialize 12 digits to type
1686 011527' 245 03 0 00 777764 ROTC AC3,-^D12 ;Rotate 3 digits out of ac3
1687 011530' 200 01 0 00 016324' MOVE AC1,[POINT 7,UHEXB] ;Get initial byte pointer
1688
1689 011531' 245 03 0 00 000004 UHEXA: ROTC AC3,^D4 ;Rotate digit into ac3
1690 011532' 135 00 0 00 016325' LDB AC0,[POINT 4,AC3,35] ;Copy hex digit to ac0
1691 011533' 271 00 0 00 000060 ADDI AC0,60 ;Make an ascii character
1692 011534' 303 00 0 00 000071 CAILE AC0,"9" ;Less than a "9" ?
1693 011535' 271 00 0 00 000007 ADDI AC0,7 ; No, add 7 more to get a-f
1694 011536' 136 00 0 00 000001 IDPB AC0,AC1 ;Save the hex digit
1695 011537' 367 05 0 00 011531' SOJG AC5,UHEXA ;Do next digit
1696
1697 011540' 261 16 0 00 011553' PUSHD <UHEXB+2,UHEXB+1,UHEXB> ;Put asciz'd node name on data stack
1698 011541' 261 16 0 00 011552'
1699 011542' 261 16 0 00 011551'
1700 011543' 262 17 0 00 000005 GETIT <AC5,AC4,AC3,AC1,AC0> ;Restore acs
1701 011544' 262 17 0 00 000004
1702 011545' 262 17 0 00 000003
1703 011546' 262 17 0 00 000001
1704 011547' 262 17 0 00 000000
1705 011550' 263 17 0 00 000000 RTN
1706
1707 011551' UHEXB: BLOCK 3 ;Storage for asciz'd node name
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 44
RMTCNM MAC 10-Jun-85 15:20 ASCIZ A 12 DIGIT HEX NUMBER SUBROUTINE SEQ 0123
1708
1709 ;#**********************************************************************
1710 ; Wait1 waits 250 milli seconds
1711 ;#**********************************************************************
1712
1713 011554' 261 17 0 00 000001 WAIT1: PUTIT AC1 ;Save ac1
1714 011555' 336 00 0 00 015065' SKIPN TRCFLG ;Tracing enabled ?
1715 011556' 254 00 0 00 011561' JRST WAIT1A ; No
1716
1717 011557' 201 01 0 00 000372 MOVEI AC1,^D250 ;Setup for 250 milli seconds
1718 011560' 104 00 0 00 000167 DISMS ;Dismiss process for 250 milli seconds
1719
1720 011561' 262 17 0 00 000001 WAIT1A: GETIT AC1 ;Restore ac1
1721 011562' 263 17 0 00 000000 RTN
1722
1723
1724
1725
1726
1727
1728 ;#**********************************************************************
1729 ; Some ERROR and ERROR1 calls use the following subroutines as
1730 ; Additional error print routines.
1731 ;#**********************************************************************
1732
1733 011563' 037 01 0 00 016326' ER01: PMSG <^T[HE [TARGET NODE[ ADDRESS IS >
1734 011564' 261 16 0 00 015042' PUSHD <TARADH> ;Push hex digits 1-8
1735 011565' 261 16 0 00 015043' PUSHD <TARADL> ;Push hex digits 9-12
1736 011566' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
1737 011567' 037 03 0 00 000001 PCRLF
1738
1739 011570' 037 01 0 00 016334' PMSG <^T[HE [NODE [ADDRESS FOR [REQ-ID & READ COUNTERS [IS >
1740 011571' 261 16 0 00 015046' PUSHD <NODADH> ;Push hex digits 1-8
1741 011572' 261 16 0 00 015047' PUSHD <NODADL> ;Push hex digits 9-12
1742 011573' 260 17 0 00 011460' GO PRHEX ;Print the hex node address
1743 011574' 037 03 0 00 000001 PCRLF
1744 011575' 263 17 0 00 000000 RTN
1745
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 45
RMTCNM MAC 10-Jun-85 15:20 SPEAR SUBROUTINES SEQ 0124
1746 SUBTTL SPEAR SUBROUTINES
1747 ;#**********************************************************************
1748 ; SPRS subroutine:
1749 ;
1750 ; 1. Reads the current date and time into location "SPRSX"
1751 ; 2. Reads the current spear entry packet count into location "SCNTS".
1752 ;#**********************************************************************
1753
1754 011576' 336 00 0 00 015067' SPRS: SKIPN SPRFLG ;Skip if spear reporting is enabled
1755 011577' 263 17 0 00 000000 RTN ; Return to code that called this code
1756
1757 011600' 261 17 0 00 000001 PUTIT <AC1> ;Save an ac
1758 011601' 260 17 0 00 011611' GO SPRP ;Go read spear entry packet count
1759 011602' 262 16 0 00 011607' POPD <SCNTS> ;Save current spear count in "SCNTS"
1760
1761 011603' 104 00 0 00 000227 GTAD ;Get time and day
1762 011604' 202 01 0 00 011610' MOVEM AC1,SPRSX ;Save time and day
1763 011605' 262 17 0 00 000001 GETIT <AC1> ;Restore ac
1764 011606' 263 17 0 00 000000 RTN ;Return to code that called this code
1765
1766 011607' 000000 000000 SCNTS: 0 ;Spear error entry count
1767 011610' 000000 000000 SPRSX: 0 ;Start date and time stored here
1768
1769 ;#**********************************************************************
1770 ; SPRP subroutine
1771 ;
1772 ; Read the current spear packet count, and put the value on
1773 ; The data stack.
1774 ; If the jsys fails, a message is typed and a fatal error occurs.
1775 ; Call this subroutine via "GO SPRP".
1776 ; When this subroutine returns, the current
1777 ; Spear packet count is on the data stack.
1778 ; To get the count, use "POPD <X>,
1779 ; Where "X" is the location you want the spear packet count to go to.
1780 ;#**********************************************************************
1781
1782 011611' 261 17 0 00 000001 SPRP: PUTIT <AC1> ;Save an ac
1783 011612' 200 01 0 00 016345' MOVE AC1,[XWD -2,SPRPB] ;Set up pointer
1784 011613' 332 00 0 00 015070' SKIPE DBGFLG ;Bypass if debugging
1785 011614' 254 00 0 00 011617' JRST SPRPA
1786
1787 011615' 104 00 0 00 000530 DIAG ;Do diag jsys
1788 011616' 037200 016346' FATALP <^DIAG JSYS FAILED IN SPRP SUBROUTINE.^>
1789
1790 011617' 262 17 0 00 000001 SPRPA: GETIT <AC1> ;Restore ac
1791 011620' 261 16 0 00 011623' PUSHD <SPRPC> ;Put current spear count on data stack
1792 011621' 263 17 0 00 000000 RTN
1793
1794 011622' 000000 000110 SPRPB: .DGRSC ;Read spear packet count
1795 011623' 000 00 0 00 000000 SPRPC: Z ;Jsys writes spear packet count here
1796
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 46
RMTCNM MAC 10-Jun-85 15:20 SPEAR SUBROUTINES SEQ 0125
1797
1798 ;#**********************************************************************
1799 ; SPRE subroutine:
1800 ;
1801 ; 1. Reads the current date and time into location "SPRSE"
1802 ; 2. Reads the current spear entry packet count into location "SCNTE".
1803 ; 3. Does a skip return if the spear entry packet count is different than
1804 ; When subroutine sprs was executed.
1805 ;
1806 ; Subroutine "SPRS", which reads the current spear packet entry count must be
1807 ; Executed before this subroutine.
1808 ;#**********************************************************************
1809
1810 011624' 336 00 0 00 015067' SPRE: SKIPN SPRFLG ;Skip if spear reporting is enabled
1811 011625' 263 17 0 00 000000 RTN
1812
1813 011626' 261 16 0 00 000001 PUSHD <AC1> ;Save an ac
1814 011627' 104 00 0 00 000227 GTAD ;Get time and day
1815 011630' 202 01 0 00 011640' MOVEM AC1,SPRSE ;Save time and day
1816
1817 011631' 260 17 0 00 011611' GO SPRP ;Go read spear entry packet count
1818 011632' 262 16 0 00 000001 POPD <AC1> ;Get current spear count
1819
1820 011633' 312 01 0 00 011607' CAME AC1,SCNTS ;Skip if count the same as when started
1821 011634' 350 00 0 17 000000 AOS (P) ;Skip return. Error return.
1822
1823 011635' 262 16 0 00 000001 POPD <AC1> ;Restore ac
1824 011636' 263 17 0 00 000000 RTN
1825
1826 011637' 000000 000000 SCNTE: 0 ;Spear error entry count
1827 011640' 000000 000000 SPRSE: 0 ;Start date and time stored here
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 47
RMTCNM MAC 10-Jun-85 15:20 SPEAR SUBROUTINES SEQ 0126
1828
1829 ;#**********************************************************************
1830 ; FJSYS subroutine
1831 ;
1832 ; Reports a jsys failure.
1833 ; The monitor error message is stored in buffer fjsybf and then printed.
1834 ;#**********************************************************************
1835
1836 011641' 261 17 0 00 000003 FJSYS: PUTIT <AC3,AC2,AC1,AC0> ;Save some acs
1837 011642' 261 17 0 00 000002
1838 011643' 261 17 0 00 000001
1839 011644' 261 17 0 00 000000
1840 011645' 402 00 0 00 011665' SETZM FJSYBF ;Zero first word of buffer
1841 011646' 201 01 0 00 400000 MOVEI AC1,.FHSLF ;Get the process handle
1842 011647' 104 00 0 00 000012 GETER ;Return with ac2 = (.Fhslf,,error code)
1843 011650' 320 16 0 00 016355' ERJMP [RTN] ;
1844
1845 011651' 561 01 0 00 011665' HRROI AC1,FJSYBF ;Get a pointer to store error text
1846 011652' 515 03 0 00 777014 HRLZI AC3,-^D500 ;Set 500 byte limit on size of string
1847 011653' 104 00 0 00 000011 ERSTR ;Get the last jsys error string
1848 011654' 320 16 0 00 016355' ERJMP [RTN] ;Undefined error
1849 011655' 320 16 0 00 016355' ERJMP [RTN] ;Too large a string
1850
1851 011656' 037 00 0 00 011665' PNTMSG FJSYBF ;Print the monitor message
1852 011657' 037 03 0 00 000001 PCRLF
1853 011660' 262 17 0 00 000000 GETIT <AC0,AC1,AC2,AC3> ;Restore acs
1854 011661' 262 17 0 00 000001
1855 011662' 262 17 0 00 000002
1856 011663' 262 17 0 00 000003
1857 011664' 263 17 0 00 000000 RTN
1858
1859 011665' FJSYBF: BLOCK ^D201 ;Storage for monitor error text
1860
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 48
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0127
1861 SUBTTL RESERVE CONSOLE
1862 ;#**************************************************************************
1863 ; 1. Do Read Local address jsys & put the physical address in LOCADH/L.
1864 ; 2. Do a REQ-ID & put the SYS-ID into TTOBUF.
1865 ; 3. If FUNCTION indicates no "console carrier", boot via "NICE" protocol
1866 ; & re-enter again.
1867 ; 4. If FUNCTION indicates "console carrier" & "not reserved", do
1868 ; a RESERVE CONSOLE jsys & re-enter again.
1869 ; 5. If FUNCTION indicates "console carrier" & "reserved", read the
1870 ; CONSOLE USER & check that it's our "local-address".
1871 ; 6. Check that the HARDWARE ADDRESS returned in SYS-ID is the desired
1872 ; "target" node address.
1873 ; 7. Check that the CONSOLE COMMAND SIZE & CONSOLE RESPONSE SIZE returned
1874 ; in SYS-ID is consistent with buffer sizes allotted in the program.
1875 ; 8. Read the Reservation Timer, reduce it by 2 secs & store it in RESTIM.
1876 ; To be used by LOOP to send RCPOLL's so that we dont timeout
1877 ; & loose connection
1878 ;
1879 ; Return+1 if unsuccessful
1880 ; Return+2 if successful
1881 ;#***************************************************************************
1882
1883 012176' 261 17 0 00 000007 RESCON: PUTIT <AC7,AC6,AC5,AC4,AC3,AC2,AC1,AC0> ;Save some ac's
1884 012177' 261 17 0 00 000006
1885 012200' 261 17 0 00 000005
1886 012201' 261 17 0 00 000004
1887 012202' 261 17 0 00 000003
1888 012203' 261 17 0 00 000002
1889 012204' 261 17 0 00 000001
1890 012205' 261 17 0 00 000000
1891 012206' 402 00 0 00 015322' SETZM RBTCTR ;Clear remote boot counter
1892 012207' 260 17 0 00 011226' GO RCADR ;Read local hardware & physical addr
1893 012210' 254 00 0 00 012616' JRST RESX ; & put physical addr in LOCADH/L
1894
1895 012211' 402 00 0 00 015321' SETZM PASCT ;For debug
1896
1897 012212' 336 00 0 00 015070' RES1: SKIPN DBGFLG ;Debug?
1898 012213' 254 00 0 00 012237' JRST RES1D ;No
1899
1900 012214' 332 00 0 00 015321' SKIPE PASCT ;1'st pass?
1901 012215' 254 00 0 00 012224' JRST RES9 ; no
1902
1903 012216' 201 00 0 00 000177 MOVEI AC0,177 ;Yes, clear "RESERVED" in FUNCTION
1904 012217' 202 00 0 00 014136' MOVEM AC0,REQT1
1905
1906 012220' 201 03 0 00 000005 MOVEI AC3,5 ;Clear "CONSOLE USER" in SYS-ID
1907 012221' 402 00 0 03 014143' SETZM REQT2(AC3)
1908 012222' 365 03 0 00 012221' SOJGE AC3,.-1
1909 012223' 254 00 0 00 012235' JRST RES4
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 49
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0128
1910
1911 012224' 201 00 0 00 000377 RES9: MOVEI AC0,377 ;Set "RESERVED" in FUNCTION
1912 012225' 202 00 0 00 014136' MOVEM AC0,REQT1
1913
1914 012226' 201 03 0 00 000006 MOVEI AC3,6 ;Set "CONSOLE USER" in SYS-ID to
1915 012227' 400 04 0 00 000000 SETZ AC4, ; 123456789ABC
1916 012230' 200 05 0 00 016356' MOVE AC5,[POINT 8,SLOCH]
1917 012231' 200 06 0 00 016357' MOVE AC6,[POINT 36,REQT2]
1918 012232' 134 04 0 00 000005 RES9A: ILDB AC4,AC5 ;Get SLOCH/L
1919 012233' 136 04 0 00 000006 IDPB AC4,AC6 ; & put it in REQT2
1920 012234' 367 03 0 00 012232' SOJG AC3,RES9A ; repeat 6 times
1921
1922 012235' 200 00 0 00 016360' RES4: MOVE AC0,[RTEND-REQTAB] ;Get table byte count
1923 012236' 506 00 0 00 010630' HRLM AC0,RCRPYB+.LMRBL ; & fake the ret msg len
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 50
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0129
1924
1925 ; Do a REQ-ID & put the SYS-ID into TTOBUF
1926
1927 012237' 260 17 0 00 013067' RES1D: GO RRID
1928
1929 ; Reset pointer to look for FUNCTION (info type 2)
1930 ; If no "console carrier", boot via RCRBT & re-enter again.
1931 ; If "console carrier" & "not reserved", do RESERVE CONSOLE & re-enter again.
1932
1933 012240' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Set buffer ptr
1934 012241' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
1935
1936 012242' 322 07 0 00 012253' RES1A: JUMPE AC7,RES10 ;Exit if byte count = 0
1937 012243' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
1938 012244' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
1939 012245' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
1940 012246' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
1941
1942 012247' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
1943 012250' 254 00 0 00 012255' JRST RES1B ; No, see if FUNCTION
1944 012251' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
1945 012252' 366 07 0 00 012242' SOJN AC7,RES1A ;Try next info type if byte count not 0
1946 012253' 037 01 0 00 016362' RES10: PMSG <^C[ANNOT FIND [FUNCTION [IN [SYS-ID, E[XITING^>
1947 012254' 254 00 0 00 012616' JRST RESX
1948
1949 012255' 306 01 0 00 000002 RES1B: CAIN AC1,2 ;Is it FUNCTION?
1950 012256' 254 00 0 00 012265' JRST RES1C ; yes
1951 ; no, go to next info type
1952 012257' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
1953 012260' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
1954 012261' 133 00 0 00 000002 RES11: IBP AC2 ;Skip over data
1955 012262' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
1956 012263' 367 00 0 00 012261' SOJG AC0,RES11 ;Done?
1957 012264' 254 00 0 00 012242' JRST RES1A ;Yes, try over
1958
1959 012265' 134 01 0 00 000002 RES1C: ILDB AC1,AC2 ;Go get the length
1960 012266' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
1961 012267' 254 00 0 00 012275' JRST RES2 ; Yes
1962
1963 012270' 037 01 0 00 016372' PMSG <^ F[UNCTION [I[NFO LENGTH IN ERROR, SHOULD BE 2, WAS >
1964 012271' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
1965 012272' 037 15 0 00 000000 PNTDEC ;Print ac0 and exit
1966 012273' 037 03 0 00 000001 PCRLF
1967 012274' 254 00 0 00 012616' JRST RESX
1968
1969 012275' 134 01 0 00 000002 RES2: ILDB AC1,AC2 ;Get the data for lo byte
1970
1971 012276' 606 01 0 00 000040 TRNN AC1,1B30 ;Console Carrier set?
1972 012277' 254 00 0 00 012575' JRST RES8 ; No,I have to issue RCRBT
1973 012300' 602 01 0 00 000200 TRNE AC1,1B28 ;Console Reservation set?
1974 012301' 254 00 0 00 012306' JRST RES2A ; Yes, see by who
1975 012302' 260 17 0 00 010632' GO RCRSV ;No, do Reserve Console Jsys
1976 012303' 254 00 0 00 012616' JRST RESX ; Jsys error return...exit
1977 012304' 350 00 0 00 015321' AOS PASCT ;For debug
1978 012305' 254 00 0 00 012212' JRST RES1 ;See if we got it
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 51
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0130
1979
1980 ;Reset pointer to look for CONSOLE USER (info type 3)
1981 ; & check to see if it is our "local address".
1982
1983 012306' 200 02 0 00 015731' RES2A: MOVE AC2,[POINT 8,TTOBUF] ;Set buffer ptr
1984 012307' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
1985
1986 012310' 322 07 0 00 012321' RES2B: JUMPE AC7,RES12 ;Exit if byte count = 0
1987 012311' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
1988 012312' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
1989 012313' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
1990 012314' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
1991
1992 012315' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
1993 012316' 254 00 0 00 012323' JRST RES2C ; No, see if CONSOLE USER
1994 012317' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
1995 012320' 366 07 0 00 012310' SOJN AC7,RES2B ;Try next info type if byte count not 0
1996 012321' 037 01 0 00 016403' RES12: PMSG <^C[ANNOT FIND [CONSOLE USER [IN [SYS-ID, E[XITING^>
1997 012322' 254 00 0 00 012616' JRST RESX
1998
1999 012323' 306 01 0 00 000003 RES2C: CAIN AC1,3 ;Is it CONSOLE USER?
2000 012324' 254 00 0 00 012333' JRST RES2D ; yes
2001 ; no, go to next info type
2002 012325' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2003 012326' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2004 012327' 133 00 0 00 000002 RES13: IBP AC2 ;Skip over data
2005 012330' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2006 012331' 367 00 0 00 012327' SOJG AC0,RES13 ;Done?
2007 012332' 254 00 0 00 012310' JRST RES2B ;Yes, try over
2008
2009 012333' 134 01 0 00 000002 RES2D: ILDB AC1,AC2 ;Go get the length
2010 012334' 306 01 0 00 000006 CAIN AC1,6 ;Is it 6 ?
2011 012335' 254 00 0 00 012343' JRST RES3 ; Yes, see if it's me
2012
2013 012336' 037 01 0 00 016414' PMSG <^ C[ONSOLE [U[SER [I[NFO LENGTH IN ERROR, SHOULD BE 6, WAS >
2014 012337' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2015 012340' 037 15 0 00 000000 PNTDEC ;Print ac0
2016 012341' 037 03 0 00 000001 PCRLF
2017 012342' 254 00 0 00 012616' JRST RESX ; and exit
2018
2019 012343' 202 02 0 00 015060' RES3: MOVEM AC2,TEMP1 ;save pointer for error printout
2020
2021 012344' 201 03 0 00 000006 MOVEI AC3,6 ;Compare 6 bytes to see if it's us
2022 012345' 200 06 0 00 016426' MOVE AC6,[POINT 8,LOCADH] ;Set byte pointer
2023 012346' 134 00 0 00 000002 RES5: ILDB AC0,AC2 ;Get console user address byte 0-5
2024 012347' 134 01 0 00 000006 ILDB AC1,AC6 ;Get local node address byte 0-5
2025
2026 012350' 312 00 0 00 000001 CAME AC0,AC1 ;Same?
2027 012351' 254 00 0 00 012554' JRST RES7 ; No, console not avail... exit
2028 012352' 367 03 0 00 012346' SOJG AC3,RES5 ; Yes, repeat
2029
2030 012353' 332 00 0 00 015065' SKIPE TRCFLG ;Trace on?
2031 012354' 037 01 0 00 016427' PMSG <^C[ONSOLE [R[ESERVATION [S[UCCESSFUL^> ; Yes
2032 012355' 476 00 0 00 015323' SETOM NODSEL ;Set node selected flag
2033 012356' 350 00 0 17 777770 AOS -10(P) ;Do ret+2
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 52
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0131
2034
2035
2036 ; Reset pointer to look for RESERVATION TIMER (info type 4)
2037 ; Reduce it by 2 & store it in RESTIM.
2038 ; If Reservation Timer not in SYS-ID, default to 10 sec.
2039
2040 012357' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Set buffer ptr
2041 012360' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
2042
2043 012361' 322 07 0 00 012372' RES6: JUMPE AC7,RES6A ;Exit if byte count = 0
2044 012362' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
2045 012363' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
2046 012364' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2047 012365' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2048
2049 012366' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
2050 012367' 254 00 0 00 012376' JRST RES6B ; No, see if RESERVATION TIMER
2051 012370' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
2052 012371' 366 07 0 00 012361' SOJN AC7,RES6 ;Try next info type if byte count not 0
2053 012372' 037 01 0 00 016436' RES6A: PMSG <^C[ANNOT FIND [RESERVATION TIMER [IN [SYS-ID, E[XITING^>
2054 012373' 201 00 0 00 010000 MOVEI AC0,10000
2055 012374' 202 00 0 00 000447' MOVEM AC0,RESTIM ;Default to 10 sec
2056 012375' 254 00 0 00 012616' JRST RESX
2057
2058 012376' 306 01 0 00 000004 RES6B: CAIN AC1,4 ;Is it RESERVATION TIMER?
2059 012377' 254 00 0 00 012406' JRST RES6D ; yes
2060 ; no, go to next info type
2061 012400' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2062 012401' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2063 012402' 133 00 0 00 000002 RES6C: IBP AC2 ;Skip over data
2064 012403' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2065 012404' 367 00 0 00 012402' SOJG AC0,RES6C ;Done?
2066 012405' 254 00 0 00 012361' JRST RES6 ;Yes, try over
2067
2068 012406' 134 01 0 00 000002 RES6D: ILDB AC1,AC2 ;Go get the length
2069 012407' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2070 012410' 254 00 0 00 012416' JRST RES6E ; Yes
2071
2072 012411' 037 01 0 00 016450' PMSG <^ R[ESERVATION [T[IMER [I[NFO LENGTH IN ERROR, SHOULD BE 2, WAS >
2073 012412' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
2074 012413' 037 15 0 00 000000 PNTDEC ;Print ac0 and exit
2075 012414' 037 03 0 00 000001 PCRLF
2076 012415' 254 00 0 00 012616' JRST RESX
2077
2078 012416' 134 01 0 00 000002 RES6E: ILDB AC1,AC2 ;Get the data for lo byte
2079 012417' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2080 012420' 303 01 0 00 000002 CAILE AC1,2 ;More than 2 sec?
2081 012421' 275 01 0 00 000002 SUBI AC1,2 ; Yes, decr by 2 sec
2082 ;;; IMULI AC1,^D1000 ;Get it in ms (NOP for now)
2083 ;;;mult by 1000 causes too long time between data transmissions
2084 012422' 202 01 0 00 000447' MOVEM AC1,RESTIM ; & store it
2085
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 53
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0132
2086
2087 ;Reset pointer to look for CONSOLE COMMAND SIZE (info type 5)
2088
2089 012423' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Set buffer ptr
2090 012424' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
2091
2092 012425' 322 07 0 00 012436' RES20B: JUMPE AC7,RES16 ;Exit if byte count = 0
2093 012426' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
2094 012427' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
2095 012430' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2096 012431' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2097
2098 012432' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
2099 012433' 254 00 0 00 012440' JRST RES20C ;No, see if CONSOLE CMD SIZE
2100 012434' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
2101 012435' 366 07 0 00 012425' SOJN AC7,RES20B ;Try next info type if byte count not 0
2102 012436' 037 01 0 00 016463' RES16: PMSG <^C[ANNOT FIND [CONSOLE COMMAND SIZE [IN [SYS-ID, E[XITING^>
2103 012437' 254 00 0 00 012616' JRST RESX
2104
2105 012440' 306 01 0 00 000005 RES20C: CAIN AC1,5 ;Is it CONSOLE COMMAND SIZE?
2106 012441' 254 00 0 00 012450' JRST RES20D ; yes
2107 ; no, go to next info type
2108 012442' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2109 012443' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2110 012444' 133 00 0 00 000002 RES17: IBP AC2 ;Skip over data
2111 012445' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2112 012446' 367 00 0 00 012444' SOJG AC0,RES17 ;Done?
2113 012447' 254 00 0 00 012425' JRST RES20B ;Yes, try over
2114
2115 012450' 134 01 0 00 000002 RES20D: ILDB AC1,AC2 ;Go get the length
2116 012451' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2117 012452' 254 00 0 00 012460' JRST RES20E ; Yes, get size
2118
2119 012453' 037 01 0 00 016475' PMSG <^ C[ONSOLE [C[OMMAND [S[IZE [I[NFO LENGTH IN ERROR, SHOULD BE 2, WAS >
2120 012454' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2121 012455' 037 15 0 00 000000 PNTDEC ;Print ac0
2122 012456' 037 03 0 00 000001 PCRLF
2123 012457' 254 00 0 00 012616' JRST RESX ; and exit
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 54
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0133
2124
2125 ;Modify CBUFSZ so that it is always less than Console Command Size
2126 ;Check to see that CBUFSZ is less than the max allotted buffer size BUFSIZ.
2127
2128 012460' 134 01 0 00 000002 RES20E: ILDB AC1,AC2 ;Get lo byte of console command size
2129 012461' 134 00 0 00 000002 ILDB AC0,AC2 ;Get hi byte
2130 012462' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ;Construct console command size in AC1
2131 012463' 360 01 0 00 000000 SOJ AC1, ;Decrement by 1
2132 012464' 202 01 0 00 010314' MOVEM AC1,CBUFSZ ;Modify size
2133
2134 012465' 307 01 0 00 003720 CAIG AC1,BUFSIZ ;CBUFSZ > BUFSIZ ?
2135 012466' 254 00 0 00 012477' JRST RES20A ; No, continue
2136 012467' 037 01 0 00 016511' PMSG <^W[ARNING...[CBUFSZ [GREATER THAN [BUFSIZ^>
2137 012470' 037 01 0 00 016521' PMSG <^CBUFSZ = >
2138 012471' 200 00 0 00 010314' MOVE AC0,CBUFSZ
2139 012472' 037 15 0 00 000000 PNTDEC
2140
2141 012473' 037 01 0 00 016523' PMSG <^BUFSIZ = >
2142 012474' 201 00 0 00 003720 MOVEI AC0,BUFSIZ
2143 012475' 037 15 0 00 000000 PNTDEC
2144 012476' 037 03 0 00 000001 PCRLF
2145
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 55
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0134
2146
2147 ;Reset pointer to look for CONSOLE RESPONSE SIZE (info type 6)
2148
2149 012477' 200 02 0 00 015731' RES20A: MOVE AC2,[POINT 8,TTOBUF] ;Set buffer ptr
2150 012500' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
2151
2152 012501' 322 07 0 00 012512' RES30B: JUMPE AC7,RES18 ;Exit if byte count = 0
2153 012502' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
2154 012503' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
2155 012504' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2156 012505' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2157
2158 012506' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
2159 012507' 254 00 0 00 012514' JRST RES30C ;No, see if CONSOLE RESP SIZE
2160 012510' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
2161 012511' 366 07 0 00 012501' SOJN AC7,RES30B ;Try next info type if byte count not 0
2162 012512' 037 01 0 00 016525' RES18: PMSG <^C[ANNOT FIND [CONSOLE RESPONSE SIZE [IN [SYS-ID, E[XITING^>
2163 012513' 254 00 0 00 012616' JRST RESX
2164
2165 012514' 306 01 0 00 000006 RES30C: CAIN AC1,6 ;Is it CONSOLE RESPONSE SIZE?
2166 012515' 254 00 0 00 012524' JRST RES30D ; yes
2167 ; no, go to next info type
2168 012516' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2169 012517' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2170 012520' 133 00 0 00 000002 RES19: IBP AC2 ;Skip over data
2171 012521' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2172 012522' 367 00 0 00 012520' SOJG AC0,RES19 ;Done?
2173 012523' 254 00 0 00 012501' JRST RES30B ;Yes, try over
2174
2175 012524' 134 01 0 00 000002 RES30D: ILDB AC1,AC2 ;Go get the length
2176 012525' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2177 012526' 254 00 0 00 012534' JRST RES30E ; Yes, get size
2178
2179 012527' 037 01 0 00 016537' PMSG <^ C[ONSOLE [R[ESPONSE [S[IZE [I[NFO LENGTH IN ERROR, SHOULD BE 2, WAS >
2180 012530' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2181 012531' 037 15 0 00 000000 PNTDEC ;Print ac0
2182 012532' 037 03 0 00 000001 PCRLF
2183 012533' 254 00 0 00 012616' JRST RESX ; and exit
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 56
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0135
2184
2185 ;Modify RBUFSZ so that it is always greater than Console Response Size
2186 ;Check to see that RBUFSZ is less than the max allotted buffer size BUFSIZ.
2187
2188 012534' 134 01 0 00 000002 RES30E: ILDB AC1,AC2 ;Get lo byte of CONSOLE RESPONSE SIZE
2189 012535' 134 00 0 00 000002 ILDB AC0,AC2 ;Get hi byte
2190 012536' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct CONSOLE COMMAND SIZE in AC1
2191 012537' 340 01 0 00 000000 AOJ AC1, ;Make larger by 1
2192 012540' 202 01 0 00 010315' MOVEM AC1,RBUFSZ ; & modify size
2193
2194 012541' 307 01 0 00 003720 CAIG AC1,BUFSIZ ;RBUFSZ > BUFSIZ ?
2195 012542' 254 00 0 00 012616' JRST RESX ; no, continue
2196 012543' 037 01 0 00 016553' PMSG <^W[ARNING...[RBUFSZ [GREATER THAN [BUFSIZ^>
2197
2198 012544' 037 01 0 00 016563' PMSG <^RBUFSZ = >
2199 012545' 200 00 0 00 010315' MOVE AC0,RBUFSZ
2200 012546' 037 15 0 00 000000 PNTDEC
2201
2202 012547' 037 01 0 00 016523' PMSG <^BUFSIZ = >
2203 012550' 201 00 0 00 003720 MOVEI AC0,BUFSIZ
2204 012551' 037 15 0 00 000000 PNTDEC
2205 012552' 037 03 0 00 000001 PCRLF
2206 012553' 254 00 0 00 012616' JRST RESX ;Exit
2207
2208 012554' 037 01 0 00 016565' RES7: PMSG <C[ONSOLE [N[OT [A[VAILABLE [F[OR [R[ESERVATION^>
2209
2210 012555' 200 02 0 00 015060' MOVE AC2,TEMP1 ;restore pointer
2211 012556' 201 03 0 00 000006 MOVEI AC3,6 ;for 6 bytes
2212 012557' 200 05 0 00 016575' MOVE AC5,[POINT 8,AC0] ;set up pointer
2213
2214 012560' 037 01 0 00 016576' PMSG <^ C[ONSOLE [U[SER >
2215 012561' 134 04 0 00 000002 RES7A: ILDB AC4,AC2 ;get byte
2216 012562' 136 04 0 00 000005 IDPB AC4,AC5 ;set up pointer
2217 012563' 367 03 0 00 012561' SOJG AC3,RES7A ;done?
2218 012564' 261 16 0 00 000000 PUSHD <AC0,AC1>
2219 012565' 261 16 0 00 000001
2220 012566' 260 17 0 00 011460' GO PRHEX
2221
2222 012567' 037 01 0 00 016603' PMSG <^ L[OCAL [A[DDRESS > ;yes
2223 012570' 261 16 0 00 015044' PUSHD <LOCADH,LOCADL>
2224 012571' 261 16 0 00 015045'
2225 012572' 260 17 0 00 011460' GO PRHEX ;print it
2226 012573' 037 03 0 00 000001 PCRLF
2227 012574' 254 00 0 00 012616' JRST RESX
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 57
RMTCNM MAC 10-Jun-85 15:20 RESERVE CONSOLE SEQ 0136
2228
2229 012575' 200 00 0 00 015322' RES8: MOVE AC0,RBTCTR ; *** DO REMOTE BOOT ***
2230 012576' 327 00 0 00 012603' JUMPG AC0,RES8A ;Do remote boot only once
2231
2232 012577' 332 00 0 00 015065' SKIPE TRCFLG ;Skip if no trace
2233 012600' 037 01 0 00 016610' PMSG <^C[ONSOLE [C[ARRIER NOT SET...TRYING [RCRBT^>
2234 012601' 260 17 0 00 010507' GO RCRBT ;Do remote boot
2235 012602' 254 00 0 00 012616' JRST RESX ; error return
2236
2237 012603' 332 00 0 00 015065' RES8A: SKIPE TRCFLG ;Skip if no trace
2238 012604' 037 01 0 00 016620' PMSG <^W[AITING 5 SECONDS...^>
2239 012605' 201 01 0 00 011610 MOVEI AC1,^D5000 ;Wait 5 sec
2240 012606' 104 00 0 00 000167 DISMS
2241
2242 012607' 350 00 0 00 015322' AOS RBTCTR
2243 012610' 200 00 0 00 015322' MOVE AC0,RBTCTR
2244 012611' 302 00 0 00 000014 CAIE AC0,^D12 ;60 sec up?
2245 012612' 254 00 0 00 012212' JRST RES1 ; no, try all over again
2246 012613' 037 01 0 00 016624' PMSG <^RCRBT [CANNOT SET [C[ONSOLE [C[ARRIER AFTER 60 SEC...>
2247 012614' 037 01 0 00 016636' PMSG <^C[ONSOLE [R[ESERVATION UNSUCCESSFUL...EXITING^>
2248 012615' 037 01 0 00 016646' PMSG <^H[AS PASSWORD BEEN SET BY [SET PASSWORD [COMMAND?^>
2249
2250 012616' 262 17 0 00 000000 RESX: GETIT <AC0,AC1,AC2,AC3,AC4,AC5,AC6,AC7>
2251 012617' 262 17 0 00 000001
2252 012620' 262 17 0 00 000002
2253 012621' 262 17 0 00 000003
2254 012622' 262 17 0 00 000004
2255 012623' 262 17 0 00 000005
2256 012624' 262 17 0 00 000006
2257 012625' 262 17 0 00 000007
2258 012626' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 58
RMTCNM MAC 10-Jun-85 15:20 RELEASE CONSOLE SEQ 0137
2259 SUBTTL RELEASE CONSOLE
2260 ;#**************************************************************************
2261 ; 1. Do a REQ-ID & read the SYS-ID "function" & "console user".
2262 ; 2. If FUNCTION indicates "not reserved", do a Return+2 exit.
2263 ; 3. If FUNCTION indicates "reserved", read the CONSOLE USER & check if
2264 ; it's reserved by us.
2265 ; 4. If it's reserved by us, do a RELEASE CONSOLE Jsys & re-enter again.
2266 ; 5. If it's reserved by another user, exit.
2267 ; 6. Return+1 if unsuccessful
2268 ; Return+2 if successful
2269 ;#***************************************************************************
2270
2271 012627' 261 17 0 00 000007 RELCON: PUTIT <AC7,AC6,AC5,AC4,AC3,AC2,AC1,AC0> ;Save some ac's
2272 012630' 261 17 0 00 000006
2273 012631' 261 17 0 00 000005
2274 012632' 261 17 0 00 000004
2275 012633' 261 17 0 00 000003
2276 012634' 261 17 0 00 000002
2277 012635' 261 17 0 00 000001
2278 012636' 261 17 0 00 000000
2279 012637' 260 17 0 00 013067' REL1: GO RRID ;Do Req-ID & put Sys-ID to TTOBUF
2280
2281 ;Reset pointer to look for FUNCTION (info type 2)
2282
2283 012640' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Look for FUNCTION
2284 012641' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
2285
2286 012642' 322 07 0 00 012653' REL1A: JUMPE AC7,REL10 ;Exit if byte count = 0
2287 012643' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
2288 012644' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
2289 012645' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2290 012646' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2291
2292 012647' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
2293 012650' 254 00 0 00 012655' JRST REL1B ;No, see if FUNCTION
2294 012651' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
2295 012652' 366 07 0 00 012642' SOJN AC7,REL1A ;Try next info type if byte count not 0
2296 012653' 037 01 0 00 016657' REL10: PMSG <^C[ANNOT FIND [FUNCTION [IN [SYS-ID, E[XITING>
2297 012654' 254 00 0 00 012766' JRST RELX
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 59
RMTCNM MAC 10-Jun-85 15:20 RELEASE CONSOLE SEQ 0138
2298
2299 012655' 306 01 0 00 000002 REL1B: CAIN AC1,2 ;Is it FUNCTION?
2300 012656' 254 00 0 00 012665' JRST REL1C ; yes
2301 ; no, go to next info type
2302 012657' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2303 012660' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2304 012661' 133 00 0 00 000002 REL11: IBP AC2 ;Skip over data
2305 012662' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2306 012663' 367 00 0 00 012661' SOJG AC0,REL11 ;Done?
2307 012664' 254 00 0 00 012642' JRST REL1A ;Yes, try over
2308
2309 012665' 134 01 0 00 000002 REL1C: ILDB AC1,AC2 ;Go get the length
2310 012666' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2311 012667' 254 00 0 00 012674' JRST REL2 ; Yes
2312
2313 012670' 037 01 0 00 016667' PMSG <^ F[UNCTION [I[NFO LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
2314 012671' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
2315 012672' 037 15 0 00 000000 PNTDEC ;Print ac0 and exit
2316 012673' 254 00 0 00 012765' JRST REL9
2317
2318 012674' 134 01 0 00 000002 REL2: ILDB AC1,AC2 ;Get the data for lo byte
2319
2320 012675' 602 01 0 00 000200 TRNE AC1,1B28 ;Console Reservation set?
2321 012676' 254 00 0 00 012706' JRST REL2A ; Yes, see by who
2322
2323 012677' 402 00 0 00 015042' SETZM TARADH ;clear target addr
2324 012700' 402 00 0 00 015043' SETZM TARADL
2325
2326 012701' 332 00 0 00 015065' SKIPE TRCFLG ;Trace on?
2327 012702' 037 01 0 00 016701' PMSG <^C[ONSOLE [R[ELEASE [S[UCCESSFUL^> ; Yes
2328 012703' 402 00 0 00 015323' SETZM NODSEL ;Clear node selected flag
2329 012704' 350 00 0 17 777770 AOS -10(P) ;Do ret+2
2330 012705' 254 00 0 00 012766' JRST RELX
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 60
RMTCNM MAC 10-Jun-85 15:20 RELEASE CONSOLE SEQ 0139
2331
2332 ;Reset pointer to look for CONSOLE USER (info type 3)
2333
2334 012706' 200 02 0 00 015731' REL2A: MOVE AC2,[POINT 8,TTOBUF] ;Look for CONSOLE USER
2335 012707' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Get SYS-ID byte count
2336
2337 012710' 322 07 0 00 012721' REL2B: JUMPE AC7,REL12 ;Exit if byte count = 0
2338 012711' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE lo byte in AC1
2339 012712' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE hi byte in AC0
2340 012713' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2341 012714' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2342
2343 012715' 302 01 0 00 000000 CAIE AC1,0 ;Info type = 0? (padding)
2344 012716' 254 00 0 00 012723' JRST REL2C ;No, see if CONSOLE USER
2345 012717' 133 00 0 00 000002 IBP AC2 ;Yes, jump over msg length
2346 012720' 366 07 0 00 012310' SOJN AC7,RES2B ;Try next info type if byte count not 0
2347 012721' 037 01 0 00 016707' REL12: PMSG <^C[ANNOT FIND [CONSOLE USER [IN [SYS-ID, E[XITING>
2348 012722' 254 00 0 00 012765' JRST REL9
2349
2350 012723' 306 01 0 00 000003 REL2C: CAIN AC1,3 ;Is it CONSOLE USER?
2351 012724' 254 00 0 00 012733' JRST REL2D ; yes
2352 ; no, go to next info type
2353 012725' 134 00 0 00 000002 ILDB AC0,AC2 ;Get data length
2354 012726' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2355 012727' 133 00 0 00 000002 REL13: IBP AC2 ;Skip over data
2356 012730' 360 07 0 00 000000 SOJ AC7, ;Decr byte count
2357 012731' 367 00 0 00 012727' SOJG AC0,REL13 ;Done?
2358 012732' 254 00 0 00 012710' JRST REL2B ;Yes, try over
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 61
RMTCNM MAC 10-Jun-85 15:20 RELEASE CONSOLE SEQ 0140
2359
2360 012733' 134 01 0 00 000002 REL2D: ILDB AC1,AC2 ;Go get the length
2361 012734' 306 01 0 00 000006 CAIN AC1,6 ;Is it 6 ?
2362 012735' 254 00 0 00 012742' JRST REL3 ; Yes, see if it's me
2363
2364 012736' 037 01 0 00 016720' PMSG <^ C[ONSOLE [U[SER [I[NFO LENGTH IN ERROR, IT SHOULD BE 6, IT WAS >
2365 012737' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2366 012740' 037 15 0 00 000000 PNTDEC ;Print ac0
2367 012741' 254 00 0 00 012765' JRST REL9 ; and exit
2368
2369 012742' 201 03 0 00 000006 REL3: MOVEI AC3,6 ;Compare 6 bytes to see if it's us
2370 012743' 200 06 0 00 016426' MOVE AC6,[POINT 8,LOCADH] ;Set byte pointer
2371 012744' 134 00 0 00 000002 REL5: ILDB AC0,AC2 ;Get console user byte 0-5
2372 012745' 134 01 0 00 000006 ILDB AC1,AC6 ;Get node address byte 0-5
2373
2374 012746' 312 00 0 00 000001 CAME AC0,AC1 ;Same?
2375 012747' 254 00 0 00 012763' JRST REL4 ; No, exit
2376 012750' 367 03 0 00 012744' SOJG AC3,REL5 ; Yes, repeat
2377
2378 012751' 260 17 0 00 010701' GO RCREL ;Do RELEASE CONSOLE jsys
2379 012752' 254 00 0 00 012765' JRST REL9 ; Error return
2380
2381 012753' 336 00 0 00 015070' SKIPN DBGFLG ;Debug?
2382 012754' 254 00 0 00 012637' JRST REL1 ; No
2383 012755' 201 00 0 00 000177 MOVEI AC0,177 ;Clear "RESERVED" in FUNCTION
2384 012756' 202 00 0 00 014136' MOVEM AC0,REQT1
2385
2386 012757' 201 03 0 00 000005 MOVEI AC3,5 ;Clear "CONSOLE USER" in SYS-ID
2387 012760' 402 00 0 03 014143' SETZM REQT2(AC3)
2388 012761' 365 03 0 00 012760' SOJGE AC3,.-1
2389 012762' 254 00 0 00 012637' JRST REL1 ;See if released
2390
2391 012763' 037 01 0 00 016733' REL4: PMSG <^C[ONSOLE ALREADY RESERVED BY ANOTHER USER^>
2392 012764' 254 00 0 00 012766' JRST RELX
2393
2394 012765' 037 01 0 00 016743' REL9: PMSG <^C[ANNOT [R[ELEASE [R[EMOTE [C[ONSOLE>
2395 012766' 037 03 0 00 000001 RELX: PCRLF
2396 012767' 262 17 0 00 000000 GETIT <AC0,AC1,AC2,AC3,AC4,AC5,AC6,AC7>
2397 012770' 262 17 0 00 000001
2398 012771' 262 17 0 00 000002
2399 012772' 262 17 0 00 000003
2400 012773' 262 17 0 00 000004
2401 012774' 262 17 0 00 000005
2402 012775' 262 17 0 00 000006
2403 012776' 262 17 0 00 000007
2404 012777' 263 17 0 00 000000 RTN
2405
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 62
RMTCNM MAC 10-Jun-85 15:20 SHOW ALL NODE ADDRESSES ON NETWORK SEQ 0141
2406 SUBTTL SHOW ALL NODE ADDRESSES ON NETWORK
2407 ;#***************************************************************************
2408 ;* SALLAD subroutine Called from SALLNO (Show all Nodes) in RMTCNP
2409 ;
2410 ; 1. Set NODADH/L for BROADCAST: FF-FF-FF-FF-FF-FF (SKIP OVER THIS FOR NOW)
2411 ; 2. Send Request-ID to receive all broadcast replys (SYS-ID's)
2412 ; 3. Display all Source Address's from the READ REPLY argument block.
2413 ; 4. Test the "More Reply Flag" in word 0 of the arg block.
2414 ; & if set, do another READ REPLY & repeat.
2415 ; 5. Repeat all the above for MULTICAST ADDRESSES: AB-00-00-02-00-00
2416 ;#***************************************************************************
2417
2418 013000' 402 00 0 00 015321' SALLAD: SETZM PASCT ;Dont do BCAST for now
2419 013001' 254 00 0 00 013050' JRST SAD5
2420
2421 013002' 037 01 0 00 016752' PMSG <^P[HYSICAL ADDRESSES OF ALL NODES RESPONDING TO [BROADCAST:^>
2422 013003' 037 03 0 00 000001 PCRLF
2423
2424 013004' 402 00 0 00 015321' SETZM PASCT
2425 013005' 120 00 0 00 015325' DMOVE AC0,BCASTH ;Set up NODADH/L for RCRID
2426 013006' 124 00 0 00 015046' DMOVEM AC0,NODADH
2427
2428 ;Do Request-Id jsys
2429
2430 013007' 260 17 0 00 010373' SAD1: GO RCRID ;Do REQ-ID
2431 013010' 254 00 0 00 013060' JRST SADX ; Jsys error return
2432
2433 013011' 262 16 0 00 015072' POPD SREQN ;Save request #
2434 013012' 260 17 0 00 011316' GO RDSTIM ; & read current time
2435
2436 ;Do Read Status jsys
2437
2438 013013' 261 16 0 00 015072' SAD2: PUSHD SREQN ;Push saved request number
2439 013014' 260 17 0 00 011140' GO RCSTS ;Do READ STATUS
2440 013015' 254 00 0 00 013060' JRST SADX ; Jsys error return
2441
2442 013016' 260 17 0 00 014563' GO RDFLGS ;Read status flags
2443 013017' 254 00 0 00 013050' JRST SAD5 ; Ret+1 Error or timeout return
2444 013020' 254 00 0 00 013013' JRST SAD2 ; Ret+2 Still pending, read again
2445 013021' 600 00 0 00 000000 NOP ; Ret+3 Successful
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 63
RMTCNM MAC 10-Jun-85 15:20 SHOW ALL NODE ADDRESSES ON NETWORK SEQ 0142
2446
2447 ;Do Read Remote Console Reply for SYS-ID
2448
2449 013022' 400 02 0 00 000000 SETZ AC2, ;For debug
2450
2451 013023' 261 16 0 00 015072' SAD3: PUSHD SREQN ;Get Req #
2452 013024' 260 17 0 00 010562' GO RCRPY ;Do READ REPLY (SYS-ID)
2453 013025' 254 00 0 00 013060' JRST SADX ; Jsys error return
2454
2455 013026' 037 01 0 00 016765' PMSG < >
2456
2457 013027' 336 00 0 00 015070' SKIPN DBGFLG ;Debug?
2458 013030' 254 00 0 00 013041' JRST SAD4 ; no
2459
2460 013031' 120 00 0 02 013061' DMOVE AC0,TABL(AC2) ;Yes, get fake addresses
2461 013032' 124 00 0 00 010625' DMOVEM AC0,RCRPYB+.LMSRC ; & stick it in arg block
2462
2463 013033' 271 02 0 00 000002 ADDI AC2,2 ;Bump table index
2464 013034' 200 00 0 00 010624' MOVE AC0,RCRPYB+.LMCID
2465 013035' 661 00 0 00 400000 TLO AC0,(LM%MRF) ;Set "More Reply Flag"
2466 013036' 306 02 0 00 000006 CAIN AC2,6
2467 013037' 621 00 0 00 400000 TLZ AC0,(LM%MRF) ;Unless all 3 node addresses displayed
2468 013040' 202 00 0 00 010624' MOVEM AC0,RCRPYB+.LMCID ; & stick it in arg block
2469
2470 013041' 261 16 0 00 010625' SAD4: PUSHD <RCRPYB+.LMSRC,RCRPYB+.LMSRC+1> ;Get returned source address
2471 013042' 261 16 0 00 010626'
2472 013043' 260 17 0 00 011460' GO PRHEX
2473 013044' 037 03 0 00 000001 PCRLF
2474
2475 013045' 200 00 0 00 010624' MOVE AC0,RCRPYB+.LMCID ;Get flag
2476 013046' 603 00 0 00 400000 TLNE AC0,(LM%MRF) ;More Reply Flag set?
2477 013047' 254 00 0 00 013023' JRST SAD3 ; Yes, do again
2478
2479 013050' 332 00 0 00 015321' SAD5: SKIPE PASCT ;No, done MCAST yet?
2480 013051' 254 00 0 00 013060' JRST SADX ; Yes, exit
2481
2482 013052' 037 01 0 00 016766' PMSG <^P[HYSICAL ADDRESSES OF ALL NODES RESPONDING TO [MCAST:^>
2483 013053' 037 03 0 00 000001 PCRLF
2484
2485 013054' 120 00 0 00 015327' DMOVE AC0,MCASTH
2486 013055' 124 00 0 00 015046' DMOVEM AC0,NODADH
2487 013056' 350 00 0 00 015321' AOS PASCT
2488 013057' 254 00 0 00 013007' JRST SAD1 ;Do again for MCAST
2489
2490 013060' 263 17 0 00 000000 SADX: RTN
2491
2492 013061' 123456 123460 TABL: 123456,,123460 ;debug BCAST/MCAST Address 1
2493 013062' 654324 000000 654324,,0
2494 013063' 123123 456460 123123,,456460 ;Address 2
2495 013064' 234234 000000 234234,,0
2496 013065' 654654 765760 654654,,765760 ;Address 3
2497 013066' 213244 000000 213244,,0
2498
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 64
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0143
2499 SUBTTL REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES
2500 ;#***************************************************************************
2501 ;* RRID subroutine Called from REQU (Req-ID command) in RMTCNP.
2502 ;
2503 ; Sends a REQ-ID message to the selected node and reports SYS-ID returned.
2504 ; The hi/lo address are in AC10/11 resp. from GO HEX & are saved in
2505 ; NODADH/NODADL resp.
2506 ;
2507 ; The byte format for the request id message returned:
2508 ;
2509 ; B1,B2,B3,B4,B5,B6 = destination address
2510 ; B7,B8,B9,B10,B11,B12 = source address (physical)
2511 ; B13 = protocol type 07 = code
2512 ; B14 = 0 = reserved
2513 ; B15,B16 = receipt number (3rd and 4th bytes of received
2514 ; Request id message)
2515 ;
2516 ; The information that the the request id mechanism returns is:
2517 ;
2518 ; B18 + 1st byte = information type
2519 ; 2nd byte = information length, value = x
2520 ; x bytes = specified bytes of information value
2521 ;
2522 ; Where:
2523 ;
2524 ; Info Info Info
2525 ; Type length description
2526 ;
2527 ; 1 3 MAINTENANCE: version ver:3 eco:0 user eco:0
2528 ; 2 2 FUNCTIONS: bit 0=loop, bit1=dump, bit2=primary loader, bit3=
2529 ; Multi-block loader, bit4=boot, bit5=console carrier, bit6=
2530 ; Data link counters, bit7=console carrier reservation
2531 ; 3 6 CONSOLE USER: system address of the system that has the console
2532 ; Reserved.
2533 ; 4 2 RESERVATION TIMER: the maximum value, in seconds, of the timer
2534 ; Used to clear unused console reservations.
2535 ; 5 2 CONSOLE COMMAND SIZE: the maximum size of the console command
2536 ; Buffer.
2537 ; 6 2 CONSOLE RESONSE SIZE: the maximum size of the console response
2538 ; Buffer.
2539 ; 7 6 HARDWARE ADDRESS, contents of physical address rom on nia link
2540 ; Module.
2541 ; 8 10 SYSTEM TIME: the segmented system time.
2542 ;#**********************************************************************
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 65
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0144
2543
2544 ;#****************************************************************************
2545 ; 100 1 COMMUNICATION DEVICE:
2546 ; 0 = Dp, dp11-da 1 = una, deuna
2547 ; 2 = Du, du11-da 3 = cna
2548 ; 4 = dl, dl11-c/e/wa 5 = qna
2549 ; 6 = Dq, dq11-da 7 = ci, computer interconnect interf.
2550 ; 8 = da, da11-b or -al 9 = pcl, pcl11-b
2551 ; 10= Dup, dup11-da 12= dmc, dmc11-da/ar,-ma/al or -fa/ar
2552 ; 14= Dn, dn11-ba 16= dlv, dlv11-e
2553 ; 18= Dmp, 20= dte20, dte20
2554 ; 22= Dv, dv11-aa/ba 24= dz, dz11-a or -b
2555 ; 28= Kdp, kmc11/dup11-da 30= kdz, kmc11/dz11-a
2556 ; 32= Kl, kl8-j 34= dmv, dmv11
2557 ; 36= Dpv, dpv11 38= dmf, dmf-32
2558 ; 40= Dmr, dmr11-aa 42= kmy, kms11-px
2559 ; 44= Kmx, kms11-bd/be
2560 ; 101-199 I-16 COMMUNICATION DEVICE RELATED:
2561 ; 200 C-17 SOFTWARE ID:
2562 ; 0 = No software id
2563 ; >0= The length of the id field
2564 ; -1= Standard operating system
2565 ; -2= Maintenance system
2566 ; 201-299 I-16 SOFTWARE ID RELATED: a specific sofware id. Present only if
2567 ; Form >0. Interpretation is specific to the receiving system.
2568 ; 300 1 SYSTEM PROCESSOR: 1= pdp-11, 2= pluto
2569 ; 301-399 I-16 SYSTEM PROCESSOR RELATED: information specific to the
2570 ; Particular system processor.
2571 ; 400 1 DATA LINK TYPE: 1= ETHERNET, 2= DDCMP, 3=LAPB
2572 ; 401 2 DATA LINK BUFFER SIZE: default = 262
2573 ; 402-499 I-16 DATA LINK RELATED: information specific to the
2574 ; Particular data link.
2575 ;
2576 ; All unknown types are reported as such and no further processing is done.
2577 ;#**************************************************************************
2578
2579 013067' 261 17 0 00 000011 RRID: PUTIT <AC11,AC10,AC7,AC4,AC3,AC2,AC1,AC0> ;Save some acs
2580 013070' 261 17 0 00 000010
2581 013071' 261 17 0 00 000007
2582 013072' 261 17 0 00 000004
2583 013073' 261 17 0 00 000003
2584 013074' 261 17 0 00 000002
2585 013075' 261 17 0 00 000001
2586 013076' 261 17 0 00 000000
2587 013077' 202 10 0 00 015046' MOVEM AC10,NODADH ;Save hi hex address (from GO HEX)
2588 013100' 202 11 0 00 015047' MOVEM AC11,NODADL ;Save lo hex address
2589
2590 ;Do Request-Id jsys
2591
2592 013101' 260 17 0 00 010373' GO RCRID ;Do REQ-ID
2593 013102' 254 00 0 00 014075' JRST RRIDX ; Jsys error return
2594
2595 013103' 262 16 0 00 015072' POPD SREQN ;Save request #
2596 013104' 260 17 0 00 011316' GO RDSTIM ; & read current time
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 66
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0145
2597
2598 ;Do Read Status jsys
2599
2600 013105' 261 16 0 00 015072' RRIH: PUSHD SREQN ;Push saved request number
2601 013106' 260 17 0 00 011140' GO RCSTS ;Do READ STATUS
2602 013107' 254 00 0 00 014075' JRST RRIDX ; Jsys error return
2603
2604 013110' 260 17 0 00 014563' GO RDFLGS ;Read status flags
2605 013111' 254 00 0 00 014075' JRST RRIDX ; Ret+1 Error or timeout return
2606 013112' 254 00 0 00 013105' JRST RRIH ; Ret+2 Still pending, read again
2607 013113' 600 00 0 00 000000 NOP ; Ret+3 Successful
2608
2609 ;Do Read Remote Console Reply for SYS-ID
2610
2611 013114' 261 16 0 00 015072' PUSHD SREQN ;Get Req #
2612 013115' 260 17 0 00 010562' GO RCRPY ;Do READ REPLY (SYS-ID)
2613 013116' 254 00 0 00 014075' JRST RRIDX ; Jsys error return
2614
2615 013117' 336 00 0 00 015065' SKIPN TRCFLG ;Trace enabled?
2616 013120' 254 00 0 00 013130' JRST RRIH2 ; No
2617
2618 013121' 037 01 0 00 017000' PMSG <^R[EQUEST [ID[ FOR NODE ADDRESS:]>
2619 013122' 261 16 0 00 015046' PUSHD <NODADH,NODADL>
2620 013123' 261 16 0 00 015047'
2621 013124' 260 17 0 00 011460' GO PRHEX
2622 013125' 037 03 0 00 000001 PCRLF
2623
2624 013126' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Set output buffer pointer to 1'st
2625 013127' 554 07 0 00 010630' HLRZ AC7,RCRPYB+.LMRBL ;Function byte & get SYS-ID byte count
2626
2627 013130' 336 00 0 00 015070' RRIH2: SKIPN DBGFLG ;Debug ?
2628 013131' 254 00 0 00 013152' JRST RRIDA ; No
2629
2630 013132' 120 00 0 00 015050' DMOVE AC0,SLOCH ;Make LOCAL ADDR = 123456789ABC
2631 013133' 124 00 0 00 015044' DMOVEM AC0,LOCADH
2632
2633 013134' 201 03 0 00 000006 MOVEI AC3,6 ;Make sys-id HRDWR ADDR = NODADH/L
2634 013135' 400 04 0 00 000000 SETZ AC4,
2635 013136' 200 05 0 00 017006' MOVE AC5,[POINT 8,NODADH]
2636 013137' 200 06 0 00 017007' MOVE AC6,[POINT 36,REQT3]
2637 013140' 134 04 0 00 000005 RRIH3: ILDB AC4,AC5 ;Get NODADH/L
2638 013141' 136 04 0 00 000006 IDPB AC4,AC6 ; put it in REQT3
2639 013142' 367 03 0 00 013140' SOJG AC3,RRIH3 ; repeat 6 times
2640
2641 013143' 200 06 0 00 015731' MOVE AC6,[POINT 8,TTOBUF] ;Yes
2642 013144' 400 03 0 00 000000 SETZ AC3,
2643
2644 013145' 200 00 0 03 014125' RRIH1: MOVE AC0,REQTAB(AC3) ;Deposit fake debug data in TTOBUF
2645 013146' 136 00 0 00 000006 IDPB AC0,AC6
2646 013147' 302 03 0 00 000200 CAIE AC3,200
2647 013150' 344 03 0 00 013145' AOJA AC3,RRIH1
2648
2649 013151' 200 07 0 00 016360' MOVE AC7,[RTEND-REQTAB] ;Fake the byte count
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 67
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0146
2650
2651 ; Dispatch to a particular information type routine.
2652
2653 013152' 336 00 0 00 015065' RRIDA: SKIPN TRCFLG ;Trace enabled?
2654 013153' 254 00 0 00 014075' JRST RRIDX ; no, exit
2655
2656 013154' 322 07 0 00 014075' JUMPE AC7,RRIDX ;Exit if byte count = 0
2657 013155' 134 01 0 00 000002 ILDB AC1,AC2 ;Put 1'st INFO TYPE byte in AC1
2658 013156' 134 00 0 00 000002 ILDB AC0,AC2 ;Put 2'nd INFO TYPE byte in AC0
2659 013157' 137 00 0 00 016361' DPB AC0,[POINT 8,AC1,35-8] ; Construct the info type word
2660 013160' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
2661
2662 013161' 302 01 0 00 000000 CAIE AC1,0 ;INFO TYPE = 0 ? (padding)
2663 013162' 254 00 0 00 013166' JRST RRA1 ; No, see what it is
2664 013163' 133 00 0 00 000002 IBP AC2 ;Yes, skip over zero data length
2665 013164' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
2666 013165' 254 00 0 00 013152' JRST RRIDA ;& try again
2667
2668 013166' 306 01 0 00 000001 RRA1: CAIN AC1,^D1 ;Is it maintenance ?
2669 013167' 254 00 0 00 013243' JRST RI1 ; Yes
2670 013170' 306 01 0 00 000002 CAIN AC1,^D2 ;Is it functions ?
2671 013171' 254 00 0 00 013266' JRST RI2 ; Yes
2672 013172' 306 01 0 00 000003 CAIN AC1,^D3 ;Is it console user ?
2673 013173' 254 00 0 00 013324' JRST RI3 ; Yes
2674 013174' 306 01 0 00 000004 CAIN AC1,^D4 ;Is it reservation timer ?
2675 013175' 254 00 0 00 013356' JRST RI4 ; Yes
2676 013176' 306 01 0 00 000005 CAIN AC1,^D5 ;Is it console command size ?
2677 013177' 254 00 0 00 013374' JRST RI5 ; Yes
2678 013200' 306 01 0 00 000006 CAIN AC1,^D6 ;Is it console response size ?
2679 013201' 254 00 0 00 013412' JRST RI6 ; Yes
2680 013202' 306 01 0 00 000007 CAIN AC1,^D7 ;Is it hardware address ?
2681 013203' 254 00 0 00 013430' JRST RI7 ; Yes
2682 013204' 306 01 0 00 000010 CAIN AC1,^D8 ;Is it system time ?
2683 013205' 254 00 0 00 013452' JRST RI8 ; Yes
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 68
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0147
2684
2685 013206' 306 01 0 00 000144 CAIN AC1,^D100 ;Is it communication device ?
2686 013207' 254 00 0 00 013512' JRST RI100 ; Yes
2687 013210' 305 01 0 00 000145 CAIGE AC1,^D101 ;Is it communication device related ?
2688 013211' 254 00 0 00 013214' JRST RRA2 ; No
2689 013212' 307 01 0 00 000307 CAIG AC1,^D199
2690 013213' 254 00 0 00 013616' JRST RI101 ; Yes
2691 013214' 306 01 0 00 000310 RRA2: CAIN AC1,^D200 ;Is it software id ?
2692 013215' 254 00 0 00 013644' JRST RI200 ; Yes
2693 013216' 305 01 0 00 000311 CAIGE AC1,^D201 ;Is it software id related ?
2694 013217' 254 00 0 00 013222' JRST RRA3 ; No
2695 013220' 307 01 0 00 000453 CAIG AC1,^D299
2696 013221' 254 00 0 00 013703' JRST RI201 ; Yes
2697 013222' 306 01 0 00 000454 RRA3: CAIN AC1,^D300 ;Is it system processor ?
2698 013223' 254 00 0 00 013731' JRST RI300 ; Yes
2699 013224' 305 01 0 00 000455 CAIGE AC1,^D301 ;Is it system processor related ?
2700 013225' 254 00 0 00 013230' JRST RRA4 ; No
2701 013226' 307 01 0 00 000617 CAIG AC1,^D399
2702 013227' 254 00 0 00 013753' JRST RI301 ; Yes
2703 013230' 306 01 0 00 000620 RRA4: CAIN AC1,^D400 ;Is it data link type ?
2704 013231' 254 00 0 00 014001' JRST RI400 ; Yes
2705 013232' 306 01 0 00 000621 CAIN AC1,^D401 ;Is it data link buffer size ?
2706 013233' 254 00 0 00 014025' JRST RI401 ; Yes
2707 013234' 305 01 0 00 000622 CAIGE AC1,^D402 ;Is it data link type related ?
2708 013235' 254 00 0 00 013240' JRST RRA5 ; No
2709 013236' 307 01 0 00 000763 CAIG AC1,^D499
2710 013237' 254 00 0 00 014043' JRST RI402 ; Yes
2711
2712 ; If the code got here, it must be unknown information type !
2713
2714 013240' 037 01 0 00 017010' RRA5: PMSG <^U[NKNOWN SYSTEM TYPE CODE: >
2715 013241' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy ac1
2716 013242' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 69
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0148
2717
2718 ; Type 1, length 3 = maintenance:
2719 ; Value = ver:, eco:, user eco:
2720
2721 013243' 037 01 0 00 017015' RI1: PMSG <M[AINTENANCE>
2722 013244' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2723 013245' 306 01 0 00 000003 CAIN AC1,3 ;Is it 3 ?
2724 013246' 254 00 0 00 013252' JRST RI1A ; Yes
2725
2726 013247' 037 01 0 00 017020' PMSG <^I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 3, IT WAS >
2727 013250' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
2728 013251' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2729
2730 013252' 037 01 0 00 017032' RI1A: PMSG <]VER:]]>
2731 013253' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data
2732 013254' 037 15 0 00 000000 PNTDEC ;Print it
2733
2734 013255' 037 01 0 00 017034' PMSG <^]]ECO:]]>
2735 013256' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data
2736 013257' 037 15 0 00 000000 PNTDEC ;Print it
2737
2738 013260' 037 01 0 00 017036' PMSG <^]]U[SER [ECO:]>
2739 013261' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data
2740 013262' 037 15 0 00 000000 PNTDEC ;Print it
2741 013263' 037 03 0 00 000001 PCRLF
2742 013264' 275 07 0 00 000004 SUBI AC7,4 ;Decrement byte count
2743 013265' 254 00 0 00 013152' JRST RRIDA
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 70
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0149
2744
2745 ; Type 2, length 2 = functions:
2746 ; Bit 0=loop, bit1=dump, bit2=primary loader, bit3= multi-block loader,
2747 ; Bit4=boot, bit5=console carrier, bit6= data link counters,
2748 ; Bit7=console carrier reservation
2749
2750 013266' 037 01 0 00 017041' RI2: PMSG <F[UNCTIONS SUPPORTED:>
2751 013267' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2752 013270' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2753 013271' 254 00 0 00 013275' JRST RI2A ; Yes
2754
2755 013272' 037 01 0 00 017045' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
2756 013273' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
2757 013274' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2758
2759 013275' 134 01 0 00 000002 RI2A: ILDB AC1,AC2 ;Get the data for lo byte
2760 013276' 602 01 0 00 000001 TRNE AC1,1B35 ;Loop ?
2761 013277' 037 01 0 00 017057' PMSG <^]]]]L[OOP> ; Yes
2762
2763 013300' 602 01 0 00 000002 TRNE AC1,1B34 ;Dump ?
2764 013301' 037 01 0 00 017061' PMSG <^]]]]D[UMP> ; Yes
2765
2766 013302' 602 01 0 00 000004 TRNE AC1,1B33 ;Primary loader ?
2767 013303' 037 01 0 00 017063' PMSG <^]]]]P[RIMARY [L[OADER> ; Yes
2768
2769 013304' 602 01 0 00 000010 TRNE AC1,1B32 ;Multi-block loader ?
2770 013305' 037 01 0 00 017067' PMSG <^]]]]M[ULTI-[B[LOCK [L[OADER> ; Yes
2771
2772 013306' 602 01 0 00 000020 TRNE AC1,1B31 ;Boot ?
2773 013307' 037 01 0 00 017074' PMSG <^]]]]B[OOT> ; Yes
2774
2775 013310' 602 01 0 00 000040 TRNE AC1,1B30 ;Console carrier ?
2776 013311' 037 01 0 00 017076' PMSG <^]]]]C[ONSOLE [C[ARRIER> ;Yes
2777
2778 013312' 602 01 0 00 000100 TRNE AC1,1B29 ;Data link counters ?
2779 013313' 037 01 0 00 017102' PMSG <^]]]]D[ATA [L[INK [C[OUNTERS> ; Yes
2780
2781 013314' 602 01 0 00 000200 TRNE AC1,1B28 ;Console carrier reservation ?
2782 013315' 037 01 0 00 017107' PMSG <^]]]]C[ONSOLE [C[ARRIER [R[ESERVATION> ; Yes
2783
2784 013316' 037 01 0 00 017116' PMSG <^^ 0[THER FUNCTIONS:]]>
2785 013317' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data for hi byte
2786 013320' 037 02 0 00 000001 PNTOCS
2787 013321' 037 03 0 00 000001 PCRLF
2788 013322' 275 07 0 00 000003 SUBI AC7,3 ;Decrement byte count
2789 013323' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 71
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0150
2790
2791 ; Type 3, length 6 = console user:
2792 ; System address of the system that has the console reserved.
2793
2794 013324' 037 01 0 00 017122' RI3: PMSG <C[ONSOLE USER:]]]>
2795 013325' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2796 013326' 306 01 0 00 000006 CAIN AC1,6 ;Is it 6 ?
2797 013327' 254 00 0 00 013333' JRST RI3A ; Yes
2798
2799 013330' 037 01 0 00 017125' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 6, IT WAS >
2800 013331' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2801 013332' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2802
2803 013333' 201 03 0 00 000006 RI3A: MOVEI AC3,6 ;Get a 6
2804 013334' 200 05 0 00 016575' MOVE AC5,[POINT 8,AC0] ;Set up byte pointer
2805
2806 013335' 134 04 0 00 000002 RI3B: ILDB AC4,AC2 ;Get the data for a byte
2807 013336' 136 04 0 00 000005 IDPB AC4,AC5 ;Load up ac0, ac1
2808 013337' 367 03 0 00 013335' SOJG AC3,RI3B ;Repeat for 6 bytes
2809 013340' 620 00 0 00 000017 TRZ AC0,17 ;Clear unused bits 32-35
2810 013341' 620 01 0 00 000017 TRZ AC1,17
2811 013342' 302 00 0 00 000000 CAIE AC0,0 ;Zero?
2812 013343' 254 00 0 00 013350' JRST RI3C ; No, print node number
2813 013344' 302 01 0 00 000000 CAIE AC1,0 ;Also zero?
2814 013345' 254 00 0 00 013350' JRST RI3C ; No, print node number
2815 013346' 037 01 0 00 017137' PMSG <N[ONE^> ;Yes
2816 013347' 254 00 0 00 013354' JRST RI3D
2817
2818 013350' 261 16 0 00 000000 RI3C: PUSHD <AC0,AC1>
2819 013351' 261 16 0 00 000001
2820 013352' 260 17 0 00 011460' GO PRHEX
2821 013353' 037 03 0 00 000001 PCRLF
2822 013354' 275 07 0 00 000007 RI3D: SUBI AC7,7 ;Decrement byte count
2823 013355' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
2824
2825 ; Type 4, length 2 = reservation timer:
2826 ; The maximum value, in seconds, of the timer used to clear unused
2827 ; Console reservations.
2828
2829 013356' 037 01 0 00 017141' RI4: PMSG <R[ESERVATION TIMER:]]>
2830 013357' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2831 013360' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2832 013361' 254 00 0 00 013365' JRST RI4A ; Yes
2833
2834 013362' 037 01 0 00 017045' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
2835 013363' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2836 013364' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2837
2838 013365' 134 00 0 00 000002 RI4A: ILDB AC0,AC2 ;Get the data for lo byte
2839 013366' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
2840 013367' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify hi byte to ac0
2841 013370' 037 15 0 00 000000 PNTDEC ;Print it
2842 013371' 037 01 0 00 017146' PMSG <. S[ECONDS^>
2843 013372' 275 07 0 00 000003 SUBI AC7,3 ;Decrement byte count
2844 013373' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 72
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0151
2845
2846 ; Type 5, length 2 = console command size:
2847 ; The maximum size of the console command buffer.
2848
2849 013374' 037 01 0 00 017150' RI5: PMSG <C[ONSOLE COMMAND SIZE:]]>
2850 013375' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2851 013376' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2852 013377' 254 00 0 00 013403' JRST RI5A ; Yes
2853
2854 013400' 037 01 0 00 017045' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
2855 013401' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
2856 013402' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2857
2858 013403' 134 00 0 00 000002 RI5A: ILDB AC0,AC2 ;Get the data for lo byte
2859 013404' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
2860 013405' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify hi byte to ac0
2861 013406' 037 15 0 00 000000 PNTDEC ;Print it
2862 013407' 037 01 0 00 017155' PMSG <. B[YTES^>
2863 013410' 275 07 0 00 000003 SUBI AC7,3 ;Decrement byte count
2864 013411' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
2865
2866 ; Type 6, length 2 = console response size:
2867 ; The maximum size of the console response buffer.
2868
2869 013412' 037 01 0 00 017157' RI6: PMSG <C[ONSOLE RESPONSE SIZE:]]>
2870 013413' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2871 013414' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
2872 013415' 254 00 0 00 013421' JRST RI6A ; Yes
2873
2874 013416' 037 01 0 00 017045' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
2875 013417' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2876 013420' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2877
2878 013421' 134 00 0 00 000002 RI6A: ILDB AC0,AC2 ;Get the data for lo byte
2879 013422' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
2880 013423' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify hi byte to ac0
2881 013424' 037 15 0 00 000000 PNTDEC ;Print it
2882 013425' 037 01 0 00 017155' PMSG <. B[YTES^>
2883 013426' 275 07 0 00 000003 SUBI AC7,3 ;Decrement byte count
2884 013427' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 73
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0152
2885
2886 ; Type 7, length 6 = hardware address:
2887 ; Contents of physical address rom on nia link module.
2888
2889 013430' 037 01 0 00 017164' RI7: PMSG <H[ARDWARE ADDRESS:]]>
2890 013431' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2891 013432' 306 01 0 00 000006 CAIN AC1,6 ;Is it 6 ?
2892 013433' 254 00 0 00 013437' JRST RI7A ; Yes
2893
2894 013434' 037 01 0 00 017125' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 6, IT WAS >
2895 013435' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2896 013436' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2897
2898 013437' 201 03 0 00 000006 RI7A: MOVEI AC3,6 ;Get a 6
2899 013440' 200 05 0 00 016575' MOVE AC5,[POINT 8,AC0] ;Set up byte pointer
2900
2901 013441' 134 04 0 00 000002 RI7B: ILDB AC4,AC2 ;Get the data for a byte
2902 013442' 136 04 0 00 000005 IDPB AC4,AC5 ;Load ac0, ac1
2903 013443' 367 03 0 00 013441' SOJG AC3,RI7B ;Repeat for 6 bytes
2904 013444' 261 16 0 00 000000 PUSHD <AC0,AC1>
2905 013445' 261 16 0 00 000001
2906 013446' 260 17 0 00 011460' GO PRHEX
2907 013447' 037 03 0 00 000001 PCRLF
2908 013450' 275 07 0 00 000007 SUBI AC7,7 ;Decrement byte count
2909 013451' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 74
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0153
2910
2911 ; Type 8, length 10 = system time:
2912 ; Segmented binary system time
2913
2914 013452' 037 01 0 00 017170' RI8: PMSG <S[YSTEM TIME:]]]>
2915 013453' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2916 013454' 306 01 0 00 000012 CAIN AC1,^D10 ;Is it 10 ?
2917 013455' 254 00 0 00 013461' JRST RI8A ; Yes
2918
2919 013456' 037 01 0 00 017173' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 10, IT WAS >
2920 013457' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2921 013460' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2922
2923 013461' 134 00 0 00 000002 RI8A: ILDB AC0,AC2 ;Get century (19)
2924 013462' 037 15 0 00 000000 PNTDEC
2925 013463' 134 00 0 00 000002 ILDB AC0,AC2 ;Get year (84)
2926 013464' 037 15 0 00 000000 PNTDEC
2927 013465' 037 01 0 00 017033' PMSG <]>
2928
2929 013466' 134 00 0 00 000002 ILDB AC0,AC2 ;Get month (2)
2930 013467' 037 15 0 00 000000 PNTDEC
2931 013470' 037 01 0 00 017205' PMSG </>
2932 013471' 134 00 0 00 000002 ILDB AC0,AC2 ;Get day (7)
2933 013472' 037 15 0 00 000000 PNTDEC
2934 013473' 037 01 0 00 017033' PMSG <]>
2935
2936 013474' 134 00 0 00 000002 ILDB AC0,AC2 ;Get hour (5)
2937 013475' 037 15 0 00 000000 PNTDEC
2938 013476' 037 01 0 00 017206' PMSG <:>
2939 013477' 134 00 0 00 000002 ILDB AC0,AC2 ;Get min (30)
2940 013500' 037 15 0 00 000000 PNTDEC
2941 013501' 037 01 0 00 017206' PMSG <:>
2942 013502' 134 00 0 00 000002 ILDB AC0,AC2 ;Get sec (20)
2943 013503' 037 15 0 00 000000 PNTDEC
2944 013504' 037 03 0 00 000001 PCRLF
2945
2946 013505' 133 00 0 00 000002 IBP AC2 ;Skip over rest
2947 013506' 133 00 0 00 000002 IBP AC2
2948 013507' 133 00 0 00 000002 IBP AC2
2949 013510' 275 07 0 00 000013 SUBI AC7,13 ;Decrement byte count
2950 013511' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 75
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0154
2951
2952 ; Type 100, length 1 = communication device:
2953 ; Where data is:
2954 ; 0 = Dp, dp11-da 1 = una, una
2955 ; 2 = Du, du11-da 3 = cna
2956 ; 4 = dl, dl11-c or -e 5 = qna
2957 ; 6 = Dq, dq11-da 7 = ci
2958 ; 8 = da, da11-b or -al 9 = pcl, pcl11-b
2959 ; 10= Dup, dup11-da 12= dmc, dmc11-da/ar,-ma/al or -fa/ar
2960 ; 14= Dn, dn11-ba 16= dlv, dlv11-e
2961 ; 18= Dmp, 20= dte20, dte20
2962 ; 22= Dv, dv11-aa/ba 24= dz, dz11-a or -b
2963 ; 28= Kdp, kmc11/dup11-da 30= kdz, kmc11/dz11-a
2964 ; 32= Kl, kl8-j 34= dmv, dmv11
2965 ; 36= Dpv, dpv11 38= dmf,
2966 ; 40= Dmr, 42= kmy, kms11-px
2967 ; 44= Kmx, kmx11-bd/be
2968
2969 013512' 037 01 0 00 017207' RI100: PMSG <C[OMMUNICATION DEVICE:]]>
2970 013513' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
2971 013514' 306 01 0 00 000001 CAIN AC1,1 ;Is it 1 ?
2972 013515' 254 00 0 00 013521' JRST RI100A ; Yes
2973
2974 013516' 037 01 0 00 017214' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 1, IT WAS >
2975 013517' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2976 013520' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
2977
2978 013521' 134 01 0 00 000002 RI100A: ILDB AC1,AC2 ;Get the data
2979 013522' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the byte
2980 013523' 037 15 0 00 000000 PNTDEC ;Print it
2981 013524' 037 01 0 00 017226' PMSG <. >
2982
2983 013525' 306 01 0 00 000000 CAIN AC1,^D0 ;Dp ?
2984 013526' 037 01 0 00 017227' PMSG <DP> ; Yes
2985 013527' 306 01 0 00 000001 CAIN AC1,^D1 ;Una ?
2986 013530' 037 01 0 00 017230' PMSG <UNA> ; Yes
2987 013531' 306 01 0 00 000002 CAIN AC1,^D2 ;Du ?
2988 013532' 037 01 0 00 017231' PMSG <DU> ; Yes
2989 013533' 306 01 0 00 000003 CAIN AC1,^D3 ;Cna ?
2990 013534' 037 01 0 00 017232' PMSG <CNA> ; Yes
2991 013535' 306 01 0 00 000004 CAIN AC1,^D4 ;Dl ?
2992 013536' 037 01 0 00 017233' PMSG <DL> ; Yes
2993 013537' 306 01 0 00 000005 CAIN AC1,^D5 ;Qna ?
2994 013540' 037 01 0 00 017234' PMSG <QNA> ; Yes
2995 013541' 306 01 0 00 000006 CAIN AC1,^D6 ;Dq ?
2996 013542' 037 01 0 00 017235' PMSG <DQ> ; Yes
2997 013543' 306 01 0 00 000007 CAIN AC1,^D7 ;Ci ?
2998 013544' 037 01 0 00 017236' PMSG <CI> ; Yes
2999 013545' 306 01 0 00 000010 CAIN AC1,^D8 ;Da ?
3000 013546' 037 01 0 00 017237' PMSG <DA> ; Yes
3001 013547' 306 01 0 00 000011 CAIN AC1,^D9 ;Pcl ?
3002 013550' 037 01 0 00 017240' PMSG <PCL> ; Yes
3003 013551' 306 01 0 00 000012 CAIN AC1,^D10 ;Dup ?
3004 013552' 037 01 0 00 017241' PMSG <DUP> ; Yes
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 76
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0155
3005 013553' 306 01 0 00 000014 CAIN AC1,^D12 ;Dmc ?
3006 013554' 037 01 0 00 017242' PMSG <DMC> ; Yes
3007 013555' 306 01 0 00 000016 CAIN AC1,^D14 ;Dn ?
3008 013556' 037 01 0 00 017243' PMSG <DN> ; Yes
3009 013557' 306 01 0 00 000020 CAIN AC1,^D16 ;Dlv ?
3010 013560' 037 01 0 00 017244' PMSG <DLV> ; Yes
3011 013561' 306 01 0 00 000022 CAIN AC1,^D18 ;Dmp ?
3012 013562' 037 01 0 00 017245' PMSG <DMP> ; Yes
3013 013563' 306 01 0 00 000024 CAIN AC1,^D20 ;Dte20 ?
3014 013564' 037 01 0 00 017246' PMSG <DTE20> ; Yes
3015 013565' 306 01 0 00 000026 CAIN AC1,^D22 ;Dv ?
3016 013566' 037 01 0 00 017247' PMSG <DV> ; Yes
3017 013567' 306 01 0 00 000030 CAIN AC1,^D24 ;Dz ?
3018 013570' 037 01 0 00 017250' PMSG <DZ> ; Yes
3019 013571' 306 01 0 00 000034 CAIN AC1,^D28 ;Kdp ?
3020 013572' 037 01 0 00 017251' PMSG <KDP> ; Yes
3021 013573' 306 01 0 00 000036 CAIN AC1,^D30 ;Kdz ?
3022 013574' 037 01 0 00 017252' PMSG <KDZ> ; Yes
3023 013575' 306 01 0 00 000040 CAIN AC1,^D32 ;Kl ?
3024 013576' 037 01 0 00 017253' PMSG <KL> ; Yes
3025 013577' 306 01 0 00 000042 CAIN AC1,^D34 ;Dmv ?
3026 013600' 037 01 0 00 017254' PMSG <DMV> ; Yes
3027 013601' 306 01 0 00 000044 CAIN AC1,^D36 ;Dpv ?
3028 013602' 037 01 0 00 017255' PMSG <DPV> ; Yes
3029 013603' 306 01 0 00 000046 CAIN AC1,^D38 ;Dmf ?
3030 013604' 037 01 0 00 017256' PMSG <DMF> ; Yes
3031 013605' 306 01 0 00 000050 CAIN AC1,^D40 ;Dmr ?
3032 013606' 037 01 0 00 017257' PMSG <DMR> ; Yes
3033 013607' 306 01 0 00 000052 CAIN AC1,^D42 ;Kmy ?
3034 013610' 037 01 0 00 017260' PMSG <KMY> ; Yes
3035 013611' 306 01 0 00 000054 CAIN AC1,^D44 ;Kmx ?
3036 013612' 037 01 0 00 017261' PMSG <KMX> ; yes
3037 013613' 037 03 0 00 000001 PCRLF
3038 013614' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
3039 013615' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 77
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0156
3040
3041 ; Type 101-199, length I-16 = communication device related:
3042
3043 013616' 037 01 0 00 017262' RI101: PMSG <C[OMM. DEVICE RELATED VALUE:]>
3044 013617' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the information type number
3045 013620' 037 15 0 00 000000 PNTDEC ;Print it
3046 013621' 037 00 0 00 000056 PNTCI "."
3047
3048 013622' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3049 013623' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3050 013624' 307 01 0 00 000000 CAIG AC1,0 ;Greater than 0 ?
3051 013625' 254 00 0 00 013630' JRST RI101A ; No. Error.
3052
3053 013626' 307 01 0 00 000020 CAIG AC1,^D16 ;Greater than 16 ?
3054 013627' 254 00 0 00 013633' JRST RI101B ; No
3055
3056 013630' 037 01 0 00 017267' RI101A: PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE BETWEEN 1 AND 16, IT WAS >
3057 013631' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3058 013632' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3059
3060 013633' 037 01 0 00 017303' RI101B: PMSG <^ I[NFORMATION:]]]>
3061 013634' 334 00 0 00 000000 SKIPA
3062 013635' 037 01 0 00 017307' RI101C: PMSG <, >
3063 013636' 134 00 0 00 000002 ILDB AC0,AC2 ;Go get data
3064 013637' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3065 013640' 037 02 0 00 000001 PNTOCS ;Print it
3066 013641' 367 01 0 00 013635' SOJG AC1,RI101C ;Print until no more data
3067 013642' 037 03 0 00 000001 PCRLF
3068 013643' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 78
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0157
3069
3070 ; Type 200, length C-17 = software id:
3071 ; 0 = No software id >0= the length of the info field
3072 ; -1= Standard operating system -2= maintenance system
3073
3074 013644' 037 01 0 00 017310' RI200: PMSG <S[OFTWARE [ID:]]]>
3075 013645' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3076 013646' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3077 013647' 302 01 0 00 000000 CAIE AC1,0 ;Is it 0 ?
3078 013650' 254 00 0 00 013653' JRST RI200A ; No
3079 013651' 037 01 0 00 017313' PMSG <NO S[OFTWARE [ID> ; Yes
3080 013652' 254 00 0 00 013701' JRST RI200Z
3081
3082 013653' 302 01 0 00 000377 RI200A: CAIE AC1,377 ;Is it 377 (-1) ?
3083 013654' 254 00 0 00 013657' JRST RI200B ; No
3084 013655' 037 01 0 00 017316' PMSG <S[TANDARD OPERATING SYSTEM> ; Yes
3085 013656' 254 00 0 00 013701' JRST RI200Z
3086
3087 013657' 302 01 0 00 000376 RI200B: CAIE AC1,376 ;Is it 376 (-2) ?
3088 013660' 254 00 0 00 013663' JRST RI200C ; No
3089 013661' 037 01 0 00 017323' PMSG <M[AINTENANCE SYSTEM> ; Yes
3090 013662' 254 00 0 00 013701' JRST RI200Z
3091
3092 013663' 307 01 0 00 000000 RI200C: CAIG AC1,0 ;> 0 ?
3093 013664' 254 00 0 00 013667' JRST RI200D ; No. Error
3094 013665' 307 01 0 00 000021 CAIG AC1,^D17 ;> 17 ?
3095 013666' 254 00 0 00 013672' JRST RI200E ; No.
3096
3097 013667' 037 01 0 00 017327' RI200D: PMSG <^ E[RROR - LENGTH FIELD NOT BETWEEN 1 AND 17, IT WAS >
3098 013670' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3099 013671' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3100
3101 013672' 037 01 0 00 017340' RI200E: PMSG <^ I[NFORMATION: >
3102 013673' 334 00 0 00 000000 SKIPA
3103 013674' 037 01 0 00 017307' RI200F: PMSG <, >
3104 013675' 134 00 0 00 000002 ILDB AC0,AC2 ;Go get data
3105 013676' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3106 013677' 037 02 0 00 000001 PNTOCS ;Print it
3107 013700' 367 01 0 00 013674' SOJG AC1,RI200F ;Print until no more data
3108
3109 013701' 037 03 0 00 000001 RI200Z: PCRLF
3110 013702' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 79
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0158
3111
3112 ; Type 201-299, length I-16 = software id related:
3113 ; A specific software id. Present only if form >0. Interpretation is
3114 ; Specific to the receiving system.
3115
3116 013703' 037 01 0 00 017343' RI201: PMSG <S[OFTWARE [ID[ RELATED VALUE:]>
3117 013704' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the information type
3118 013705' 037 15 0 00 000000 PNTDEC ;Print it
3119 013706' 037 01 0 00 016354' PMSG <.^>
3120
3121 013707' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3122 013710' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3123 013711' 307 01 0 00 000000 CAIG AC1,0 ;Greater than 0 ?
3124 013712' 254 00 0 00 013715' JRST RI201A ; No. Error.
3125 013713' 307 01 0 00 000020 CAIG AC1,^D16 ;Greater than 16 ?
3126 013714' 254 00 0 00 013720' JRST RI201B ; No
3127
3128 013715' 037 01 0 00 017267' RI201A: PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE BETWEEN 1 AND 16, IT WAS >
3129 013716' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3130 013717' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3131
3132 013720' 037 01 0 00 017351' RI201B: PMSG < I[NFORMATION:]]]>
3133 013721' 334 00 0 00 000000 SKIPA
3134 013722' 037 01 0 00 017307' RI201C: PMSG <, >
3135 013723' 134 00 0 00 000002 ILDB AC0,AC2 ;Go get data
3136 013724' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3137 013725' 037 02 0 00 000001 PNTOCS ;Print it
3138 013726' 367 01 0 00 013722' SOJG AC1,RI201C ;Print until no more data
3139
3140 013727' 037 03 0 00 000001 PCRLF
3141 013730' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 80
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0159
3142
3143 ; Type 300, length 1 = system processor:
3144 ; 1= Pdp-11, 2= pluto
3145
3146 013731' 037 01 0 00 017354' RI300: PMSG <S[YSTEM [P[ROCESSOR:]]>
3147 013732' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3148 013733' 306 01 0 00 000001 CAIN AC1,1 ;Is it 1 ?
3149 013734' 254 00 0 00 013740' JRST RI300A ; Yes
3150 013735' 037 01 0 00 017214' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 1, IT WAS >
3151 013736' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3152 013737' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3153
3154 013740' 134 01 0 00 000002 RI300A: ILDB AC1,AC2 ;Get the data
3155 013741' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the type
3156 013742' 037 15 0 00 000000 PNTDEC ;Print it
3157 013743' 037 01 0 00 017226' PMSG <. >
3158
3159 013744' 306 01 0 00 000001 CAIN AC1,^D1 ;Pdp-11 ?
3160 013745' 037 01 0 00 017360' PMSG <PDP-11> ; Yes
3161 013746' 306 01 0 00 000002 CAIN AC1,^D2 ;Pluto ?
3162 013747' 037 01 0 00 017362' PMSG <PLUTO> ; Yes
3163 013750' 037 03 0 00 000001 PCRLF
3164 013751' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
3165 013752' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 81
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0160
3166
3167 ; Type 301-399, length I-16, = system processor related:
3168 ; Information specific to the particular system processor.
3169
3170 013753' 037 01 0 00 017363' RI301: PMSG <S[YSTEM [P[ROCESSOR RELATED VALUE:]>
3171 013754' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the type #
3172 013755' 037 15 0 00 000000 PNTDEC ;Print which one
3173 013756' 037 01 0 00 016354' PMSG <.^>
3174
3175 013757' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3176 013760' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3177 013761' 307 01 0 00 000000 CAIG AC1,0 ;Greater than 0 ?
3178 013762' 254 00 0 00 013765' JRST RI301A ; No. Error.
3179 013763' 307 01 0 00 000020 CAIG AC1,^D16 ;Greater than 16 ?
3180 013764' 254 00 0 00 013770' JRST RI301B ; No
3181 013765' 037 01 0 00 017267' RI301A: PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE BETWEEN 1 AND 16, IT WAS >
3182 013766' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3183 013767' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3184
3185 013770' 037 01 0 00 017351' RI301B: PMSG < I[NFORMATION:]]]>
3186 013771' 334 00 0 00 000000 SKIPA
3187 013772' 037 01 0 00 017307' RI301C: PMSG <, >
3188 013773' 134 00 0 00 000002 ILDB AC0,AC2 ;Go get data
3189 013774' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3190 013775' 037 02 0 00 000001 PNTOCS ;Print it
3191 013776' 367 01 0 00 013772' SOJG AC1,RI301C ;Print until no more data
3192
3193 013777' 037 03 0 00 000001 PCRLF
3194 014000' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 82
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0161
3195
3196 ; Type 400, length 1 = data link type:
3197 ; 1= Ethernet, 2= ddcmp, 3=lapb
3198
3199 014001' 037 01 0 00 017371' RI400: PMSG <D[ATA [L[INK TYPE:]]]>
3200 014002' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3201 014003' 306 01 0 00 000001 CAIN AC1,1 ;Is it 1 ?
3202 014004' 254 00 0 00 014010' JRST RI400A ; Yes
3203 014005' 037 01 0 00 017214' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 1, IT WAS >
3204 014006' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3205 014007' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3206
3207 014010' 134 01 0 00 000002 RI400A: ILDB AC1,AC2 ;Get the data
3208 014011' 200 00 0 00 000001 MOVE AC0,AC1 ;Retrieve the byte
3209 014012' 037 15 0 00 000000 PNTDEC ;Print it
3210 014013' 037 01 0 00 017226' PMSG <. >
3211
3212 014014' 306 01 0 00 000001 CAIN AC1,^D1 ;Ethernet ?
3213 014015' 037 01 0 00 017375' PMSG <ETHERNET> ; Yes
3214 014016' 306 01 0 00 000002 CAIN AC1,^D2 ;Ddcmp ?
3215 014017' 037 01 0 00 017377' PMSG <DDCMP> ; Yes
3216 014020' 306 01 0 00 000003 CAIN AC1,^D3 ;Lapb ?
3217 014021' 037 01 0 00 017400' PMSG <LAPB> ; Yes
3218 014022' 037 03 0 00 000001 PCRLF
3219 014023' 275 07 0 00 000002 SUBI AC7,2 ;Decrement byte count
3220 014024' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
3221
3222
3223 ; Type 401, length 2 = data link buffer size
3224 ; default = 262
3225
3226 014025' 037 01 0 00 017401' RI401: PMSG <D[ATA LINK BUFFER SIZE:]]>
3227 014026' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3228 014027' 306 01 0 00 000002 CAIN AC1,2 ;Is it 2 ?
3229 014030' 254 00 0 00 014034' JRST RI401A ; Yes
3230 014031' 037 01 0 00 017045' PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE 2, IT WAS >
3231 014032' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3232 014033' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3233
3234 014034' 134 00 0 00 000002 RI401A: ILDB AC0,AC2 ;Get the data for lo byte
3235 014035' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
3236 014036' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify hi byte to ac0
3237 014037' 037 15 0 00 000000 PNTDEC ;Print it
3238 014040' 037 01 0 00 017155' PMSG <. B[YTES^>
3239 014041' 275 07 0 00 000003 SUBI AC7,3 ;Decrement byte count
3240 014042' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 83
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0162
3241
3242 ; Type 402-499, length I-16 = data link related:
3243 ; Information specific to the particular data link.
3244
3245 014043' 037 01 0 00 017406' RI402: PMSG <D[ATA [L[INK RELATED VALUE:]>
3246 014044' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the type #
3247 014045' 037 15 0 00 000000 PNTDEC ;Print which one
3248 014046' 037 01 0 00 016354' PMSG <.^>
3249
3250 014047' 134 01 0 00 000002 ILDB AC1,AC2 ;Go get the length
3251 014050' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3252 014051' 307 01 0 00 000000 CAIG AC1,0 ;Greater than 0 ?
3253 014052' 254 00 0 00 014055' JRST RI402A ; No. Error.
3254 014053' 307 01 0 00 000020 CAIG AC1,^D16 ;Greater than 16 ?
3255 014054' 254 00 0 00 014060' JRST RI402B ; No
3256 014055' 037 01 0 00 017267' RI402A: PMSG <^ I[NFORMATION LENGTH IN ERROR, IT SHOULD BE BETWEEN 1 AND 16, IT WAS >
3257 014056' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy the length
3258 014057' 254 00 0 00 014071' JRST RI997 ;Print ac0 and exit
3259
3260 014060' 037 01 0 00 017351' RI402B: PMSG < I[NFORMATION:]]]>
3261 014061' 334 00 0 00 000000 SKIPA
3262 014062' 037 01 0 00 017307' RI402C: PMSG <, >
3263 014063' 134 00 0 00 000002 ILDB AC0,AC2 ;Go get data
3264 014064' 360 07 0 00 000000 SOJ AC7, ;Decrement byte count
3265 014065' 037 02 0 00 000001 PNTOCS ;Print it
3266 014066' 367 01 0 00 014062' SOJG AC1,RI402C ;Print until no more data
3267
3268 014067' 037 03 0 00 000001 PCRLF
3269 014070' 254 00 0 00 013152' JRST RRIDA ;Go do next info type
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 84
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0163
3270
3271 ;#**********************************************************************
3272 ; The following is jrst to when either the length field of type is
3273 ; Incorrect or a data field is not what was expected. This is
3274 ; Considered an error, and further reporting of system id information
3275 ; Would be futile.
3276 ; Any additions or changes to the system id message in future hardware
3277 ; May cause this to occur.
3278 ;#**********************************************************************
3279
3280 014071' 037 15 0 00 000000 RI997: PNTDEC ;Print what it is
3281 014072' 037 00 0 00 000056 PNTCI "."
3282
3283 014073' 037 01 0 00 017413' PMSG <^S[YSTEM [ID[ FORMAT OR DATA IS UNKNOWN!^>
3284 014074' 037 01 0 00 017422' PMSG <N[O FURTHER REPORTING WILL BE DONE FOR THIS NODE!^>
3285
3286 ; The following is the common return for this subroutine.
3287
3288 014075' 262 17 0 00 000000 RRIDX: GETIT <AC0,AC1,AC2,AC3,AC4,AC7,AC10,AC11> ;Restore acs
3289 014076' 262 17 0 00 000001
3290 014077' 262 17 0 00 000002
3291 014100' 262 17 0 00 000003
3292 014101' 262 17 0 00 000004
3293 014102' 262 17 0 00 000007
3294 014103' 262 17 0 00 000010
3295 014104' 262 17 0 00 000011
3296 014105' 263 17 0 00 000000 RTN
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 85
RMTCNM MAC 10-Jun-85 15:20 REQUEST ID DECODING AND REPORTING OF MESSAGE SUBROUTINES SEQ 0164
3297
3298 ;#**********************************************************************
3299 ; RIZ subroutine
3300 ;
3301 ; The following takes a right justified eight bit byte from the data
3302 ; Stack and prints the two hex digits.
3303 ; The first digit printed is in bits 28-31 and the
3304 ; Second digit printed is in bits 32-35.
3305 ; To use this routine put the byte on the data stack by using
3306 ; "PUSHD <X>" Where x is the source address of the data byte,
3307 ; Then use "GO RIZ" to call this subroutine.
3308 ;#**********************************************************************
3309
3310 014106' 261 17 0 00 000000 RIZ: PUTIT <AC0> ;Save ac0
3311
3312 014107' 262 16 0 00 000000 POPD <AC0> ;Get the byte
3313 014110' 261 16 0 00 000000 PUSHD <AC0> ;Save the byte again
3314
3315 014111' 242 00 0 00 777774 LSH AC0,-4 ;Justify hi hex digit
3316 014112' 260 17 0 00 014117' GO RIZ1 ;Go print it
3317
3318 014113' 262 16 0 00 000000 POPD <AC0> ;Get the byte again
3319 014114' 260 17 0 00 014117' GO RIZ1 ;Go print it
3320
3321 014115' 262 17 0 00 000000 GETIT <AC0> ;Restore the original ac0
3322 014116' 263 17 0 00 000000 RTN
3323
3324 014117' 405 00 0 00 000017 RIZ1: ANDI AC0,17
3325 014120' 271 00 0 00 000060 ADDI AC0,60 ;Make an ascii character
3326 014121' 303 00 0 00 000071 CAILE AC0,"9" ;Less than a "9" ?
3327 014122' 271 00 0 00 000007 ADDI AC0,7 ; No, add 7 more to get a-f
3328 014123' 037 12 0 00 000000 PNTCHR ;Print the hex digit
3329 014124' 263 17 0 00 000000 RTN
3330
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 86
RMTCNM MAC 10-Jun-85 15:20 DEBUG TABLE FOR PRINTING SYS-ID INFO SEQ 0165
3331 SUBTTL DEBUG TABLE FOR PRINTING SYS-ID INFO
3332 ;#****************************************************************************
3333 ;Fake SYS-ID information
3334 ;
3335 ; This tests the previous printout routine if DEBUG is enabled.
3336 ; For debug: LOCAL ADDRESS = 123456789ABC
3337 ; CONSOLE USER = 123456789ABC (hex)
3338 ; HARDWARE ADDRESS = NODADH/L
3339 ;
3340 ;Format
3341 ; Info type - 2 bytes
3342 ; Info length - 1 byte, value = x
3343 ; Info values - x bytes (lo byte to hi bytes)
3344 ;#***********************************************************************
3345
3346 014125' 000000 000001 REQTAB: 1 ;Info type = Maintenance version
3347 014126' 000000 000000 0 ;Info type
3348 014127' 000000 000003 3 ;Info length = 3 bytes
3349 014130' 000000 000004 4 ;Info value, version
3350 014131' 000000 000005 5 ;Info value, eco
3351 014132' 000000 000006 6 ;Info value, user eco
3352
3353 014133' 000000 000002 2 ;Functions
3354 014134' 000000 000000 0
3355 014135' 000000 000002 2
3356 014136' 000000 000177 REQT1: 177 ;177 = not reserved, 377 = reserved
3357 014137' 000000 000123 123
3358
3359 014140' 000000 000003 3 ;Console user
3360 014141' 000000 000000 0
3361 014142' 000000 000006 6
3362 014143' 000000 000000 REQT2: 0 ;For debug, LOCADH/L is set to 123456789ABC in RRID.
3363 014144' 000000 000000 0 ; CONSOLE USER will be set to 123456789ABC in RESCON
3364 014145' 000000 000000 0 ; & cleared in RELCON.
3365 014146' 000000 000000 0
3366 014147' 000000 000000 0
3367 014150' 000000 000000 0
3368
3369 014151' 000000 000004 4 ;Reservation timer
3370 014152' 000000 000000 0
3371 014153' 000000 000002 2
3372 014154' 000000 000010 10 ;lo byte, default to 10 sec
3373 014155' 000000 000000 0 ;hi byte
3374
3375 014156' 000000 000005 5 ;Console command size
3376 014157' 000000 000000 0
3377 014160' 000000 000002 2
3378 014161' 000000 000111 111 ;lo
3379 014162' 000000 000000 0 ;hi
3380
3381 014163' 000000 000006 6 ;Console response size
3382 014164' 000000 000000 0
3383 014165' 000000 000002 2
3384 014166' 000000 000333 333 ;lo
3385 014167' 000000 000000 0 ;hi
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 87
RMTCNM MAC 10-Jun-85 15:20 DEBUG TABLE FOR PRINTING SYS-ID INFO SEQ 0166
3386
3387 014170' 000000 000007 7 ;Hardware address
3388 014171' 000000 000000 0
3389 014172' 000000 000006 6
3390 014173' 000000 000000 REQT3: 0 ; make same as NODADH/L in RRID
3391 014174' 000000 000000 0
3392 014175' 000000 000000 0
3393 014176' 000000 000000 0
3394 014177' 000000 000000 0
3395 014200' 000000 000000 0
3396
3397 014201' 000000 000010 ^D8 ;System time
3398 014202' 000000 000000 0
3399 014203' 000000 000012 ^D10
3400 014204' 000000 000023 ^D19
3401 014205' 000000 000124 ^D84
3402 014206' 000000 000002 2
3403 014207' 000000 000007 7
3404 014210' 000000 000005 5
3405 014211' 000000 000036 ^D30
3406 014212' 000000 000024 ^D20
3407 014213' 000000 000000 0
3408 014214' 000000 000000 0
3409 014215' 000000 000000 0
3410
3411 014216' 000000 000144 ^D100 ;Communication device
3412 014217' 000000 000000 0
3413 014220' 000000 000001 1
3414 014221' 000000 000014 ^D12
3415
3416 014222' 000000 000216 ^D142 ;Communication device related
3417 014223' 000000 000000 0
3418 014224' 000000 000012 ^D10
3419 014225' 000000 000001 1
3420 014226' 000000 000002 2
3421 014227' 000000 000003 3
3422 014230' 000000 000004 4
3423 014231' 000000 000005 5
3424 014232' 000000 000006 6
3425 014233' 000000 000007 7
3426 014234' 000000 000010 10
3427 014235' 000000 000011 11
3428 014236' 000000 000012 12
3429
3430 014237' 000000 000310 ^D200 ;Software id
3431 014240' 000000 000000 0
3432 014241' 000000 000376 -2&377
3433
3434 014242' 000000 000323 ^D211 ;Software related
3435 014243' 000000 000000 0
3436 014244' 000000 000004 4
3437 014245' 000000 000111 111
3438 014246' 000000 000222 222
3439 014247' 000000 000333 333
3440 014250' 000000 000123 123
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 87-1
RMTCNM MAC 10-Jun-85 15:20 DEBUG TABLE FOR PRINTING SYS-ID INFO SEQ 0167
3441
3442 014251' 000000 000054 54 ;^D300 ;system processor
3443 014252' 000000 000001 1
3444 014253' 000000 000001 1
3445 014254' 000000 000002 2
3446
3447 014255' 000000 000217 217 ;^D399 ;system processor related
3448 014256' 000000 000001 1
3449 014257' 000000 000003 3
3450 014260' 000000 000001 1
3451 014261' 000000 000002 2
3452 014262' 000000 000003 3
3453
3454 014263' 000000 000220 220 ;^D400 ;data link
3455 014264' 000000 000001 1
3456 014265' 000000 000001 1
3457 014266' 000000 000003 3
3458
3459
3460 014267' 000000 000221 221 ;^D401 ;data link buffer size
3461 014270' 000000 000001 1
3462 014271' 000000 000002 2
3463 014272' 000000 000321 321
3464 014273' 000000 000456 456
3465
3466 014274' 000000 000302 302 ;^D450 ;data link related
3467 014275' 000000 000001 1
3468 014276' 000000 000002 2
3469 014277' 000000 000321 321
3470 014300' 000000 000321 321
3471
3472 014301' 000000 000000 RTEND: 0
3473 014302' 000000 000000 0
3474 014303' 000000 000000 0
3475 014304' 000000 000000 0 ;EOF
3476
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 88
RMTCNM MAC 10-Jun-85 15:20 READ COUNTERS REPORTING SEQ 0168
3477 SUBTTL READ COUNTERS REPORTING
3478 ;#**********************************************************************
3479 ; RRCT Subroutine
3480 ;
3481 ;This routine will read the counters which are in the following format:
3482 ;
3483 ; byte counter
3484 ; length value
3485 ; ------ -------
3486 ; 2 Seconds since last zeroed
3487 ; 4 Bytes received
3488 ; 4 Bytes sent
3489 ; 4 Frames received
3490 ; 4 Frames sent
3491 ; 4 Multicast bytes received
3492 ; 4 Multicast frames received
3493 ; 4 Frames sent, initially deferred
3494 ; 4 Frames sent, single collision
3495 ; 4 Frames sent, multiple collision
3496 ; 2 Send failure
3497 ; 2 Send failure reason bitmap
3498 ;
3499 ; Bit Reason
3500 ; --- ------
3501 ; 0 Excessive collisions
3502 ; 1 Carrier check failed
3503 ; 2 Short circuit
3504 ; 3 Open circuit
3505 ; 4 Frame too long
3506 ; 5 Remote failure to defer
3507 ;
3508 ; 2 Receive failure
3509 ; 2 Receive failure reason bitmap
3510 ;
3511 ; Bit Reason
3512 ; --- ------
3513 ; 0 Block check error
3514 ; 1 Framing error
3515 ; 2 Frame too long
3516 ;
3517 ; 2 Unrecognized frame destination
3518 ; 2 Data overrun
3519 ; 2 System buffer unavailable
3520 ; 2 User buffer unavailable
3521 ;
3522 ;#**********************************************************************
3523
3524 014305' 261 17 0 00 000011 RRCT: PUTIT <AC11,AC10,AC4,AC3,AC2,AC1,AC0> ;Save some acs
3525 014306' 261 17 0 00 000010
3526 014307' 261 17 0 00 000004
3527 014310' 261 17 0 00 000003
3528 014311' 261 17 0 00 000002
3529 014312' 261 17 0 00 000001
3530 014313' 261 17 0 00 000000
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 89
RMTCNM MAC 10-Jun-85 15:20 READ COUNTERS REPORTING SEQ 0169
3531 014314' 202 10 0 00 015046' MOVEM AC10,NODADH ;Save hi hex address (from GO HEX)
3532 014315' 202 11 0 00 015047' MOVEM AC11,NODADL ;Save lo hex address
3533
3534 ;Do Read Counters jsys
3535
3536 014316' 260 17 0 00 010441' GO RCRCT ;Do Read Counters
3537 014317' 254 00 0 00 014451' JRST RRCTX ; Jsys error return
3538
3539 014320' 262 16 0 00 015072' POPD SREQN ;Save request #
3540 014321' 260 17 0 00 011316' GO RDSTIM ; & read current time
3541
3542 ;Do Read Status jsys
3543
3544 014322' 261 16 0 00 015072' RRCT1: PUSHD SREQN ;Push saved request number
3545 014323' 260 17 0 00 011140' GO RCSTS ;Do READ STATUS
3546 014324' 254 00 0 00 014451' JRST RRCTX ; Jsys error return
3547
3548 014325' 260 17 0 00 014563' GO RDFLGS ;Read status flags
3549 014326' 254 00 0 00 014451' JRST RRCTX ; Ret+1 Error or timeout return
3550 014327' 254 00 0 00 014322' JRST RRCT1 ; Ret+2 Still pending, read again
3551 014330' 600 00 0 00 000000 NOP ; Ret+3 Successful
3552
3553 ;Do Read Remote Console Reply for READ COUNTERS
3554
3555 014331' 261 16 0 00 015072' PUSHD SREQN ;Get Req #
3556 014332' 260 17 0 00 010562' GO RCRPY ;Do READ REPLY (counters)
3557 014333' 254 00 0 00 014451' JRST RRCTX ; Jsys error return
3558
3559 014334' 037 01 0 00 017433' PMSG <^R[EAD [C[OUNTERS FOR NODE ADDRESS:]>
3560 014335' 261 16 0 00 015046' PUSHD <NODADH,NODADL>
3561 014336' 261 16 0 00 015047'
3562 014337' 260 17 0 00 011460' GO PRHEX
3563 014340' 037 03 0 00 000001 PCRLF
3564
3565 014341' 200 02 0 00 015731' MOVE AC2,[POINT 8,TTOBUF] ;Set output buffer pointer
3566
3567 014342' 336 00 0 00 015070' SKIPN DBGFLG ;Debug ?
3568 014343' 254 00 0 00 014352' JRST RRCT3 ; No
3569
3570 014344' 200 06 0 00 015731' MOVE AC6,[POINT 8,TTOBUF] ;Yes, set output buffer byte pointer
3571 014345' 400 03 0 00 000000 SETZ AC3,
3572
3573 014346' 200 00 0 03 014475' RRCT2: MOVE AC0,CTRTAB(AC3) ;Deposit fake debug data in TTOBUF
3574 014347' 136 00 0 00 000006 IDPB AC0,AC6
3575 014350' 302 03 0 00 000100 CAIE AC3,100
3576 014351' 344 03 0 00 014346' AOJA AC3,RRCT2
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 90
RMTCNM MAC 10-Jun-85 15:20 READ COUNTERS REPORTING SEQ 0170
3577
3578 ;Printout all counters
3579
3580 014352' 037 01 0 00 017442' RRCT3: PMSG <S[ECONDS SINCE LAST ZEROED:]>
3581 014353' 400 03 0 00 000000 SETZ AC3, ;Read 2 bytes
3582 014354' 260 17 0 00 014461' GO PNTNUM ;Get bytes & print
3583
3584 014355' 037 01 0 00 017447' PMSG <B[YTES RECEIVED:]]]>
3585 014356' 474 03 0 00 000000 SETO AC3, ;Read 4 bytes
3586 014357' 260 17 0 00 014461' GO PNTNUM ;Get bytes & print
3587
3588 014360' 037 01 0 00 017453' PMSG <B[YTES SENT:]]]>
3589 014361' 260 17 0 00 014461' GO PNTNUM
3590
3591 014362' 037 01 0 00 017456' PMSG <F[RAMES RECEIVED:]]>
3592 014363' 260 17 0 00 014461' GO PNTNUM
3593
3594 014364' 037 01 0 00 017462' PMSG <F[RAMES SENT:]]]>
3595 014365' 260 17 0 00 014461' GO PNTNUM
3596
3597 014366' 037 01 0 00 017465' PMSG <M[ULTICAST BYTES RECEIVED:]>
3598 014367' 260 17 0 00 014461' GO PNTNUM
3599
3600 014370' 037 01 0 00 017472' PMSG <M[ULTICAST FRAMES RECEIVED:]>
3601 014371' 260 17 0 00 014461' GO PNTNUM
3602
3603 014372' 037 01 0 00 017477' PMSG <F[RAMES SENT, INITIALLY DEFERRED:>
3604 014373' 260 17 0 00 014461' GO PNTNUM
3605
3606 014374' 037 01 0 00 017505' PMSG <F[RAMES SENT, SINGLE COLLISION:]>
3607 014375' 260 17 0 00 014461' GO PNTNUM
3608
3609 014376' 037 01 0 00 017513' PMSG <F[RAMES SENT, MULTIPLE COLLISION:>
3610 014377' 260 17 0 00 014461' GO PNTNUM
3611
3612 014400' 037 01 0 00 017521' PMSG <S[END FAILURE:]]]>
3613 014401' 400 03 0 00 000000 SETZ AC3, ;Read 2 bytes
3614 014402' 260 17 0 00 014461' GO PNTNUM
3615
3616 014403' 037 01 0 00 017524' PMSG <S[END FAILURE REASON BITMAP:^>
3617 014404' 400 00 0 00 000000 SETZ AC0,
3618 014405' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data for lo byte
3619 014406' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
3620 014407' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify it to ac0
3621
3622 014410' 602 00 0 00 000001 TRNE AC0,1B35 ;Exessive collisions ?
3623 014411' 037 01 0 00 017531' PMSG <]]]]E[XCESSIVE COLLISIONS^> ; Yes
3624
3625 014412' 602 00 0 00 000002 TRNE AC0,1B34 ;Carrier check failed ?
3626 014413' 037 01 0 00 017536' PMSG <]]]]C[ARRIER CHECK FAILED^> ; Yes
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 91
RMTCNM MAC 10-Jun-85 15:20 READ COUNTERS REPORTING SEQ 0171
3627
3628 014414' 602 00 0 00 000004 TRNE AC0,1B33 ;Short circuit ?
3629 014415' 037 01 0 00 017543' PMSG <]]]]S[HORT CIRCUIT^> ; Yes
3630
3631 014416' 602 00 0 00 000010 TRNE AC0,1B32 ;Open circuit ?
3632 014417' 037 01 0 00 017547' PMSG <]]]]O[PEN CIRCUIT^> ; Yes
3633
3634 014420' 602 00 0 00 000020 TRNE AC0,1B31 ;Frame too long ?
3635 014421' 037 01 0 00 017553' PMSG <]]]]F[RAME TOO LONG^> ; Yes
3636
3637 014422' 602 00 0 00 000040 TRNE AC0,1B30 ;Remote failure to defer ?
3638 014423' 037 01 0 00 017557' PMSG <]]]]R[EMOTE FAILURE TO DEFER^> ;Yes
3639
3640 014424' 037 01 0 00 017564' PMSG <R[ECEIVE FAILURE:]]>
3641 014425' 260 17 0 00 014461' GO PNTNUM
3642
3643 014426' 037 01 0 00 017570' PMSG <R[ECEIVE FAILURE REASON BITMAP:^>
3644 014427' 400 00 0 00 000000 SETZ AC0,
3645 014430' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data for lo byte
3646 014431' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for hi byte
3647 014432' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify it to ac0
3648
3649 014433' 602 00 0 00 000001 TRNE AC0,1B35 ;Block check error ?
3650 014434' 037 01 0 00 017576' PMSG <]]]]B[LOCK CHECK ERROR^> ; Yes
3651
3652 014435' 602 00 0 00 000002 TRNE AC0,1B34 ;Framing error ?
3653 014436' 037 01 0 00 017602' PMSG <]]]]F[RAMING ERROR^> ; Yes
3654
3655 014437' 602 00 0 00 000004 TRNE AC0,1B33 ;Frame too short ?
3656 014440' 037 01 0 00 017606' PMSG <]]]]F[RAME TOO SHORT^> ; Yes
3657
3658 014441' 037 01 0 00 017612' PMSG <U[NRECOGNIZED FRAME DESTINATION:]>
3659 014442' 260 17 0 00 014461' GO PNTNUM
3660
3661 014443' 037 01 0 00 017620' PMSG <D[ATA OVERRUN:]]]>
3662 014444' 260 17 0 00 014461' GO PNTNUM
3663
3664 014445' 037 01 0 00 017623' PMSG <S[YSTEM BUFFER UNAVAILABLE:]>
3665 014446' 260 17 0 00 014461' GO PNTNUM
3666
3667 014447' 037 01 0 00 017630' PMSG <U[SER BUFFER UNAVAILABLE:]>
3668 014450' 260 17 0 00 014461' GO PNTNUM
3669
3670 014451' 262 17 0 00 000000 RRCTX: GETIT <AC0,AC1,AC2,AC3,AC4,AC10,AC11> ;Restore ac's
3671 014452' 262 17 0 00 000001
3672 014453' 262 17 0 00 000002
3673 014454' 262 17 0 00 000003
3674 014455' 262 17 0 00 000004
3675 014456' 262 17 0 00 000010
3676 014457' 262 17 0 00 000011
3677 014460' 263 17 0 00 000000 RTN
3678
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 92
RMTCNM MAC 10-Jun-85 15:20 READ COUNTER BYTES & PRINT SEQ 0172
3679 SUBTTL READ COUNTER BYTES & PRINT
3680 ;#*********************************************************************
3681 ; Enter with AC2 pointing to the correct byte in TTOBUF
3682 ; AC3 = 0 to take 2 bytes from TTOBUF
3683 ; AC3 = -1 to take 4 bytes from TTOBUF
3684 ;
3685 ; Assemble the bytes in AC0 & print it.
3686 ;#***********************************************************************
3687
3688 014461' 400 00 0 00 000000 PNTNUM: SETZ AC0,
3689 014462' 134 00 0 00 000002 ILDB AC0,AC2 ;Get the data for lo byte
3690 014463' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for 2'nd byte
3691 014464' 137 01 0 00 017145' DPB AC1,[POINT 8,AC0,35-8] ;Justify it to ac0
3692 014465' 322 03 0 00 014472' JUMPE AC3,PN1 ;Jump if only need 2 bytes
3693
3694 014466' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for 3'rd byte
3695 014467' 137 01 0 00 017635' DPB AC1,[POINT 8,AC0,35-16] ;Justify it to ac0
3696 014470' 134 01 0 00 000002 ILDB AC1,AC2 ;Get the data for 4'th byte
3697 014471' 137 01 0 00 017636' DPB AC1,[POINT 8,AC0,35-24] ;Justify it to ac0
3698
3699 014472' 037 15 0 00 000000 PN1: PNTDEC ;Print it
3700 014473' 037 03 0 00 000001 PCRLF
3701 014474' 263 17 0 00 000000 RTN
3702
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 93
RMTCNM MAC 10-Jun-85 15:20 DEBUG TABLE FOR PRINTING READ COUNTERS INFORMATION SEQ 0173
3703 SUBTTL DEBUG TABLE FOR PRINTING READ COUNTERS INFORMATION
3704 ;#**************************************************************************
3705 ; Dummy READ COUNTERS information
3706 ;
3707 ; This is a test of the previous printout routine to be used if the
3708 ; debug EXIT is enabled.
3709 ; Bytes are in the order of low to high
3710 ;#**************************************************************************
3711
3712 014475' 000000 000010 CTRTAB: 10 ;Seconds since last zeroed (lo byte)
3713 014476' 000000 000000 0 ; (hi byte)
3714
3715 014477' 000000 000012 12 ;Bytes received
3716 014500' 000000 000000 0
3717 014501' 000000 000000 0
3718 014502' 000000 000000 0
3719
3720 014503' 000000 000014 14 ;Bytes sent
3721 014504' 000000 000000 0
3722 014505' 000000 000000 0
3723 014506' 000000 000000 0
3724
3725 014507' 000000 000016 16 ;Frames received
3726 014510' 000000 000000 0
3727 014511' 000000 000000 0
3728 014512' 000000 000000 0
3729
3730 014513' 000000 000020 20 ;Frames sent
3731 014514' 000000 000000 0
3732 014515' 000000 000000 0
3733 014516' 000000 000000 0
3734
3735 014517' 000000 000022 22 ;Multicast bytes received
3736 014520' 000000 000000 0
3737 014521' 000000 000000 0
3738 014522' 000000 000000 0
3739
3740 014523' 000000 000024 24 ;Multicast frames received
3741 014524' 000000 000000 0
3742 014525' 000000 000000 0
3743 014526' 000000 000000 0
3744
3745 014527' 000000 000026 26 ;Frames sent, initially deferred
3746 014530' 000000 000000 0
3747 014531' 000000 000000 0
3748 014532' 000000 000000 0
3749
3750 014533' 000000 000030 30 ;Frames sent, single collision
3751 014534' 000000 000000 0
3752 014535' 000000 000000 0
3753 014536' 000000 000000 0
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 94
RMTCNM MAC 10-Jun-85 15:20 DEBUG TABLE FOR PRINTING READ COUNTERS INFORMATION SEQ 0174
3754
3755 014537' 000000 000032 32 ;Frames sent, multiple collision
3756 014540' 000000 000000 0
3757 014541' 000000 000000 0
3758 014542' 000000 000000 0
3759
3760 014543' 000000 000034 34 ;Send failure
3761 014544' 000000 000000 0
3762
3763 014545' 000000 000377 377 ;Send failure reason bitmap
3764 014546' 000000 000000 0
3765
3766 014547' 000000 000036 36 ;Receive failure
3767 014550' 000000 000000 0
3768
3769 014551' 000000 000377 377 ;Receive failure reason bitmap
3770 014552' 000000 000000 0
3771
3772 014553' 000000 000040 40 ;Unrecognized frame destination
3773 014554' 000000 000000 0
3774
3775 014555' 000000 000042 42 ;Data overrun
3776 014556' 000000 000000 0
3777
3778 014557' 000000 000044 44 ;System buffer unavailable
3779 014560' 000000 000000 0
3780
3781 014561' 000000 000046 46 ;User buffer unavailable
3782 014562' 000000 000000 0
3783
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 95
RMTCNM MAC 10-Jun-85 15:20 STATUS FLAG REPORTING SEQ 0175
3784 SUBTTL STATUS FLAG REPORTING
3785 ;#**********************************************************************
3786 ;* RDFLGS Subroutine - Come here after doing "GO RCSTS"
3787 ;
3788 ; Enter with STATUS in AC1
3789 ; Return +1 if error or timeout
3790 ; Return +2 if status pending & time not up.
3791 ; Return +3 if successful
3792 ;#**********************************************************************
3793
3794 014563' 550 01 0 00 011223' RDFLGS: HRRZ AC1,RCSTSB+.LMSTF ;Get status from check status jsys
3795 014564' 302 01 0 00 000000 CAIE AC1,.LMPND ;Request pending ?
3796 014565' 254 00 0 00 014573' JRST RDFL1 ; No, check the other flags
3797
3798 ;The request is pending. See if 5 seconds have elapsed since the
3799 ; Operation was started. If it has, report it. If not read the status again.
3800
3801 014566' 260 17 0 00 011331' GO OTIME ;See if 5 seconds have elapsed
3802 014567' 334 00 0 00 000000 SKIPA ;Error - time has elapsed
3803 014570' 254 00 0 00 014624' JRST RDFL2 ; Ret+2, to read status again
3804 014571' 037 01 0 00 017637' PMSG <^STATUS [MESSAGE NOT RETURNED WITHIN 5 SECONDS^>
3805 014572' 254 00 0 00 014616' JRST RDFL5
3806
3807 014573' 302 01 0 00 000002 RDFL1: CAIE AC1,.LMABT ;Aborted ?
3808 014574' 254 00 0 00 014576' JRST RDFL6 ; No
3809 ERROR1 (0,0,0,REQUEST ABORTED,^_
3810 014575' 036 00 0 00 017660' REQUEST ID MESSAGE WAS ABORTED,ER01)
3811
3812 014576' 302 01 0 00 000003 RDFL6: CAIE AC1,.LMTXF ;Transmit failed ?
3813 014577' 254 00 0 00 014601' JRST RDFL7 ; No
3814 ERROR1 (0,0,0,TRANSMIT FAILED,^_
3815 014600' 036 00 0 00 017673' TRANSMIT FAILURE OCCURED,ER01)
3816
3817 014601' 302 01 0 00 000004 RDFL7: CAIE AC1,.LMCCE ;Channel communication error ?
3818 014602' 254 00 0 00 014604' JRST RDFL8 ; No
3819 ERROR1 (0,0,0,CHANNEL COMMUNICATION ERROR,^_
3820 014603' 036 00 0 00 017711' CHANNEL COMMUNICATION ERROR OCCURED,ER01)
3821
3822 014604' 307 01 0 00 000004 RDFL8: CAIG AC1,.LMCCE ;Unknown status type ?
3823 014605' 254 00 0 00 014614' JRST RDFL4 ; No
3824 014606' 037 01 0 00 017714' PMSG <^U[NKNOWN STATUS CODE RETURNED FROM^[REMOTE CONSOLE CHECK STATUS JSYS.>
3825 014607' 037 01 0 00 017730' PMSG <^R[ETURNED CODE = >
3826 014610' 200 00 0 00 000001 MOVE AC0,AC1 ;Copy status
3827 014611' 037 02 0 00 000001 PNTOCS ;Print the status
3828 014612' 037 03 0 00 000001 PCRLF
3829 014613' 037 04 0 00 000003 FATAL
3830
3831 014614' 306 01 0 00 000001 RDFL4: CAIN AC1,.LMSUC ;Successful ?
3832 014615' 254 00 0 00 014623' JRST RDFL3 ; Yes, ret+3
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 96
RMTCNM MAC 10-Jun-85 15:20 STATUS FLAG REPORTING SEQ 0176
3833
3834 ;Do Abort Outstanding command
3835
3836 014616' 261 16 0 00 015072' RDFL5: PUSHD SREQN ;Get Req#
3837 014617' 260 17 0 00 011104' GO RCABT ;Do ABORT
3838 014620' 254 00 0 00 014625' JRST RDFLX ; Jsys error return
3839 014621' 037 01 0 00 017734' PMSG <^A[BORTING [A[FTER [U[NSUCCESSFUL [READ STATUS^>
3840 014622' 254 00 0 00 014625' JRST RDFLX
3841
3842 014623' 350 00 0 17 000000 RDFL3: AOS (P) ;Do return +3
3843 014624' 350 00 0 17 000000 RDFL2: AOS (P) ;Do return +2
3844 014625' 263 17 0 00 000000 RDFLX: RTN ;Do return +1
3845
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 97
RMTCNM MAC 10-Jun-85 15:20 SPEAR REPORTING SUBROUTINES SEQ 0177
3846 SUBTTL SPEAR REPORTING SUBROUTINES
3847 ;#**********************************************************************
3848 ; SPR1 - print initial spear report 'diagnostic started'
3849 ;
3850 ; This subroutine makes a "DIAGNOSTIC STARTED" spear report.
3851 ; It determines if it should be made by looking at "SPRFLG" and "SPEAR1".
3852 ; "SPEAR1" Is initially loaded as 0.
3853 ; When a "DIAGNOSTIC STARTED" spear report is made it is set to -1.
3854 ; "SPRFLG" Is is a flag word that is toggled by the commands
3855 ; Enable/disable spear-reporting.
3856 ;#**********************************************************************
3857
3858 014626' 261 17 0 00 000002 SPR1: PUTIT <AC2,AC1,AC0> ;Save some ac's
3859 014627' 261 17 0 00 000001
3860 014630' 261 17 0 00 000000
3861 014631' 332 00 0 00 015067' SKIPE SPRFLG ;Spear reporting enabled ?
3862 014632' 332 00 0 00 015056' SKIPE SPEAR1 ;Diagnostic started spear entry made ?
3863 014633' 254 00 0 00 014645' JRST SPR1X ;Bypass spear report
3864
3865 ; Get ppn and build entry / get time and insert it
3866
3867 014634' 260 17 0 00 015022' GO GETPP ;Get user's ppn
3868 014635' 262 16 0 00 014661' POPD <SENT10+8> ;Save in spear entry block
3869 014636' 104 00 0 00 000227 GTAD ;Get time and day
3870 014637' 202 01 0 00 014656' MOVEM AC1,SENT10+5 ;Save it
3871
3872 ; Make the entry
3873
3874 014640' 201 01 0 00 014651' MOVEI AC1,SENT10 ;Get address of argument block
3875 014641' 201 02 0 00 000012 MOVEI AC2,^D10 ;Get length
3876 014642' 336 00 0 00 015070' SKIPN DBGFLG
3877 014643' 104 00 0 00 000527 SYERR ;Write to syserr file
3878
3879 014644' 476 00 0 00 015056' SETOM SPEAR1 ;Set 'spear initial msg done' flag
3880 014645' 262 17 0 00 000000 SPR1X: GETIT <AC0,AC1,AC2> ;Restore ac's
3881 014646' 262 17 0 00 000001
3882 014647' 262 17 0 00 000002
3883 014650' 263 17 0 00 000000 RTN
3884
3885 ; Spear entry block 10
3886
3887 014651' 250000 000000 SENT10: 250000,,0 ;Event type
3888 014652' 000000 000000 0 ;Zero
3889 014653' 000000 000000 0 ;Zero
3890 014654' 000000 000000 0 ;Zero
3891 014655' 000000 020002 20002 ;Time of occurence block
3892 014656' 000000 000000 0 ;Time
3893 014657' 004010 000000 4010,,0 ;4 Words, type 10 code
3894 014660' 62 55 64 43 57 56 SIXBIT /RMTCON/ ;Diagnostic name
3895 014661' 000001 000000 MCNVER,,DECVER ;Diagnostic version
3896 014662' 000000 000000 0 ;User ppn
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 98
RMTCNM MAC 10-Jun-85 15:20 SPEAR REPORTING SUBROUTINES SEQ 0178
3897
3898 ;#**********************************************************************
3899 ; SPR2 - makes either:
3900 ;
3901 ; 1. An error spear report.
3902 ; 2. A successful completion spear report.
3903 ; 3. Or a spear packet count incremented spear report
3904 ; (The spear queue entry count changed during execution of an ni packet).
3905 ;
3906 ; Put a word on the data stack via "PUSHD <X>" where x is:
3907 ; 1. A 0 for a successful completion spear report.
3908 ; 2. For an error spear report: a postive number where bits 1-35
3909 ; Contains the address of an asciz message.
3910 ; 3. For a spear packet count incremented spear report:
3911 ; A negative number where bit 0 is the negative sign and
3912 ; Bits 1-35 contains the address of an asciz message.
3913 ;#**********************************************************************
3914
3915 014663' 262 16 0 00 014720' SPR2: POPD <SPR2D> ;Get the code word.
3916 014664' 261 17 0 00 000000 PUTIT <AC0,AC1,AC2,AC3,AC4> ;Save some ac's
3917 014665' 261 17 0 00 000001
3918 014666' 261 17 0 00 000002
3919 014667' 261 17 0 00 000003
3920 014670' 261 17 0 00 000004
3921
3922 ; First check if spear reporting is enabled and that we haven't
3923 ; Exceeded the spear error reporting threshold.
3924
3925 014671' 336 00 0 00 015067' SKIPN SPRFLG ;Spear reporting enabled ?
3926 014672' 254 00 0 00 014712' JRST SPR2X ; It isn't. Exit this subroutine
3927
3928 014673' 200 00 0 00 015057' MOVE AC0,SPRCNT ;Get the # of error spear entries made
3929 014674' 313 00 0 00 015641' CAMLE AC0,SERTH# ;Have we exceeded spear threshold ?
3930 014675' 254 00 0 00 014712' JRST SPR2X ; Yes. Exit this subroutine.
3931
3932 ; Initialize entry
3933
3934 014676' 402 00 0 00 014730' SETZM SENT11+7 ;Clear test name
3935 014677' 402 00 0 00 014731' SETZM SENT11+8 ;Clear test description length
3936 014700' 201 02 0 00 000003 MOVEI AC2,3 ;Set block length to 3 words
3937 014701' 137 02 0 00 017744' DPB AC2,[POINT 9,SEN11L,35] ;Save length
3938
3939 ; Make the spear entry
3940
3941 014702' 104 00 0 00 000227 SPR2E: GTAD ;Get time and day
3942 014703' 202 01 0 00 014726' MOVEM AC1,SENT11+5 ;Save it
3943 014704' 135 02 0 00 017744' LDB AC2,[POINT 9,SEN11L,35] ;Get length
3944 014705' 271 02 0 00 000006 ADDI AC2,6 ;Calculate total block length
3945 014706' 201 01 0 00 014721' MOVEI AC1,SENT11 ;Get address of argument block
3946 014707' 336 00 0 00 015070' SKIPN DBGFLG
3947 014710' 104 00 0 00 000527 SYERR ;Write to syserr file
3948
3949 014711' 350 00 0 00 015057' AOS SPRCNT ;Increment spear error entries made
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 99
RMTCNM MAC 10-Jun-85 15:20 SPEAR REPORTING SUBROUTINES SEQ 0179
3950
3951 014712' 262 17 0 00 000004 SPR2X: GETIT <AC4,AC3,AC2,AC1,AC0> ;Restore ac's
3952 014713' 262 17 0 00 000003
3953 014714' 262 17 0 00 000002
3954 014715' 262 17 0 00 000001
3955 014716' 262 17 0 00 000000
3956 014717' 263 17 0 00 000000 RTN
3957
3958 014720' 000000 000000 SPR2D: 0 ;Code word stored here
3959
3960 ; Spear entry block 11
3961
3962 014721' 250000 000000 SENT11: 250000,,0 ;Event type
3963 014722' 000000 000000 0 ;Zero
3964 014723' 000000 000000 0 ;Zero
3965 014724' 000000 000000 0 ;Zero
3966 014725' 000000 020002 20002 ;Time of occurence block
3967 014726' 000000 000000 0 ;Time
3968 014727' 000011 000000 SEN11L: 11,,0 ;Type 11 code
3969 014730' 000000 000000 0 ;Failing test name
3970 014731' 000000 000000 0 ;Failing test description length
3971 014732' BLOCK ^D20 ;Ascii test description
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 100
RMTCNM MAC 10-Jun-85 15:20 SPEAR REPORTING SUBROUTINES SEQ 0180
3972
3973 ;#**********************************************************************
3974 ; SPR3 subroutine
3975 ;
3976 ; Used to make a spear entry when the spear queue entry
3977 ; Number has changed but no error was detected by the diagnostic.
3978 ;#**********************************************************************
3979
3980 014756' 261 17 0 00 000000 SPR3: PUTIT <AC0> ;Save an ac
3981
3982 014757' 201 00 0 00 014765' MOVEI AC0,SPR3E ;Get address of asciz message
3983 014760' 661 00 0 00 400000 TLO AC0,(1B0) ;Set bit 0
3984 014761' 261 16 0 00 000000 PUSHD <AC0> ;Put the address on the data stack
3985 014762' 260 17 0 00 014663' GO SPR2 ;Call spear error reporter subroutine
3986
3987 014763' 262 17 0 00 000000 GETIT <AC0> ;Restore ac
3988 014764' 263 17 0 00 000000 RTN
3989
3990 014765' SPR3E: ASCIZ/
3991 014765' 015 012 124 110 105 THE SPEAR QUEUE ENTRY COUNTER HAS CHANGED DURING EXECUTION OF THIS TEST.
3992 014766' 040 123 120 105 101
3993 014767' 122 040 121 125 105
3994 014770' 125 105 040 105 116
3995 014771' 124 122 131 040 103
3996 014772' 117 125 116 124 105
3997 014773' 122 040 110 101 123
3998 014774' 040 103 110 101 116
3999 014775' 107 105 104 040 104
4000 014776' 125 122 111 116 107
4001 014777' 040 105 130 105 103
4002 015000' 125 124 111 117 116
4003 015001' 040 117 106 040 124
4004 015002' 110 111 123 040 124
4005 015003' 105 123 124 056 015
4006 015004' 012 116 117 040 105 NO ERROR WAS DETECTED BY THIS TEST.
4007 015005' 122 122 117 122 040
4008 015006' 127 101 123 040 104
4009 015007' 105 124 105 103 124
4010 015010' 105 104 040 102 131
4011 015011' 040 124 110 111 123
4012 015012' 040 124 105 123 124
4013 015013' 056 015 012 000 000 /
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 101
RMTCNM MAC 10-Jun-85 15:20 SPEAR REPORTING SUBROUTINES SEQ 0181
4014
4015 ;#**********************************************************************
4016 ; SPR4 subroutine
4017 ;
4018 ; Used to make a successful completion spear report.
4019 ;#**********************************************************************
4020
4021 015014' 261 17 0 00 000000 SPR4: PUTIT <AC0> ;Save an ac
4022
4023 015015' 402 00 0 00 000000 SETZM AC0 ;Get a 0 word
4024 015016' 261 16 0 00 000000 PUSHD <AC0> ;Put the zero on the data stack
4025 015017' 260 17 0 00 014663' GO SPR2 ;Call spear error reporter subroutine
4026
4027 015020' 262 17 0 00 000000 GETIT <AC0> ;Restore ac
4028 015021' 263 17 0 00 000000 RTN
4029
4030 ;#**********************************************************************
4031 ; GETPP - find out ppn number
4032 ;
4033 ; This subroutine will return with the ppn on the data stack.
4034 ; To get the ppn after this subroutine returns,
4035 ; Use "POPD <X>" where "X" is the location you want the ppn to go to.
4036 ;#**********************************************************************
4037
4038 015022' 261 17 0 00 000001 GETPP: PUTIT <AC1,AC2,AC3> ;Save some ac's
4039 015023' 261 17 0 00 000002
4040 015024' 261 17 0 00 000003
4041 015025' 476 00 0 00 000001 SETOM AC1 ;Indicate current job
4042 015026' 200 02 0 00 017745' MOVE AC2,[-1,,AC1] ;Place 1 word into ac1
4043 015027' 201 03 0 00 000003 MOVEI AC3,3 ;Point to connected directory number
4044
4045 015030' 104 00 0 00 000507 GETJI ;Get job information
4046 015031' 334 00 0 00 000000 SKIPA ;Error
4047 015032' 254 00 0 00 015034' JRST GETPP1 ;Good return
4048
4049 015033' 402 00 0 00 000001 SETZM AC1 ;Error - just clear ac1
4050
4051 015034' 261 16 0 00 000001 GETPP1: PUSHD <AC1> ;Put ppn on data stack
4052 015035' 262 17 0 00 000003 GETIT <AC3,AC2,AC1> ;Restore ac's
4053 015036' 262 17 0 00 000002
4054 015037' 262 17 0 00 000001
4055 015040' 263 17 0 00 000000 RTN
4056
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 102
RMTCNM MAC 10-Jun-85 15:20 GENERAL STORAGE SEQ 0182
4057 SUBTTL GENERAL STORAGE
4058 ;#**********************************************************************
4059 ;* General Program Storage
4060 ;#**********************************************************************
4061
4062 015041' 000000 000000 PRTNBR: 0 ;Storage for selected port number
4063
4064 015042' 000000 000000 TARADH: 0 ;Hi address for TARGET NODE
4065 015043' 000000 000000 TARADL: 0 ;Lo
4066
4067 015044' 000000 000000 LOCADH: 0 ;Hi address for LOCAL NODE
4068 015045' 000000 000000 LOCADL: 0 ;Lo
4069
4070 015046' 000000 000000 NODADH: 0 ;Hi hex NODE address for REQ-ID cmd
4071 015047' 000000 000000 NODADL: 0 ;Lo & READ-COUNTERS command
4072
4073 015050' 044321 263600 SLOCH: 44321,,263600 ;For debug, set LOCADH = 1-8,z hex
4074 015051' 465360 000000 SLOCL: 465360,,0 ; LOCADL = 9-C,z hex in RRID
4075
4076 015052' 000000 000000 PWORDH: 0 ;Hi hex password verification code
4077 015053' 000000 000000 PWORDL: 0 ;Lo
4078
4079 015054' 000000 000000 TIMST: 0 ;Start time of an event
4080 015055' 000000 000000 TIMEND: 0 ;End time, contents of TIMST +5 seconds
4081
4082 015056' 000000 000000 SPEAR1: 0 ;Used as a flag for determining whether
4083 ; To make a diagnostic started spear
4084 ; Entry. Initially 0, make spear entry
4085 015057' 000000 000000 SPRCNT: 0 ;Holds the number of spear entries made
4086
4087 015060' 000000 000000 TEMP1: 0 ;Temporary storage
4088 015061' 000000 000000 TEMP2: 0
4089 015062' 000000 000000 TEMP3: 0
4090 015063' 000000 000000 TEMP4: 0
4091 015064' 000000 000000 TEMP5: 0
4092
4093 015065' 000000 000000 TRCFLG: 0 ;Trace enabled flag = -1
4094 015066' 000000 000000 LOGFLG: 0 ;Logging enabled = -1
4095 015067' 000000 000000 SPRFLG: 0 ;Spear enabled = -1
4096 015070' 000000 000000 DBGFLG: 0 ;Debug enabled flag = -1
4097 015071' 000000 000004 TTEXIT: "D"-100 ;TTY "exit" character
4098 ;Default to "Control-D" to Disconnect
4099 015072' 000000 000000 SREQN: 0 ;Save Request number
4100
4101 015073' 000000 000000 ONETIM: 0 ;0 At initial start up, -1 otherwise
4102 015074' UNAME: BLOCK ^D20 ;Storage for user name
4103
RMTCNM DECSYSTEM KL10 NETWORK INTERCONNECT SERVER, VERSION 1.0 MACRO %53B(1242) 22:24 11-Jul-85 Page 103
RMTCNM MAC 10-Jun-85 15:20 GENERAL STORAGE SEQ 0183
4104
4105 015120' 254 00 0 00 000024' DSTKER: JRST DSERR ;Data stack error trap
4106
4107 015121' DSTK: BLOCK 200 ;Data stack pushdown list
4108 000200 STKLEN= .-DSTK
4109
4110 015321' 000000 000000 PASCT: 0 ;Pass count
4111 015322' 000000 000000 RBTCTR: 0 ;Remote boot counter
4112 015323' 000000 000000 NODSEL: 0 ;Node selected flag
4113 015324' 000000 000000 CMDPND: 0 ;Command pending flag
4114
4115 015325' 777777 777760 BCASTH: 777777,,777760 ;BCAST address used in DALLAD (byte 0,1,2,3,z)
4116 015326' 777774 000000 BCASTL: 777774,,0 ;FF-FF-FF-FF-FF-FF (byte 4,5,z,z,z)
4117
4118 015327' 526000 000040 MCASTH: 526000,,40 ;MCAST address used in DALLAD (byte 0,1,2,3,z)
4119 015330' 000000 000000 MCASTL: 0 ;AB-00-00-02-00-00 (byte 4,5,z,z,z)
4120
4121 015331' PATCH: BLOCK ^D200 ;My DDT patch area
4122
4123 254000 000000' END JRST SETUP
NO ERRORS DETECTED
PROGRAM BREAK IS 017746
CPU TIME USED 00:15.792
138P CORE USED
AC0 62 63 74 75 100 249 278 279 289 301 308 309 314 315
323 325 334 350 359 361 365 371 375 379 381 383 385 386 SEQ 0184
388 427 600 606 607 630 634 635 637 670 676 677 700 704
705 707 739 745 746 748 751 752 756 757 776 817 825 826
828 829 835 849 853 885 891 892 894 918 922 953 959 960
983 987 1022 1027 1028 1031 1035 1036 1038 1039 1040 1065 1069 1070
1072 1109 1141 1146 1150 1182 1200 1204 1235 1247 1261 1264 1265 1270
1275 1280 1285 1293 1322 1332 1333 1350 1488 1489 1490 1491 1494 1497
1500 1501 1503 1506 1507 1509 1512 1595 1607 1609 1611 1613 1615 1627
1640 1641 1643 1644 1652 1661 1678 1690 1691 1692 1693 1694 1704 1839
1853 1890 1903 1904 1911 1912 1922 1923 1938 1939 1952 1956 1964 1988
1989 2002 2006 2014 2023 2026 2045 2046 2054 2055 2061 2065 2073 2094
2095 2108 2112 2120 2129 2130 2138 2142 2154 2155 2168 2172 2180 2189
2190 2199 2203 2212 2218 2229 2230 2243 2244 2250 2278 2288 2289 2302
2306 2314 2339 2340 2353 2357 2365 2371 2374 2383 2384 2396 2425 2426
2460 2461 2464 2465 2467 2468 2475 2476 2485 2486 2586 2630 2631 2644
2645 2658 2659 2715 2727 2731 2735 2739 2756 2785 2800 2804 2809 2811
2818 2835 2838 2840 2855 2858 2860 2875 2878 2880 2895 2899 2904 2920
2923 2925 2929 2932 2936 2939 2942 2975 2979 3044 3057 3063 3098 3104
3117 3129 3135 3151 3155 3171 3182 3188 3204 3208 3231 3234 3236 3246
3257 3263 3288 3310 3312 3313 3315 3318 3321 3324 3325 3326 3327 3530
3573 3574 3617 3618 3620 3622 3625 3628 3631 3634 3637 3644 3645 3647
3649 3652 3655 3670 3688 3689 3691 3695 3697 3826 3860 3880 3916 3928
3929 3955 3980 3982 3983 3984 3987 4021 4023 4024 4027
AC1 79 104 125 126 141 148 151 158 164 167 199 205 215 218
227 232 248 250 256 262 268 273 284 290 300 324 326 335
349 360 362 367 368 394 405 412 413 420 421 428 453 466
489 490 493 498 599 620 638 669 690 708 738 770 777 816
839 854 884 908 923 952 973 988 1021 1029 1030 1055 1073 1108
1131 1151 1181 1190 1205 1251 1321 1326 1351 1387 1394 1399 1415 1419
1421 1424 1426 1428 1443 1448 1452 1546 1547 1549 1552 1553 1555 1557
1560 1563 1566 1569 1571 1574 1595 1599 1601 1603 1605 1628 1637 1647
1648 1654 1660 1679 1687 1694 1703 1713 1717 1720 1757 1762 1763 1782
1783 1790 1813 1815 1818 1820 1823 1838 1841 1845 1854 1889 1937 1939
1942 1949 1959 1960 1964 1969 1971 1973 1987 1989 1992 1999 2009 2010
2014 2024 2026 2044 2046 2049 2058 2068 2069 2073 2078 2080 2081 2084
2093 2095 2098 2105 2115 2116 2120 2128 2130 2131 2132 2134 2153 2155
2158 2165 2175 2176 2180 2188 2190 2191 2192 2194 2219 2239 2251 2277
2287 2289 2292 2299 2309 2310 2314 2318 2320 2338 2340 2343 2350 2360
2361 2365 2372 2374 2397 2585 2657 2659 2662 2668 2670 2672 2674 2676
2678 2680 2682 2685 2687 2689 2691 2693 2695 2697 2699 2701 2703 2705
2707 2709 2715 2722 2723 2727 2751 2752 2756 2759 2760 2763 2766 2769
2772 2775 2778 2781 2795 2796 2800 2810 2813 2819 2830 2831 2835 2839
2840 2850 2851 2855 2859 2860 2870 2871 2875 2879 2880 2890 2891 2895
2905 2915 2916 2920 2970 2971 2975 2978 2979 2983 2985 2987 2989 2991
2993 2995 2997 2999 3001 3003 3005 3007 3009 3011 3013 3015 3017 3019
3021 3023 3025 3027 3029 3031 3033 3035 3044 3048 3050 3053 3057 3066
3075 3077 3082 3087 3092 3094 3098 3107 3117 3121 3123 3125 3129 3138
3147 3148 3151 3154 3155 3159 3161 3171 3175 3177 3179 3182 3191 3200
3201 3204 3207 3208 3212 3214 3216 3227 3228 3231 3235 3236 3246 3250
3252 3254 3257 3266 3289 3529 3619 3620 3646 3647 3671 3690 3691 3694
3695 3696 3697 3794 3795 3807 3812 3817 3822 3826 3831 3859 3870 3874
3881 3917 3942 3945 3954 4038 4041 4042 4049 4051 4054
AC10 1484 1496 1518 1519 1556 1559 1571 1596 1615 2580 2587 3294 3525 3531
3675 SEQ 0185
AC11 1484 1497 1548 1551 1562 1565 1568 1572 2579 2588 3295 3524 3532 3676
AC2 80 105 143 144 150 152 159 168 200 206 219 228 233 348
395 420 429 456 460 467 471 488 494 499 598 621 639 668
691 709 737 771 778 815 840 855 883 909 924 951 974 989
1020 1056 1074 1107 1132 1152 1180 1191 1206 1234 1252 1294 1320 1327
1352 1390 1391 1401 1402 1416 1427 1444 1451 1545 1548 1549 1551 1552
1556 1557 1559 1560 1562 1563 1565 1566 1568 1569 1575 1837 1855 1888
1933 1937 1938 1944 1952 1954 1959 1969 1983 1987 1988 1994 2002 2004
2009 2019 2023 2040 2044 2045 2051 2061 2063 2068 2078 2089 2093 2094
2100 2108 2110 2115 2128 2129 2149 2153 2154 2160 2168 2170 2175 2188
2189 2210 2215 2252 2276 2283 2287 2288 2294 2302 2304 2309 2318 2334
2338 2339 2345 2353 2355 2360 2371 2398 2449 2460 2463 2466 2584 2624
2657 2658 2664 2722 2731 2735 2739 2751 2759 2785 2795 2806 2830 2838
2839 2850 2858 2859 2870 2878 2879 2890 2901 2915 2923 2925 2929 2932
2936 2939 2942 2946 2947 2948 2970 2978 3048 3063 3075 3104 3121 3135
3147 3154 3175 3188 3200 3207 3227 3234 3235 3250 3263 3290 3528 3565
3618 3619 3645 3646 3672 3689 3690 3694 3696 3858 3875 3882 3918 3936
3937 3943 3944 3953 4039 4042 4053
AC3 106 487 495 500 1544 1553 1572 1576 1629 1634 1636 1639 1640 1659
1680 1684 1686 1689 1690 1702 1836 1846 1856 1887 1906 1907 1908 1914
1920 2021 2028 2211 2217 2253 2275 2369 2376 2386 2387 2388 2399 2583
2633 2639 2642 2644 2646 2647 2803 2808 2898 2903 3291 3527 3571 3573
3575 3576 3581 3585 3613 3673 3692 3919 3952 4040 4043 4052
AC4 1485 1498 1630 1633 1658 1681 1683 1701 1886 1915 1918 1919 2215 2216
2254 2274 2400 2582 2634 2637 2638 2806 2807 2901 2902 3292 3526 3674
3920 3951
AC5 175 284 305 314 320 332 1486 1488 1598 1599 1600 1601 1602 1603
1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1631 1635 1650 1655
1657 1682 1685 1695 1700 1885 1916 1918 2212 2216 2255 2273 2401 2635
2637 2804 2807 2899 2902
AC6 306 315 403 412 1596 1598 1600 1602 1604 1606 1608 1610 1612 1884
1917 1919 2022 2024 2256 2272 2370 2372 2402 2636 2638 2641 2645 3570
3574
AC7 1883 1934 1936 1940 1945 1953 1955 1984 1986 1990 1995 2003 2005 2041
2043 2047 2052 2062 2064 2079 2090 2092 2096 2101 2109 2111 2150 2152
2156 2161 2169 2171 2257 2271 2284 2286 2290 2295 2303 2305 2335 2337
2341 2346 2354 2356 2403 2581 2625 2649 2656 2660 2665 2742 2788 2822
2843 2863 2883 2908 2949 3038 3049 3064 3076 3105 3122 3136 3164 3176
3189 3219 3239 3251 3264 3293
ATOM 35# 104 111 1486
BCASTH 2425 4115#
BCASTL 4116#
BRKFLG 129 264 513# 1026 1033
BUFSIZ 55# 528 529 2134 2142 2194 2203
C$QUIT 35#
C%FIRS 35# 63
CBUFSZ 279 532# 2132 2138
CHNTAB 159 538#
CHRFLG 130 177 185 259 265 286 514#
CMDPND 134 189 193 353 356 378 4113#
CONSW 35# 443
CTCOC 460 471 507#
CTMOD 456 467 506# SEQ 0186
CTRSTR 31 466#
CTRTAB 3573 3712#
CTSAVE 78 453#
DBGFLG 30 203 302 351 1380 1784 1897 2381 2457 2627 3567 3876 3946 4096#
DECVER 3# 11 3895
DP 42# 68 325 326 329 361 362 615 616 635 685 686 705 765
766 823 903 904 968 969 1042 1043 1050 1051 1070 1118 1119 1126
1127 1188 1241 1339 1340 1345 1346 1633 1634 1683 1684 1697 1698 1699
1734 1735 1740 1741 1759 1791 1813 1818 1823 2218 2219 2223 2224 2433
2438 2451 2470 2471 2595 2600 2611 2619 2620 2818 2819 2904 2905 3312
3313 3318 3539 3544 3555 3560 3561 3836 3868 3915 3984 4024 4051
DSERR 97# 4105
DSTK 68 4107# 4108
DSTKER 4105#
ER01 1733# 3810 3815 3820
ETIME 479# 541
EXTFLG 132 186 258 516#
FJSYBF 1840 1845 1851 1859#
FJSYS 340 434 645 715 784 861 930 995 1080 1158 1212 1298 1358 1836#
GETPP 3867 4038#
GETPP1 4047 4051#
HEX 31 1484#
HEXA 1488# 1498 1514
HEXB 1496# 1504 1510
HEXC 1489 1516#
HEXD 1492 1500#
HEXE 1502 1506#
HEXF 1517 1523#
HEXG 1508 1512#
HEXX 1513 1521 1525#
IBUFCT 121 278 285 308 311 317 324 331 525#
INITIA 62 68#
INITIM 136 195 480 487#
INPEX 71 77#
LEVTAB 159 576#
LM%AIC 1039
LM%CBF 1027
LM%CDL 379
LM%MNO 371 375 1028 1031
LM%MRF 2465 2467 2476
LM%RDL 383
LM%RDO 381
LOCADH 1333 1339 2022 2223 2370 2631 4067#
LOCADL 1340 2224 4068#
LOGFLG 30 422 442 4094#
LOGNAM 74 84#
LOOP 177# 180 190 204 208
LOOP1 178 185#
LOOP2 183 189#
LOOPX 187 213#
LOOPX1 227#
MCASTH 2485 4118#
MCASTL 4119# SEQ 0187
MCNVER 4# 11 3895
MNOFLG 133 192 367 517# 1029
NI$FOR 523#
NODADH 606 615 676 685 1740 2426 2486 2587 2619 2635 3531 3560 4070#
NODADL 616 686 1741 2588 2620 3532 3561 4071#
NODSEL 32 2032 2328 4112#
OBUFCT 122 309 386 410 526#
ONETIM 70 72 4101#
OTIME 1443# 3801
P 100 248 249 289 290 300 301 334 335 348 349 350 427 428
429 487 488 489 498 499 500 598 599 600 624 637 638 639
668 669 670 694 707 708 709 737 738 739 774 776 777 778
815 816 817 843 853 854 855 883 884 885 912 922 923 924
951 952 953 977 987 988 989 1020 1021 1022 1059 1072 1073 1074
1107 1108 1109 1135 1150 1151 1152 1180 1181 1182 1194 1204 1205 1206
1234 1235 1255 1293 1294 1320 1321 1322 1330 1350 1351 1352 1404 1415
1416 1427 1428 1443 1444 1449 1451 1452 1544 1545 1546 1574 1575 1576
1627 1628 1629 1630 1631 1657 1658 1659 1660 1661 1678 1679 1680 1681
1682 1700 1701 1702 1703 1704 1713 1720 1757 1763 1782 1790 1821 1836
1837 1838 1839 1853 1854 1855 1856 1883 1884 1885 1886 1887 1888 1889
1890 2033 2250 2251 2252 2253 2254 2255 2256 2257 2271 2272 2273 2274
2275 2276 2277 2278 2329 2396 2397 2398 2399 2400 2401 2402 2403 2579
2580 2581 2582 2583 2584 2585 2586 3288 3289 3290 3291 3292 3293 3294
3295 3310 3321 3524 3525 3526 3527 3528 3529 3530 3670 3671 3672 3673
3674 3675 3676 3842 3843 3858 3859 3860 3880 3881 3882 3916 3917 3918
3919 3920 3951 3952 3953 3954 3955 3980 3987 4021 4027 4038 4039 4040
4052 4053 4054
P%DJFN 36# 421
P%T20 35# 73
P%T20P 35# 75
PASCT 1895 1900 1977 2418 2424 2479 2487 4110#
PATCH 4121#
PCPOLL 578 584#
PCSND 576 580#
PCTTY 577 582#
PN1 3692 3699#
PNTNUM 3582 3586 3589 3592 3595 3598 3601 3604 3607 3610 3614 3641 3659 3662
3665 3668 3688#
PRHEX 31 617 687 767 905 970 1052 1128 1341 1347 1627# 1736 1742 2220
2225 2472 2621 2820 2906 3562
PRHEXA 1639# 1655
PRHEXB 1649 1651 1655#
PRTNBR 31 603 673 742 820 888 956 1025 1112 1185 1238 1323 4062#
PWFLG 33 90# 1516
PWORDH 33 748 894 4076#
PWORDL 33 4077#
PWSWAP 1520 1595#
RBTCTR 1891 2229 2242 2243 4111#
RBTDID 798#
RBTSID 756 799#
RBUFSZ 360 388 533# 825 2192 2199
RCABT 1180# 3837
RCABT3 1197 1204# 1213 SEQ 0188
RCABT4 1193 1211#
RCABTB 1186 1188 1191 1200 1217#
RCADR 32 1320# 1892
RCADR3 1336 1350# 1359
RCADR4 1329 1357#
RCADRB 1324 1327 1332 1345 1346 1363#
RCP1 369 375#
RCP2 364 433#
RCP3 373 378#
RCP4 405# 408 413 425
RCP5 354 391 403#
RCP6 372 376 394#
RCP7 352 356#
RCPOL 363 1107#
RCPOL1 1121 1131#
RCPOL3 1138 1150# 1159
RCPOL4 1134 1157#
RCPOLB 365 385 1113 1116 1118 1119 1132 1141 1146 1163#
RCPOLL 348# 539
RCPX 357 397 411 427# 435
RCRBT 737# 2234
RCRBT1 760 770#
RCRBT3 776# 785
RCRBT4 773 783#
RCRBTB 743 746 749 752 754 757 771 789#
RCRCT 668# 3536
RCRCT1 680 690#
RCRCT2 697 704#
RCRCT3 707# 716
RCRCT4 693 714#
RCRCTB 674 677 691 700 704 720#
RCREL 951# 2378
RCREL1 973#
RCREL3 980 987# 996
RCREL4 976 994#
RCRELB 957 960 974 983 1000#
RCRID 598# 2430 2592
RCRID1 610 620#
RCRID2 627 634#
RCRID3 637# 646
RCRID4 623 644#
RCRIDB 604 607 621 630 634 650# 1396
RCRPY 815# 2452 2612 3556
RCRPY1 832 839#
RCRPY3 846 853# 862
RCRPY4 842 860#
RCRPYB 821 823 826 829 835 840 849 866# 1402 1923 1934 1984 2041 2090
2150 2284 2335 2461 2464 2468 2470 2471 2475 2625
RCRSV 883# 1975
RCRSV1 898 908# 963
RCRSV3 915 922# 931
RCRSV4 911 929#
RCRSVB 889 892 895 909 918 935# SEQ 0189
RCS2 314# 318
RCS4 303 323#
RCS6 328 339#
RCSEND 300# 538
RCSND 327 1020#
RCSND1 1045 1055#
RCSND2 1062 1069#
RCSND3 1072# 1081
RCSND4 1058 1079#
RCSNDB 1032 1036 1040 1042 1043 1056 1065 1069 1085# 1115
RCSTS 1234# 2439 2601 3545
RCSTS1 1244 1251#
RCSTS2 1268 1273 1278 1283 1288 1291#
RCSTS3 1258 1293# 1299
RCSTS4 1254 1297#
RCSTS5 1266 1270#
RCSTS6 1271 1275#
RCSTS7 1276 1280#
RCSTS8 1281 1285#
RCSTS9 1286 1290#
RCSTSB 1239 1241 1247 1252 1261 1264 1303# 1391 3794
RCSX 312 321 334# 341
RDFL1 3796 3807#
RDFL2 3803 3843#
RDFL3 3832 3842#
RDFL4 3823 3831#
RDFL5 3805 3836#
RDFL6 3808 3812#
RDFL7 3813 3817#
RDFL8 3818 3822#
RDFLGS 2442 2604 3548 3794#
RDFLX 3838 3840 3844#
RDSTIM 1415# 2434 2596 3540
REJUS 1523 1544#
REL1 2279# 2382 2389
REL10 2286 2296#
REL11 2304# 2306
REL12 2337 2347#
REL13 2355# 2357
REL1A 2286# 2295 2307
REL1B 2293 2299#
REL1C 2300 2309#
REL2 2311 2318#
REL2A 2321 2334#
REL2B 2337# 2358
REL2C 2344 2350#
REL2D 2351 2360#
REL3 2362 2369#
REL4 2375 2391#
REL5 2371# 2376
REL9 2316 2348 2367 2379 2394#
RELCON 32 213 2271#
RELX 2297 2330 2392 2395# SEQ 0190
REM1 141#
REM3 148#
REM6 158#
REQT1 1904 1912 2384 3356#
REQT2 1907 1917 2387 3362#
REQT3 2636 3390#
REQTAB 1922 2644 2649 3346#
RES1 1897# 1978 2245
RES10 1936 1946#
RES11 1954# 1956
RES12 1986 1996#
RES13 2004# 2006
RES16 2092 2102#
RES17 2110# 2112
RES18 2152 2162#
RES19 2170# 2172
RES1A 1936# 1945 1957
RES1B 1943 1949#
RES1C 1950 1959#
RES1D 1898 1927#
RES2 1961 1969#
RES20A 2135 2149#
RES20B 2092# 2101 2113
RES20C 2099 2105#
RES20D 2106 2115#
RES20E 2117 2128#
RES2A 1974 1983#
RES2B 1986# 1995 2007 2346
RES2C 1993 1999#
RES2D 2000 2009#
RES3 2011 2019#
RES30B 2152# 2161 2173
RES30C 2159 2165#
RES30D 2166 2175#
RES30E 2177 2188#
RES4 1909 1922#
RES5 2023# 2028
RES6 2043# 2052 2066
RES6A 2043 2053#
RES6B 2050 2058#
RES6C 2063# 2065
RES6D 2059 2068#
RES6E 2070 2078#
RES7 2027 2208#
RES7A 2215# 2217
RES8 1972 2229#
RES8A 2230 2237#
RES9 1901 1911#
RES9A 1918# 1920
RESCON 32 1883#
RESTIM 494 520# 2055 2084
RESX 1893 1947 1967 1976 1997 2017 2056 2076 2103 2123 2163 2183 2195 2206
2227 2235 2250# SEQ 0191
RI1 2669 2721#
RI100 2686 2969#
RI100A 2972 2978#
RI101 2690 3043#
RI101A 3051 3056#
RI101B 3054 3060#
RI101C 3062# 3066
RI1A 2724 2730#
RI2 2671 2750#
RI200 2692 3074#
RI200A 3078 3082#
RI200B 3083 3087#
RI200C 3088 3092#
RI200D 3093 3097#
RI200E 3095 3101#
RI200F 3103# 3107
RI200Z 3080 3085 3090 3109#
RI201 2696 3116#
RI201A 3124 3128#
RI201B 3126 3132#
RI201C 3134# 3138
RI2A 2753 2759#
RI3 2673 2794#
RI300 2698 3146#
RI300A 3149 3154#
RI301 2702 3170#
RI301A 3178 3181#
RI301B 3180 3185#
RI301C 3187# 3191
RI3A 2797 2803#
RI3B 2806# 2808
RI3C 2812 2814 2818#
RI3D 2816 2822#
RI4 2675 2829#
RI400 2704 3199#
RI400A 3202 3207#
RI401 2706 3226#
RI401A 3229 3234#
RI402 2710 3245#
RI402A 3253 3256#
RI402B 3255 3260#
RI402C 3262# 3266
RI4A 2832 2838#
RI5 2677 2849#
RI5A 2852 2858#
RI6 2679 2869#
RI6A 2872 2878#
RI7 2681 2889#
RI7A 2892 2898#
RI7B 2901# 2903
RI8 2683 2914#
RI8A 2917 2923#
RI997 2716 2728 2757 2801 2836 2856 2876 2896 2921 2976 3058 3099 3130 3152 SEQ 0192
3183 3205 3232 3258 3280#
RIZ 3310#
RIZ1 3316 3319 3324#
RRA1 2663 2668#
RRA2 2688 2691#
RRA3 2694 2697#
RRA4 2700 2703#
RRA5 2708 2714#
RRCT 32 3524#
RRCT1 3544# 3550
RRCT2 3573# 3576
RRCT3 3568 3580#
RRCTX 3537 3546 3549 3557 3670#
RRID 30 1927 2279 2579#
RRIDA 2628 2653# 2666 2743 2789 2823 2844 2864 2884 2909 2950 3039 3068 3110
3141 3165 3194 3220 3240 3269
RRIDX 2593 2602 2605 2613 2654 2656 3288#
RRIH 2600# 2606
RRIH1 2644# 2647
RRIH2 2616 2627#
RRIH3 2637# 2639
RTEND 1922 2649 3472#
SAD1 2430# 2488
SAD2 2438# 2444
SAD3 2451# 2477
SAD4 2458 2470#
SAD5 2419 2443 2479#
SADX 2431 2440 2453 2480 2490#
SALLAD 32 2418#
SCNTE 1826#
SCNTS 1759 1766# 1820
SEN11L 3937 3943 3968#
SENT10 3868 3870 3874 3887#
SENT11 3934 3935 3942 3945 3962#
SERTH 3929# 3929
SETUP 62# 4123
SLOCH 1916 2630 4073#
SLOCL 4074#
SPEAR1 3862 3879 4082#
SPR1 30 3858#
SPR1X 3863 3880#
SPR2 3915# 3985 4025
SPR2D 3915 3958#
SPR2E 3941#
SPR2X 3926 3930 3951#
SPR3 3980#
SPR3E 3982 3990#
SPR4 30 4021#
SPRCNT 3928 3949 4085#
SPRE 1810#
SPRFLG 30 1754 1810 3861 3925 4095#
SPRP 1758 1782# 1817
SPRPA 1785 1790# SEQ 0193
SPRPB 1783 1794#
SPRPC 1791 1795#
SPRS 1754#
SPRSE 1815 1827#
SPRSX 1762 1767#
SREQN 329 2433 2438 2451 2595 2600 2611 3539 3544 3555 3836 4099#
START 35# 64 114
STKLEN 68 4108#
T 88# 3810 3815 3820
TABL 2460 2492#
TABLEN 126 530#
TARADH 31 745 765 891 903 959 968 1035 1050 1126 1734 2323 4064#
TARADL 31 766 904 969 1051 1127 1735 2324 4065#
TEMP1 2019 2210 4087#
TEMP2 4088#
TEMP3 4089#
TEMP4 4090#
TEMP5 4091#
TESTPC 35#
TIMEND 1426 1448 4080#
TIMINT 131 179 194 479 515#
TIMST 1419 4079#
TO$FOR 522#
TRCFLG 30 181 609 626 679 696 759 831 845 897 914 962 979 1044
1061 1120 1137 1196 1243 1257 1335 1423 1714 2030 2232 2237 2326 2615
2653 4093#
TTBERR 424 438#
TTEXIT 31 256 4097#
TTIBUF 124 125 175 305 320 323 332 528#
TTIN1 257 262#
TTIN2 252 255#
TTIN3 269 273#
TTIN4 280 284#
TTIN5 274 278#
TTIN6 263 268#
TTIN7 250# 287
TTINX 253 260 266 271 276 282 289#
TTIWD 150 233 510#
TTMOD 143 228 509#
TTOBUF 306 359 403 529# 828 1933 1983 2040 2089 2149 2283 2334 2624 2641
3565 3570
TTYINP 248# 540
UHEX 1678#
UHEXA 1689# 1695
UHEXB 1687 1697 1698 1699 1707#
UNAME 4102#
WAIT1 1713#
WAIT1A 1715 1720#
XOFF 268
XOFFLG 128 270 275 415 512#
XON 273
$ERJSY 52 99#
$LLM1 1395 1399# SEQ 0194
$LLM2 1385 1392 1397 1400 1404#
$LLM3 1384 1405#
$LLM4 1388 1394#
$LLM5 1381 1387#
$LLMOP 622 692 772 841 910 975 1057 1133 1192 1253 1328 1380#
$REMOT 31 121#
.AC1 440
.CTTRM 141 227 250 453 466
.DGRSC 1794
.FHSLF 79 105 148 151 158 167 199 205 218 232 394 490 493 1841
.LMABT 1275 3807
.LMCCE 1285 3817 3822
.LMCID 365 604 674 743 821 889 918 957 983 1032 1113 1186 1239 1324
2464 2468 2475
.LMCIF 752
.LMDID 754
.LMDST 607 677 746 892 960 1036
.LMHWA 1345 1346
.LMPND 1265 3795
.LMPWD 749 895
.LMPYA 1332
.LMRBL 385 826 849 1042 1118 1146 1402 1923 1934 1984 2041 2090 2150 2284
2335 2625
.LMRBP 829 1043 1119
.LMREQ 630 634 700 704 823 835 1040 1065 1069 1115 1116 1141 1188 1200
1241 1247 1396
.LMSID 757
.LMSRC 2461 2470 2471
.LMSTF 1261 1264 1391 3794
.LMSUC 1270 1390 3831
.LMTXF 1280 3812
.PRIOU 405
.RCABT 1190
.RCADR 1326
.RCPOL 1131
.RCRBT 770
.RCRCT 690
.RCREL 973
.RCRID 620 1394
.RCRPY 839 1399
.RCRSV 908
.RCSND 1055
.RCSTS 1251 1387
.TICTI 80 152 164 215
.TIMAL 490
.TIMEL 493
AIC 169
ATI 165 SEQ 0195
BOUT 423
CIS 222
DEBRK 291 336 430 481
DIAG 1787
DIC 220
DIR 221
DISMS 1718 2240
DROPDV 444
DTI 216
EIR 162
ERCAL 52 424
ERJMP 1384 1843 1848 1849
ERJSYS 52# 455 459
ERROR1 3809 3814 3819
ERSTR 107 1847
ERUUO 3810 3815 3820
FATAL 3829
FATALP 97 1788
GETER 1842
GETIT 100 289 334 427 498 637 707 776 853 922 987 1072 1150 1204
1293 1350 1427 1451 1574 1657 1700 1720 1763 1790 1853 2250 2396 3288
3321 3670 3880 3951 3987 4027 4052
GETJI 4045
GO 62 78 136 195 213 327 340 363 434 480 617 622 645 687
692 715 767 772 784 841 861 905 910 930 970 975 995 1052
1057 1080 1128 1133 1158 1192 1212 1253 1298 1328 1341 1347 1358 1520
1523 1736 1742 1758 1817 1892 1927 1975 2220 2225 2234 2279 2378 2430
2434 2439 2442 2452 2472 2592 2596 2601 2604 2612 2621 2820 2906 3316
3319 3536 3540 3545 3548 3556 3562 3582 3586 3589 3592 3595 3598 3601
3604 3607 3610 3614 3641 3659 3662 3665 3668 3801 3837 3867 3985 4025
GTAD 1761 1814 3869 3941
HALTF 108 109 113
IIC 201 207 396
LLMOP% 1383
NAME 8# 11
NOP 214 2445 2607 3551
PBIN 255
PBOUT 418
PCRLF 112 236 618 632 688 702 768 837 851 906 920 971 985 1053
1067 1129 1143 1148 1202 1249 1291 1342 1348 1737 1743 1852 1966 2016
2075 2122 2144 2182 2205 2226 2395 2422 2473 2483 2622 2741 2787 2821
2907 2944 3037 3067 3109 3140 3163 3193 3218 3268 3563 3700 3828
PMSG 77 99 102 182 281 339 380 382 384 389 433 492 497 614
629 644 684 699 714 764 783 834 848 860 902 917 929 967
982 994 1049 1064 1079 1125 1140 1145 1157 1199 1211 1246 1260 1267
1272 1277 1282 1287 1290 1297 1338 1344 1357 1733 1739 1946 1963 1996
2013 2031 2053 2072 2102 2119 2136 2137 2141 2162 2179 2196 2198 2202
2208 2214 2222 2233 2238 2246 2247 2248 2296 2313 2327 2347 2364 2391
2394 2421 2455 2482 2618 2714 2721 2726 2730 2734 2738 2750 2755 2761
2764 2767 2770 2773 2776 2779 2782 2784 2794 2799 2815 2829 2834 2842
2849 2854 2862 2869 2874 2882 2889 2894 2914 2919 2927 2931 2934 2938
2941 2969 2974 2981 2984 2986 2988 2990 2992 2994 2996 2998 3000 3002
3004 3006 3008 3010 3012 3014 3016 3018 3020 3022 3024 3026 3028 3030 SEQ 0196
3032 3034 3036 3043 3056 3060 3062 3074 3079 3084 3089 3097 3101 3103
3116 3119 3128 3132 3134 3146 3150 3157 3160 3162 3170 3173 3181 3185
3187 3199 3203 3210 3213 3215 3217 3226 3230 3238 3245 3248 3256 3260
3262 3283 3284 3559 3580 3584 3588 3591 3594 3597 3600 3603 3606 3609
3612 3616 3623 3626 3629 3632 3635 3638 3640 3643 3650 3653 3656 3658
3661 3664 3667 3804 3824 3825 3839
PNT6 101
PNTCHR 1646 1653 3328
PNTCI 3046 3281
PNTDEC 631 701 836 850 919 984 1066 1142 1147 1201 1248 1262 1965 2015
2074 2121 2139 2143 2181 2200 2204 2315 2366 2732 2736 2740 2841 2861
2881 2924 2926 2930 2933 2937 2940 2943 2980 3045 3118 3156 3172 3209
3237 3247 3280 3699
PNTMSG 111 1851
PNTOCS 2786 3065 3106 3137 3190 3265 3827
POPD 48# 329 823 1042 1118 1188 1241 1633 1683 1759 1818 1823 2433 2595
3312 3318 3539 3868 3915
PSIXM 77 99 102 182 281 339 380 382 384 390 433 492 497 614
629 644 684 699 714 764 783 834 848 860 902 917 929 967
982 994 1049 1064 1079 1125 1140 1145 1157 1199 1211 1246 1260 1267
1272 1277 1282 1287 1290 1297 1338 1344 1357 1733 1739 1946 1963 1996
2013 2031 2053 2072 2102 2119 2136 2137 2141 2162 2179 2196 2198 2202
2208 2214 2222 2233 2238 2246 2247 2248 2296 2313 2327 2347 2364 2391
2394 2421 2455 2482 2618 2714 2721 2726 2730 2734 2738 2750 2755 2761
2764 2767 2770 2773 2776 2779 2782 2784 2794 2799 2815 2829 2834 2842
2849 2854 2862 2869 2874 2882 2889 2894 2914 2919 2927 2931 2934 2938
2941 2969 2974 2981 2984 2986 2988 2990 2992 2994 2996 2998 3000 3002
3004 3006 3008 3010 3012 3014 3016 3018 3020 3022 3024 3026 3028 3030
3032 3034 3036 3043 3056 3060 3062 3074 3079 3084 3089 3097 3101 3103
3116 3119 3128 3132 3134 3146 3150 3157 3160 3162 3170 3173 3181 3185
3187 3199 3203 3210 3213 3215 3217 3226 3230 3238 3245 3248 3256 3260
3262 3283 3284 3559 3580 3584 3588 3591 3594 3597 3600 3603 3606 3609
3612 3616 3623 3626 3629 3632 3635 3638 3640 3643 3650 3653 3656 3658
3661 3664 3667 3804 3824 3825 3839
PSOUT 441
PUSHD 44# 325 361 615 616 635 685 686 705 765 766 903 904 968
969 1050 1051 1070 1126 1127 1339 1345 1697 1734 1735 1740 1741 1791
1813 2218 2223 2438 2451 2470 2600 2611 2619 2818 2904 3313 3544 3555
3560 3836 3984 4024 4051
PUTIT 248 300 348 487 598 668 737 815 883 951 1020 1107 1180 1234
1320 1415 1443 1544 1627 1678 1713 1757 1782 1836 1883 2271 2579 3310
3524 3858 3916 3980 4021 4038
RFCOC 458
RFMOD 142 454
RTIW 149
RTN 82 238 445 461 473 501 640 710 779 856 925 990 1075 1153
1207 1295 1353 1405 1429 1453 1525 1577 1616 1662 1705 1721 1744 1755
1764 1792 1811 1824 1843 1848 1849 1857 2258 2404 2490 3296 3322 3329
3677 3701 3844 3883 3956 3988 4028 4055
SFCOC 472
SFMOD 146 229 468
SIBE 251
SIR 160 SEQ 0197
SIXBTZ 88
SOBF 406
STIW 81 153 234
STPAR 230 469
SYERR 3877 3947
TIME 1418 1446
TIMER 491 496
TMSG 438