Google
 

Trailing-Edge - PDP-10 Archives - BB-H311B-RM - rsx20f-swskit/listings/parser.lis
There is 1 other file named parser.lis in the archive. Click here to see a list.
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1110  03-OCT-79 11:35
TABLE OF CONTENTS

    35- 1441	.ABRTC -- THE "ABORT" COMMAND 7602.23
    36- 1465	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
    39- 1567	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
    40- 1614	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
    41- 1653	.CKCOL -- CHECK FOR A COLON 7709.21
    42- 1688	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
    43- 1718	.CKEOC -- CHECK END OF COMMAND 7602.16
    44- 1756	.CKEOS -- CHECK END OF SYMBOL 7709.21
    45- 1784	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
    46- 1811	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
    47- 1862	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
    48- 1891	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
    50- 1953	.CONTC -- THE "CONTINUE" COMMAND 7611.17
    53- 2060	DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20
    54- 2183	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
    55- 2234	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
    56- 2253	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
    59- 2342	DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
    60- 2380	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
    64- 2586	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
    65- 2624	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    66- 2687	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
    67- 2727	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    68- 2790	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
    69- 2828	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
    70- 2866	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    71- 2879	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    73- 2958	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
    74- 3009	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
    75- 3060	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
    76- 3100	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
    77- 3128	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
    79- 3218	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
    81- 3288	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
    83- 3357	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    84- 3396	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
    86- 3453	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    88- 3513	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
    89- 3554	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
    92- 3668	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    93- 3706	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
    95- 3772	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    96- 3799	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
    98- 3876	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
   100- 3956	.PARER -- SPECIAL ERROR ROUTINES 7609.24
   105- 4100	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
   106- 4137	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
   109- 4256	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
   111- 4343	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
   113- 4416	.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16
   114- 4457	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
   116- 4502	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
   118- 4563	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
   119- 4603	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
   121- 4654	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
   123- 4728	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   125- 4799	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35
TABLE OF CONTENTS

   126- 4816	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
   128- 4888	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
   130- 4955	.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16
   132- 5019	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
   135- 5152	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
   138- 5283	.HALTC -- THE "HALT" COMMAND 7710.11
   140- 5346	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   141- 5372	.INIT  -- INITIALIZATION SUBROUTINE 7509.26
   142- 5414	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   145- 5516	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   149- 5626	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
   150- 5666	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
   151- 5705	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
   153- 5760	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
   157- 5896	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
   159- 5957	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   164- 6129	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   166- 6214	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   168- 6287	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   170- 6380	.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   173- 6478	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   175- 6543	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   177- 6625	.KLST  -- SUBROUTINE TO START THE KL 7512.08
   178- 6670	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   179- 6716	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   181- 6775	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   182- 6814	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   184- 6860	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   186- 6941	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
   188- 6995	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   190- 7063	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
   193- 7193	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
   194- 7241	.RESET -- KL RESET SUBROUTINES 7511.18
   196- 7314	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
   197- 7357	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
   198- 7403	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
   200- 7453	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
   201- 7483	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
   202- 7515	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
   203- 7545	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   204- 7577	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
   205- 7609	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
   207- 7677	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
   208- 7708	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
   210- 7787	.NULLC -- THE NULL COMMAND 7602.10
   212- 7829	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   214- 7898	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   215- 7930	.START -- COMMAND PARSER MAIN LOOP 7602.02
   216- 7956	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   218- 8016	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
   222- 8131	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
   225- 8223	.REPTC -- THE "REPEAT" COMMAND 7703.25
   227- 8296	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
   228- 8336	.RSALL -- THE "RESET ALL" COMMAND 7602.18
   229- 8362	.RSTPI -- THE "RESET PI" COMMAND 7607.21
   230- 8399	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
   233- 8478	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35
TABLE OF CONTENTS

   236- 8559	.GTR50 -- GET A .RAD50 WORD 7602.18
   238- 8614	.QUITC -- THE "QUIT" COMMAND 7602.16
   240- 8677	.SCDAT -- "SET DATE" COMMAND 7703.04
   243- 8812	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
   252- 9117	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
   254- 9217	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
   258- 9341	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   263- 9511	.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   266- 9632	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
   268- 9700	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
   271- 9791	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
   272- 9838	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
   273- 9867	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
   275- 9907	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
   277- 9981	.STRTC -- THE "START" COMMAND 7602.26
   278-10010	.STRTT -- THE "START <TEN>" COMMAND 7710.11
   280-10073	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
   282-10148	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
   283-10193	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
   284-10217	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
   285-10242	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
   286-10275	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
   287-10302	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
   288-10322	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
   289-10335	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
   290-10351	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
   291-10359	.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
   292-10371	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
   293-10384	.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
   294-10408	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
   295-10430	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
   296-10443	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
   297-10458	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
   299-10518	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
   302-10640	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
   304-10729	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
   305-10771	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
   308-10861	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
   311-10935	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
   314-11039	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   315-11098	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   316-11113	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   317-11134	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   318-11149	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   319-11217	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   320-11235	.MONTB -- THE MONTH TABLE 7702.16
   321-11266	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   322-11349	.RESTB -- THE RESET COMMAND TABLE 7602.18
   323-11370	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
   324-11397	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
   325-11406	.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
   326-11419	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
   327-11438	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
   328-11473	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
   329-11492	.STRTB -- THE START COMMAND TABLE 7602.26
   330-11501	.WHATB -- THE WHAT COMMAND TABLE 7703.25
   332-11570	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35
TABLE OF CONTENTS

   333-11611	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
   336-11707	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
   337-11759	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
   338-11799	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
   339-11835	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
   340-11869	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
   341-11906	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
   342-11946	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
   345-12024	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
   346-12074	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
   349-12172	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
   351-12255	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
   354-12344	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
   358-12483	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
   359-12526	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
   361-12631	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
   362-12673	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
   363-12704	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
   364-12737	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
   366-12818	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
   368-12878	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
   370-12946	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
   373-13067	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
   376-13163	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
   378-13227	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
   379-13271	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
   380-13317	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
   381-13359	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
   382-13406	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
   384-13479	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
   386-13560	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
   387-13607	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
   388-13636	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
   390-13691	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
   392-13738	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
   395-13841	.ZEROC -- THE "ZERO" COMMAND 7609.15
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 1


      1					.IIF NDF	FTLCMN,.NLIST
      2					.TITLE	DEFINE -- LOCAL DEFINITION MODULE 7709.20
      3
      4						.IDENT	"005010"
      5
      6					;
      7					;                             COPYRIGHT (C) 1975, 1979 BY
      8					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      9					;
     10					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     11					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     12					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     13					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     14					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     15					;
     16					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     17					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     18					;       CORPORATION.
     19					;
     20					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     21					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     22					;
     23					;		MODULE: LOCAL DEFINITIONS
     24					;
     25					;		VERSION: 05-01
     26					;
     27					;		AUTHOR: R. BELANGER
     28					;
     29					;		DATE: 7905.10
     30					;
     31					;	THIS MODULE CONTAINS:
     32					;
     33					;	1) LOCAL MACRO DEFINITIONS
     34					;	2) LOCAL ASSEMBLY SWITCHES
     35					;	3) LOCAL DEFINITIONS
     36					;	4) LOCAL EQUATED SYMBOLS
     37					;
     38					;	MODIFICATIONS:
     39					;
     40					;	NO.	DATE		PROGRAMMER	REASON
     41					;	---	----		----------	------
     42					;	001	11-DEC-77	A. PECKHAM	DELETE LOCAL DEFINITIONS
     43					;						OF PROTOCOL CHANGE AND
     44					;						CONTROL-C EVENT FLAGS
     45					;	002	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
     46					;
     47					; SET VERSION OF THE PARSER HERE
     48					;
     49		000005 			PAR$$V	=	5		; VERSION 5
     50		000001 			PAR$$E	=	01		; EDIT 01
     51					;
     52					; THIS IS BEING RELEASED
     53					;
     54		000126 			PAR$$K	=	'V		; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20

     56					.SBTTL	DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
     57
     58		000000 			FT1145=0			; ASSEMBLE FOR PDP-11/45 IF .NE. 0
     59		000001 			FT1140=1			; ASSEMBLE FOR PDP-11/40 IF .NE. 0
     60		000000 			FT1135=0			; ASSEMBLE FOR PDP-11/35 IF .NE. 0
     61		000000 			FT1120=0			; ASSEMBLE FOR PDP-11/20 IF .NE. 0
     62		000000 			FT1115=0			; ASSEMBLE FOR PDP-11/15 IF .NE. 0
     63		000000 			FT1110=0			; ASSEMBLE FOR PDP-11/10 IF .NE. 0
     64		000000 			FT1105=0			; ASSEMBLE FOR PDP-11/05 IF .NE. 0
     65		000000 			FTBYTE=0			; ASSEMBLE BYTE SUPPORT IF .NE 0
     66		000000 			FTCRAM=0			; ASSEMBLE CRAM FEATURES IF .NE. 0
     67		000001 			FTDEBUG=1			; ASSEMBLE DEBUG FEATURES IF .NE. 0
     68		000000 			FTDISP=0			; ASSEMBLE DISPATCH TABLE IF .NE 0
     69		000000 			FTDRAM=0			; ASSEMBLE DRAM FEATURES IF .NE. 0
     70		000000 			FTHELP=0			; ASSEMBLE HELP FEATURE IF .NE. 0
     71		000000 			FTKLER=0			; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
     72		000000 			FTLCVT=0			; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
     73		000000 			FTLIST=0			; ASSEMBLE LPT SUPPORT IF .NE. 0
     74		000001 			FTTRAK=1			; ASSEMBLE TRACK FEATURE IF .NE. 0
     75		000001 			FTTRP4=1			; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
     76		000130 			FTUCVR=130			; MICROCODE FEATURE SWITCH
     77
     78					.IF NE FT1145
     79						FT1140=1
     80					.ENDC		; FT1145
     81
     82					.IF NE FT1140
     83		000001 				FT1135=1
     84					.ENDC		; FT1140
     85
     86					.IF NE FT1135
     87		000001 				FT1120=1
     88					.ENDC		; FT1135
     89
     90					.IF NE FT1120
     91		000001 				FT1115=1
     92					.ENDC		; FT1135
     93
     94					.IF NE FT1115
     95		000001 				FT1110=1
     96					.ENDC		; FT1115
     97
     98					.IF NE FT1110
     99		000001 				FT1105=1
    100					.ENDC		; FT1110
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20

    102					.SBTTL	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
    103
    104						.LIST	MEB, SYM
    105						.NLIST	CND
    106						.ENABL	AMA
    107
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    112					.SBTTL	DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
    113
    114					; SUBROUTINE CALL MACROS
    115
    116					.MACRO	CALL	REG,DEST
    117					.NTYPE	$$,REG
    118					.IF EQ	$$&70
    119						 JSR	REG,DEST
    120					.IFF
    121						 JSR	PC,REG
    122					.ENDC		; IF EQ
    123					.ENDM	CALL
    124
    125					.MACRO	CALLR	DEST
    126						 JMP	DEST
    127					.ENDM	CALLR
    128
    129					; STACK OPERATION MACROS
    130
    131					.MACRO	POP	ARG
    132					.IRP	A,<ARG>
    133						 MOV	(SP)+,A
    134					.ENDR
    135					.ENDM	POP
    136
    137					.MACRO	PUSH	ARG
    138					.IRP	A,<ARG>
    139						 MOV	A,-(SP)
    140					.ENDR
    141					.ENDM	PUSH
    142
    143					; SUBROUTINE RETURN MACRO
    144
    145					.MACRO	RETURN	REG
    146					.IF NB	<REG>
    147						 RTS	REG
    148					.IFF
    149						 RTS	PC
    150					.ENDC		; IF NB
    151					.ENDM	RETURN
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    153					; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
    154
    155					.MACRO	ERROR$	CODE
    156						 PUSH	#^R'CODE
    157						 TRAP	TC.ERR
    158					.ENDM	ERROR$
    159
    160					; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
    161
    162					.MACRO	FATAL$	CODE
    163					FA$'CODE=.
    164						 PUSH	#^R'CODE
    165						 TRAP	TC.RST
    166					.ENDM	FATAL$
    167
    168					; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
    169
    170					.MACRO	ERCON$	CODE
    171					EC$'CODE=.
    172						 PUSH	#^R'CODE
    173						 TRAP	TC.CON
    174						 TST	(SP)+
    175					.ENDM	ERCON$
    176
    177					; DEFINE THE COMMAND TABLE MACRO
    178
    179					.MACRO	COMND$	COMMAND,LGLBTS,DISPAT,NAM
    180					.PSECT	MESSAG
    181					.IF	NDF,NAM'MSG
    182					$$$'NAM=0
    183					NAM'MSG:: .ASCIZ	%COMMAND%
    184					.ENDC
    185					.IF	DF,$$PASS2
    186					$$$'NAM=$$$'NAM+1
    187					.IF	EQ,$$$'NAM-1
    188					NAM'MSG:: .ASCIZ	%COMMAND%
    189					.ENDC
    190					.ENDC
    191					.PSECT	DATA
    192						 .WORD	NAM'MSG		; POINTER TO "COMMAND" SYMBOL
    193						 .WORD	LGLBTS		; LEGAL BITS
    194						 .WORD	DISPAT		; ROUTINE TO CALL OR DATA
    195					.ENDM	COMND$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    197					; DEFINE THE NORMAL ERROR CODE MACRO
    198
    199					.MACRO	NSERR$	COD,STRING
    200					.PSECT	ERRMSG
    201					COD'ERM:	 .ASCIZ	%COD - STRING%
    202					.PSECT	DATA
    203						 .RAD50	/COD/		; "COD" IN .RAD50
    204						 .WORD	COD'ERM		; POINTER TO MESSAGE
    205					.ENDM	NSERR$
    206
    207					; DEFINE THE SPECIAL ERROR CODE MACRO
    208
    209					.MACRO	SPERR$	COD,STRING
    210					.PSECT	ERRMSG
    211					COD'ERM:
    212						 .ASCIZ	%COD - STRING%
    213					.PSECT	DATA
    214						 .RAD50	/COD/		; "COD" IN .RAD50
    215						 .WORD	.SE'COD		; DISPATCH TO HANDLER
    216						 .WORD	COD'ERM		; POINTER TO MESSAGE
    217					.ENDM	SPERR$
    218
    219					; DEFINE AN "EXCHANGE" MACRO
    220
    221					.MACRO	EXCH$	ARG1,ARG2
    222						 MOV	ARG1,-(SP)
    223						 MOV	ARG2,ARG1
    224						 MOV	(SP)+,ARG2
    225					.ENDM	EXCH$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20

    227					.SBTTL	DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
    228
    229					; DEFINE KL I/O OPCODES
    230
    231		000000 			BLKI=0			; BLOCK IN
    232		000001 			DATAI=1			; DATA IN
    233		000002 			BLKO=2			; BLOCK OUT
    234		000003 			DATAO=3			; DATA OUT
    235		000004 			CONO=4			; CONDITIONS OUT
    236		000005 			CONI=5			; CONDITIONS IN
    237		000006 			CONSZ=6			;      "     "  SKIP IF ZERO
    238		000007 			CONSO=7			;      "     "   "   "  ONES
    239
    240					; DEFINE KL INTERNAL I/O DEVICES
    241
    242		000000 			APR=0			; ARITHMETIC PROCESSOR (ALU)
    243		000004 			PI=4			; PRIORITY INTERRUPT SYSTEM
    244		000010 			PAG=10			; PAGING SYSTEM
    245		000014 			CCA=14			; CACHE CONTROL
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20

    247					; DEFINE KL INSTRUCTION MACRO
    248
    249					.MACRO	IKL$	OP,DAC,DI,DAD,DXR
    250						ADH=0
    251						ADL=0
    252						.IF NB,DAD
    253							.IRPC AD1,DAD
    254								.IIF GE,<ADL-10000>,ADH=ADL/10000
    255							ADL=10*<ADL&7777>+AD1
    256							.ENDR
    257						.ENDC		; .IF NB
    258						.IIF B,DAC,AC=0
    259						.IIF NB,DAC,AC=DAC
    260						.IIF B,DI,I=0
    261						.IIF NB,DI,I=DI
    262						.IIF B,DXR,XR=0
    263						.IIF NB,DXR,XR=DXR
    264						$$A=<ADL&377>
    265						$$B=<<ADL/400>!<ADH*200&377>>
    266						$$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
    267						$$D=<OP&37*10+<AC/2>>
    268						$$E=<OP/40>
    269						$$F=0
    270						 .BYTE	$$A,$$B
    271						 .BYTE	$$C,$$D
    272						 .BYTE	$$E,$$F
    273					.ENDM	IKL$
    274
    275					; DEFINE KL I/O INSTRUCTION MACRO
    276
    277					.MACRO	IOKL$	OP,DDV,DI,DAD,DXR
    278						.IIF B,DI,I=0
    279						.IIF NB,DI,I=DI
    280						.IIF B,DXR,XR=0
    281						.IIF NB,DXR,XR=DXR
    282						ADH = 0
    283						ADL = 0
    284						.IRPC AD1,DAD
    285							.IIF GE,<ADL-10000>, ADH=ADL/10000
    286							ADL=10*<ADL&7777>+AD1
    287						.ENDR
    288						$$A=<ADL&377>
    289						$$B=<<ADL/400>!<ADH*200&377>>
    290						$$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
    291						$$D=<DDV&374+<OP/2>>
    292						$$E=<DDV/400+16>
    293						$$F=0
    294						 .BYTE	$$A,$$B
    295						 .BYTE	$$C,$$D
    296						 .BYTE	$$E,$$F
    297					.ENDM	IOKL$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 9
DEFINE -- LOCAL DEFINITIONS 7709.20

    299					.SBTTL	DEFINE -- LOCAL DEFINITIONS 7709.20
    300
    301					; LOCAL DEFINITIONS
    302
    303		000001 			BIT00=000001			; DEFINE LOW BITS FOR SYMMETRY
    304		000002 			BIT01=000002
    305		000004 			BIT02=000004
    306		000010 			BIT03=000010
    307		000020 			BIT04=000020
    308		000040 			BIT05=000040
    309		000100 			BIT06=000100
    310		000200 			BIT07=000200
    311		000400 			BIT08=000400
    312		001000 			BIT09=001000
    313		002000 			BIT10=002000
    314		004000 			BIT11=004000
    315		010000 			BIT12=010000
    316		020000 			BIT13=020000
    317		040000 			BIT14=040000
    318		100000 			BIT15=100000
    319
    320					; DEFINE EXAMINE DEPOSIT MODE BYTES
    321
    322		000000 			ED.EPT=0*40			; EXEC PROCESS TABLE (RELATIVE)
    323		000040 			ED.EXV=1*40			; EXEC VIRTUAL SPACE
    324		000100 			ED.UPT=2*40			; USER PROCESS TABLE (RELATIVE)
    325		000140 			ED.USV=3*40			; USER VIRTUAL SPACE
    326		000200 			ED.PHY=4*40			; PHYSICAL ADDRESSES
    327
    328					; DEFINE BITS IN ".PEWRD"
    329
    330		000001 			PE.CES=1			; CLOCK ERROR STOP
    331		000002 			PE.DRM=2			; DRAM PARITY ERROR
    332		000004 			PE.CRM=4			; CRAM PARITY ERROR
    333		000010 			PE.FMP=10			; FAST MEMORY PARITY ERROR
    334		000020 			PE.FSS=20			; FIELD SERVICE STOP
    335		000037 			PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
    336
    337					; DEFINE BITS IN ".APRWD"
    338
    339		000001 			AP.PWF=1			; APR POWER FAIL
    340		000002 			AP.SAP=2			; APR SBUS ADDRESS PARITY ERROR
    341		000004 			AP.CDP=4			; APR CACHE DIRECTORY PARITY ERROR
    342		000010 			AP.MPE=10			; APR MB (MEMORY) PARITY ERROR
    343		000020 			AP.IPF=20			; APR I/O PAGE FAIL ERROR
    344		000040 			AP.NXM=40			; APR NON-EX-MEM ERROR
    345		000100 			AP.SBE=100			; APR SBUS ERROR
    346		000177 			AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 10
DEFINE -- LOCAL DEFINITIONS 7709.20

    348					; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
    349
    350		000000 			.DIAG1=0			; DTE-20 DIAG1 WORD
    351		000002 			.DIAG2=2			; DTE-20 DIAG2 WORD
    352		000004 			.DTSTW=4			; DTE-20 STATUS WORD
    353		000006 			.DIAG3=6			; DTE-20 DIAG3 WORD
    354
    355					; DEFINE DTE-20 DIAG1 BITS
    356
    357		100000 			D1.DS0=BIT15			; DIAGNOSTIC SELECT CODE 00 [WRITE]
    358		040000 			D1.DS1=BIT14			;     "        "     "   01    "
    359		020000 			D1.DS2=BIT13			;     "	       "     "   02    "
    360		010000 			D1.DS3=BIT12			;     "	       "     "   03    "
    361		004000 			D1.DS4=BIT11			;     "	       "     "   04    "
    362		002000 			D1.DS5=BIT10			;     "        "     "   05    "
    363		001000 			D1.DS6=BIT09			;     "        "     "   06    "
    364		004000 			D1.CES=BIT11			; KL CLOCK ERROR STOP [READ]
    365		002000 			D1.RUN=BIT10			; KL RUN FLAG [READ]
    366		001000 			D1.HLP=BIT09			; KL IS IN HALT LOOP [READ]
    367		000400 			D1.DEX=BIT08			; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
    368		000200 			D1.T10=BIT07			; DTE-20 IS IN TO KL STATE [READ]
    369		000200 			D1.LBK=BIT07			; PUT DTE-20 IN LOOPBACK MODE [WRITE]
    370		000100 			D1.T11=BIT06			; DTE-20 IS IN TO 11 STATE [READ]
    371		000040 			D1.DDT=BIT05			; SET DTE-20 DIAGNOSTIC MODE [WRITE]
    372									; DTE-20 IS IN DIAGNOSTIC MODE [READ]
    373		000020 			D1.V04=BIT04			; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
    374		000020 			D1.PLS=BIT04			; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
    375		000010 			D1.DFM=BIT03			; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
    376		000004 			D1.XFR=BIT02			; SEND DATA TO KL IF = 1 [READ]
    377									; RECEIVE DATA FROM KL IF = 0 [READ]
    378
    379					; BIT 01 IS UNUSED [MBZ]
    380
    381		000001 			D1.DCS=BIT00			; DIAG COMMAND IN PROGRESS [READ]
    382									; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
    383									; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
    384		000442 			D1.MBZ=D1.DEX!D1.DDT!BIT01	; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 11
DEFINE -- LOCAL DEFINITIONS 7709.20

    386					; DEFINE DTE-20 DIAG2 BITS
    387
    388		100000 			D2.RA0=BIT15			; RFM ADDRESS BIT 0 [READ]
    389		040000 			D2.RA1=BIT14			; RFM ADDRESS BIT 1 [READ]
    390		040000 			D2.EBD=BIT14			; SET EBUS DONE IF = 1 [WRITE]
    391									; CLEAR EBUS DONE IF = 0 [WRITE]
    392		020000 			D2.RA2=BIT13			; RFM ADDRESS BIT 2 [READ]
    393
    394					; BITS 11 THRU 7 ARE UNUSED [MBZ]
    395
    396		000100 			D2.RST=BIT06			; RESET THE DTE-20 IF = 1 [WRITE]
    397
    398					; BIT 5 IS UNUSED [MBZ]
    399
    400		000020 			D2.MS8=BIT04			; MINOR STATE COUNTER BIT 8 [WRITE]
    401		000010 			D2.MS4=BIT03			;   "	  "	 "     "  4    "
    402		000004 			D2.MS2=BIT02			;   "	  "	 "     "  2    "
    403		000002 			D2.MS1=BIT01			;   "     "	 "     "  1    "
    404
    405					; BIT 0 IS UNUSED [MBZ]
    406
    407		177641 			D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
    408
    409					; DEFINE DTE-20 DIAG3 BITS
    410
    411		100000 			D3.SSL=BIT15			; SWAP SELECT LEFT [READ]
    412		040000 			D3.PAR=BIT14			; PARITY FLOP [READ]
    413
    414					; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
    415
    416					; BITS 07 AND 06 ARE UNUSED [MBZ]
    417
    418		000040 			D3.SCD=BIT05			; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
    419		000020 			D3.UPE=BIT04			; DATO UNIBUS PARITY ERROR (DUPE) [READ]
    420		000020 			D3.CDD=BIT04			; CLEAR DUPE AND DURE FLAGS
    421		000010 			D3.WEP=BIT03			; WRITE EVEN UNIBUS PARITY FLOP [READ]
    422									; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
    423									; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
    424		000004 			D3.URE=BIT02			; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
    425		000002 			D3.NPE=BIT01			; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
    426									; CLEAR NUPE [WRITE]
    427		000001 			D3.TXB=BIT00			; SET TO KL BYTE TRANSFER MODE [WRITE]
    428
    429		177704 			D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
    430
    431		000001 			D3.RST=D3.TXB			; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 12
DEFINE -- LOCAL DEFINITIONS 7709.20

    433					; DEFINE DTE-20 STATUS BITS
    434
    435		100000 			ST.TXD=BIT15			; TO KL TRANSFER DONE FLAG [READ]
    436									; SET TO KL TRANSFER DONE [WRITE]
    437		040000 			ST.CTD=BIT14			; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
    438		020000 			ST.TXE=BIT13			; TO KL ERROR DONE FLAG [READ]
    439									; SET TO KL ERROR DONE FLAG [WRITE]
    440		010000 			ST.RIZ=BIT12			; DTE-20 RAM LOCATION IS ZEROES [READ]
    441		010000 			ST.CTE=BIT12			; CLEAR TO KL ERROR DONE FLAG [WRITE]
    442		004000 			ST.EDB=BIT11			; 11 DOORBELL FLAG [READ]
    443									; SET THE 11 DOORBELL FLAG [WRITE]
    444		002000 			ST.DW1=BIT10			; YES, THIS BIT IS HERE
    445		001000 			ST.MPE=BIT09			; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
    446									; CLEAR ST.MPE [WRITE]
    447		000400 			ST.XDB=BIT08			; KL DOORBELL FLAG [READ]
    448									; RING THE KL DOORBELL [WRITE]
    449		000200 			ST.TED=BIT07			; TO 11 TRANSFER DONE FLAG [READ]
    450									; SET ST.TED [WRITE]
    451		000100 			ST.EBS=BIT06			; E BUFFER SELECT [READ]
    452		000100 			ST.CED=BIT06			; CLEAR ST.TED [WRITE]
    453		000040 			ST.NST=BIT05			; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
    454		000040 			ST.IEN=BIT05			; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
    455		000020 			ST.EPE=BIT04			; EBUS PARITY ERROR FLAG [READ]
    456									; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
    457		000010 			ST.MOD=BIT03			; DTE-20 IS PRIVILEGED IF = 0 [READ]
    458									;    "	 "  RESTRICTED "  " 1   "
    459		000010 			ST.IDS=BIT03			; DISABLE DTE-20 BR REQUESTS [WRITE]
    460		000004 			ST.DXD=BIT02			; DEPOSIT / EXAMINE DONE FLAG [READ]
    461		000004 			ST.SEP=BIT02			; SET EBUS PARITY ERROR IF = 1 [WRITE]
    462		000002 			ST.TER=BIT01			; TO 11 BYTE XFER ERROR FLAG [READ]
    463		000002 			ST.STE=BIT01			; SET ST.TER IF = 1 [WRITE]
    464		000001 			ST.ION=BIT00			; 11 CAN GENERATE BR REQUESTS [READ]
    465		000001 			ST.CLE=BIT00			; CLEAR ST.TER IF = 1 [WRITE]
    466
    467		011121 			ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
    468
    469		000000 			ST.MBZ=0			; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 13
DEFINE -- LOCAL DEFINITIONS 7709.20

    471					; DEFINE FLAG BITS IN ".KLFLG"
    472
    473		100000 			KF.CLK=BIT15			; KL CLOCK IS RUNNING IF .NE. 0
    474		040000 			KF.RUN=BIT14			; KL RUN FLOP IS ON IF .NE. 0
    475		020000 			KF.MRS=BIT13			; KL MASTER RESET FLOP IS ON IF .NE. 0
    476		010000 			KF.SIM=BIT12			; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
    477		004000 			KF.SMC=BIT11			; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
    478		002000 			KF.SPM=BIT10			;  "   "  "    "      "   EBOX	"   "   "   "
    479		001000 			KF.BRM=BIT09			; KL IS IN BURST MODE IF .NE. 0
    480		000400 			KF.KLO=BIT08			; KL IS IN KL INSTRUCTION MODE IF .NE. 0
    481		000200 			KF.CON=BIT07			; KL IS CONTINUABLE IF .NE. 0
    482		000100 			KF.CES=BIT06			; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
    483		000200 			KF.DEF=KF.CON			; DEFAULT FLAGS (SEE ".INKLF")
    484
    485					; DEFINE BITS IN ".TRKWD"
    486
    488		000001 			TR.FXC=BIT00			; TRACK FUNCTION EXECUTES IF .NE. 0
    489		000002 			TR.FRD=BIT01			; TRACK FUNCTION READS IF .NE. 0
    490		000004 			TR.FWR=BIT02			; TRACK FUNCTION EXECUTES IF .NE. 0
    491		000010 			TR.EXM=BIT03			; TRACK MEMORY EXAMINES IF .NE. 0
    492		000020 			TR.DEP=BIT04			; TRACK MEMORY DEPOSITS IF .NE. 0
    493		000040 			TR.DTE=BIT05			; TRACK DTE-20 OPERATIONS IF .NE. 0
    494		000077 			TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
    496
    497					; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
    498
    499		010000 			PC.OVF=BIT12			; KL OVERFLOW FLAG (BIT 00)
    500		004000 			PC.CY0=BIT11			; KL CARRY 0 FLAG (BIT 01)
    501		002000 			PC.CY1=BIT10			; KL CARRY 1 FLAG (BIT 02)
    502		001000 			PC.FOV=BIT09			; KL FLOATING OVERFLOW FLAG (BIT 03)
    503		000400 			PC.BIS=BIT08			; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
    504		000200 			PC.USR=BIT07			; KL USER MODE FLAG (BIT 05)
    505		000100 			PC.UIO=BIT06			; KL USER IOT MODE FLAG (BIT 06)
    506		000040 			PC.LIP=BIT05			; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
    507		000020 			PC.AFI=BIT04			; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
    508		000010 			PC.AT1=BIT03			; KL APR TRAP 1 FLAG (BIT 09)
    509		000004 			PC.AT0=BIT02			; KL APR TRAP 0 FLAG (BIT 10)
    510		000002 			PC.FUF=BIT01			; KL FLOATING UNDERFLOW FLAG (BIT 11)
    511		000001 			PC.NDV=BIT00			; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 14
DEFINE -- LOCAL DEFINITIONS 7709.20

    513					; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
    514
    515		000000 			FX.000=0
    516		000000 				FX.CSP=FX.000		; STOP THE KL CLOCK
    517		000002 			FX.001=1*2
    518		000002 				FX.CST=FX.001		; START THE KL CLOCK
    519		000004 			FX.002=2*2
    520		000004 				FX.MBC=FX.002		; PULSE THE MBOX CLOCK
    521		000006 			FX.003=3*2
    522		000006 				FX.EBC=FX.003		; PULSE THE EBOX CLOCK
    523		000010 			FX.004=4*2
    524		000010 				FX.SYC=FX.004		; SYNCH THE EBOX CLOCK LOW
    525		000012 			FX.005=5*2
    526		000012 				FX.BMC=FX.005		; BURST THE MBOX CLOCK
    527		000014 			FX.006=6*2
    528		000014 				FX.CMR=FX.006		; CLEAR MASTER RESET STATE
    529		000016 			FX.007=7*2
    530		000016 				FX.SMR=FX.007		; SET MASTER RESET STATE
    531
    532		000020 			FX.010=10*2
    533		000020 				FX.CRF=FX.010		; CLEAR THE KL RUN FLOP
    534		000022 			FX.011=11*2
    535		000022 				FX.SRF=FX.011		; SET THE KL RUN FLOP
    536		000024 			FX.012=12*2
    537		000024 				FX.CON=FX.012		; SET THE KL CONTINUE FLOP
    538		000026 			FX.013=13*2
    539		000030 			FX.014=14*2
    540		000030 				FX.UIR=FX.014		; UNLATCH THE IR
    541		000032 			FX.015=15*2
    542		000032 				FX.UDR=FX.015		; UNLATCH THE DRAM REGISTER
    543		000034 			FX.016=16*2
    544		000036 			FX.017=17*2
    545
    546		000040 			FX.020=20*2
    547		000042 			FX.021=21*2
    548		000044 			FX.022=22*2
    549		000046 			FX.023=23*2
    550		000050 			FX.024=24*2
    551		000052 			FX.025=25*2
    552		000054 			FX.026=26*2
    553		000056 			FX.027=27*2
    554
    555		000060 			FX.030=30*2
    556		000062 			FX.031=31*2
    557		000064 			FX.032=32*2
    558		000066 			FX.033=33*2
    559		000070 			FX.034=34*2
    560		000072 			FX.035=35*2
    561		000074 			FX.036=36*2
    562		000076 			FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 15
DEFINE -- LOCAL DEFINITIONS 7709.20

    564					; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
    565
    566		000100 			FW.040=40*2
    567		000102 			FW.041=41*2
    568		000104 			FW.042=42*2
    569		000104 				FW.LBR=FW.042		; LOAD BURST COUNTER RIGHT 4 BITS
    570		000106 			FW.043=43*2
    571		000106 				FW.LBL=FW.043		; LOAD BURST COUNTER LEFT 4 BITS
    572		000110 			FW.044=44*2
    573		000110 				FW.CSR=FW.044		; LOAD THE KL CLOCK SOURCE AND RATE
    574
    575					; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
    576					; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
    577
    578		000000 				CS.NRM=0&14		; KL NORMAL CLOCK SOURCE (EBUS 32-33)
    579		000004 				CS.CS1=4&14		; KL CLOCK SOURCE 1
    580		000010 				CS.CS2=10&14		; KL CLOCK SOURCE 2
    581		000004 				CS.FST=4&14		; KL FAST CLOCK SOURCE
    582		000004 				CS.MGN=CS.FST		; KL MARGIN CLOCK SOURCE
    583		000010 				CS.EXT=10&14		; KL EXTERNAL CLOCK SOURCE
    584		000014 				CS.UDF=14&14		; UNDEFINED (DEFAULT TO FAST)
    585		000014 				CS.ALL=CS.CS1!CS.CS2	; CLOCK SOURCE BIT MASK
    586
    587		000000 				CR.NRM=0&3		; KL NORMAL CLOCK SOURCE (EBUS 34-35)
    588		000001 				CR.CR1=1&3		; KL CLOCK RATE 1
    589		000002 				CR.CR2=2&3		; KL CLOCK RATE 2
    590		000000 				CR.FUL=0&3		; KL CLOCK FULL SPEED
    591		000001 				CR.HLF=1&3		;  "	 "   HALF   "
    592		000002 				CR.QTR=2&3		;  "	 "   QRTR   "
    593		000003 				CR.SLO=3&3		;  "	 "   SLOW   "
    594		000003 				CR.ALL=CR.CR1!CR.CR2	; CLOCK RATE BIT MASK
    595
    596		000112 			FW.045=45*2
    597		000112 				FW.CDR=FW.045		; LOAD THE KL CLOCK DISTRIBUTION REGISTER
    598
    599					; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
    600					; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
    601
    602		002000 				CD.CRC=<4&7>*400	; DISABLE CONTROL RAM CLOCKS
    603		001000 				CD.DPC=<2&7>*400	; DISABLE DATA PATHS CLOCKS
    604		000400 				CD.CLC=<1&7>*400	; DISABLE CONTROL LOGIC CLOCKS
    605		000000 				CD.NRM=<0&7>*400	; NORMAL CLOCK ENABLES
    606		003400 				CD.ALL=<7&7>*400	; CLOCK DISABLE BIT MASK
    607
    608		000000 			CC.NRM=0			; NORMAL CLOCK CONTROL WORD
    609		003417 			CC.ALL=CS.ALL!CR.ALL!CD.ALL	; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 16
DEFINE -- LOCAL DEFINITIONS 7709.20

    611		000114 			FW.046=46*2
    612		000114 				FW.IPE=FW.046		; LOAD INTERNAL PARITY ENABLES
    613
    614					; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
    615					; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
    616
    617		000010 				IP.FMP=10&17		; FAST MEMORY PARITY STOP ENABLE
    618		000004 				IP.CRP=4&17		; CRAM PARITY STOP ENABLE
    619		000002 				IP.DRP=2&17		; DRAM PARITY STOP ENABLE
    620		000001 				IP.FSS=1&17		; FIELD SERVICE STOP ENABLE
    621		000016 				IP.NRM=IP.FMP!IP.CRP!IP.DRP
    622		000017 				IP.ALL=IP.NRM!IP.FSS
    623
    624		000116 			FW.047=47*2
    625		000116 				FW.APE=FW.047		; LOAD AR/ARX PARITY ENABLES (ET AL.)
    626
    627					; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
    628					; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
    629					; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
    630
    631		001000 				AP.ARP=<2&17>*400	; ALLOW AR/ARX PARITY TO CAUSE A
    632									; PAGE FAIL TRAP IN THE KL
    633		000400 				AP.EIP=<1&17>*400	; ENABLE INTERNAL PARITY ENABLES TO
    634									; STOP THE KL CLOCK
    635		001400 				AP.NRM=AP.EIP!AP.ARP	; NORMAL PARITY STOP ENABLES
    636
    637		001416 			PS.NRM=AP.NRM!IP.NRM		; NORMAL PARITY STOP CONTROL WORD
    638
    639		000120 			FW.050=50*2
    640		000122 			FW.051=51*2
    641		000122 				FW.CA1=FW.051		; LOAD LOW CRAM ADDRESS
    642		000124 			FW.052=52*2
    643		000124 				FW.CA2=FW.052		; LOAD HIGH CRAM ADDRESS
    644		000126 			FW.053=53*2
    645		000126 				FW.CRD=FW.053		; LOAD CRAM DISPATCH
    646		000130 			FW.054=54*2
    647		000130 				FW.CR4=FW.054		; LOAD CRAM BITS 60 THRU 78
    648		000132 			FW.055=55*2
    649		000132 				FW.CR3=FW.055		; LOAD CRAM BITS 40 THRU 59
    650		000134 			FW.056=56*2
    651		000134 				FW.CR2=FW.056		; LOAD CRAM BITS 20 THRU 39
    652		000136 			FW.057=57*2
    653		000136 				FW.CR1=FW.057		; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 17
DEFINE -- LOCAL DEFINITIONS 7709.20

    655		000140 			FW.060=60*2
    656		000140 				FW.DR1=FW.060		; LOAD DRAM A AND B EVEN
    657		000142 			FW.061=61*2
    658		000142 				FW.DR2=FW.061		; LOAD DRAM A AND B ODD
    659		000144 			FW.062=62*2
    660		000144 				FW.DR3=FW.062		; LOAD DRAM J COMMON
    661		000146 			FW.063=63*2
    662		000146 				FW.DJE=FW.063		; LOAD DRAM J EVEN
    663		000150 			FW.064=64*2
    664		000150 				FW.DJO=FW.064		; LOAD DRAM J ODD
    665		000152 			FW.065=65*2
    666		000152 				FW.IOJ=FW.065		; DISABLE SPECIAL DECODE OF I/O AND JRST
    667		000154 			FW.066=66*2
    668		000154 				FW.IAC=FW.066		; DISABLE IR AC OUTPUTS
    669		000156 			FW.067=67*2
    670		000156 				FW.KLO=FW.067		; ENABLE KL OPCODES AND ACS
    671
    672		000160 			FW.070=70*2
    673		000160 				FW.CHN=FW.070		; CHANNEL CONTROL FUNCTIONS
    674		000162 			FW.071=71*2
    675		000162 				FW.MBX=FW.071		; MBOX CONTROL FUNCTIONS
    676		000164 			FW.072=72*2
    677		000166 			FW.073=73*2
    678		000170 			FW.074=74*2
    679		000172 			FW.075=75*2
    680		000174 			FW.076=76*2
    681		000174 				FW.EBL=FW.076		; EBUS REGISTER LOAD FUNCTION
    682		000174 				FW.SBR=FW.076		; SBUS RESET FUNCTION
    683		000176 			FW.077=77*2
    684		000176 				FW.LAR=FW.077		; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 18
DEFINE -- LOCAL DEFINITIONS 7709.20

    686					; DEFINE DIAGNOSTIC FUNCTION READ CODES
    687
    688		000200 			FR.100=100*2
    689		000200 				FR.PI0=FR.100		; PI BOARD READ 0
    690		000202 			FR.101=101*2
    691		000202 				FR.PI1=FR.101		; PI BOARD READ 1
    692		000204 			FR.102=102*2
    693		000206 			FR.103=103*2
    694		000210 			FR.104=104*2
    695		000212 			FR.105=105*2
    696		000214 			FR.106=106*2
    697		000216 			FR.107=107*2
    698
    699		000220 			FR.110=110*2
    700		000220 				FR.APR=FR.110		; APR STATUS
    701		000222 			FR.111=111*2
    702		000224 			FR.112=112*2
    703		000226 			FR.113=113*2
    704		000230 			FR.114=114*2
    705		000232 			FR.115=115*2
    706		000234 			FR.116=116*2
    707		000236 			FR.117=117*2
    708
    709		000240 			FR.120=120*2
    710		000240 				FR.RAR=FR.120		; ARITHMETIC REGISTER [AR 00 - 35]
    711		000242 			FR.121=121*2
    712		000242 				FR.RBR=FR.121		; BUFFER REGISTER [BR 00 - 35]
    713		000244 			FR.122=122*2
    714		000244 				FR.RMQ=FR.122		; MQ REGISTER [MQ 00 - 35]
    715		000246 			FR.123=123*2
    716		000246 				FR.RFM=FR.123		; FM REGISTER [FM 00 - 35]
    717		000250 			FR.124=124*2
    718		000250 				FR.BRX=FR.124		; BR EXTENSION REGISTER [BRX 00 - 35]
    719		000252 			FR.125=125*2
    720		000252 				FR.ARX=FR.125		; AR EXTENSION REGISTER [ARX 00 - 35]
    721		000254 			FR.126=126*2
    722		000254 				FR.ADX=FR.126		; AD EXTENSION REGISTER [ADX 00 - 35]
    723		000256 			FR.127=127*2
    724		000256 				FR.RAD=FR.127		; ADDER REGISTER [AD 00 - 35]
    725
    726		000260 			FR.130=130*2
    727		000260 				FR.SC2=FR.130		; SHIFT COUNT REGISTER 2
    728		000260 				FR.DA1=FR.130		; DRAM ADDR 1
    729		000262 			FR.131=131*2
    730		000262 				FR.SC1=FR.131		; SHIFT COUNT REGISTER 1
    731		000262 				FR.DA2=FR.131		; DRAM ADDR 2
    732		000264 			FR.132=132*2
    733		000264 				FR.FE2=FR.132		; FLOATING EXPONENT REGISTER 2
    734		000266 			FR.133=133*2
    735		000266 				FR.FE1=FR.133		; FLOATING EXPONENT REGISTER 1
    736		000270 			FR.134=134*2
    737		000272 			FR.135=135*2
    738		000274 			FR.136=136*2
    739		000276 			FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 19
DEFINE -- LOCAL DEFINITIONS 7709.20

    741		000300 			FR.140=140*2
    742		000302 			FR.141=141*2
    743		000302 				FR.CRD=FR.141		; READ CRAM DISP FIELD
    744		000304 			FR.142=142*2
    745		000304 				FR.SR2=FR.142		; CRAM SBR RET 2
    746		000306 			FR.143=143*2
    747		000306 				FR.SR1=FR.143		; CRAM SBR RET 1
    748		000310 			FR.144=144*2
    749		000310 				FR.CA2=FR.144		; READ CRAM ADDRESS LOW
    750		000310 				FR.CR4=FR.CA2		; CRAM DATA 60 - 78
    751		000312 			FR.145=145*2
    752		000312 				FR.CA1=FR.145		; READ CRAM ADDRESS HIGH
    753		000312 				FR.CR3=FR.CA1		; CRAM DATA 40 - 59
    754		000314 			FR.146=146*2
    755		000314 				FR.CR2=FR.146		; CRAM DATA 20 - 39
    756		000314 				FR.CL2=FR.CR2		; CRAM LOC 05 - 10
    757		000316 			FR.147=147*2
    758		000316 				FR.CR1=FR.147		; CRAM DATA 00 - 19
    759		000316 				FR.CL1=FR.CR1		; CRAM LOC 00 - 04
    760
    761		000320 			FR.150=150*2
    762		000320 				FR.VM0=FR.150		; VMA REGISTER 0
    763		000322 			FR.151=151*2
    764		000322 				FR.VM1=FR.151		; VMA REGISTER 1
    765		000324 			FR.152=152*2
    766		000324 				FR.VM2=FR.152		; VMA REGISTER 2
    767		000326 			FR.153=153*2
    768		000326 				FR.VM3=FR.153		; VMA REGISTER 3
    769		000330 			FR.154=154*2
    770		000330 				FR.VM4=FR.154		; VMA REGISTER 4
    771		000332 			FR.155=155*2
    772		000332 				FR.VM5=FR.155		; VMA REGISTER 5
    773		000334 			FR.156=156*2
    774		000334 				FR.VM6=FR.156		; VMA REGISTER 6
    775		000336 			FR.157=157*2
    776		000336 				FR.VM7=FR.157		; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 20
DEFINE -- LOCAL DEFINITIONS 7709.20

    778		000340 			FR.160=160*2
    779		000342 			FR.161=161*2
    780		000344 			FR.162=162*2
    781		000346 			FR.163=163*2
    782		000350 			FR.164=164*2
    783		000352 			FR.165=165*2
    784		000354 			FR.166=166*2
    785		000356 			FR.167=167*2
    786		000356 				FR.EBS=FR.167		; [EBUS REG 00 THRU 35]
    787
    788		000360 			FR.170=170*2
    789		000362 			FR.171=171*2
    790		000364 			FR.172=172*2
    791		000366 			FR.173=173*2
    792		000370 			FR.174=174*2
    793		000372 			FR.175=175*2
    794		000374 			FR.176=176*2
    795		000376 			FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 21
DEFINE -- LOCAL DEFINITIONS 7709.20

    797					; DEFINE EVENT FLAG CODES
    798
    799		000001 			E.FHTO=^D1			; KL HALT TIMEOUT EVENT FLAG
    800		000002 			E.FCID=^D2			; CONSOLE DEVICE INPUT DONE EVENT FLAG
    801		000003 			E.FCOD=^D3			; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
    802		000004 			E.FKLN=^D4			; KLINIK EVENT LOG DONE FLAG
    806
    807					; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
    808
    809		000014 			Q.IOPL=14			; **TEMPORARY**
    810		000014 			Q.IBUF=Q.IOPL			; INPUT BUFFER ADDRESS
    811		000014 			Q.OBUF=Q.IOPL			; OUTPUT BUFFER ADDRESS
    812		000016 			Q.BYCT=Q.IOPL+2		; BUFFER BYTE COUNT (INPUT AND OUTPUT)
    813		000020 			Q.OVFC=Q.IOPL+4		; OUTPUT CARRIAGE CONTROL CHARACTER
    814
    815					; DEFINE THE LOGICAL UNIT NUMBERS
    816
    817		000001 			CIDLUN=1			; CONSOLE INPUT DEVICE LUN
    818		000002 			CODLUN=2			; CONSOLE OUTPUT DEVICE LUN
    822
    823					; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
    824
    825		000000 			VF.INT=000			; <NULL> INTERNAL FORMAT CONTROL
    826		000040 			VF.SSP=040			; <SPACE> SINGLE SPACE ALL LINES
    827		000060 			VF.DSP=060			; "0" DOUBLE SPACE ALL LINES
    828		000061 			VF.FFD=061			; "1" FORM FEED BEFORE OUTPUT
    829		000053 			VF.OVR=053			; "+" OVER PRINT THE LINE
    830		000044 			VF.PRM=044			; "$" PRINT LINE AS A PROMPT
    831
    832					; DEFINE SOME SPECIAL CHARACTERS
    833
    834		000054 			.COMMA=54			; COMMA
    835		000040 			.SPACE=40			; SPACE
    836		000033 			.ATLMD=33			; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 22
DEFINE -- LOCAL DEFINITIONS 7709.20

    838					; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
    839
    840		000000 			CH.NUL=0			; CHARACTER IS NULL
    841		000001 			CH.ALP=BIT00			; CHARACTER IS ALPHABETIC
    842		000002 			CH.NUM=BIT01			; CHARACTER IS NUMERIC
    843		000004 			CH.EOL=BIT02			; CHARACTER MAY END A LINE
    844		000010 			CH.EOC=BIT03			; CHARACTER MAY END A COMMAND
    845		000020 			CH.EOS=BIT04			; CHARACTER MAY END A SYMBOL
    846		000040 			CH.PFX=BIT05			; CHARACTER MAY PREFIX A SYMBOL
    847		000100 			CH.AOP=BIT06			; CHARACTER IS AN ARITHMETIC OPERATOR
    848		000200 			CH.ILL=BIT07			; CHARACTER IS ILLEGAL
    849		000034 			CH.END=CH.EOL!CH.EOC!CH.EOS	; CHARACTER IS AN END CHARACTER
    850		000003 			CH.ANM=CH.ALP!CH.NUM		; CHARACTER IS ALPHANUMERIC
    851
    852					; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
    853
    854		000000 			LG.NUL=0			; NULL
    855		000001 			LG.OPR=BIT00			; COMMAND IS LEGAL IN OPERATOR MODE
    856		000002 			LG.PRG=BIT01			; COMMAND IS LEGAL IN PROGRAMMER MODE
    857		000004 			LG.MNT=BIT02			; COMMAND IS LEGAL IN MAINTENANACE MODE
    858		000010 			LG.ARG=BIT03			; COMMAND MAY ACCEPT ARGUMENTS
    859		000020 			LG.MAR=BIT04			; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
    860		000040 			LG.MOD=BIT05			; COMMAND MAY ACCEPT MODIFIERS
    861		000100 			LG.RNG=BIT06			; COMMAND MAY ACCEPT RANGE ARGUMENTS
    862		000200 			LG.STR=BIT07			; COMMAND MAY ACCEPT STRING ARGUMENTS
    863		000400 			LG.RPT=BIT08			; COMMAND MAY BE REPEATED
    864		000003 			LG.PRM=LG.OPR!LG.PRG		; INSURE COMMAND IS LEGAL IN BOTH MODES
    865		000007 			LG.ALL=LG.PRM!LG.MNT		; INSURE COMMAND IS LEGAL IN ALL MODES
    866
    867					; DEFINE THE TRAP STATUS CODES
    868
    869		000002 			TC.CTC=2			; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
    870		000001 			TC.RST=1			; ABORT PROCESS AND RESTART THE KL
    871		000000 			TC.ERR=0			; ABORT PROCESS AND RETURN TO PARSER
    872		000377 			TC.CON=377			; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 23
DEFINE -- LOCAL DEFINITIONS 7709.20

    874					; DEFINE KL OPCODES
    875
    876		000270 			ADD=270			; ADD
    877		000273 			ADDB=273		; ADD TO BOTH
    878		000271 			ADDI=271		; ADD IMMEDIATE
    879		000272 			ADDM=272		; ADD TO MEMORY
    880					;
    881		000404 			AND=404			; AND
    882		000407 			ANDB=407		; AND TO BOTH
    883		000410 			ANDCA=410		; AND COMPLEMENT OF AC
    884		000413 			ANDCAB=413		; AND COMPLEMENT OF AC TO BOTH
    885		000411 			ANDCAI=411		; AND COMPLEMENT OF AC IMMEDIATE
    886		000412 			ANDCAM=412		; AND COMPLEMENT OF AC TO MEMORY
    887		000440 			ANDCB=440		; AND COMPLEMENT OF BOTH
    888		000443 			ANDCBB=443		; AND COMPLEMENT OF BOTH TO BOTH
    889		000441 			ANDCBI=441		; AND COMPLEMENT OF BOTH IMMEDIATE
    890		000442 			ANDCBM=442		; AND COMPLEMENT OF BOTH TO MEMORY
    891		000420 			ANDCM=420		; AND COMPLEMENT OF MEMORY
    892		000423 			ANDCMB=423		; AND COMPLEMENT OF MEMORY TO BOTH
    893		000421 			ANDCMI=421		; AND COMPLEMENT OF MEMORY IMMEDIATE
    894		000422 			ANDCMM=422		; AND COMPLEMENT OF MEMORY TO MEMORY
    895		000405 			ANDI=405		; AND IMMEDIATE
    896		000406 			ANDM=406		; AND TO MEMORY
    897					;
    898		000253 			AOBJN=253		; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
    899		000252 			AOBJP=252		; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
    900					;
    901		000340 			AOJ=340			; ADD 1 AND (DON'T) JUMP
    902		000344 			AOJA=344		; ADD 1 AND JUMP ALWAYS
    903		000342 			AOJE=342		; ADD 1 AND JUMP IF .EQ. 0
    904		000347 			AOJG=347		; ADD 1 AND JUMP IF .GT. 0
    905		000345 			AOJGE=345		; ADD 1 AND JUMP IF .GE. 0
    906		000341 			AOJL=341		; ADD 1 AND JUMP IF .LT. 0
    907		000343 			AOJLE=343		; ADD 1 AND JUMP IF .LE. 0
    908		000346 			AOJN=346		; ADD 1 AND JUMP IF .NE. 0
    909					;
    910		000350 			AOS=350			; ADD 1 AND (DON'T) SKIP
    911		000354 			AOSA=354		; ADD 1 AND SKIP ALWAYS
    912		000352 			AOSE=352		; ADD 1 AND SKIP IF .EQ. 0
    913		000357 			AOSG=357		; ADD 1 AND SKIP IF .GT. 0
    914		000355 			AOSGE=355		; ADD 1 AND SKIP IF .GT. 0
    915		000351 			AOSL=351		; ADD 1 AND SKIP IF .LT. 0
    916		000353 			AOSLE=353		; ADD 1 AND SKIP IF .LE. 0
    917		000356 			AOSN=356		; ADD 1 AND SKIP IF .NE. 0
    918					;
    919		000240 			ASH=240			; ARITHMETIC SHIFT
    920		000244 			ASHC=244		; ARITHMETIC SHIFT COMBINED
    921					;
    922		000251 			BLT=251			; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 24
DEFINE -- LOCAL DEFINITIONS 7709.20

    924		000300 			CAI=300			; COMPARE AC IMMEDIATE, DON'T SKIP
    925		000304 			CAIA=304		; COMPARE AC IMMEDIATE, SKIP ALWAYS
    926		000302 			CAIE=302		; COMPARE AC IMMEDIATE, SKIP IF .EQ.
    927		000307 			CAIG=307		; COMPARE AC IMMEDIATE, SKIP IF .GT.
    928		000305 			CAIGE=305		; COMPARE AC IMMDEIATE, SKIP IF .GE.
    929		000301 			CAIL=301		; COMAPRE AC IMMEDIATE, SKIP IF .LT.
    930		000303 			CAILE=303		; COMPARE AC IMMEDIATE, SKIP IF .LE.
    931		000306 			CAIN=306		; COMPARE AC IMMEDIATE, SKIP IF .NE.
    932					;
    933		000040 			CALL=040		; "CALL" UUO
    934		000047 			CALLI=047		; "CALLI" UUO
    935					;
    936		000310 			CAM=310			; COMPARE AC TO MEMORY, DON'T SKIP
    937		000314 			CAMA=314		; COMPARE AC TO MEMORY, ALWAYS SKIP
    938		000312 			CAME=312		; COMPARE AC TO MEMORY, SKIP IF .EQ.
    939		000317 			CAMG=317		; COMPARE AC TO MEMORY, SKIP IF .GT.
    940		000315 			CAMGE=315		; COMPARE AC TO MEMORY, SKIP IF .GE.
    941		000311 			CAML=311		; COMPARE AC TO MEMORY, SKIP IF .LT.
    942		000313 			CAMLE=313		; COMPARE AC TO MEMORY, SKIP IF .LE.
    943		000316 			CAMN=316		; COMPARE AC TO MEMORY, SKIP IF .NE.
    944					;
    945		000400 			CLEAR=400		; CLEAR AC
    946		000403 			CLEARB=403		; CLEAR BOTH
    947		000401 			CLEARI=401		; CLEAR IMMEDIATE
    948		000402 			CLEARM=402		; CLEAR MEMORY
    949					;
    950		000070 			CLOSE=070		; "CLOSE" UUO
    951					;
    952		000110 			DFAD=110		; DOUBLE FLOATING ADD
    953		000113 			DFDV=113		; DOUBLE FLOATING DIVIDE
    954		000112 			DFMP=112		; DOUBLE FLOATING MULTIPLY
    955		000131 			DFN=131			; DOUBLE FLOATING NEGATE
    956		000111 			DFSB=111		; DOUBLE FLOATING SUBTRACT
    957					;
    958		000234 			DIV=234			; DIVIDE
    959		000237 			DIVB=237		; DIVIDE BOTH
    960		000235 			DIVI=235		; DIVIDE IMMEDIATE
    961		000236 			DIVM=236		; DIVIDE MEMORY
    962					;
    963		000120 			DMOVE=120		; DOUBLE MOVE
    964		000124 			DMOVEM=124		; DOUBLE MOVE TO MEMORY
    965		000121 			DMOVN=121		; DOUBLE MOVE NEGATED
    966		000125 			DMOVNM=125		; DOUBLE MOVE NEGATED TO MEMORY
    967					;
    968		000137 			DPB=137			; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 25
DEFINE -- LOCAL DEFINITIONS 7709.20

    970		000077 			ENTER=077		; "ENTER" UUO
    971					;
    972		000444 			EQV=444			; EQUIVALENCE TO AC
    973		000447 			EQVB=447		; EQUIVALENCE TO BOTH
    974		000445 			EQVI=445		; EQUIVALENCE IMMEDIATE
    975		000446 			EQVM=446		; EQUIVALENCE TO MEMORY
    976					;
    977		000250 			EXCH=250		; EXCHANGE
    978		000123 			EXTEND=123		; EXTEND
    979					;
    980		000140 			FAD=140			; FLOATING ADD
    981		000143 			FADB=143		; FLOATING ADD BOTH
    982		000141 			FADL=141		; FLOATING ADD LONG
    983		000142 			FADM=142		; FLOATING ADD MEMORY
    984					;
    985		000144 			FADR=144		; FLOATING ADD, ROUNDED
    986		000147 			FADRB=147		; FLOATING ADD, ROUNDED TO BOTH
    987		000145 			FADRI=145		; FLOATING ADD, ROUNDED IMMEDIATE
    988		000146 			FADRM=146		; FLOATING ADD, ROUNDED TO MEMORY
    989					;
    990		000170 			FDV=170			; FLOATING DIVIDE
    991		000173 			FDVB=173		; FLOATING DIVIDE TO BOTH
    992		000171 			FDVL=171		; FLOATING DIVIDE LONG
    993		000172 			FDVM=172		; FLOATING DIVIDE TO MEMORY
    994					;
    995		000174 			FDVR=174		; FLOATING DIVIDE, ROUNDED
    996		000177 			FDVRB=177		; FLOATING DIVIDE, ROUNDED TO BOTH
    997		000175 			FDVRI=175		; FLOATING DIVIDE, ROUNDED IMMMEDIATE
    998		000176 			FDVRM=176		; FLOATING DIVIDE, ROUNDED TO MEMORY
    999					;
   1000		000122 			FIX=122			; FIX
   1001		000126 			FIXR=126		; FIX AND ROUND
   1002					;
   1003		000127 			FLTR=127		; FLOAT AND ROUND
   1004					;
   1005		000160 			FMP=160			; FLOATING MULTIPLY
   1006		000163 			FMPB=163		; FLOATING MULTIPLY TO BOTH
   1007		000161 			FMPL=161		; FLOATING MULTIPLY LONG
   1008		000162 			FMPM=162		; FLOATING MULTIPLY TO MEMORY
   1009					;
   1010		000164 			FMPR=164		; FLOATING MUTIPLY ROUNDED
   1011		000167 			FMPRB=167		; FLOATING MULTIPLY ROUNDED, TO BOTH
   1012		000165 			FMPRI=165		; FLOATING MULTIPLY ROUNDED, IMMEDIATE
   1013		000166 			FMPRM=166		; FLOATING MULTIPLY ROUNDED, TO MEMORY
   1014					;
   1015		000150 			FSB=150			; FLOATING SUBTRACT
   1016		000153 			FSBB=153		; FLOATING SUBTRACT TO BOTH
   1017		000151 			FSBL=151		; FLOATING SUBTRACT LONG
   1018		000152 			FSBM=152		; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 26
DEFINE -- LOCAL DEFINITIONS 7709.20

   1020		000154 			FSBR=154		; FLOATING SUBTRACT ROUNDED
   1021		000157 			FSBRB=157		; FLOATING SUBTRACT ROUNDED, TO BOTH
   1022		000155 			FSBRI=155		; FLOATING SUBTRACT ROUNDED, IMMEDIATE
   1023		000156 			FSBRM=156		; FLOATING SUBTRACT ROUNDED, TO MEMORY
   1024					;
   1025		000132 			FSC=132			; FLOATING SCALE
   1026					;
   1027		000062 			GETSTS=062		; "GETSTS" UUO
   1028					;
   1029		000500 			HLL=500			; HALFWORD LEFT TO LEFT
   1030		000530 			HLLE=530		;    "      "   "   "	EXTEND
   1031		000531 			HLLEI=531		;    "      "   "   "     "    IMMEDIATE
   1032		000532 			HLLEM=532		;    "      "   "   "     "    TO MEMORY
   1033		000533 			HLLES=533		;    "      "   "   "     "    TO SELF
   1034					;
   1035		000501 			HLLI=501		; HALFWORD LEFT TO LEFT IMMEDIATE
   1036		000502 			HLLM=502		;    "      "   "   "   TO MEMORY
   1037					;
   1038		000520 			HLLO=520		;    "      "   "   "   ONES
   1039		000521 			HLLOI=521		;    "      "   "   "    "   IMMEDIATE
   1040		000522 			HLLOM=522		;    "	    "	"   "	 "   MEMORY
   1041		000523 			HLLOS=523		;    "	    "	"   "	 "   SELF
   1042					;
   1043		000503 			HLLS=503		; HALFWORD LEFT TO LEFT SELF
   1044					;
   1045		000510 			HLLZ=510		; HALFWORD LEFT TO LEFT ZERO, ET AL.
   1046		000511 			HLLZI=511
   1047		000512 			HLLZM=512
   1048		000513 			HLLZS=513
   1049					;
   1050		000544 			HLR=544			; HALFWORD LEFT TO RIGHT
   1051					;
   1052		000574 			HLRE=574		; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
   1053		000575 			HLREI=575
   1054		000576 			HLREM=576
   1055		000577 			HLRES=577
   1056					;
   1057		000564 			HLRO=564		; HALFWORD LEFT TO RIGHT ONES, ET AL.
   1058		000565 			HLROI=565
   1059		000566 			HLROM=566
   1060		000567 			HLROS=567
   1061					;
   1062		000547 			HLRS=547		; HALFWORD LEFT TO RIGHT SELF
   1063					;
   1064		000554 			HLRZ=554		; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
   1065		000555 			HLRZI=555
   1066		000556 			HLRZM=556
   1067		000557 			HLRZS=557
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 27
DEFINE -- LOCAL DEFINITIONS 7709.20

   1069		000504 			HRL=504			; HALFWORD RIGHT TO LEFT
   1070					;
   1071		000534 			HRLE=534		; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
   1072		000535 			HRLEI=535
   1073		000536 			HRLEM=536
   1074		000537 			HRLES=537
   1075					;
   1076		000505 			HRLI=505		; HALFWORD RIGHT TO LEFT IMMEDIATE
   1077		000506 			HRLM=506		;    "	     "	 "   "	 MEMORY
   1078					;
   1079		000564 			HRLO=564		; HALFWORD RIGHT TO LEFT ONES, ET AL.
   1080		000565 			HRLOI=565
   1081		000566 			HRLOM=566
   1082		000567 			HRLOS=567
   1083					;
   1084		000507 			HRLS=507		; HALFWORD RIGHT TO LEFT SELF
   1085					;
   1086		000514 			HRLZ=514		; HALFWORD RIGHT TO LEFT ZERO, ET AL.
   1087		000515 			HRLZI=515
   1088		000516 			HRLZM=516
   1089		000517 			HRLZS=517
   1090					;
   1091		000540 			HRR=540			; HALFWORD RIGHT TO RIGHT
   1092					;
   1093		000570 			HRRE=570		; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
   1094		000571 			HRREI=571
   1095		000572 			HRREM=572
   1096		000573 			HRRES=573
   1097					;
   1098		000541 			HRRI=541		; HALFWORD RIGHT TO RIGHT IMMEDIATE
   1099		000542 			HRRM=542		;    "	     "	 "    "	  MEMORY
   1100					;
   1101		000560 			HRRO=560		; HALFWORD RIGHT TO RIGHT ONES, ET AL.
   1102		000561 			HRROI=561
   1103		000562 			HRROM=562
   1104		000563 			HRROS=563
   1105					;
   1106		000543 			HRRS=543
   1107					;
   1108		000550 			HRRZ=550		; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
   1109		000551 			HRRZI=551
   1110		000552 			HRRZM=552
   1111		000553 			HRRZS=553
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 28
DEFINE -- LOCAL DEFINITIONS 7709.20

   1113		000133 			IBP=133			; INCREMENT BYTE POINTER
   1114					;
   1115		000230 			IDIV=230		; INTEGER DIVIDE
   1116		000233 			IDIVB=233		;    "	    "	 BOTH
   1117		000231 			IDIVI=231		;    "	    "	 IMMEDIATE
   1118		000232 			IDIVM=232		;    "	    "	 MEMORY
   1119					;
   1120		000136 			IDPB=136		; INCREMENT AND DEPOSIT BYTE
   1121					;
   1122		000134 			ILDB=134		; DECREMENT AND LOAD BYTE
   1123					;
   1124		000220 			IMUL=220		; INTEGER MULTIPLY
   1125		000223 			IMULB=223		;    "	     "	   BOTH
   1126		000221 			IMULI=221		;    "	     "	   IMMEDIATE
   1127		000222 			IMULM=222		;    "	     "     MEMORY
   1128					;
   1129		000056 			IN=056			; "IN" UUO
   1130		000064 			INBUF=064		; "INBUF" UUO
   1131		000041 			INIT=041		; "INIT" UUO
   1132		000066 			INPUT=066		; "INPUT" UUO
   1133					;
   1134		000434 			IOR=434			; INCLUSIVE OR, ET AL.
   1135		000437 			IORB=437
   1136		000435 			IORI=435
   1137		000436 			IORM=436
   1138					;
   1139		000255 			JFCL=255		; JUMP ON FLAGS AND CLEAR
   1140					;
   1141		000243 			JFFO=243		; JUMP IF FOUND FIRST 1
   1142					;
   1143		000267 			JRA=267			; JUMP AND RESTORE AC
   1144					;
   1145		000254 			JRST=254		; JUMP AND RESTORE (PC FLAGS)
   1146					;
   1147		000266 			JSA=266			; JUMP AND SAVE AC
   1148					;
   1149		000265 			JSP=265			; JUMP AND SAVE PC
   1150					;
   1151		000264 			JSR=264			; JUMP TO SUBROUTINE
   1152					;
   1153		000104 			JSYS=104		; JSYS CALL
   1154					;
   1155		000320 			JUMP=320		; JUMP (NEVER)
   1156		000324 			JUMPA=324		; JUMP ALWAYS
   1157		000322 			JUMPE=322		; JUMP IF AC .EQ. 0
   1158		000327 			JUMPG=327		; JUMP IF AC .GT. 0
   1159		000325 			JUMPGE=325		; JUMP IF AC .GE. 0
   1160		000321 			JUMPL=321		; JUMP IF AC .LT. 0
   1161		000323 			JUMPLE=323		; JUMP IF AC .LE. 0
   1162		000326 			JUMPN=326		; JUMP IF AC .NE. 0
   1163					;
   1164		000700 			KLIOT=700		; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 29
DEFINE -- LOCAL DEFINITIONS 7709.20

   1166		000135 			LDB=135			; LOAD BYTE
   1167					;
   1168		000076 			LOOKUP=076		; "LOOKUP" UUO
   1169					;
   1170		000242 			LSH=242			; LOGICAL SHIFT
   1171		000246 			LSHC=246		; LOGICAL SHIFT COMBINED
   1172					;
   1173		000257 			MAP=257			; MAP PAGED ADDRESS
   1174					;
   1175		000200 			MOVE=200		; MOVE
   1176		000201 			MOVEI=201		; MOVE IMMEDIATE
   1177		000202 			MOVEM=202		; MOVE TO MEMORY
   1178		000203 			MOVES=203		; MOVE TO SELF
   1179					;
   1180		000214 			MOVM=214		; MOVE MAGNITUDE, ET AL.
   1181		000215 			MOVMI=215
   1182		000216 			MOVMM=216
   1183		000217 			MOVMS=217
   1184					;
   1185		000210 			MOVN=210		; MOVE NEGATED, ET AL.
   1186		000211 			MOVNI=211
   1187		000212 			MOVNM=212
   1188		000213 			MOVNS=213
   1189					;
   1190		000204 			MOVS=204		; MOVE SWAPPED, ET AL.
   1191		000205 			MOVSI=205
   1192		000206 			MOVSM=206
   1193		000207 			MOVSS=207
   1194					;
   1195		000224 			MUL=224			; MULTIPLY
   1196		000227 			MULB=227		; MULTIPLY BOTH
   1197		000225 			MULI=225		; MULTIPLY IMMEDIATE
   1198		000226 			MULM=226		; MULTIPLY MEMORY
   1199					;
   1200		000050 			OPEN=050		; "OPEN" UUO
   1201					;
   1202		000434 			OR=IOR			; (INCLUSIVE) OR, ET AL.
   1203		000437 			ORB=IORB
   1204					;
   1205		000454 			ORCA=454		; OR WITH COMPLEMENT OF AC
   1206		000457 			ORCAB=457		; "   "	      "	     "	"  BOTH
   1207		000455 			ORCAI=455		; "   "	      "	     "	"  IMMEDIATE
   1208		000456 			ORCAM=456		; "   "       "	     "	"  MEMORY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 30
DEFINE -- LOCAL DEFINITIONS 7709.20

   1210		000470 			ORCB=470		; OR WITH COMPLEMENT OF BOTH, ET AL.
   1211		000473 			ORCBB=473
   1212		000471 			ORCBI=471
   1213		000472 			ORCBM=472
   1214					;
   1215		000464 			ORCM=464		; OR WITH COMPLEMENT OF MEMORY, ET AL.
   1216		000467 			ORCMB=467
   1217		000465 			ORCMI=465
   1218		000466 			ORCMM=466
   1219					;
   1220		000435 			ORI=IORI		; (INCLUSIVE) OR, ET AL.
   1221		000436 			ORM=IORM
   1222					;
   1223		000057 			OUT=057			; "OUT" UUO
   1224		000065 			OUTBUF=065		; "OUTBUF" UUO
   1225		000067 			OUTPUT=067		; "OUTPUT" UUO
   1226					;
   1227		000262 			POP=262			; POP
   1228		000263 			POPJ=263		; POP (RETURN) AND JUMP
   1229					;
   1230		000261 			PUSH=261		; PUSH
   1231		000260 			PUSHJ=260		; PUSH (RETURN) AND JUMP
   1232					;
   1233		000071 			RELEAS=071		; "RELEAS(E)" UUO
   1234		000055 			RENAME=055		; "RENAME" UUO
   1235					;
   1236		000241 			ROT=241			; ROTATE
   1237		000245 			ROTC=245		; ROTATE COMBINED
   1238					;
   1239		000424 			SETA=424		; SET TO AC
   1240		000427 			SETAB=427		;  "  "	 "  BOTH
   1241		000425 			SETAI=425		;  "  "	 "  IMMEDIATE
   1242		000426 			SETAM=426		;  "  "  "  MEMORY
   1243					;
   1244		000450 			SETCA=450		; SET TO COMPLEMENT OF AC, ET AL.
   1245		000453 			SETCAB=453
   1246		000451 			SETCAI=451
   1247		000452 			SETCAM=452
   1248					;
   1249		000460 			SETCM=460		; SET TO COMLEMENT OF MEMORY, ET AL.
   1250		000463 			SETCMB=463
   1251		000461 			SETCMI=461
   1252		000462 			SETCMM=462
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 31
DEFINE -- LOCAL DEFINITIONS 7709.20

   1254		000414 			SETM=414		; SET TO MEMORY, ET AL
   1255		000417 			SETMB=417
   1256		000415 			SETMI=415
   1257		000416 			SETMM=416
   1258					;
   1259		000474 			SETO=474		; SET TO ONES, ET AL.
   1260		000477 			SETOB=477
   1261		000475 			SETOI=475
   1262		000476 			SETOM=476
   1263					;
   1264		000060 			SETSTS=060		; "SETSTS" UUO
   1265					;
   1266		000400 			SETZ=400		; SET TO ZEROS, ET AL
   1267		000403 			SETZB=403
   1268		000401 			SETZI=401
   1269		000402 			SETZM=402
   1270					;
   1271		000330 			SKIP=330		; SKIP (NEVER)
   1272		000334 			SKIPA=334		; SKIP ALWAYS
   1273		000332 			SKIPE=332		; SKIP IF MEMORY .EQ. 0
   1274		000337 			SKIPG=337		; SKIP IF MEMORY .GT. 0
   1275		000335 			SKIPGE=335		; SKIP IF MEMORY .GE. 0
   1276		000331 			SKIPL=331		; SKIP IF MEMORY .LT. 0
   1277		000333 			SKIPLE=333		; SKIP OF MEMORY .LE. 0
   1278		000336 			SKIPN=336		; SKIP IF MEMORY .NE. 0
   1279					;
   1280		000360 			SOJ=360			; SUBTRACT 1 AND NEVER JUMP
   1281		000364 			SOJA=364		; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
   1282		000362 			SOJE=362		; SUBTRACT 1 AND JUMP IF AC .EQ. 0
   1283		000367 			SOJG=367		; SUBTRACT 1 AND JUMP IF AC .GT. 0
   1284		000365 			SOJGE=365		; SUBTRACT 1 AND JUMP IF AC .GE. 0
   1285		000361 			SOJL=361		; SUBTRACT 1 AND JUMP IF AC .LT. 0
   1286		000363 			SOJLE=363		; SUBTRACT 1 AND JUMP IF AC .LE. 0
   1287		000366 			SOJN=366		; SUBTRACT 1 AND JUMP IF AC .NE. 0
   1288					;
   1289		000370 			SOS=370			; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
   1290		000374 			SOSA=374		; SUBTRACT 1 AND ALWAYS SKIP
   1291		000372 			SOSE=372		; SUBTRACT 1 AND SKIP IF .EQ. 0
   1292		000377 			SOSG=377		; SUBTRACT 1 AND SKIP IF .GT. 0
   1293		000375 			SOSGE=375		; SUBTRACT 1 AND SKIP IF .GE. 0
   1294		000371 			SOSL=371		; SUBTRACT 1 AND SKIP IF .LT. 0
   1295		000373 			SOSLE=373		; SUBTRACT 1 AND SKIP IF .LE. 0
   1296		000376 			SOSN=376		; SUBTRACT 1 AND SKIP IF .NE. 0
   1297					;
   1298		000061 			STATO=061		; "STATO" UUO
   1299		000062 			STATUS=062		; "STATUS" UUO
   1300		000063 			STATZ=063		; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 32
DEFINE -- LOCAL DEFINITIONS 7709.20

   1302		000274 			SUB=274			; SUBTRACT
   1303		000277 			SUBB=277		; SUBTRACT BOTH
   1304		000275 			SUBI=275		; SUBTRACT IMMEDIATE
   1305		000276 			SUBM=276		; SUBTRACT MEMORY
   1306					;
   1307		000106 			SXCT=106		; SECTION EXECUTE
   1308					;
   1309		000650 			TDC=650			; TEST DIRECT COMPLEMENT NEVER SKIP
   1310		000654 			TDCA=654		;  "	 "	  "	 SKIP ALWAYS
   1311		000652 			TDCE=652		;  "	 "	  "	  "   ON ZERO
   1312		000656 			TDCN=656		;  "     "	  "	  "   ON NON-ZERO
   1313					;
   1314		000610 			TDN=610			; TEST DIRECT NO MODIFICATION, ET AL.
   1315		000614 			TDNA=614
   1316		000612 			TDNE=612
   1317		000616 			TDNN=616
   1318					;
   1319		000670 			TDO=670			; TEST DIRECT ONES, ET AL.
   1320		000674 			TDOA=674
   1321		000672 			TDOE=672
   1322		000676 			TDON=676
   1323					;
   1324		000630 			TDZ=630			; TEST DIRECT ZEROS, ET AL.
   1325		000634 			TDZA=634
   1326		000632 			TDZE=632
   1327		000636 			TDZN=636
   1328					;
   1329		000641 			TLC=641			; TEST LEFT COMPLEMENT, ET AL.
   1330		000645 			TLCA=645
   1331		000643 			TLCE=643
   1332		000647 			TLCN=647
   1333					;
   1334		000601 			TLN=601			; TEST LEFT NO MODIFICATION, ET AL.
   1335		000605 			TLNA=605
   1336		000603 			TLNE=603
   1337		000607 			TLNN=607
   1338					;
   1339		000661 			TLO=661			; TEST LEFT ONES, ET AL.
   1340		000665 			TLOA=665
   1341		000663 			TLOE=663
   1342		000667 			TLON=667
   1343					;
   1344		000621 			TLZ=621			; TEST LEFT ZEROS, ET AL.
   1345		000625 			TLZA=625
   1346		000623 			TLZE=623
   1347		000627 			TLZN=627
   1348					;
   1349		000640 			TRC=640			; TEST RIGHT COMPLEMENT, ET AL.
   1350		000644 			TRCA=644
   1351		000642 			TRCE=642
   1352		000646 			TRCN=646
DEFINE -- LOCAL DEFINITION MODU	MACRO M1110  03-OCT-79 11:35  PAGE 33
DEFINE -- LOCAL DEFINITIONS 7709.20

   1354		000600 			TRN=600			; TEST RIGHT NO MODIFICATION, ET AL.
   1355		000604 			TRNA=604
   1356		000602 			TRNE=602
   1357		000606 			TRNN=606
   1358					;
   1359		000660 			TRO=660			; TEST RIGHT ONES, ET AL.
   1360		000664 			TROA=664
   1361		000662 			TROE=662
   1362		000666 			TRON=666
   1363					;
   1364		000620 			TRZ=620			; TEST RIGHT ZEROS, ET AL.
   1365		000624 			TRZA=624
   1366		000622 			TRZE=622
   1367		000626 			TRZN=626
   1368					;
   1369		000651 			TSC=651			; TEST SWAPPED COMLEMENT, ET AL.
   1370		000655 			TSCA=655
   1371		000653 			TSCE=653
   1372		000657 			TSCN=657
   1373					;
   1374		000611 			TSN=611			; TEST SWAPPED NO MODIFICATION, ET AL.
   1375		000615 			TSNA=615
   1376		000613 			TSNE=613
   1377		000617 			TSNN=617
   1378					;
   1379		000671 			TSO=671			; TEST SWAPPED ONES, ET AL.
   1380		000675 			TSOA=675
   1381		000673 			TSOE=673
   1382		000677 			TSON=677
   1383					;
   1384		000631 			TSZ=631			; TEST SWAPPED ZEROS, ET AL.
   1385		000635 			TSZA=635
   1386		000633 			TSZE=633
   1387		000637 			TSZN=637
   1388					;
   1389		000051 			TTCALL=051		; "TTCALL" UUO
   1390					;
   1391		000073 			UGETF=073		; "UGETF" UUO
   1392					;
   1393		000100 			UJEN=100		; "UJEN" CALL
   1394					;
   1395		000074 			USETI=074		; "USETI" UUO
   1396		000075 			USETO=075		; "USETO" UUO
   1397					;
   1398		000256 			XCT=256			; EXECUTE
   1399					;
   1400		000430 			XOR=430			; EXCLUSIVE OR, ET AL.
   1401		000433 			XORB=433
   1402		000431 			XORI=431
   1403		000432 			XORM=432
   1404
   1405					.SBTTL	COPYRIGHT PAGE
   1406
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 34
COPYRIGHT PAGE

   1409					.TITLE	ABRTC -- ABORT COMMAND MODULE 7602.23
   1410
   1411						.IDENT	"005000"
   1412					;
   1413					;                             COPYRIGHT (C) 1975, 1979 BY
   1414					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1415					;
   1416					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1417					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1418					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1419					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1420					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1421					;
   1422					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1423					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1424					;       CORPORATION.
   1425					;
   1426					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1427					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1428					;
   1429					;		MODULE: ABORT COMMAND
   1430					;
   1431					;		VERSION: 05-00
   1432					;
   1433					;		AUTHOR: R. BELANGER
   1434					;
   1435					;		DATE: 7602.23
   1436					;
   1437					;	THIS MODULE CONTAINS:
   1438					;
   1439					;	1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 35
.ABRTC -- THE "ABORT" COMMAND 7602.23

   1441					.SBTTL	.ABRTC -- THE "ABORT" COMMAND 7602.23
   1442
   1443					;+
   1444					; .ABRTC -- THE "ABORT" COMMAND
   1445					;
   1446					; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
   1447					;
   1448					; INPUT ARGUMENTS:
   1449					;
   1450					;	NONE.
   1451					;
   1452					; OUTPUT ARGUMENTS:
   1453					;
   1454					;	NONE.
   1455					;
   1456					; ERROR CODES RETURNED:
   1457					;
   1458					;	NONE.
   1459					;-
   1460
   1461	000000				.ABRTC::
   1462	000000					CALL	.CKEOC		; MUST HAVE E-O-C
	000000	004737 	000264'			 JSR	PC,.CKEOC
   1463					;	CALLR	.ABORT		; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 36
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1465					.SBTTL	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
   1466
   1467					;+
   1468					; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
   1469					;
   1470					; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
   1471					; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
   1472					; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
   1473					; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
   1474					;
   1475					; SEQUENCE OF OPERATION:
   1476					;
   1477					;	(A) THE KL IS HALTED,
   1478					;	(B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
   1479					;	(C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
   1480					;	(D) SECONDARY PROTOCOL IS STARTED
   1481					;	(E) EXIT.
   1482					;
   1483					; INPUT ARGUMENTS:
   1484					;
   1485					;	NONE.
   1486					;
   1487					; OUTPUT ARGUMENTS:
   1488					;
   1489					;	NONE.
   1490					;
   1491					; ERROR CODES RETURNED:
   1492					;
   1493					;	CFH -- CAN'T FIND KL HALT LOOP.
   1494					;	FRF -- FUNCTION READ FAILED.
   1495					;	FWF -- FUNCTION WRITE FAILED.
   1496					;	FXF -- FUNCTION EXECUTE FAILED.
   1497					;	UNL -- UCODE NOT LOADED.
   1498					;
   1499					; NOTE:
   1500					;
   1501					;	THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
   1502					;	SUBROUTINE.
   1503					;-
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 37
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1505						.ENABL	LSB
   1506
   1507	000004				.ABORT::
   1508	000004					PUSH	R0		; SAVE R0 ON THE STACK
	000004	010046 				 MOV	R0,-(SP)
   1509	000006					PUSH	#.ABRT0		; .IN CASE ".KLSTP" TRAPS
	000006	012746 	000032'			 MOV	#.ABRT0,-(SP)
   1510	000012	010637 	000160'			MOV	SP,.TRPTV	; ..STACK POINTER FOR RETURN
   1511	000016					CALL	.KLSTP		; ..HALT THE KL
	000016	004737 	010342'			 JSR	PC,.KLSTP
   1512	000022	005726 				TST	(SP)+		; ..CLEAR RETURN
   1513	000024	005037 	000160'			CLR	.TRPTV		; .AND TRAP VECTOR
   1514	000030	000410 				BR	10$		; .AND EXIT
   1515						;
   1516	000032				.ABRT0::			; .GET HERE IF ".KLSTP" TRAPPED
   1517	000032	005000 				CLR	R0		; .CLEAR R0 (STACK POPPED BY ".PTTRP")
   1518	000034					CALL	.STUCD		; .(RE)START THE UCODE
	000034	004737 	012106'			 JSR	PC,.STUCD
   1519	000040	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; .DECLARE THE COMM REGION INVALID
   1520	000046					CALL	..DTP2		; .START SECONDARY PROTOCOL
	000046	004737 	000000G			 JSR	PC,..DTP2
   1521	000052				10$:
   1522	000052					POP	R0		; .RESTORE R0
	000052	012600 				 MOV	(SP)+,R0
   1523	000054					RETURN			; TO CALLER
	000054	000207 				 RTS	PC
   1524
   1525						.DSABL	LSB
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 38
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1527					.TITLE	CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
   1528
   1529						.IDENT	"005000"
   1530
   1531					;
   1532					;                             COPYRIGHT (C) 1975, 1979 BY
   1533					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1534					;
   1535					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1536					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1537					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1538					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1539					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1540					;
   1541					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1542					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1543					;       CORPORATION.
   1544					;
   1545					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1546					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1547					;
   1548					;		MODULE: ALPANUMERIC ARGUMENT CHECK
   1549					;
   1550					;		VERSION: 01-02
   1551					;
   1552					;		AUTHOR: R. BELANGER
   1553					;
   1554					;		DATE: 709.21
   1555					;
   1556					;	THIS MODULE CONTAINS:
   1557					;
   1558					;	1) ALPHANUMERIC ARGUMENT CHECK CODE
   1559					;	2) TRAILING COLON CHECK CODE
   1560					;	3) END OF COMMAND CHECK CODE
   1561					;	4) END OF SYMBOL CHECK CODE
   1562					;	5) TRAILING OBJECT CHECK CODE
   1563					;	6) TRAILING SYMBOL CHECK CODE
   1564
   1565						.MCALL	CLEF$S
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 39
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15

   1567					.SBTTL	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
   1568
   1569					;+
   1570					; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
   1571					;	    DTE-20 DIAG WORD 1.
   1572					;
   1573					; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
   1574					; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
   1575					;
   1576					; SEQUENCE OF OPERATION:
   1577					;
   1578					;	(A) READ DTE-20 DIAG WORD 1,
   1579					;	(B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
   1580					;	(C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
   1581					;	(D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
   1582					;	(E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
   1583					;	(F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
   1584					;
   1585					; INPUT ARGUMENTS:
   1586					;
   1587					;	NONE.
   1588					;
   1589					; OUTPUT ARGUMENTS:
   1590					;
   1591					;	R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
   1592					;
   1593					; ERROR CODES RETURNED:
   1594					;
   1595					;	CES -- KL CLOCK ERROR STOP.
   1596					;	DSF -- DTE-20 STATUS FAILURE.
   1597					;-
   1598
   1599	000056				.CESCK::
   1600	000056					CALL	.DTDW1		; READ DIAG WORD 1
	000056	004737 	006664'			 JSR	PC,.DTDW1
   1601	000062	032700 	004000 			BIT	#D1.CES,R0	; IS CLOCK ERROR STOP LIT?
   1602	000066	001001 				BNE	CESCES		; YES -- GIVE "CES" ERROR
   1603	000070					RETURN			; NO -- JUST RETURN
	000070	000207 				 RTS	PC
   1604	000072				CESCES:
   1605	000072					CLEF$S	#E.FPR1		; MAKE SURE PRIMARY PROTOCOL IS OFF
	000072	012746 	000000G			MOV	#E.FPR1,-(SP)
	000076	012746 				MOV	(PC)+,-(SP)
	000100	   037 	   002 			.BYTE	31.,2
	000102	104375 				EMT	375
   1606	000104	112737 	000001 	000000G		MOVB	#1,.NOERR	; AND DISABLE ERROR INTERRUPT
   1607	000112	005037 	000140'			CLR	.SVKLF		; DISALLOW RESTARTS
   1608	000116	042737 	140200 	000000G		BIC	#KF.CON!KF.RUN!KF.CLK,.KLFLG
   1609									; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
   1610	000124	052737 	000100 	000000G		BIS	#KF.CES,.KLFLG	; FLAG THE CLOCK ERROR STOP
   1611	000132					ERROR$	CES		; ERROR -- CLOCK ERROR STOP
	000132	012746 	011633 			 MOV	#^RCES,-(SP)
	000136	104400 				 TRAP	TC.ERR
   1612						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 40
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21

   1614					.SBTTL	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
   1615
   1616					;+
   1617					; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
   1618					;
   1619					; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
   1620					; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
   1621					;
   1622					; INPUT ARGUMENTS:
   1623					;
   1624					;	R5 POINTS TO THE INPUT STREAM
   1625					;
   1626					; OUTPUT ARGUMENTS:
   1627					;
   1628					;	R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
   1629					;	CC-N IS SET IF IT IS NUMERIC
   1630					;	CC-Z IS SET IF IT IS ALPHABETIC
   1631					;
   1632					; ERROR CODES RETURNED:
   1633					;
   1634					;	MRA -- MISSING REQUIRED ARGUMENT
   1635					;-
   1636
   1637	000140				.CKARG::
   1638	000140					CALL	.CKSYM		; GET OVER LEADING BLANKS
	000140	004737 	000446'			 JSR	PC,.CKSYM
   1639	000144	132764 	000001 	001360'		BITB	#CH.ALP,.CHTAB(R4)
   1640	000152	001403 				BEQ	10$		; SEE IF IT IS NUMERIC
   1641	000154	000250 				CLN			; CLEAR CC-N
   1642	000156	000264 				SEZ			; SET CC-Z TO SAY ALPHABETIC
   1643	000160	000406 				BR	20$		; AND EXIT
   1644						;
   1645	000162				10$:
   1646	000162	132764 	000042 	001360'		BITB	#CH.NUM!CH.PFX,.CHTAB(R4)
   1647	000170	001417 				BEQ	CKCMRA		; NOT NUMERIC -- GIVE ERROR
   1648	000172	000244 				CLZ			; CLEAR CC-Z
   1649	000174	000270 				SEN			; SET CC-N TO SAY NUMERIC
   1650	000176				20$:
   1651	000176					RETURN			; TO CALLER
	000176	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 41
.CKCOL -- CHECK FOR A COLON 7709.21

   1653					.SBTTL	.CKCOL -- CHECK FOR A COLON 7709.21
   1654
   1655					;+
   1656					; .CKCOL -- CHECK FOR A COLON
   1657					;
   1658					; THIS ROUTINE CHECKS FOR A COLON AFTER A SYMBOL
   1659					;
   1660					; INPUT ARGUMENTS:
   1661					;
   1662					;	R5 POINTS TO THE INPUT STREAM
   1663					;
   1664					; OUTPUT ARGUMENTS:
   1665					;
   1666					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE COLON.
   1667					;
   1668					; ERROR CODES RETURNED:
   1669					;
   1670					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   1671					;	MRA -- MISSING REQUIRED ARGUMENT
   1672					;-
   1673
   1674	000200				.CKCOL::
   1675	000200	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   1676	000202	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   1677	000210	001007 				BNE	CKCMRA		; MISSING ARGUMENT IF E-O-C
   1678	000212	122704 	000072 			CMPB	#':,R4		; IS IT A COLON?
   1679	000216	001001 				BNE	CKCILS		; NO -- GIVE "ILS" ERROR
   1680	000220					RETURN			; YES -- JUST RETURN
	000220	000207 				 RTS	PC
   1681	000222				CKCILS:
   1682	000222					ERROR$	ILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
	000222	012746 	035063 			 MOV	#^RILS,-(SP)
	000226	104400 				 TRAP	TC.ERR
   1683						;
   1684	000230				CKCMRA:
   1685	000230					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	000230	012746 	052021 			 MOV	#^RMRA,-(SP)
	000234	104400 				 TRAP	TC.ERR
   1686						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 42
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28

   1688					.SBTTL	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
   1689
   1690					;+
   1691					; .CKCTC -- CHECK FOR CONTROL-C TYPED
   1692					;
   1693					; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
   1694					; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
   1695					;
   1696					; INPUT ARGUMENTS:
   1697					;
   1698					;	NONE.
   1699					;
   1700					; OUTPUT ARGUMENTS:
   1701					;
   1702					;	NONE
   1703					;
   1704					; ERROR CODES RETURNED:
   1705					;
   1706					;	NONE.
   1707					;-
   1708
   1709	000236				.CKCTC::
   1710	000236					CLEF$S	#E.FCTC		; CLEAR THE EVENT FLAG
	000236	012746 	000000G			MOV	#E.FCTC,-(SP)
	000242	012746 				MOV	(PC)+,-(SP)
	000244	   037 	   002 			.BYTE	31.,2
	000246	104375 				EMT	375
   1711	000250	022737 	000000G	000000G		CMP	#IS.SET,$DSW	; WAS IT SET?
   1712	000256	001401 				BEQ	10$		; YES -- TRAP OUT
   1713	000260					RETURN			; NO -- JUST RETURN
	000260	000207 				 RTS	PC
   1714	000262				10$:				; PC OF CALL WILL BE IN ".TRPEC"
   1715	000262	104402 				TRAP	TC.CTC		; .TRAP AND RESTART
   1716						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 43
.CKEOC -- CHECK END OF COMMAND 7602.16

   1718					.SBTTL	.CKEOC -- CHECK END OF COMMAND 7602.16
   1719
   1720					;+
   1721					; .CKEOC -- CHECK FOR END OF COMMAND
   1722					;
   1723					; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
   1724					;
   1725					; INPUT ARGUMENTS:
   1726					;
   1727					;	R5 POINTS TO THE INPUT STREAM
   1728					;
   1729					; OUTPUT ARGUMENTS:
   1730					;
   1731					;	R5 IS UNCHANGED
   1732					;
   1733					; ERROR CODES RETURNED:
   1734					;
   1735					;	EOC -- END OF COMMAND REQUIRED
   1736					;	ILS -- ILLEGAL SEPARATOR CHARACTER
   1737					;-
   1738
   1739	000264				.CKEOC::
   1740	000264	111504 				MOVB	(R5),R4		; GET THE CHARACTER
   1741	000266	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   1742	000274	001401 				BEQ	10$		; MAY BE ERROR IF NOT E-O-C
   1743	000276					RETURN			; TO CALLER
	000276	000207 				 RTS	PC
   1744	000300				10$:
   1745	000300					PUSH	R4		; SAVE THE CHARACTER
	000300	010446 				 MOV	R4,-(SP)
   1746	000302					CALL	.CKSYM		; .LOOK FOR A NON-BLANK CHARACTER
	000302	004737 	000446'			 JSR	PC,.CKSYM
   1747	000306	122704 	000077 			CMPB	#'?,R4		; .IS THIS AN INQUIRY?
   1748	000312	001402 				BEQ	CKEEOC		; .YES -- GIVE "EOC" ERROR
   1749	000314					POP	R4		; .NO -- GIVE "ILS" ERROR
	000314	012604 				 MOV	(SP)+,R4
   1750	000316	000741 				BR	CKCILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
   1751						;
   1752	000320				CKEEOC:
   1753	000320					ERROR$	EOC		; ERROR -- END OF COMMAND
	000320	012746 	020633 			 MOV	#^REOC,-(SP)
	000324	104400 				 TRAP	TC.ERR
   1754						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 44
.CKEOS -- CHECK END OF SYMBOL 7709.21

   1756					.SBTTL	.CKEOS -- CHECK END OF SYMBOL 7709.21
   1757
   1758					;+
   1759					; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
   1760					;
   1761					; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
   1762					;
   1763					; INPUT ARGUMENTS:
   1764					;
   1765					;	R5 POINTS TO THE END-OF-SYMBOL CHARACTER
   1766					;
   1767					; OUTPUT ARGUMENTS:
   1768					;
   1769					;	R5 IS UNCHANGED
   1770					;
   1771					; ERROR CODES RETURNED:
   1772					;
   1773					;	ILS -- ILLEGAL SEPARATOR CHRARACTER
   1774					;-
   1775
   1776	000326				.CKEOS::
   1777	000326	111504 				MOVB	(R5),R4		; GET THE CHARACTER INTO R4
   1778	000330	132764 	000020 	001360'		BITB	#CH.EOS,.CHTAB(R4)
   1779	000336	001731 				BEQ	CKCILS		; ILLEGAL IF NOT E-O-S
   1780	000340	122704 	000040 			CMPB	#.SPACE,R4	; IS IS A <SPACE>?
   1781	000344	001726 				BEQ	CKCILS		; YES -- COMPLAIN
   1782	000346					RETURN			; NO -- JUST RETURN
	000346	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 45
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21

   1784					.SBTTL	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
   1785
   1786					;+
   1787					; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
   1788					;
   1789					; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
   1790					; CURRENT SYMBOL.
   1791					;
   1792					; INPUT ARGUMENTS:
   1793					;
   1794					;	NONE.
   1795					;
   1796					; OUTPUT ARGUMENTS:
   1797					;
   1798					;	NONE.
   1799					;
   1800					; ERROR CODES RETURNED:
   1801					;
   1802					;	MRA -- MISSING REQUIRED ARGUMENT.
   1803					;-
   1804
   1805	000350				.CKOBJ::
   1806	000350					CALL	.CKSYM		; GET OVER LEADING BLANKS
	000350	004737 	000446'			 JSR	PC,.CKSYM
   1807	000354	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   1808	000362	001322 				BNE	CKCMRA		; ILLEGAL IF E-O-C
   1809	000364					RETURN			; NOT E-O-C -- RETURN
	000364	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 46
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12

   1811					.SBTTL	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
   1812
   1813					;+
   1814					; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
   1815					; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
   1816					;
   1817					; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
   1818					; OR IF THE FRONT END IS IN MAINTENANCE MODE.
   1819					;
   1820					; INPUT ARGUMENTS:
   1821					;
   1822					;	NONE.
   1823					;
   1824					; OUTPUT ARGUMENTS:
   1825					;
   1826					;	NONE.
   1827					;
   1828					; ERROR CODES RETURNED:
   1829					;
   1830					;	KLR -- KL IS RUNNING.
   1831					;-
   1832
   1833						.ENABL	LSB
   1834
   1835	000366				.CKRNP::
   1836	000366					PUSH	R0		; SAVE R0
	000366	010046 				 MOV	R0,-(SP)
   1837	000370	012700 	000002 			MOV	#LG.PRG,R0	; .SET PROGRAMMER ALLOWED
   1838	000374	000402 				BR	10$		; .AND CONTINUE TEST
   1839						;
   1840	000376				.CKRUN::
   1841	000376					PUSH	R0		; SAVE R0
	000376	010046 				 MOV	R0,-(SP)
   1842	000400	005000 				CLR	R0		; .CLEAR R0
   1843	000402				10$:
   1844	000402	052700 	000004 			BIS	#LG.MNT,R0	; .SET MAINTENANCE ALLOWED
   1845	000406					PUSH	.KLFLG		; .SAVE ".KLFLG"
	000406	013746 	000000G			 MOV	.KLFLG,-(SP)
   1846	000412	005116 				COM	(SP)		; ..INVERT ".KLFLG"
   1847	000414	032716 	140000 			BIT	#KF.RUN!KF.CLK,(SP)
   1848	000420	001004 				BNE	20$		; ..BRANCH IF THE KL IS NOT RUNNING
   1849	000422	032737 	000004 	000000G		BIT	#LG.MNT,.FEMOD	; ..ARE WE IN MAINTENANCE MODE?
   1850	000430	001403 				BEQ	CKRKLR		; ..NO -- GIVE "KLR" ERROR
   1851	000432				20$:
   1852	000432	005726 				TST	(SP)+		; ..YES -- RESET THE STACK
   1853	000434					POP	R0		; .RESTORE R0
	000434	012600 				 MOV	(SP)+,R0
   1854	000436					RETURN			; TO CALLER
	000436	000207 				 RTS	PC
   1855
   1856						.DSABL	LSB
   1857
   1858	000440				CKRKLR:
   1859	000440					ERROR$	KLR		; ..ERROR -- KL IS RUNNING
	000440	012746 	043262 			 MOV	#^RKLR,-(SP)
	000444	104400 				 TRAP	TC.ERR
   1860						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 47
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21

   1862					.SBTTL	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
   1863
   1864					;+
   1865					; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
   1866					;
   1867					; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
   1868					; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
   1869					; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
   1870					;
   1871					; INPUT ARGUMENTS:
   1872					;
   1873					;	R5 POINTS TO THE INPUT STREAM.
   1874					;
   1875					; OUTPUT ARGUMENTS:
   1876					;
   1877					;	R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
   1878					;
   1879					; ERROR CODES RETURNED:
   1880					;
   1881					;	NONE.
   1882					;-
   1883
   1884	000446				.CKSYM::
   1885	000446	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   1886	000450	122704 	000040 			CMPB	#.SPACE,R4	; IS IT A <SPACE>?
   1887	000454	001774 				BEQ	.CKSYM		; YES -- DO NEXT CHARACTER
   1888	000456	105745 				TSTB	-(R5)		; NO -- BACK THE POINTER UP
   1889	000460					RETURN			; TO CALLER
	000460	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1110  03-OCT-79 11:35  PAGE 48
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   1891					.SBTTL	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
   1892
   1893					;+
   1894					; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
   1895					;
   1896					; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
   1897					; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
   1898					;
   1899					; INPUT ARGUMENTS:
   1900					;
   1901					;	NONE.
   1902					;
   1903					; OUTPUT ARGUMENTS:
   1904					;
   1905					;	R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
   1906					;
   1907					; ERROR CODES RETURNED:
   1908					;
   1909					;	DSF -- DTE-20 STATUS FAILURE.
   1910					;	EPE -- EBUS PARITY ERROR.
   1911					;-
   1912
   1913	000462				.EBPCK::
   1914	000462					CALL	.DTSTA		; READ DTE-20 STATUS WORD
	000462	004737 	006702'			 JSR	PC,.DTSTA
   1915	000466	032700 	000020 			BIT	#ST.EPE,R0	; EBUS PARITY ERROR?
   1916	000472	001001 				BNE	EBPEPE		; YES -- GIVE "EPE" ERROR
   1917	000474					RETURN			; NO -- JUST RETURN
	000474	000207 				 RTS	PC
   1918	000476				EBPEPE:
   1919	000476					ERROR$	EPE		; ERROR -- EBUS PARITY ERROR
	000476	012746 	020705 			 MOV	#^REPE,-(SP)
	000502	104400 				 TRAP	TC.ERR
   1920						;
CONTC -- CONTINUE COMMAND MODUL	MACRO M1110  03-OCT-79 11:35  PAGE 49
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   1922					.TITLE	CONTC -- CONTINUE COMMAND MODULE 7611.17
   1923
   1924						.IDENT	"005000"
   1925
   1926					;
   1927					;                             COPYRIGHT (C) 1975, 1979 BY
   1928					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1929					;
   1930					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1931					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1932					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1933					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1934					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1935					;
   1936					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1937					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1938					;       CORPORATION.
   1939					;
   1940					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1941					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1942					;
   1943					;		VERSION: 05-00
   1944					;
   1945					;		AUTHOR: R. BELANGER
   1946					;
   1947					;		DATE: 7611.17
   1948					;
   1949					;	THIS MODULE CONTAINS:
   1950					;
   1951					;	1) CONTINUE COMMAND CODE
CONTC -- CONTINUE COMMAND MODUL	MACRO M1110  03-OCT-79 11:35  PAGE 50
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   1953					.SBTTL	.CONTC -- THE "CONTINUE" COMMAND 7611.17
   1954
   1955					;+
   1956					; .CONTC -- THE "CONTINUE" COMMAND
   1957					;
   1958					; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
   1959					;
   1960					; INPUT ARGUMENTS:
   1961					;
   1962					;	NONE.
   1963					;
   1964					; OUTPUT ARGUMENTS:
   1965					;
   1966					;	NONE.
   1967					;
   1968					; ERROR CORES RETURNED:
   1969					;
   1970					;	KNC -- KL IS NOT CONTINUABLE
   1971					;-
   1972
   1973	000504				.CONTC::
   1974	000504					CALL	.CKEOC		; CHECK E-O-C
	000504	004737 	000264'			 JSR	PC,.CKEOC
   1975	000510					PUSH	.KLFLG		; SAVE ".KLFLG" ON THE STACK
	000510	013746 	000000G			 MOV	.KLFLG,-(SP)
   1976	000514	032716 	000200 			BIT	#KF.CON,(SP)	; .CAN WE CONTINUE THE KL?
   1977	000520	001427 				BEQ	CONKNC		; .NO -- GIVE "KNC" ERROR
   1978	000522	032716 	010000 			BIT	#KF.SIM,(SP)	; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
   1979	000526	001412 				BEQ	20$		; .NO -- JUST CONTINUE THE KL
   1980	000530	032716 	100000 			BIT	#KF.CLK,(SP)	; .YES -- IS THE CLOCK RUNNING?
   1981	000534	001002 				BNE	10$		; .YES -- DON'T START IT AGAIN
   1982	000536					CALL	.STCLK		; .NO -- START IT
	000536	004737 	011762'			 JSR	PC,.STCLK
   1983	000542				10$:
   1984	000542	012700 	000024 			MOV	#FX.CON,R0	; .SET THE "CONTINUE" BUTTON
   1985	000546					CALL	.FXCT		; .VIA FUNCTION EXECUTE
	000546	004737 	007716'			 JSR	PC,.FXCT
   1986	000552	000407 				BR	30$		; .AND EXIT
   1987						;
   1988	000554				20$:
   1989	000554					CALL	.KLCON		; .DO THE CONTINUE
	000554	004737 	010066'			 JSR	PC,.KLCON
   1990	000560	032716 	040000 			BIT	#KF.RUN,(SP)	; .WAS THE KL RUNNING BEFORE?
   1991	000564	001002 				BNE	30$		; .YES -- JUST EXIT
   1992	000566	005037 	000000G			CLR	.NOERR		; RE-ENABLE ERROR DETECTION
   1993	000572				30$:
   1994	000572	005726 				TST	(SP)+		; .CLEAR THE STACK
   1995	000574					CALLR	.EXITP
	000574	000137 	012436'			 JMP	.EXITP
   1996						;
   1997
   1998	000600				CONKNC:
   1999	000600					ERROR$	KNC		; ERROR -- KL NOT CONTINUEABLE
	000600	012746 	043363 			 MOV	#^RKNC,-(SP)
	000604	104400 				 TRAP	TC.ERR
   2000						;
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 51
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   2002					.TITLE	DATAB  -- COMMAND PARSER DATA BASE 7709.20
   2003
   2004						.IDENT	"005000"
   2005
   2006					;
   2007					;                             COPYRIGHT (C) 1975, 1979 BY
   2008					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2009					;
   2010					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2011					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2012					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2013					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2014					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2015					;
   2016					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2017					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2018					;       CORPORATION.
   2019					;
   2020					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2021					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2022					;
   2023					;		MODULE: COMMAND PARSER DATA BASE
   2024					;
   2025					;		VERSION: 05-00
   2026					;
   2027					;		AUTHOR: R. BELANGER
   2028					;
   2029					;		DATE: 7709.20
   2030					;
   2031					;	THIS MODULE CONTAINS:
   2032					;
   2033					;	1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 52
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   2035						.MACRO	PARVR$ KEY,FRM,VER,EDT,NUM
   2036						.IF	B,NUM
   2037						.IF	NB,FRM
   2038						PARVR$	\KEY,\FRM,\VER,\EDT,0
   2039						.IFF
   2040						PARVR$	\KEY,200,\VER,\EDT,0
   2041						.ENDC
   2042						.MEXIT
   2043						.IFF
   2044						.IF	GE,VER-10
   2045						.IF	GE,EDT-10
   2046						.ASCIZ	<KEY><FRM>\'VER'-'EDT'\<200>
   2047						.IFF
   2048						.ASCIZ	<KEY><FRM>\'VER'-0'EDT'\<200>
   2049						.ENDC
   2050						.IFF
   2051						.IF	GE,EDT-10
   2052						.ASCIZ	<KEY><FRM>\0'VER'-'EDT'\<200>
   2053						.IFF
   2054						.ASCIZ	<KEY><FRM>\0'VER'-0'EDT'\<200>
   2055						.ENDC
   2056						.ENDC
   2057						.ENDC
   2058						.ENDM	PARVR$
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 53
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

   2060					.SBTTL	DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20
   2061
   2062					; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
   2063
   2064	000000					.PSECT	DATA
   2065
   2066	000000				.APRWD::
   2067	000000	000000 				.WORD	0		; KL APR ERROR STATUS WORD
   2068	000002				.CCMDN::
   2069	000002	000021'				.WORD	PARNAM		; POINTER TO CURRENT COMMAND NAME
   2070	000004				.CISTS::
   2071	000004	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE INPUT
   2072	000010				.CLKWD::
   2073	000010	100000 				.WORD	BIT15		; KL CLOCK CONTROL WORD
   2074	000012				.COSTS::
   2075	000012	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE OUTPUT
   2089	000016				.DBGSW::
   2090	000016	000000 				.WORD	0		; DEBUG SWITCH
   2092	000020				.DPBFR::
   2093	000020	000000 	000000 	000000 		.WORD	0,0,0		; KL DEPOSIT DATA BUFFER
   2094	000026				.DPBFX::
   2095	000026	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY DEPOSIT DATA BUFFER
   2104	000034				.EDELA::
   2105	000034	000000 				.WORD	0		; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
   2106	000036				.EDKLA::
   2107	000036	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE / DEPOSIT ADDRESS BUFFER
   2108	000044				.EDKLX::
   2109	000044	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
   2110	000052				.ELDDW::
   2111	000052	000000 				.WORD	0		; LAST PDP-11 DEPOSIT DATA
   2112	000054				.ELEDW::
   2113	000054	000000 				.WORD	0		; LAST PDP-11 EXAMINE DATA
   2114	000056				.EXBFR::
   2115	000056	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE DATA BUFFER
   2116	000064				.INCHC::
   2117	000064	000000 				.WORD	0		; INPUT CHARACTER COUNT
   2118	000066				.IRADX::
   2119	000066	000010 				.WORD	^D8		; INPUT RADIX
   2120	000070				.KLINC::
   2121	000070	000001 	000000 	000000 		.WORD	^D1,0,0		; KL EXAMINE DEPOSIT INCREMENT
   2126	000076				.LGLWD::
   2127	000076	000000 				.WORD	0		; LEGAL BITS OF CURRENT COMMAND
   2128	000100				.LDZFL::
   2129	000100	177777 				.WORD	-^D1		; PRINT LEADING ZEROES FLAG
   2130	000102				.MEMFL::
   2131	000102	000000 				.WORD	0		; EXAMINE DEPOSIT MEMORY OFFSET
   2132	000104				.NOTSW::
   2133	000104	000000 				.WORD	0		; "NOT" SWITCH
   2134	000106				.ORADX::
   2135	000106	000010 				.WORD	^D8		; OUTPUT RADIX
   2136	000110				.PEWRD::
   2137	000110	000000 				.WORD	0		; KL PARITY ERROR FLAGS
   2138	000112				.PITAB::
   2139	000112	000000 	000000 			.WORD	0,0		; EXAMINE PI DATA BLOCK
   2140	000116				.PSCWD::
   2141	000116	100000 				.WORD	BIT15		; KL PARITY STOP CONTROL WORD
   2142	000120				.RDXSV::
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 53-1
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

   2143	000120	000010 				.WORD	^D8		; SAVED RADIX
   2144	000122				.RELWD::
   2145	000122	000000'				.WORD	.APRWD		; RELOCATION VALUE
   2146	000124				.RPTCT::
   2147	000124	000000 	000000 	000000 		.WORD	0,0,0		; REPEAT COUNT
   2148	000132				.RPTPT::
   2149	000132	000000 				.WORD	0		; POINTER TO STACKED REPEAT COUNT
   2150	000134				.STRTV::
   2151	000134	012550'				.WORD	.START		; START VECTOR
   2152	000136				.SVESP::
   2153	000136	000000 				.WORD	0		; TO REINIT STACK POINTER
   2154	000140				.SVKLF::
   2155	000140	000000 				.WORD	0		; SAVED COPY OF ".KLFLG"
   2157	000142				.TRKWD::
   2158	000142	000000 				.WORD	0		; "TRACK" FLAGS
   2160	000144				.TRP4V::
   2161	000144	004122'				.WORD	.PTOAT		; TRAP AT 4 VECTOR
   2162	000146				.TRPEC::
   2163	000146	000000 				.WORD	0		; ERROR CODE RETURNED FROM TRAP
   2164	000150				.TRPIP::
   2165	000150	000002 				.WORD	^D2		; TRAP IN PROGRESS INTERLOCK
   2166	000152				.TRPPC::
   2167	000152	000000 				.WORD	0		; TRAP PC
   2168	000154				.TRPPS::
   2169	000154	000000 				.WORD	0		; TRAP PSW
   2170	000156				.TRPSB::
   2171	000156	000000 				.WORD	0		; TRAP STATUS BYTE
   2172	000160				.TRPTV::
   2173	000160	000000 				.WORD	0		; TRAP TRAP VECTOR
   2174	000162				.TYOBC::
   2175	000162	000204 				.WORD	^D132		; CONSOLE OUTPUT BYTE COUNT
   2176	000164				.TYOBP::
   2177	000164	000454'				.WORD	.COBFR		; CONSOLE OUTPUT BYTE POINTER
   2178	000166				.VFYFL::
   2179	000166	000000 				.WORD	0		; DEPOSIT VERIFY FLAG
   2180	000170				DATABX::
   2181	000170	000137 	006320'			JMP	.INICP		; EXIT TO INIT
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 54
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20

   2183					.SBTTL	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
   2184
   2185					; +
   2186					; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
   2187					;
   2188					; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
   2189					; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
   2190					; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
   2191					; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
   2192					; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
   2193					;
   2194					; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
   2195					; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
   2196					; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
   2197					; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
   2198					; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
   2199					; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
   2200					;
   2201					; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
   2202					;
   2203					;	!===============================================!
   2204					; 00	!	ODD ADDRESS TRAP HANDLER ADDRESS	!
   2205					;	!-----------------------------------------------!
   2206					; 02	!  MEMORY PROTECTION VIOLATION HANDLER ADDRESS	!
   2207					;	!-----------------------------------------------!
   2208					; 04	!	    T-BIT TRAP HANDLER ADDRESS		!
   2209					;	!-----------------------------------------------!
   2210					; 06	!	     IOT TRAP HANDLER ADDRESS		!
   2211					;	!-----------------------------------------------!
   2212					; 10	!   RESERVED INSTRUCTION TRAP HANDLER ADDRESS	!
   2213					;	!-----------------------------------------------!
   2214					; 12	!	ILLEGAL EMT TRAP HANDLER ADDRESS	!
   2215					;	!-----------------------------------------------!
   2216					; 14	!     TRAP INSTRUCTION TRAP HANDLER ADDRESS	!
   2217					;	!-----------------------------------------------!
   2218					; 16	!	FLOATING POINT TRAP HANDLER ADDRESS	!
   2219					;	!===============================================!
   2220					;-
   2221
   2222	000174				.SSTTB::
   2223	000174	000000 				.WORD	0		; ODD ADDRESS TRAP HANDLER
   2224	000176	000000 				.WORD	0		; MEMORY PROTECTION VIOLATION
   2225	000200	000000 				.WORD	0		; BREAKPOINT TRAP HANDLER
   2226	000202	000000 				.WORD	0		; "IOT" INSTRUCTION TRAP
   2227	000204	000000 				.WORD	0		; RESERVED INSTRUCTION TRAP
   2228	000206	000000 				.WORD	0		; NON-STANDARD EMT TRAP
   2229	000210	003700'				.WORD	.PTTRP		; "TRAP" INSTRUCTION TRAP
   2230	000212	000000 				.WORD	0		; FLOATING POINT TRAP
   2231		000010 			SSTLEN==.-.SSTTB/2		; LENGTH OF THIS TABLE
   2232		000212'			SSTTBE==.-2
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 55
DATAB  -- DTE-20 OPERATION BUFFERS 7709.20

   2234					.SBTTL	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
   2235
   2236	000214				.DFBLK::
   2237	000214				.DFWB::
   2238	000214	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION WRITE BUFFER
   2239	000222				.DFRB::
   2240	000222	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION READ BUFFER
   2241
   2242	000230				.DREG::
   2243	000230				.DTDI1::
   2244	000230	000000 				.WORD	0		; DTE-20 DIAG WORD 1 BUFFER
   2245	000232				.DTDI2::
   2246	000232	000000 				.WORD	0		; DTE-20 DIAG WORD 2 BUFFER
   2247	000234				.DTSTS::
   2248	000234	000000 				.WORD	0		; DTE-20 STATUS WORD BUFFER
   2249	000236				.DTDI3::
   2250	000236	000000 				.WORD	0		; DTE-20 DIAG WORD 3 BUFFER
   2251		000240'			DFBEND==.
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 56
DATAB  -- INPUT / OUTPUT BUFFERS 7709.20

   2253					.SBTTL	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
   2254
   2255					; THESE ARE THE I/O BUFFERS
   2256
   2257	000240				.CIBFR::
   2258	000240					.BLKW	^D70		; CONSOLE DEVICE INPUT BUFFER
   2259		000214 			.CIBFL==.-.CIBFR
   2260
   2261	000454				.COBFR::
   2262	000454					.BLKW	^D70		; CONSOLE DEVICE OUTPUT BUFFER
   2263		000204 			.COBFL==^D132
   2264
   2271
   2272	000670				.COMND::
   2273	000670					.BLKW	^D140		; COMMAND BUFFER
   2274		000430 			.CMNDL==.-.COMND
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 59
DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20

   2342					.SBTTL	DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
   2343
   2344	001320				.R50TB::
   2345	001320	000022 				.WORD	<'0-36>-<50-50>
   2346	001322	   060 	   000 			.ASCIZ	%0%
   2347	001324	177766 				.WORD	<'%-35>-<'0-36>
   2348	001326	   045 	   000 			.ASCIZ	/%/
   2349	001330	000012 				.WORD	<'.-34>-<'%-35>
   2350	001332	   056 	   000 			.ASCIZ	%.%
   2351	001334	177767 				.WORD	<'$-33>-<'.-34>
   2352	001336	   044 	   000 			.ASCIZ	%$%
   2353	001340	000067 				.WORD	<'A-01>-<'$-33>
   2354	001342	   101 	   000 			.ASCIZ	%A%
   2355	001344	177740 				.WORD	<' -00>-<'A-01>
   2356	001346	000040 				.WORD	.SPACE
   2357
   2358	001350				.T50TB::
   2359	001350	003100 				.WORD	50*50
   2360	001352	000050 				.WORD	50
   2361	001354	000001 				.WORD	1
   2362	001356	000000 				.WORD	0
   2363
   2364	000000				.PSECT	MESSAG
   2365
   2366	000000				CPVMSG::
   2367	000000					PARVR$	PAR$$K,,PAR$$V,PAR$$E
	000000	   126 	   200 	   060 		.ASCIZ	<126><200>\05-01\<200>
	000003	   065 	   055 	   060
	000006	   061 	   200 	   000
   2368	000011				PARMSG::
   2369	000011	   120 	   101 	   122 		.ASCIZ	%PAR -- %
	000014	   040 	   055 	   055
	000017	   040 	   000
   2370	000021				PARNAM::
   2371	000021	   120 	   101 	   122 		.ASCIZ	%PARSER%
	000024	   123 	   105 	   122
	000027	   000
   2372	000030				PROMPT::
   2373	000030	   120 	   101 	   122 		.ASCIZ	%PAR%
	000033	   000
   2374	000034				ONMSG::
   2375	000034	   117 	   116 	   000 		.ASCIZ	%ON%
   2376	000037				OFFMSG::
   2377	000037	   117 	   106 	   106 		.ASCIZ	%OFF%
	000042	   000
   2378	000606				.PSECT
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 60
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   2380					.SBTTL	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
   2381
   2382					;+
   2383					; .CHTAB -- THE CHARACTER PROPERTY TABLE
   2384					;
   2385					; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
   2386					; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
   2387					; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
   2388					; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
   2389					; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
   2390					; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
   2391					; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
   2392					; (Q.V.), WHICH ARE:
   2393					;
   2394					;	"CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
   2395					;	"CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
   2396					;	"CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
   2397					;	"CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
   2398					;	"CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
   2399					;	"CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
   2400					;	"CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
   2401					;	"CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
   2402					;
   2403					; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
   2404					; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
   2405					; UPPER CASE ALPHABETICS, RESPECTIVELY.
   2406					;-
   2407
   2408	001360					.PSECT	DATA
   2409
   2410	001360				.CHTAB::
   2411	001360	   034 				.BYTE	CH.EOL!CH.EOC!CH.EOS	; <NULL> (000)
   2412	001361	   200 				.BYTE	CH.ILL			; ^A (001)
   2413	001362	   200 				.BYTE	CH.ILL			; ^B (002)
   2414	001363	   200 				.BYTE	CH.ILL			; ^C (003)
   2415	001364	   200 				.BYTE	CH.ILL			; ^D (004)
   2416	001365	   200 				.BYTE	CH.ILL			; ^E (005)
   2417	001366	   200 				.BYTE	CH.ILL			; ^F (006)
   2418	001367	   200 				.BYTE	CH.ILL			; ^G <BELL> (007)
   2419	001370	   200 				.BYTE	CH.ILL			; ^H (010)
   2420	001371	   200 				.BYTE	CH.ILL			; ^I <HORIZONTAL-TAB> (011)
   2421	001372	   200 				.BYTE	CH.ILL			; ^J <NEW-LINE> (012)
   2422	001373	   200 				.BYTE	CH.ILL			; ^K <VERTICAL-TAB> (013)
   2423	001374	   200 				.BYTE	CH.ILL			; ^L <FORM-FEED> (014)
   2424	001375	   200 				.BYTE	CH.ILL			; ^M <CARRIAGE-RETURN> (015)
   2425	001376	   200 				.BYTE	CH.ILL			; ^N (016)
   2426	001377	   200 				.BYTE	CH.ILL			; ^O (017)
   2427	001400	   200 				.BYTE	CH.ILL			; ^P (020)
   2428	001401	   200 				.BYTE	CH.ILL			; ^Q (021)
   2429	001402	   200 				.BYTE	CH.ILL			; ^R (022)
   2430	001403	   200 				.BYTE	CH.ILL			; ^S (023)
   2431	001404	   200 				.BYTE	CH.ILL			; ^T (024)
   2432	001405	   200 				.BYTE	CH.ILL			; ^U (025)
   2433	001406	   200 				.BYTE	CH.ILL			; ^V (026)
   2434	001407	   200 				.BYTE	CH.ILL			; ^W (027)
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 61
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   2436	001410	   200 				.BYTE	CH.ILL			; ^X (030)
   2437	001411	   200 				.BYTE	CH.ILL			; ^Y (031)
   2438	001412	   200 				.BYTE	CH.ILL			; ^Z (032)
   2439	001413	   200 				.BYTE	CH.ILL			; <ALT-MODE> (033)
   2440	001414	   200 				.BYTE	CH.ILL			; ^\ (034)
   2441	001415	   200 				.BYTE	CH.ILL			; ^] (035)
   2442	001416	   200 				.BYTE	CH.ILL			; ^^ (036)
   2443	001417	   200 				.BYTE	CH.ILL			; ^_ (037)
   2444	001420	   020 				.BYTE	CH.EOS			; <SPACE> (040)
   2445	001421	   200 				.BYTE	CH.ILL			; ! (041)
   2446	001422	   020 				.BYTE	CH.EOS			; " (042)
   2447	001423	   200 				.BYTE	CH.ILL			; # (043)
   2448	001424	   200 				.BYTE	CH.ILL			; $ (044)
   2449	001425	   200 				.BYTE	CH.ILL			; % (045)
   2450	001426	   200 				.BYTE	CH.ILL			; & (046)
   2451	001427	   020 				.BYTE	CH.EOS			; ' (047)
   2452	001430	   140 				.BYTE	CH.AOP!CH.PFX		; ( (050)
   2453	001431	   100 				.BYTE	CH.AOP			; ) (051)
   2454	001432	   120 				.BYTE	CH.AOP!CH.EOS		; * (052)
   2455	001433	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; + (053)
   2456	001434	   020 				.BYTE	CH.EOS			; , (054)
   2457	001435	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; - (055)
   2458	001436	   200 				.BYTE	CH.ILL			; . (056)
   2459	001437	   120 				.BYTE	CH.AOP!CH.EOS		; / (057)
   2460						;
   2461	001440	   002 				.BYTE	CH.NUM			; 0 (060)
   2462	001441	   002 				.BYTE	CH.NUM			; 1 (061)
   2463	001442	   002 				.BYTE	CH.NUM			; 2 (062)
   2464	001443	   002 				.BYTE	CH.NUM			; 3 (063)
   2465	001444	   002 				.BYTE	CH.NUM			; 4 (064)
   2466	001445	   002 				.BYTE	CH.NUM			; 5 (065)
   2467	001446	   002 				.BYTE	CH.NUM			; 6 (066)
   2468	001447	   002 				.BYTE	CH.NUM			; 7 (067)
   2469	001450	   002 				.BYTE	CH.NUM			; 8 (070)
   2470	001451	   002 				.BYTE	CH.NUM			; 9 (071)
   2471						;
   2472	001452	   020 				.BYTE	CH.EOS			; : (072)
   2473	001453	   030 				.BYTE	CH.EOS!CH.EOC		; ; (073)
   2474	001454	   200 				.BYTE	CH.ILL			; < (074)
   2475	001455	   200 				.BYTE	CH.ILL			; = (075)
   2476	001456	   020 				.BYTE	CH.EOS			; > (076)
   2477	001457	   041 				.BYTE	CH.PFX!CH.ALP		; ? (077)
   2478	001460	   200 				.BYTE	CH.ILL			; @ (100)
DATAB  -- COMMAND PARSER DATA B	MACRO M1110  03-OCT-79 11:35  PAGE 62
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   2480	001461	   001 				.BYTE	CH.ALP			; A (101)
   2481	001462	   101 				.BYTE	CH.ALP!CH.AOP		; B (102)
   2482	001463	   101 				.BYTE	CH.ALP!CH.AOP		; C (103)
   2483	001464	   101 				.BYTE	CH.ALP!CH.AOP		; D (104)
   2484	001465	   001 				.BYTE	CH.ALP			; E (105)
   2485	001466	   001 				.BYTE	CH.ALP			; F (106)
   2486	001467	   001 				.BYTE	CH.ALP			; G (107)
   2487	001470	   001 				.BYTE	CH.ALP			; H (110)
   2488	001471	   001 				.BYTE	CH.ALP			; I (111)
   2489	001472	   001 				.BYTE	CH.ALP			; J (112)
   2490	001473	   001 				.BYTE	CH.ALP			; K (113)
   2491	001474	   001 				.BYTE	CH.ALP			; L (114)
   2492	001475	   001 				.BYTE	CH.ALP			; M (115)
   2493	001476	   001 				.BYTE	CH.ALP			; N (116)
   2494	001477	   101 				.BYTE	CH.ALP!CH.AOP		; O (117)
   2495	001500	   001 				.BYTE	CH.ALP			; P (120)
   2496	001501	   001 				.BYTE	CH.ALP			; Q (121)
   2497	001502	   001 				.BYTE	CH.ALP			; R (122)
   2498	001503	   001 				.BYTE	CH.ALP			; S (123)
   2499	001504	   001 				.BYTE	CH.ALP			; T (124)
   2500	001505	   001 				.BYTE	CH.ALP			; U (125)
   2501	001506	   001 				.BYTE	CH.ALP			; V (126)
   2502	001507	   001 				.BYTE	CH.ALP			; W (127)
   2503	001510	   001 				.BYTE	CH.ALP			; X (130)
   2504	001511	   001 				.BYTE	CH.ALP			; Y (131)
   2505	001512	   001 				.BYTE	CH.ALP			; Z (132)
   2506						;
   2507	001513	   200 				.BYTE	CH.ILL			; [ (133)
   2508	001514	   200 				.BYTE	CH.ILL			; \ (134)
   2509	001515	   200 				.BYTE	CH.ILL			; ] (135)
   2510	001516	   140 				.BYTE	CH.AOP!CH.PFX		; ^ (136)
   2511	001517	   120 				.BYTE	CH.AOP!CH.EOS		; _ (137)
   2512	001520	   200 				.BYTE	CH.ILL			; @ (140)
   2547					.EVEN
   2548	000606					.PSECT
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 63
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   2550					.TITLE	DECMD -- DEPOSIT / EXAMINE COMMAND DISPATCH MODULE 7603.30
   2551
   2552						.IDENT	"005000"
   2553
   2554					;
   2555					;                             COPYRIGHT (C) 1975, 1979 BY
   2556					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2557					;
   2558					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2559					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2560					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2561					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2562					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2563					;
   2564					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2565					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2566					;       CORPORATION.
   2567					;
   2568					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2569					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2570					;
   2571					;		MODULE: DEPOSIT / EXAMINE COMMAND DISPATCH
   2572					;
   2573					;		VERSION: 05-00
   2574					;
   2575					;		AUTHOR: R. BELANGER
   2576					;
   2577					;		DATE: 7603.30
   2578					;
   2579					;	THIS MODULE CONTAINS:
   2580					;
   2581					;	1) DEPOSIT COMMAND DISPATCH CODE
   2582					;	2) DEPOSIT COMMAND DISPATCH TABLES
   2583					;	3) EXAMINE COMMAND DISPATCH CODE
   2584					;	4) EXAMINE COMMAND DISPATCH TABLES
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 64
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23

   2586					.SBTTL	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
   2587
   2588					;+
   2589					; .DPOSC -- THE "DEPOSIT" COMMAND.
   2590					;
   2591					; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
   2592					; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
   2593					;
   2594					; INPUT ARGUMENTS:
   2595					;
   2596					;	NONE.
   2597					;
   2598					; OUTPUT ARGUMENTS:
   2599					;
   2600					;	NONE.
   2601					;
   2602					; ERROR CODES RETURNED:
   2603					;
   2604					;	NSK -- NO SUCH KEYWORD
   2605					;-
   2606
   2607	000606				.DPOSC::
   2608	000606	013703 	000102'			MOV	.MEMFL,R3	; OFFSET FLAG TO R3
   2609	000612					CALL	.CKARG		; LOOK FOR THE ARGUMENT
	000612	004737 	000140'			 JSR	PC,.CKARG
   2610	000616	001435 				BEQ	.DPOBJ		; DISPATCH FOR OBJECT
   2611	000620				.DPOSA::			; HERE TO DISPATCH FOR MEMORY
   2612	000620					CALLR	@DPOATB(R3)	; DISPATCH
	000620	000173 	001522'			 JMP	@DPOATB(R3)
   2613						;
   2614
   2615	001522					.PSECT	DATA
   2616
   2617	001522				DPOATB:
   2618	001522	002340'				.WORD	.DPOST		; DEPOSIT TEN
   2619	001524	001616'				.WORD	.DPOSE		; DEPOSIT ELEVEN WORD
   2620
   2621	000624					.PSECT
   2622
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 65
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   2624					.SBTTL	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   2625
   2626	000624				.DPOSD::			; DEPOSIT DECREMENT
   2627	000624					CALLR	@DPODTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000624	000173 	001526'			 JMP	@DPODTB(R3)
   2628						;
   2629
   2630	001526					.PSECT	DATA
   2631
   2632	001526				DPODTB:
   2633	001526	002666'				.WORD	.DPKLD		; KL WORD
   2634	001530	002006'				.WORD	.DPEWD		; PDP-11 WORD
   2635
   2636	000630					.PSECT
   2637
   2638	000630				.DPOSI::			; DEPOSIT INCREMENT
   2639	000630					CALLR	@DPOITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000630	000173 	001532'			 JMP	@DPOITB(R3)
   2640						;
   2641
   2642	001532					.PSECT	DATA
   2643
   2644	001532				DPOITB:
   2645	001532	002674'				.WORD	.DPKLI		; KL WORD
   2646	001534	002014'				.WORD	.DPEWI		; PDP-11 WORD
   2647
   2648	000634					.PSECT
   2649
   2650	000634				.DPOSN::			; DEPOSIT NEXT
   2651	000634					CALLR	@DPONTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000634	000173 	001536'			 JMP	@DPONTB(R3)
   2652						;
   2653
   2654	001536					.PSECT	DATA
   2655
   2656	001536				DPONTB:
   2657	001536	002702'				.WORD	.DPKLN		; KL WORD
   2658	001540	002022'				.WORD	.DPEWN		; PDP-11 WORD
   2659
   2660	000640					.PSECT
   2661
   2662	000640				.DPOSP::			; DEPOSIT PREVIOUS
   2663	000640					CALLR	@DPOPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000640	000173 	001542'			 JMP	@DPOPTB(R3)
   2664						;
   2665
   2666	001542					.PSECT	DATA
   2667
   2668	001542				DPOPTB:
   2669	001542	002710'				.WORD	.DPKLP		; KL WORD
   2670	001544	002030'				.WORD	.DPEWP		; PDP-11 WORD
   2671
   2672	000644					.PSECT
   2673
   2674	000644				.DPOSZ::			; DEPOSIT THIS
   2675	000644					CALLR	@DPOZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000644	000173 	001546'			 JMP	@DPOZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 65-1
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   2676						;
   2677
   2678	001546					.PSECT	DATA
   2679
   2680	001546				DPOZTB:
   2681	001546	002660'				.WORD	.DPKLT		; KL WORD
   2682	001550	002000'				.WORD	.DPEWT		; PDP-11 WORD
   2683
   2684	000650					.PSECT
   2685
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 66
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16

   2687					.SBTTL	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
   2688
   2689					;+
   2690					; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
   2691					;
   2692					; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
   2693					; OBJECT IS TO BE EXAMINED.
   2694					;
   2695					; INPUT ARGUMENTS:
   2696					;
   2697					;	NONE.
   2698					;
   2699					; OUTPUT ARGUMENTS:
   2700					;
   2701					;	NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
   2702					;	FOR THE OBJECT SPECIFIED.
   2703					;
   2704					; ERROR CODES RETURNED:
   2705					;
   2706					;	NONE.
   2707					;-
   2708
   2709	000650				.EXAMC::
   2710	000650	013703 	000102'			MOV	.MEMFL,R3	; MEMORY FLAG TO R3
   2711	000654					CALL	.CKARG		; CHECK THE ARGUMENT
	000654	004737 	000140'			 JSR	PC,.CKARG
   2712	000660	001434 				BEQ	.EXOBJ		; EXAMINE THE OBJECT
   2713						;
   2714	000662				.EXAMA::			; HERE TO DISPATCH FOR MEMORY
   2715	000662					CALLR	@EXMDTB(R3)	; DISPATCH
	000662	000173 	001552'			 JMP	@EXMDTB(R3)
   2716						;
   2717
   2718	001552					.PSECT	DATA
   2719
   2720	001552				EXMDTB:
   2721	001552	002746'				.WORD	.EXAMT		; EXAMINE TEN
   2722	001554	002066'				.WORD	.EXAME		; EXAMINE ELEVEN WORD
   2723
   2724	000666					.PSECT
   2725
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 67
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   2727					.SBTTL	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   2728
   2729	000666				.EXAMD::			; EXAMINE DECREMENT
   2730	000666					CALLR	@EXADTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000666	000173 	001556'			 JMP	@EXADTB(R3)
   2731						;
   2732
   2733	001556					.PSECT	DATA
   2734
   2735	001556				EXADTB:
   2736	001556	003114'				.WORD	.EXKLD		; KL WORD
   2737	001560	002220'				.WORD	.EXEWD		; PDP-11 WORD
   2738
   2739	000672					.PSECT
   2740
   2741	000672				.EXAMI::			; EXAMINE INCREMENT
   2742	000672					CALLR	@EXAITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000672	000173 	001562'			 JMP	@EXAITB(R3)
   2743						;
   2744
   2745	001562					.PSECT	DATA
   2746
   2747	001562				EXAITB:
   2748	001562	003122'				.WORD	.EXKLI		; KL WORD
   2749	001564	002226'				.WORD	.EXEWI		; PDP-11 WORD
   2750
   2751	000676					.PSECT
   2752
   2753	000676				.EXAMN::			; EXAMINE NEXT
   2754	000676					CALLR	@EXANTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000676	000173 	001566'			 JMP	@EXANTB(R3)
   2755						;
   2756
   2757	001566					.PSECT	DATA
   2758
   2759	001566				EXANTB:
   2760	001566	003130'				.WORD	.EXKLN		; KL WORD
   2761	001570	002234'				.WORD	.EXEWN		; PDP-11 WORD
   2762
   2763	000702					.PSECT
   2764
   2765	000702				.EXAMP::			; EXAMINE PREVIOUS
   2766	000702					CALLR	@EXAPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000702	000173 	001572'			 JMP	@EXAPTB(R3)
   2767						;
   2768
   2769	001572					.PSECT	DATA
   2770
   2771	001572				EXAPTB:
   2772	001572	003136'				.WORD	.EXKLP		; KL WORD
   2773	001574	002242'				.WORD	.EXEWP		; PDP-11 WORD
   2774
   2775	000706					.PSECT
   2776
   2777	000706				.EXAMZ::			; EXAMINE THIS
   2778	000706					CALLR	@EXAZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000706	000173 	001576'			 JMP	@EXAZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 67-1
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   2779						;
   2780
   2781	001576					.PSECT	DATA
   2782
   2783	001576				EXAZTB:
   2784	001576	003106'				.WORD	.EXKLT		; KL WORD
   2785	001600	002212'				.WORD	.EXEWT		; PDP-11 WORD
   2786
   2787	000712					.PSECT
   2788
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 68
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29

   2790					.SBTTL	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
   2791
   2792					;+
   2793					; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
   2794					;
   2795					; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
   2796					;
   2797					; INPUT ARGUMENTS:
   2798					;
   2799					;	R3 CONTAINS THE OLD MEMORY TYPE OFFSET
   2800					;
   2801					; OUTPUT ARGUMENTS:
   2802					;
   2803					;	R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
   2804					;
   2805					; ERROR CODES RETURNED:
   2806					;
   2807					;	NONE.
   2808					;-
   2809
   2810
   2811	000712				.DPOBJ::
   2812	000712	012700 	003002'			MOV	#.DPOTB,R0	; TABLE POINTER TO R0
   2813	000716					CALL	.TSCAN		; SCAN THE TABLE FOR OBJECT
	000716	004737 	012672'			 JSR	PC,.TSCAN
   2814	000722	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
   2815	000724	005101 				COM	R1		; INVERT THEM
   2816	000726	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   2817	000732					CALLR	@(R0)+		; DISPATCH FOR OBJECT
	000732	000130 				 JMP	@(R0)+
   2818						;
   2819	000734				.DPOKL::
   2820	000734	005003 				CLR	R3		; TEN MEMORY OFFSET TO R3
   2821	000736					CALLR	.DPOST		; GO DO IT
	000736	000137 	002340'			 JMP	.DPOST
   2822						;
   2823	000742				.DPOEL::
   2824	000742	012703 	000002 			MOV	#^D2,R3		; PDP-11 WORD OFFSET TO R3
   2825	000746					CALLR	.DPOSE		; GO DO IT
	000746	000137 	001616'			 JMP	.DPOSE
   2826						;
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 69
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16

   2828					.SBTTL	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
   2829
   2830					;+
   2831					; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
   2832					;
   2833					; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
   2834					;
   2835					; INPUT ARGUMENTS:
   2836					;
   2837					;	NONE.
   2838					;
   2839					; OUTPUT ARGUMENTS:
   2840					;
   2841					;	NONE.
   2842					;
   2843					; ERROR CODES RETURNED:
   2844					;
   2845					;	NSC -- NO SUCH COMMAND.
   2846					;-
   2847
   2848	000752				.EXOBJ::
   2849	000752	012700 	003124'			MOV	#.EXMTB,R0	; EXAMINE TABLE POINTER TO R0
   2850	000756					CALL	.TSCAN		; SCAN THE TABLE
	000756	004737 	012672'			 JSR	PC,.TSCAN
   2851	000762	011001 				MOV	(R0),R1		; LEGAL BITS TO R1
   2852	000764	005101 				COM	R1		; INVERT THEM
   2853	000766	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   2854	000772	014002 				MOV	-(R0),R2	; NAME POINTER TO R2
   2855	000774					CALLR	@4(R0)		; READ AND PRINT THE REGISTER
	000774	000170 	000004 			 JMP	@4(R0)
   2856						;
   2857	001000				.EXMEL::
   2858	001000	012703 	000002 			MOV	#^D2,R3		; PDP-11 OFFSET TO R3
   2859	001004					CALLR	.EXAME		; DO THE EXAMINE
	001004	000137 	002066'			 JMP	.EXAME
   2860						;
   2861	001010				.EXMKL::
   2862	001010	005003 				CLR	R3		; KL MEMORY OFFSET TO R3
   2863	001012					CALLR	.EXAMT		; DO THE EXAMINE
	001012	000137 	002746'			 JMP	.EXAMT
   2864						;
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 70
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"

   2866					.SBTTL	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   2867
   2868	001016				.EDEWD::
   2869	001016				.EDEWP::
   2870	001016	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   2871	001022	162700 	000002 			SUB	#^D2,R0		; PREVIOUS WORD ADDRESS
   2872	001026					RETURN			; TO CALLER
	001026	000207 				 RTS	PC
   2873	001030				.EDEWI::
   2874	001030				.EDEWN::
   2875	001030	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   2876	001034	062700 	000002 			ADD	#^D2,R0		; NEXT WORD ADDRESS
   2877	001040					RETURN			; TO CALLER
	001040	000207 				 RTS	PC
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1110  03-OCT-79 11:35  PAGE 71
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   2879					.SBTTL	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   2880
   2881						.ENABL	LSB
   2882
   2883	001042				.EDKLP::
   2884	001042					CALL	.EDKLC		; DO COMMON CODE
	001042	004737 	001140'			 JSR	PC,.EDKLC
   2885	001046					CALL	.TPDEC		; DECREMENT ONCE
	001046	004737 	022750'			 JSR	PC,.TPDEC
   2886	001052	000422 				BR	10$		; EXIT THRU COMMON CODE
   2887						;
   2888	001054				.EDKLN::
   2889	001054					CALL	.EDKLC		; DO COMMON CODE
	001054	004737 	001140'			 JSR	PC,.EDKLC
   2890	001060					CALL	.TPINC		; INCREMENT ONCE
	001060	004737 	022736'			 JSR	PC,.TPINC
   2891	001064	000415 				BR	10$		; EXIT THRU COMMON CODE
   2892						;
   2893	001066				.EDKLD::
   2894	001066					CALL	.EDKLC		; DO COMMON CODE
	001066	004737 	001140'			 JSR	PC,.EDKLC
   2895	001072	012701 	000070'			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   2896	001076					CALL	.TPSUB		; DO THE SUBTRACTION
	001076	004737 	022762'			 JSR	PC,.TPSUB
   2897	001102	000406 				BR	10$		; EXIT THRU COMMON CODE
   2898						;
   2899	001104				.EDKLI::
   2900	001104					CALL	.EDKLC		; DO COMMON CODE
	001104	004737 	001140'			 JSR	PC,.EDKLC
   2901	001110	012701 	000070'			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   2902	001114					CALL	.TPADD		; DO THE ADDITION
	001114	004737 	022716'			 JSR	PC,.TPADD
   2903	001120				10$:
   2904	001120	032760 	177600 	000002 		BIT	#^C177,2(R0)	; CHECK THE RESULT
   2905	001126	001015 				BNE	EDNKLA		; ERROR IF TOO LARGE
   2906	001130	005760 	000004 			TST	4(R0)		; HOW ABOUT HIGH BITS?
   2907	001134	001012 				BNE	EDNKLA		; TOO LARGE
   2908	001136	000410 				BR	20$		; ALL OK -- RETURN
   2909						;
   2910	001140				.EDKLC::
   2911	001140	012700 	000044'			MOV	#.EDKLX,R0	; AUX ADDRESS POINTER TO R0
   2912	001144	012701 	000036'			MOV	#.EDKLA,R1	; EXAM / DEPOS ADDRESS TO R1
   2913	001150	012120 				MOV	(R1)+,(R0)+	; LOAD CURRENT ADDRESS
   2914	001152	012120 				MOV	(R1)+,(R0)+	; INTO AUXILLIARY ADDRESS BUFFER
   2915	001154	011110 				MOV	(R1),(R0)	; SO
   2916	001156	024040 				CMP	-(R0),-(R0)	; BACK THE POINTER UP
   2917	001160				20$:
   2918	001160					RETURN			; AND GO ON
	001160	000207 				 RTS	PC
   2919
   2920						.DSABL	LSB
   2921
   2922	001162				EDNKLA:
   2923	001162					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	001162	012746 	043241 			 MOV	#^RKLA,-(SP)
	001166	104400 				 TRAP	TC.ERR
   2924						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 72
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   2926					.TITLE	DFUNC -- KL10 DIAGNOSTIC FUNCTION MODULE 7603.30
   2927
   2928						.IDENT	"005000"
   2929					;
   2930					;                             COPYRIGHT (C) 1975, 1979 BY
   2931					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2932					;
   2933					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2934					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2935					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2936					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2937					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2938					;
   2939					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2940					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2941					;       CORPORATION.
   2942					;
   2943					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2944					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2945					;
   2946					;		MODULE: KL10 DIAGNOSTIC FUNCTION
   2947					;
   2948					;		VERSION: 05-00
   2949					;
   2950					;		AUTHOR: R. BELANGER
   2951					;
   2952					;		DATE: 7603.30
   2953					;
   2954					;	THIS MODULE CONTAINS:
   2955					;
   2956					;	1) KL10 DIAGNOSTIC FUNCTION CODE
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 73
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

   2958					.SBTTL	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
   2959
   2960					;+
   2961					; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
   2962					;
   2963					; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
   2964					; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
   2965					; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
   2966					;
   2967					; INPUT ARGUMENTS:
   2968					;
   2969					;	NONE.
   2970					;
   2971					; OUTPUT ARGUMENTS:
   2972					;
   2973					;	R0 HOLDS THE FUNCTION CODE.
   2974					;
   2975					; ERROR CODES RETURNED:
   2976					;
   2977					;	IFC -- ILLEGAL FUNCTION CODE
   2978					;	MRA -- MISSING REQUIRED ARGUMENT.
   2979					;-
   2980
   2981	001170				.DFCOM::
   2982	001170					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	001170	004737 	000376'			 JSR	PC,.CKRUN
   2983	001174	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   2984	001176	005046 				CLR	-(SP)		; .
   2985	001200	005046 				CLR	-(SP)		; ..
   2986	001202	010600 				MOV	SP,R0		; ...POINT TO IT
   2987	001204					CALL	.GTKLN		; ...READ THE FUNCTION CODE
	001204	004737 	024362'			 JSR	PC,.GTKLN
   2988	001210	005760 	000004 			TST	4(R0)		; ...SEE IF WE HAVE A LEGAL CODE
   2989	001214	001026 				BNE	DFCIFC		; ...NO -- COMPLAIN
   2990	001216	005760 	000002 			TST	2(R0)		; ...
   2991	001222	001023 				BNE	DFCIFC		; ...
   2992	001224	105760 	000001 			TSTB	1(R0)		; ...
   2993	001230	001020 				BNE	DFCIFC		; ...
   2994	001232	132710 	177740 			BITB	#^C37,(R0)	; ...IS THIS AN EXECUTE?
   2995	001236	001411 				BEQ	10$		; ...NO -- CONTINUE
   2996	001240	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; ...IS THE KL RUNNING?
   2997	001246	001405 				BEQ	10$		; ...NO -- JUST KEEP GOING
   2998	001250	013737 	000000G	000140'		MOV	.KLFLG,.SVKLF	; ...SAVE THE CURRENT FLAGS
   2999	001256					CALL	.KLHLT		; ...HALT THE KL
	001256	004737 	010164'			 JSR	PC,.KLHLT
   3000	001262				10$:
   3001	001262					POP	R0		; ...GET THE CODE INTO R0
	001262	012600 				 MOV	(SP)+,R0
   3002	001264	006300 				ASL	R0		; ..TIMES 2
   3003	001266	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   3004	001270					RETURN			; TO CALLER
	001270	000207 				 RTS	PC
   3005	001272				DFCIFC:
   3006	001272					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	001272	012746 	034463 			 MOV	#^RIFC,-(SP)
	001276	104400 				 TRAP	TC.ERR
   3007						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 74
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   3009					.SBTTL	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
   3010
   3011					;+
   3012					; .DFRED -- DIAGNOSTIC FUNCTION READ
   3013					;
   3014					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
   3015					; THE RESULT ON THE CONSOLE DEVICE.
   3016					;
   3017					; INPUT ARGUMENTS:
   3018					;
   3019					;	NONE.
   3020					;
   3021					; OUTPUT ARGUMENTS:
   3022					;
   3023					;	NONE.
   3024					;
   3025					; ERROR CODES RETURNED:
   3026					;
   3027					;	IFC -- ILLEGAL FUNCTION CODE.
   3028					;	FRF -- FUNCTION READ FAILED.
   3029					;-
   3030
   3031	001300				.DFRED::
   3032	001300					CALL	.DFCOM		; DO COMMON CODE
	001300	004737 	001170'			 JSR	PC,.DFCOM
   3033	001304					CALL	.CKEOS		; CHECK END OF SYMBOL
	001304	004737 	000326'			 JSR	PC,.CKEOS
   3034	001310					CALL	.XFRCK		; SEE THAT WE HAVE A LEGAL READ CODE
	001310	004737 	001504'			 JSR	PC,.XFRCK
   3035	001314	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3036	001316	005046 				CLR	-(SP)		; .
   3037	001320	005046 				CLR	-(SP)		; ..
   3038	001322	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   3039	001324					PUSH	R0		; ...SAVE THE READ CODE
	001324	010046 				 MOV	R0,-(SP)
   3040	001326					CALL	.FREAD		; ....DO THE READ
	001326	004737 	007512'			 JSR	PC,.FREAD
   3041	001332	012700 	000043'			MOV	#DFRMSG,R0	; ....MESSAGE POINTER TO R0
   3042	001336					CALL	.TYMSG		; ....TYPE IT
	001336	004737 	026202'			 JSR	PC,.TYMSG
   3043	001342					POP	R0		; ....READ CODE TO R0
	001342	012600 				 MOV	(SP)+,R0
   3044	001344	006200 				ASR	R0		; ...DIVIDED BY 2
   3045	001346					CALL	.TYP3D		; ...PRINT IT
	001346	004737 	025552'			 JSR	PC,.TYP3D
   3046	001352					CALL	.TYSLS		; ...AND A SLASH
	001352	004737 	025444'			 JSR	PC,.TYSLS
   3047	001356					CALL	.TYSPC		; ...AND A SPACE
	001356	004737 	025454'			 JSR	PC,.TYSPC
   3048	001362	010100 				MOV	R1,R0		; ...POINT TO THE DATA
   3049	001364					CALL	.TYKLN		; ...PRINT IT
	001364	004737 	025676'			 JSR	PC,.TYKLN
   3050	001370					CALL	.TCRLF		; ...END THE LINE
	001370	004737 	026272'			 JSR	PC,.TCRLF
   3051	001374	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   3052	001400					CALLR	.RSTKL		; RESTART THE KL AND EXIT
	001400	000137 	011734'			 JMP	.RSTKL
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 74-1
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   3053						;
   3054
   3055	000043				.PSECT	MESSAG
   3056	000043				DFRMSG:
   3057	000043	   106 	   122 	   040 		.ASCIZ	%FR %
	000046	   000
   3058	001404				.PSECT
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 75
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20

   3060					.SBTTL	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
   3061
   3062					;+
   3063					; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
   3064					;
   3065					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
   3066					;
   3067					; INPUT ARGUMENTS:
   3068					;
   3069					;	NONE.
   3070					;
   3071					; OUTPUT ARGUMENTS:
   3072					;
   3073					;	NONE.
   3074					;
   3075					; ERROR CODES RETURNED:
   3076					;
   3077					;	IFC -- ILLEGAL FUNCTION CODE.
   3078					;	FWF -- FUNCTION WRITE FAILED.
   3079					;-
   3080
   3081	001404				.DFWRT::
   3082	001404					CALL	.DFCOM		; DO COMMON CODE
	001404	004737 	001170'			 JSR	PC,.DFCOM
   3083	001410					CALL	.CKCOL		; CHECK END-OF-SYMBOL
	001410	004737 	000200'			 JSR	PC,.CKCOL
   3084	001414					CALL	.XFWCK		; SEE IF WE HAVE A GOOD WRITE CODE
	001414	004737 	001522'			 JSR	PC,.XFWCK
   3085	001420	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3086	001422	005046 				CLR	-(SP)		; .
   3087	001424	005046 				CLR	-(SP)		; ..
   3088	001426	010601 				MOV	SP,R1		; ...SAVE THE BUFFER POINTER
   3089	001430					PUSH 	R0		; ...SAVE THE WRITE CODE
	001430	010046 				 MOV	R0,-(SP)
   3090	001432	010100 				MOV	R1,R0		; ....POINT TO THE BUFFER
   3091	001434					CALL	.GTKLN		; ....READ THE DATA
	001434	004737 	024362'			 JSR	PC,.GTKLN
   3092	001440					CALL	.CKEOS		; ....CHECK SYMBOL END
	001440	004737 	000326'			 JSR	PC,.CKEOS
   3093	001444	010001 				MOV	R0,R1		; ....DATA POINTER TO R1
   3094	001446					POP	R0		; ....GET THE WRITE CODE
	001446	012600 				 MOV	(SP)+,R0
   3095	001450					CALL	.FWRIT		; ...DO THE WRITE
	001450	004737 	007574'			 JSR	PC,.FWRIT
   3096	001454	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   3097	001460					CALLR	.RSTKL		; RESTORE THE KL AND EXIT
	001460	000137 	011734'			 JMP	.RSTKL
   3098						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 76
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15

   3100					.SBTTL	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
   3101
   3102					;+
   3103					; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
   3104					;
   3105					; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   3106					;
   3107					; INPUT ARGUMENTS:
   3108					;
   3109					;	NONE.
   3110					;
   3111					; OUTPUT ARGUMENTS:
   3112					;
   3113					;	NONE.
   3114					;
   3115					; ERROR CODES RETURNED:
   3116					;
   3117					;	IFC -- ILLEGAL FUNCTION CODE.
   3118					;	FXF -- FUNCTION EXECUTE FAILED.
   3119					;-
   3120
   3121	001464				.DFXCT::
   3122	001464					CALL	.DFCOM		; DO COMMON CODE
	001464	004737 	001170'			 JSR	PC,.DFCOM
   3123	001470					CALL	.CKEOS		; CHECK SYMBOL END
	001470	004737 	000326'			 JSR	PC,.CKEOS
   3124	001474					CALL	.XFXCK		; CHECK THE FXCT CODE OUT
	001474	004737 	001540'			 JSR	PC,.XFXCK
   3125	001500					CALLR	.FXCT		; DO THE FUNCTION EXECUTE
	001500	000137 	007716'			 JMP	.FXCT
   3126						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 77
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   3128					.SBTTL	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
   3129
   3130					;+
   3131					; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
   3132					; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
   3133					; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
   3134					;
   3135					; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
   3136					; READ, WRITE AND EXECUTE SUBROUTINES.
   3137					;
   3138					; INPUT ARGUMENTS:
   3139					;
   3140					;	R0 HOLDS THE FUNCTION CODE TO BE CHECKED
   3141					;
   3142					; OUTPUT ARGUMENTS:
   3143					;
   3144					;	NONE.
   3145					;
   3146					; ERROR CODES RETURNED:
   3147					;
   3148					;	IFC -- ILLEGAL FUNCTION CODE.
   3149					;	OFC -- ODD FUNCTION CODE.
   3150					;-
   3151
   3152						.ENABL	LSB
   3153
   3154	001504				.XFRCK::			; HERE TO CHECK FUNCTION READ CODE
   3155	001504	020027 	000200 			CMP	R0,#FR.100	; IS IT .LT. FR.100?
   3156	001510	103422 				BLO	FNCIFC		; NO -- ERROR
   3157	001512	020027 	000376 			CMP	R0,#FR.177	; YES -- IS IT .GT. FR.177?
   3158	001516	101017 				BHI	FNCIFC		; YES -- ERROR
   3159	001520	000412 				BR	10$		; NO -- SEE IF IT'S ODD
   3160						;
   3161	001522				.XFWCK::			; HERE TO CHECK FUNCTION WRITE CODE
   3162	001522	020027 	000100 			CMP	R0,#FW.040	; IS IT .LT. FW.040?
   3163	001526	103413 				BLO	FNCIFC		; NO -- ERROR
   3164	001530	020027 	000176 			CMP	R0,#FW.LAR	; YES -- IS IT .GT. FW.077?
   3165	001534	101010 				BHI	FNCIFC		; YES -- ERROR
   3166	001536	000403 				BR	10$		; NO -- SEE IF IT'S ODD
   3167						;
   3168	001540				.XFXCK::			; HERE TO CHECK FUNCTION EXECUTE CODE
   3169	001540	020027 	000076 			CMP	R0,#FX.037	; IS IT .GT. FX.037?
   3170	001544	101004 				BHI	FNCIFC		; YES -- ERROR
   3171	001546				10$:
   3172	001546	032700 	000001 			BIT	#BIT00,R0	; NO -- IS IT ODD?
   3173	001552	001004 				BNE	FNCOFC		; YES -- ERROR
   3174	001554					RETURN			; NO -- ALL OK, RETURN TO CALLER
	001554	000207 				 RTS	PC
   3175	001556				FNCIFC:
   3176	001556					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	001556	012746 	034463 			 MOV	#^RIFC,-(SP)
	001562	104400 				 TRAP	TC.ERR
   3177						;
   3178	001564				FNCOFC:
   3179	001564					ERROR$	OFC		; ERROR -- ODD FUNCTION CODE
	001564	012746 	057263 			 MOV	#^ROFC,-(SP)
	001570	104400 				 TRAP	TC.ERR
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1110  03-OCT-79 11:35  PAGE 77-1
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   3180						;
   3181
   3182						.DSABL	LSB
DISCC -- DISCONNECT COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 78
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   3184					.TITLE	DISCC -- DISCONNECT COMMAND MODULE 7702.28
   3185
   3186						.IDENT	"005000"
   3187					;
   3188					;                             COPYRIGHT (C) 1975, 1979 BY
   3189					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3190					;
   3191					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3192					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3193					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3194					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3195					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3196					;
   3197					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3198					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3199					;       CORPORATION.
   3200					;
   3201					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3202					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3203					;
   3204					;		MODULE: DISCONNECT COMMAND
   3205					;
   3206					;		VERSION: 05-00
   3207					;
   3208					;		AUTHOR: R. BELANGER
   3209					;
   3210					;		DATE: 7702.28
   3211					;
   3212					;	THIS MODULE CONTAINS:
   3213					;
   3214					;	1) DISCONNECT COMMAND CODE
   3215
   3216						.MCALL	DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 79
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   3218					.SBTTL	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
   3219
   3220					;+
   3221					;  .DISCC --  THE "DISCONNECT" COMMAND
   3222					;
   3223					; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
   3224					; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
   3225					; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
   3226					; RETURN THE THE RSX20F COMMAND PARSER.
   3227					;
   3228					; INPUT ARGUMENTS:
   3229					;
   3230					;	NONE.
   3231					;
   3232					; OUTPUT ARGUMENTS:
   3233					;
   3234					;	NONE.
   3235					;
   3236					; ERROR CODES RETURNED:
   3237					;
   3238					;	NONE.
   3239					;-
   3240
   3241	001572				.DISCC::
   3242	001572					CALL	.CKEOC		; MUST HAVE E-O-C
	001572	004737 	000264'			 JSR	PC,.CKEOC
   3243	001576	112737 	000003 	000001G		MOVB	#3,.KLNSW+1	; FLAG DISCONNECT
   3244	001604					DIR$	#RQSKLD		; REQUEST DISCONNECT TASK
	001604	012746 	000000'			MOV	#RQSKLD,-(SP)
	001610	104375 				EMT	375
   3245	001612					CALLR	.EXITP		; GO AWAY FOR NOW
	001612	000137 	012436'			 JMP	.EXITP
   3246						;
   3247
   3248	000000					.PSECT	DPBS
   3249
   3250	000000				RQSKLD:
   3251	000000					RQST$	KLDISC,,10
	000000	   013 	   007 			.BYTE	11.,7
	000002	043244 	035473 			.RAD50	/KLDISC/
	000006	000000 	000000 			.WORD	0,0
	000012	000010 				.WORD	10
	000014	   000 	   000 			.BYTE	,
   3252
   3253	001616					.PSECT
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 80
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   3255					.TITLE	EDELE -- DEPOSIT / EXAMINE ELEVEN COMMAND MODULE 7603.30
   3256
   3257						.IDENT	"005000"
   3258
   3259					;
   3260					;                             COPYRIGHT (C) 1975, 1979 BY
   3261					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3262					;
   3263					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3264					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3265					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3266					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3267					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3268					;
   3269					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3270					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3271					;       CORPORATION.
   3272					;
   3273					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3274					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3275					;
   3276					;		MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
   3277					;
   3278					;		VERSION: 05-00
   3279					;
   3280					;		AUTHOR: R. BELANGER
   3281					;
   3282					;		DATE: 7603.30
   3283					;
   3284					;	THIS MODULE CONTAINS:
   3285					;
   3286					;	1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 81
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   3288					.SBTTL	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
   3289
   3290					;+
   3291					; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
   3292					;
   3293					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
   3294					; ADDRESS SPECIFIED.
   3295					;
   3296					; INPUT ARGUMENTS:
   3297					;
   3298					;	NONE.
   3299					;
   3300					; OUTPUT ARGUMENTS:
   3301					;
   3302					;	THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
   3303					;	THE DATA DEPOSITED IS IN ".ELDDW".
   3304					;
   3305					; ERROR CODES RETURNED:
   3306					;
   3307					;	NONE.
   3308					;-
   3309
   3310	001616				.DPOSE::
   3311	001616					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	001616	004737 	000140'			 JSR	PC,.CKARG
   3312	001622	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   3313	001624	012700 	002742'			MOV	#.DPETB,R0	; DEPOSIT EXTENSION TABLE POINTER TO R0
   3314	001630					CALL	.TSCAN		; SCAN IT
	001630	004737 	012672'			 JSR	PC,.TSCAN
   3315	001634					CALLR	@2(R0)		; DISPATCH FOR IT
	001634	000170 	000002 			 JMP	@2(R0)
   3316						;
   3317	001640				10$:
   3318	001640					CALL	.GTELN		; READ THE ADDRESS
	001640	004737 	024300'			 JSR	PC,.GTELN
   3319	001644	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   3320	001650	001050 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   3321	001652					PUSH	R0		; NO -- SAVE IT
	001652	010046 				 MOV	R0,-(SP)
   3322	001654					CALL	.CKCOL		; .CHECK SEPARATOR
	001654	004737 	000200'			 JSR	PC,.CKCOL
   3323	001660					CALL	.GTELN		; .READ THE DATA
	001660	004737 	024300'			 JSR	PC,.GTELN
   3324	001664	010001 				MOV	R0,R1		; .DATA TO R1
   3325	001666					POP	R0		; .ADDRESS TO R0
	001666	012600 				 MOV	(SP)+,R0
   3326
   3327					;	[CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 82
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   3329					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3330
   3331	001670				.DPSEE::			; EXTENDED DEPOSIT ENTRY POINT
   3332	001670					CALL	.CKEOC		; CHECK FOR E-O-C
	001670	004737 	000264'			 JSR	PC,.CKEOC
   3333	001674	032700 	000001 			BIT	#BIT00,R0	; IS THE ADDRESS ODD?
   3334	001700	001034 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   3335	001702					PUSH	R0		; NO -- SAVE THE ADDRESS
	001702	010046 				 MOV	R0,-(SP)
   3336	001704					PUSH	R1		; .AND THE DEPOSIT DATA
	001704	010146 				 MOV	R1,-(SP)
   3337	001706	010037 	000034'			MOV	R0,.EDELA	; ..LEAVE TRACKS
   3338	001712	010137 	000052'			MOV	R1,.ELDDW	; ..MORE TRACKS
   3339	001716	013737 	000144'	000174'		MOV	.TRP4V,.SSTTB	; ..SET UP TRAP AT 4 TRAP
   3340	001724	011001 				MOV	(R0),R1		; ..READ ORIGINAL CONTENTS
   3341	001726					CALL	.TYELA		; ..PRINT THE ADDRESS
	001726	004737 	025502'			 JSR	PC,.TYELA
   3342	001732	112700 	000134 			MOVB	#'\,R0		; ..BACK SLASH
   3343	001736					CALL	.TYCHR		; ..PRINT IT
	001736	004737 	026240'			 JSR	PC,.TYCHR
   3344	001742					CALL	.TYSPC		; ..AND A SPACE
	001742	004737 	025454'			 JSR	PC,.TYSPC
   3345	001746	010100 				MOV	R1,R0		; ..DATA TO R0
   3346	001750					CALL	.TYELN		; ..PRINT THAT
	001750	004737 	025506'			 JSR	PC,.TYELN
   3347	001754					POP	R1		; ..RESTORE DATA
	001754	012601 				 MOV	(SP)+,R1
   3348	001756					POP	R0		; .AND ADDRESS
	001756	012600 				 MOV	(SP)+,R0
   3349	001760	010110 				MOV	R1,(R0)		; DO THE DEPOSIT
   3350	001762	005037 	000174'			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   3351	001766					CALLR	.TCRLF		; TO CALLER
	001766	000137 	026272'			 JMP	.TCRLF
   3352						;
   3353	001772				DPOOAI:
   3354	001772					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	001772	012746 	056761 			 MOV	#^ROAI,-(SP)
	001776	104400 				 TRAP	TC.ERR
   3355						;
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 83
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   3357					.SBTTL	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   3358
   3359						.ENABL	LSB
   3360
   3361	002000				.DPEWT::			; DEPOSIT <ELEVEN> THIS
   3362	002000	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   3363	002004	000413 				BR	10$		; CHECK FOR ARGUMENTS
   3364						;
   3365	002006				.DPEWD::			; DEPOSIT <ELEVEN> DECREMENT
   3366	002006					CALL	.EDEWD		; DECREMENT THE ADDRESS
	002006	004737 	001016'			 JSR	PC,.EDEWD
   3367	002012	000410 				BR	10$		; EXIT THRU COMMON CODE
   3368						;
   3369	002014				.DPEWI::			; DEPOSIT <ELEVEN> INCREMENT
   3370	002014					CALL	.EDEWI		; INCREMENT THE ADDRESS
	002014	004737 	001030'			 JSR	PC,.EDEWI
   3371	002020	000405 				BR	10$		; EXIT THRU COMMON CODE
   3372						;
   3373	002022				.DPEWN::			; DEPOSIT <ELEVEN> NEXT
   3374	002022					CALL	.EDEWN		; GET THE NEXT ADDRESS
	002022	004737 	001030'			 JSR	PC,.EDEWN
   3375	002026	000402 				BR	10$		; EXIT THRU COMMON CODE
   3376						;
   3377	002030				.DPEWP::			; DEPOSIT <ELEVEN> PREVIOUS
   3378	002030					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	002030	004737 	001016'			 JSR	PC,.EDEWP
   3379	002034				10$:
   3380	002034	122715 	000072 			CMPB	#':,(R5)	; DOES AN ARGUMENT FOLLOW?
   3381	002040	001403 				BEQ	20$		; YES -- GO GET IT
   3382	002042	013701 	000052'			MOV	.ELDDW,R1	; NO -- USE OLD DATA
   3383	002046	000710 				BR	.DPSEE		; AND DO THE DEPOSIT
   3384						;
   3385	002050				20$:
   3386	002050	105725 				TSTB	(R5)+		; GET OVER THE COLON
   3387	002052					PUSH	R0		; SAVE THE ADDRESS
	002052	010046 				 MOV	R0,-(SP)
   3388	002054					CALL	.GTELN		; .READ THE DATA
	002054	004737 	024300'			 JSR	PC,.GTELN
   3389	002060	010001 				MOV	R0,R1		; .DATA TO R1
   3390	002062					POP	R0		; .ADDRESS TO R0
	002062	012600 				 MOV	(SP)+,R0
   3391	002064	000701 				BR	.DPSEE		; DO THE DEPOSIT
   3392						;
   3393
   3394						.DSABL	LSB
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 84
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   3396					.SBTTL	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
   3397
   3398					;+
   3399					; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
   3400					;
   3401					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
   3402					; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
   3403					;
   3404					; INPUT ARGUMENTS:
   3405					;
   3406					;	NONE.
   3407					;
   3408					; OUTPUT ARGUMENTS:
   3409					;
   3410					;	THE ADDRESS EXAMINED IS IN ".EDELA"
   3411					;	THE EXAMINED DATA IS IN ".ELEDW"
   3412					;
   3413					; ERROR CODES RETURNED:
   3414					;
   3415					;	NONE.
   3416					;-
   3417
   3418	002066				.EXAME::
   3419	002066					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	002066	004737 	000140'			 JSR	PC,.CKARG
   3420	002072	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   3421	002074	012700 	003064'			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   3422	002100					CALL	.TSCAN		; SCAN IT
	002100	004737 	012672'			 JSR	PC,.TSCAN
   3423	002104					CALLR	@2(R0)		; DO WHAT IS SAYS TO
	002104	000170 	000002 			 JMP	@2(R0)
   3424						;
   3425	002110				10$:
   3426	002110					CALL	.GTELN		; READ THE ADDRESS
	002110	004737 	024300'			 JSR	PC,.GTELN
   3427
   3428					;	[CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 85
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   3430					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3431
   3432	002114				.EXMEE::			; EXTENDED EXAMINE ENTRY POINT
   3433	002114					CALL	.CKEOC		; CHECK FOR E-O-C
	002114	004737 	000264'			 JSR	PC,.CKEOC
   3434	002120	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   3435	002124	001027 				BNE	EXAOAI		; YES -- GIVE "OAI" ERROR
   3436	002126	013737 	000144'	000174'		MOV	.TRP4V,.SSTTB	; SET UP TRAP AT 4 TRAP
   3437	002134	010037 	000034'			MOV	R0,.EDELA	; .LEAVE SOME TRACKS
   3438	002140	011001 				MOV	(R0),R1		; DO THE EXAMINE
   3439	002142	005037 	000174'			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   3440	002146	010137 	000054'			MOV	R1,.ELEDW	; MORE TRACKS
   3441	002152					CALL	.TYELA		; TYPE THE ADDRESS
	002152	004737 	025502'			 JSR	PC,.TYELA
   3442	002156	112700 	000134 			MOVB	#'\,R0		; BACKSLASH
   3443	002162					CALL	.TYCHR		; TYPE IT
	002162	004737 	026240'			 JSR	PC,.TYCHR
   3444	002166					CALL	.TYSPC		; AND A SPACE
	002166	004737 	025454'			 JSR	PC,.TYSPC
   3445	002172	010100 				MOV	R1,R0		; DATA TO R0
   3446	002174					CALL	.TYELN		; TYPE THAT
	002174	004737 	025506'			 JSR	PC,.TYELN
   3447	002200					CALLR	.TCRLF		; END THE LINE AND EXIT
	002200	000137 	026272'			 JMP	.TCRLF
   3448						;
   3449	002204				EXAOAI:
   3450	002204					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	002204	012746 	056761 			 MOV	#^ROAI,-(SP)
	002210	104400 				 TRAP	TC.ERR
   3451						;
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1110  03-OCT-79 11:35  PAGE 86
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   3453					.SBTTL	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   3454
   3455						.ENABL	LSB
   3456
   3457	002212				.EXEWT::			; EXAMINE <ELEVEN> THIS
   3458	002212	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   3459	002216	000736 				BR	.EXMEE		; DO THE EXAMINE
   3460						;
   3461	002220				.EXEWD::			; EXAMINE <ELEVEN> DECREMENT
   3462	002220					CALL	.EDEWD		; DECREMENT IT
	002220	004737 	001016'			 JSR	PC,.EDEWD
   3463	002224	000733 				BR	.EXMEE		; DO THE EXAMINE
   3464						;
   3465	002226				.EXEWI::			; EXAMINE <ELEVEN> INCREMENT
   3466	002226					CALL	.EDEWI		; INCREMENT IT
	002226	004737 	001030'			 JSR	PC,.EDEWI
   3467	002232	000730 				BR	.EXMEE		; DO THE EXAMINE
   3468						;
   3469	002234				.EXEWN::			; EXAMINE <ELEVEN> NEXT
   3470	002234					CALL	.EDEWN		; GET THE NEXT ADDRESS
	002234	004737 	001030'			 JSR	PC,.EDEWN
   3471	002240	000725 				BR	.EXMEE		; DO THE EXAMINE
   3472						;
   3473	002242				.EXEWP::			; EXAMINE <ELEVEN> PREVIOUS
   3474	002242					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	002242	004737 	001016'			 JSR	PC,.EDEWP
   3475	002246	000722 				BR	.EXMEE		; DO THE EXAMINE
   3476						;
   3477
   3478						.DSABL	LSB
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 87
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   3480					.TITLE	EDTEN -- DEPOSIT / EXAMINE TEN COMMAND MODULE 7603.21
   3481
   3482						.IDENT	"005000"
   3483
   3484					;
   3485					;                             COPYRIGHT (C) 1975, 1979 BY
   3486					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3487					;
   3488					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3489					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3490					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3491					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3492					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3493					;
   3494					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3495					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3496					;       CORPORATION.
   3497					;
   3498					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3499					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3500					;
   3501					;		MODULE: DEPOSIT / EXAMINE TEN COMMAND
   3502					;
   3503					;		VERSION: 05-00
   3504					;
   3505					;		AUTHOR: R. BELANGER
   3506					;
   3507					;		DATE: 7603.21
   3508					;
   3509					;	THIS MODULE CONTAINS:
   3510					;
   3511					;	1) DEPOSIT / EXAMINE TEN COMMAND CODE
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 88
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21

   3513					.SBTTL	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
   3514
   3515					;+
   3516					; .DEPAR -- THE "DEPOSIT AR" COMMAND.
   3517					;
   3518					; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
   3519					;
   3520					; INPUT ARGUMENTS:
   3521					;
   3522					;	NONE.
   3523					;
   3524					; OUTPUT ARGUMENTS:
   3525					;
   3526					;	NONE.
   3527					;
   3528					; ERROR CODES RETURNED:
   3529					;
   3530					;	NONE.
   3531					;-
   3532
   3533	002250				.DEPAR::
   3534	002250					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	002250	004737 	000376'			 JSR	PC,.CKRUN
   3535	002254					CALL	.CKCOL		; CHECK FOR A COLON
	002254	004737 	000200'			 JSR	PC,.CKCOL
   3536	002260	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3537	002262	005046 				CLR	-(SP)		; .
   3538	002264	005046 				CLR	-(SP)		; ..
   3539	002266	010600 				MOV	SP,R0		; ...POINT TO IT
   3540	002270					CALL	.GTNUM		; ...READ A NUMBER
	002270	004737 	024362'			 JSR	PC,.GTNUM
   3541	002274					CALL	.CKEOC		; ...CHECK FOR E-O-C
	002274	004737 	000264'			 JSR	PC,.CKEOC
   3542	002300					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	002300	013746 	000000G			 MOV	.KLFLG,-(SP)
   3543	002304	032716 	100000 			BIT	#KF.CLK,(SP)	; ....IS THE CLOCK RUNNING?
   3544	002310	001402 				BEQ	10$		; ....NO -- GO ON
   3545	002312					CALL	.KLHLT		; ....STOP THE KL - DEAD
	002312	004737 	010164'			 JSR	PC,.KLHLT
   3546	002316				10$:
   3547	002316	010001 				MOV	R0,R1		; ....DATA POINTER TO R1
   3548	002320					CALL	.WRTAR		; ....WRITE THE AR
	002320	004737 	012226'			 JSR	PC,.WRTAR
   3549	002324					POP	.SVKLF		; ....SET UP ".SVKLF"
	002324	012637 	000140'			 MOV	(SP)+,.SVKLF
   3550	002330	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   3551	002334					CALLR	.KLRST		; RESTART THE KL AND EXIT
	002334	000137 	010424'			 JMP	.KLRST
   3552						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 89
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   3554					.SBTTL	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
   3555
   3556					;+
   3557					; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
   3558					;
   3559					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
   3560					; KL MEMORY LOCATION.
   3561					;
   3562					; INPUT ARGUMENTS:
   3563					;
   3564					;	NONE.
   3565					;
   3566					; OUTPUT ARGUMENTS:
   3567					;
   3568					;	THE ADDRESS DEPOSITED IS IN ".EDKLA"
   3569					;	THE DATA DEPOSITED IS IN ".DPBFR"
   3570					;
   3571					; ERROR CODES RETURNED:
   3572					;
   3573					;	APE -- KL APR ERROR
   3574					;	DMF -- DEPOSIT KL MEMORY FAILED
   3575					;	ESD -- EBOX STOPPED - DEPOSIT
   3576					;	KLA -- KL ADDRESS ERROR
   3577					;	KCN -- KL CLOCK NOT RUNNING
   3578					;	MRA -- MISSING REQUIRED ARGUMENT
   3579					;	NOR -- NUMBER OUT OF RANGE.
   3580					;	VFY -- VERIFY FAILED
   3581					;-
   3582
   3583	002340				.DPOST::
   3584	002340					CALL	.CKARG		; SEE IF AN ARGUMENT FOLLOWS
	002340	004737 	000140'			 JSR	PC,.CKARG
   3585	002344	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   3586	002346	012700 	002742'			MOV	#.DPETB,R0	; EXTENSION TABLE POINTER TO R0
   3587	002352					CALL	.TSCAN		; SCAN IT
	002352	004737 	012672'			 JSR	PC,.TSCAN
   3588	002356					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	002356	000170 	000002 			 JMP	@2(R0)
   3589						;
   3590	002362				10$:
   3591	002362	012700 	000044'			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   3592	002366					CALL	.GTKLA		; READ THE ADDRESS
	002366	004737 	024330'			 JSR	PC,.GTKLA
   3593	002372					CALL	.CKCOL		; CHECK FOR A COLON
	002372	004737 	000200'			 JSR	PC,.CKCOL
   3594	002376	010001 				MOV	R0,R1		; GOT IT, SAVE THE POINTER
   3595	002400	012700 	000026'			MOV	#.DPBFX,R0	; DATA POINTER TO R0
   3596	002404					CALL	.GTKLN		; READ THE DATA
	002404	004737 	024362'			 JSR	PC,.GTKLN
   3597
   3598					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 90
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   3600					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3601
   3602	002410				.DPSTE::			; EXTENDED DEPOSIT ENTRY POINT
   3603	002410					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	002410	004737 	000264'			 JSR	PC,.CKEOC
   3604	002414	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK RUNNING?
   3605	002422	001510 				BEQ	DPOKCN		; NO -- GIVE "KCN" ERROR
   3606	002424	012702 	000036'			MOV	#.EDKLA,R2	; ADDRESS BUFFER POINTER TO R2
   3607	002430	012122 				MOV	(R1)+,(R2)+	; LOAD THE NEW ADDRESS
   3608	002432	012122 				MOV	(R1)+,(R2)+	; INTO THE ADDRESS BUFFER
   3609	002434	011112 				MOV	(R1),(R2)	; SO
   3610	002436	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   3611	002440	010201 				MOV	R2,R1		; PUT IT IN R1
   3612	002442	012702 	000020'			MOV	#.DPBFR,R2	; DEPOSIT DATA POINTER TO R2
   3613	002446	012022 				MOV	(R0)+,(R2)+	; LOAD THE NEW DATA
   3614	002450	012022 				MOV	(R0)+,(R2)+	; INTO THE DEPOSIT DATA BUFFER
   3615	002452	011012 				MOV	(R0),(R2)	; SO
   3616	002454	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   3617	002456					PUSH	R2		; SAVE THE DATA POINTER
	002456	010246 				 MOV	R2,-(SP)
   3618	002460					PUSH	R1		; .AND THE ADDRESS POINTER
	002460	010146 				 MOV	R1,-(SP)
   3619	002462	010600 				MOV	SP,R0		; ..SAVE THE POINTER TO THE BLOCK
   3620	002464					PUSH	R0		; ..SO
	002464	010046 				 MOV	R0,-(SP)
   3621	002466					PUSH	#.EXBFR		; ...POINT TO EXAMINE BUFFER
	002466	012746 	000056'			 MOV	#.EXBFR,-(SP)
   3622	002472					PUSH	R1		; ....FOR THIS ADDRESS
	002472	010146 				 MOV	R1,-(SP)
   3623	002474	010601 				MOV	SP,R1		; .....POINT TO THE BLOCK
   3624	002476	012700 	000200 			MOV	#ED.PHY,R0	; .....PHYSICAL REFERENCE
   3625	002502					CALL	.EXKLM		; .....EXAMINE IT FIRST
	002502	004737 	007064'			 JSR	PC,.EXKLM
   3626	002506					POP	R0		; .....GET THE ADDRESS POINTER
	002506	012600 				 MOV	(SP)+,R0
   3627	002510					CALL	.TYKLA		; ....PRINT IT
	002510	004737 	025626'			 JSR	PC,.TYKLA
   3628	002514					CALL	.TYSLS		; ....AND A <SLASH>
	002514	004737 	025444'			 JSR	PC,.TYSLS
   3629	002520					CALL	.TYSPC		; ....NOW A <SPACE>
	002520	004737 	025454'			 JSR	PC,.TYSPC
   3630	002524					POP	R0		; ....GET THE DATA POINTER
	002524	012600 				 MOV	(SP)+,R0
   3631	002526					CALL	.TYKLN		; ...TYPE THE DATA
	002526	004737 	025676'			 JSR	PC,.TYKLN
   3632	002532					CALL	.TCRLF		; ...AND A <CRLF>
	002532	004737 	026272'			 JSR	PC,.TCRLF
   3633
   3634					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 91
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   3636					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3637
   3638	002536					POP	R1		; ...POINT TO THE DEPOSIT BLOCK
	002536	012601 				 MOV	(SP)+,R1
   3639	002540	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   3640	002544					CALL	.DPKLM		; ..DO THE DEPOSIT
	002544	004737 	007116'			 JSR	PC,.DPKLM
   3641	002550	005737 	000166'			TST	.VFYFL		; ..VERIFY THE DEPOSIT?
   3642	002554	001426 				BEQ	20$		; ..NO -- JUST EXIT
   3643	002556	012766 	000056'	000002 		MOV	#.EXBFR,2(SP)	; ..YES -- CHANGE THE BUFFER POINTER
   3644	002564	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   3645	002570					CALL	.EXKLM		; ..EXAMINE IT
	002570	004737 	007064'			 JSR	PC,.EXKLM
   3646	002574	012700 	000020'			MOV	#.DPBFR,R0	; ..DEPOSITED DATA
   3647	002600	012701 	000056'			MOV	#.EXBFR,R1	; ..EXAMINED DATA
   3648	002604					CALL	.TPCMP		; ..SEE IF THEY COMPARE
	002604	004737 	022640'			 JSR	PC,.TPCMP
   3649	002610	001020 				BNE	DPOVFE		; ..NO -- COMPLAIN
   3650	002612					CALL	.STPKL		; ..STOP THE KL
	002612	004737 	012012'			 JSR	PC,.STPKL
   3651	002616					CALL	.RDAPR		; ..SEE IF THERE ARE ANY APR ERRORS
	002616	004737 	003144'			 JSR	PC,.RDAPR
   3652	002622					CALL	.RSTKL		; ..RESTART THE KL
	002622	004737 	011734'			 JSR	PC,.RSTKL
   3653	002626	005700 				TST	R0		; ..ARE THERE ANY ERRORS?
   3654	002630	001002 				BNE	DPOAPE		; ..YES -- COMPLAIN
   3655	002632				20$:
   3656	002632	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   3657	002634					RETURN			; TO CALLER
	002634	000207 				 RTS	PC
   3658	002636				DPOAPE:
   3659	002636					ERROR$	APE		; ERROR -- KL APR ERROR
	002636	012746 	004305 			 MOV	#^RAPE,-(SP)
	002642	104400 				 TRAP	TC.ERR
   3660						;
   3661	002644				DPOKCN:
   3662	002644					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	002644	012746 	042506 			 MOV	#^RKCN,-(SP)
	002650	104400 				 TRAP	TC.ERR
   3663						;
   3664	002652				DPOVFE:
   3665	002652					ERROR$	VFY		; ERROR -- VERIFY FAILED
	002652	012746 	105211 			 MOV	#^RVFY,-(SP)
	002656	104400 				 TRAP	TC.ERR
   3666						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 92
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.

   3668					.SBTTL	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   3669
   3670						.ENABL	LSB
   3671
   3672	002660				.DPKLT::			; DEPOSIT <TEN> THIS
   3673	002660	012700 	000044'			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   3674	002664	000413 				BR	10$		; CHECK FOR ARGUMENTS
   3675						;
   3676	002666				.DPKLD::			; DEPOSIT <TEN> DECREMENT
   3677	002666					CALL	.EDKLD		; DO THE DECREMENT
	002666	004737 	001066'			 JSR	PC,.EDKLD
   3678	002672	000410 				BR	10$		; EXIT THRU COMMON CODE
   3679						;
   3680	002674				.DPKLI::			; DEPOSIT <TEN> INCREMENT
   3681	002674					CALL	.EDKLI		; DO THE INCREMENT
	002674	004737 	001104'			 JSR	PC,.EDKLI
   3682	002700	000405 				BR	10$		; EXIT THRU COMMON CODE
   3683						;
   3684	002702				.DPKLN::			; DEPOSIT <TEN> NEXT
   3685	002702					CALL	.EDKLN		; GO GET NEXT ADDRESS
	002702	004737 	001054'			 JSR	PC,.EDKLN
   3686	002706	000402 				BR	10$		; EXIT THRU COMMON CODE
   3687						;
   3688	002710				.DPKLP::			; DEPOSIT <TEN> PREVIOUS
   3689	002710					CALL	.EDKLP		; GO GET PREVIOUS ADDRESS
	002710	004737 	001042'			 JSR	PC,.EDKLP
   3690	002714				10$:
   3691	002714	010001 				MOV	R0,R1		; ADDRESS POINTER TO R1
   3692	002716	122715 	000072 			CMPB	#':,(R5)	; IS THERE AN ARGUMENT FOLLOWING?
   3693	002722	001403 				BEQ	20$		; YES -- GO GET IT
   3694	002724	012700 	000026'			MOV	#.DPBFX,R0	; NO -- USE OLD DATA
   3695	002730	000627 				BR	.DPSTE		; AND DO THE DEPOSIT
   3696						;
   3697	002732				20$:
   3698	002732	105725 				TSTB	(R5)+		; GET OVER THE COLON
   3699	002734	012700 	000026'			MOV	#.DPBFX,R0	; POINT TO THE DATA BUFFER
   3700	002740					CALL	.GTKLN		; GET A NUMBER
	002740	004737 	024362'			 JSR	PC,.GTKLN
   3701	002744	000621 				BR	.DPSTE		; DO THE DEPOSIT
   3702						;
   3703
   3704						.DSABL	LSB
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 93
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   3706					.SBTTL	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
   3707
   3708					;+
   3709					; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
   3710					;
   3711					; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
   3712					; AND PRINTS THE CONTENT OF THAT ADDRESS.
   3713					;
   3714					; INPUT ARGUMENTS:
   3715					;
   3716					;	NONE.
   3717					;
   3718					; OUTPUT ARGUMENTS:
   3719					;
   3720					;	NONE.
   3721					;
   3722					; ERROR CODES RETURNED:
   3723					;
   3724					;	EMF -- EXAMINE MEMORY FAILED.
   3725					;	ESE -- EBOX STOPPED - EXAMINE
   3726					;	KLA -- KL ADDRESS ERROR
   3727					;	KCN -- KL CLOCK NOT RUNNING
   3728					;	MRA -- MISSING REQUIRED ARGUMENT
   3729					;-
   3730
   3731	002746				.EXAMT::
   3732	002746					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	002746	004737 	000140'			 JSR	PC,.CKARG
   3733	002752	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   3734	002754	012700 	003064'			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   3735	002760					CALL	.TSCAN		; SCAN THE TABLE
	002760	004737 	012672'			 JSR	PC,.TSCAN
   3736	002764					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	002764	000170 	000002 			 JMP	@2(R0)
   3737						;
   3738	002770				10$:
   3739	002770	012700 	000044'			MOV	#.EDKLX,R0	; POINT TO ADDRESS BUFFER
   3740	002774					CALL	.GTKLA		; GO GET THE ADDRESS
	002774	004737 	024330'			 JSR	PC,.GTKLA
   3741
   3742					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 94
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   3744					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3745
   3746	003000				.EXMTE::			; EXTENDED EXAMINE ENTRY POINT
   3747	003000					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	003000	004737 	000264'			 JSR	PC,.CKEOC
   3748	003004	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE KL CLOCK ON?
   3749	003012	001432 				BEQ	EXTKCN		; NO -- GIVE "KCN" ERROR
   3750	003014					PUSH	#.EXBFR		; YES -- SAVE THE DATA POINTER
	003014	012746 	000056'			 MOV	#.EXBFR,-(SP)
   3751	003020	012702 	000036'			MOV	#.EDKLA,R2	; .ADDRESS BUFFER POINTER TO R2
   3752	003024	012022 				MOV	(R0)+,(R2)+	; .LOAD THE NEW ADDRESS
   3753	003026	012022 				MOV	(R0)+,(R2)+	; .INTO THE ADDRESS BUFFER
   3754	003030	011012 				MOV	(R0),(R2)	; .SO
   3755	003032	024242 				CMP	-(R2),-(R2)	; .BACK THE POINTER UP
   3756	003034					PUSH	R2		; .ADDRESS POINTER
	003034	010246 				 MOV	R2,-(SP)
   3757	003036	010601 				MOV	SP,R1		; ..POINT TO THE DATA BLOCK
   3758	003040	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   3759	003044					CALL	.EXKLM		; ..DO THE EXAMINE
	003044	004737 	007064'			 JSR	PC,.EXKLM
   3760	003050					POP	R0		; ..POINT TO THE ADDRESS
	003050	012600 				 MOV	(SP)+,R0
   3761	003052					CALL	.TYKLA		; .PRINT THE ADDRESS
	003052	004737 	025626'			 JSR	PC,.TYKLA
   3762	003056					CALL	.TYSLS		; .TYPE A SLASH
	003056	004737 	025444'			 JSR	PC,.TYSLS
   3763	003062					CALL	.TYSPC		; .AND A SPACE
	003062	004737 	025454'			 JSR	PC,.TYSPC
   3764	003066					POP	R0		; .POINT TO THE DATA
	003066	012600 				 MOV	(SP)+,R0
   3765	003070					CALL	.TYKLN		; PRINT THE DATA
	003070	004737 	025676'			 JSR	PC,.TYKLN
   3766	003074					CALLR	.TCRLF		; AND END THE LINE
	003074	000137 	026272'			 JMP	.TCRLF
   3767						;
   3768	003100				EXTKCN:
   3769	003100					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	003100	012746 	042506 			 MOV	#^RKCN,-(SP)
	003104	104400 				 TRAP	TC.ERR
   3770						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 95
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.

   3772					.SBTTL	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   3773
   3774						.ENABL	LSB
   3775
   3776	003106				.EXKLT::			; EXAMINE <TEN> THIS
   3777	003106	012700 	000036'			MOV	#.EDKLA,R0	; ADDRESS POINTER TO R0
   3778	003112	000732 				BR	.EXMTE		; DO THE EXAMINE
   3779						;
   3780	003114				.EXKLD::			; EXAMINE <TEN> DECREMENT
   3781	003114					CALL	.EDKLD		; DECREMENT IT
	003114	004737 	001066'			 JSR	PC,.EDKLD
   3782	003120	000727 				BR	.EXMTE		; DO THE EXAMINE
   3783						;
   3784	003122				.EXKLI::			; EXAMINE <TEN> INCREMENT
   3785	003122					CALL	.EDKLI		; INCREMENT IT
	003122	004737 	001104'			 JSR	PC,.EDKLI
   3786	003126	000724 				BR	.EXMTE		; DO THE EXAMINE
   3787						;
   3788	003130				.EXKLN::			; EXAMINE <TEN> NEXT
   3789	003130					CALL	.EDKLN		; GET NEXT ADDRESS
	003130	004737 	001054'			 JSR	PC,.EDKLN
   3790	003134	000721 				BR	.EXMTE		; DO THE EXAMINE
   3791						;
   3792	003136				.EXKLP::			; EXAMINE <TEN> PREVIOUS
   3793	003136					CALL	.EDKLP		; GET THE PREVIOUS ADDDRESS
	003136	004737 	001042'			 JSR	PC,.EDKLP
   3794	003142	000716 				BR	.EXMTE		; DO THE EXAMINE
   3795						;
   3796
   3797						.DSABL	LSB
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1110  03-OCT-79 11:35  PAGE 96
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3799					.SBTTL	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
   3800
   3801					;+
   3802					; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
   3803					;
   3804					; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
   3805					; THAT ERROR STATE IN R0 AND ".APRWD".
   3806					;
   3807					; THE FORMAT OF THE DATA RETURNED IS:
   3808					;
   3809					;	AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
   3810					;	AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
   3811					;	AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
   3812					;	AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
   3813					;	AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
   3814					;	AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
   3815					;	AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
   3816					;
   3817					; INPUT ARGUMENTS:
   3818					;
   3819					;	NONE.
   3820					;
   3821					; OUTPUT ARGUMENTS:
   3822					;
   3823					;	R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
   3824					;	".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
   3825					;
   3826					; ERROR CODES RETURNED:
   3827					;
   3828					;	FRF -- FUNCTION READ FAILED.
   3829					;-
   3830
   3831	003144				.RDAPR::
   3832	003144					PUSH	R1		; SAVE R1 ON THE STACK
	003144	010146 				 MOV	R1,-(SP)
   3833	003146	005001 				CLR	R1		; .CLEAR R1
   3834	003150	012700 	000220 			MOV	#FR.APR,R0	; .FR TO READ APR ERRORS
   3835	003154					CALL	.FREAD		; .READ APR ERRORS
	003154	004737 	007512'			 JSR	PC,.FREAD
   3836	003160	012701 	177751 			MOV	#-^D23,R1	; .SHIFT COUNT TO R1
   3837	003164					CALL	.TPSHI		; .SHIFT ERROR BITS INTO POSITION
	003164	004737 	023172'			 JSR	PC,.TPSHI
   3838	003170	042710 	177600 			BIC	#177600,(R0)	; .FLUSH UNWANTED BITS
   3839	003174	011037 	000000'			MOV	(R0),.APRWD	; .SAVE THE WORD
   3840	003200	011000 				MOV	(R0),R0		; .PUT A COPY IN R0
   3841	003202					POP	R1		; .RESTORE R1
	003202	012601 				 MOV	(SP)+,R1
   3842	003204					RETURN			; AND GO AWAY
	003204	000207 				 RTS	PC
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 97
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3844					.TITLE	ERROR -- PARSER ERROR HANDLER MODULE 7609.24
   3845
   3846						.IDENT	"005000"
   3847					;
   3848					;                             COPYRIGHT (C) 1975, 1979 BY
   3849					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3850					;
   3851					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3852					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3853					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3854					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3855					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3856					;
   3857					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3858					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3859					;       CORPORATION.
   3860					;
   3861					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3862					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3863					;
   3864					;		MODULE: ERROR HANDLER
   3865					;
   3866					;		VERSION: 05-00
   3867					;
   3868					;		AUTHOR: R. BELANGER
   3869					;
   3870					;		DATE: 7609.24
   3871					;
   3872					;	THIS MODULE CONTAINS:
   3873					;
   3874					;	1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 98
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   3876					.SBTTL	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
   3877
   3878					;+
   3879					; .PARER -- ERROR DECODE AND PRINT ROUTINE.
   3880					;
   3881					; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
   3882					; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
   3883					; CALLED FROM THE TRAP HANDLER, ".PTTRP".
   3884					;
   3885					; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
   3886					; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
   3887					; WILL ISSUE A "UEC" ERROR CODE.
   3888					;
   3889					; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
   3890					; THIER ENTRIES LOOK LIKE THIS:
   3891					;
   3892					;	!===============================!
   3893					;	!	.RAD50 ERROR CODE	!
   3894					;	!-------------------------------!
   3895					;	!	DISPATCH ADDRESS	!
   3896					;	!-------------------------------!
   3897					;	!	MESSAGE POINTER		!
   3898					;	!===============================!
   3899					;
   3900					; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
   3901					; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
   3902					;
   3903					;	!===============================!
   3904					;	!	.RAD50 ERROR CODE	!
   3905					;	!-------------------------------!
   3906					;	!	MESSAGE POINTER		!
   3907					;	!===============================!
   3908					;
   3909					; INPUT ARGUMENTS:
   3910					;
   3911					;	R0 HOLDS THE .RAD50 ERROR CODE
   3912					;
   3913					; OUTPUT ARGUMENTS:
   3914					;
   3915					;	NONE.
   3916					;
   3917					; ERROR MESSAGES RETURNED:
   3918					;
   3919					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
   3920					;	THE PARSER EXITS.
   3921					;
   3922					;	UEC -- UNMATCHED ERROR CODE.
   3923					;-
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 99
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   3925	003206				.PARER::
   3926	003206					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	003206	010046 				 MOV	R0,-(SP)
	003210	010146 				 MOV	R1,-(SP)
	003212	010246 				 MOV	R2,-(SP)
   3927	003214	012701 	004576'			MOV	#.SPETB,R1	; ...SPECIAL ERRORS GET CHECKED FIRST
   3928	003220				10$:
   3929	003220	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   3930	003222	001405 				BEQ	30$		; ...END-OF-TABLE TRY OTHER ERROR CODES
   3931	003224	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   3932	003226	001402 				BEQ	20$		; ...YES -- DISPATCH TO SPECIAL HANDLER
   3933	003230	022121 				CMP	(R1)+,(R1)+	; ...NO -- GET OVER DISPATCH
   3934	003232	000772 				BR	10$		; ...AND TRY THE NEXT ONE
   3935						;
   3936	003234				20$:
   3937	003234	000131 				JMP	@(R1)+		; ...AWAY TO SPECIAL ROUTINE
   3938						;
   3939	003236				30$:
   3940	003236	012701 	003574'			MOV	#.NSETB,R1	; ...TABLE POINTER TO R1
   3941	003242				40$:
   3942	003242	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   3943	003244	001521 				BEQ	PARUEC		; ...END-OF-TABLE -- GIVE UEC ERROR
   3944	003246	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   3945	003250	001402 				BEQ	50$		; ...YES -- PRINT THE MESSAGE
   3946	003252	005721 				TST	(R1)+		; ...NO -- GET OVER MESSAGE POINTER
   3947	003254	000772 				BR	40$		; ...AND TRY NEXT CODE
   3948						;
   3949	003256				50$:
   3950	003256					CALL	PARERC		; ...DO COMMON OUTPUT CODE
	003256	004737 	003436'			 JSR	PC,PARERC
   3951	003262				PARERX:
   3952	003262					POP	<R2,R1,R0>	; ...RESTORE THE REGISTERS
	003262	012602 				 MOV	(SP)+,R2
	003264	012601 				 MOV	(SP)+,R1
	003266	012600 				 MOV	(SP)+,R0
   3953	003270					CALLR	.TCRLF		; END THE LINE AND RETURN
	003270	000137 	026272'			 JMP	.TCRLF
   3954						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 100
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   3956					.SBTTL	.PARER -- SPECIAL ERROR ROUTINES 7609.24
   3957
   3958						.ENABL	LSB
   3959
   3960	003274				.SEAMB::
   3961	003274				.SENSK::
   3962	003274					CALL	PARERC		; ...DO COMMON CODE
	003274	004737 	003436'			 JSR	PC,PARERC
   3963	003300				10$:
   3964	003300	112500 				MOVB	(R5)+,R0	; ...LOAD THE OFFENDING SYMBOL
   3965	003302	132760 	000034 	001360'		BITB	#CH.END,.CHTAB(R0)
   3966	003310	001017 				BNE	30$		; ...UNTIL THE END
   3967	003312					CALL	.TYCHR		; ...OUTPUT THE CHARACTER
	003312	004737 	026240'			 JSR	PC,.TYCHR
   3968	003316	000770 				BR	10$		; ...CONTINUE
   3969						;
   3970	003320				.SEILC::
   3971	003320				.SEILS::
   3972	003320				.SEIPC::
   3973	003320					CALL	PARERC		; ...DO COMMON CODE
	003320	004737 	003436'			 JSR	PC,PARERC
   3974	003324	110400 				MOVB	R4,R0		; ...GET THE CHARACTER
   3975	003326	122700 	000040 			CMPB	#.SPACE,R0	; ...IS IT A CONTROL CHARACTER?
   3976	003332	003404 				BLE	20$		; ...NO -- JUST PRINT IT
   3977	003334					CALL	.TYUPA		; ...YES -- TYPE AN <UPARROW>
	003334	004737 	025464'			 JSR	PC,.TYUPA
   3978	003340	052700 	000100 			BIS	#100,R0		; ...MAKE IT A PRINTING CHARACTER
   3979	003344				20$:
   3980	003344					CALL	.TYCHR		; ...PRINT THE CHARACTER
	003344	004737 	026240'			 JSR	PC,.TYCHR
   3981	003350				30$:
   3982	003350	112700 	000042 			MOVB	#'",R0		; ...END QUOTE
   3983	003354					CALL	.TYCHR		; ...PRINT THAT
	003354	004737 	026240'			 JSR	PC,.TYCHR
   3984	003360	000740 				BR	PARERX		; ...AND EXIT
   3985						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 101
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   3987	003362				.SEFRF::
   3988	003362					PUSH	.KLDFR+2	; ...SAVE THE READ CODE
	003362	013746 	000110'			 MOV	.KLDFR+2,-(SP)
   3989	003366	000405 				BR	40$		; ....TO COMMON CODE
   3990						;
   3991	003370				.SEFWF::
   3992	003370					PUSH	.KLDFW+2	; ...SAVE THE WRITE CODE
	003370	013746 	000122'			 MOV	.KLDFW+2,-(SP)
   3993	003374	000402 				BR	40$		; ....TO COMMON CODE
   3994						;
   3995	003376				.SEFXF::
   3996	003376					PUSH	.KLDFX+2	; ...SAVE THE EXECUTE CODE
	003376	013746 	000134'			 MOV	.KLDFX+2,-(SP)
   3997	003402				40$:
   3998	003402					CALL	PARERC		; ....DO COMMON STUFF
	003402	004737 	003436'			 JSR	PC,PARERC
   3999	003406					POP	R0		; ....GET THE CODE
	003406	012600 				 MOV	(SP)+,R0
   4000	003410	000300 				SWAB	R0		; ...SWAP THE BYTES
   4001	003412	042700 	177400 			BIC	#^C377,R0	; ...CLEAR JUNK
   4002	003416	006200 				ASR	R0		; ...DIVIDE BY 2
   4003	003420					CALL	.TYP3D		; ...PRINT CODE
	003420	004737 	025552'			 JSR	PC,.TYP3D
   4004	003424	012700 	000047'			MOV	#FLDMSG,R0	; ...END MESSAGE
   4005	003430					CALL	.TYMSG		; ...PRINT IT
	003430	004737 	026202'			 JSR	PC,.TYMSG
   4006	003434	000712 				BR	PARERX		; ...AND EXIT
   4007						;
   4008
   4009	000047				.PSECT	MESSAG
   4010
   4011	000047				FLDMSG:
   4012	000047	   040 	   106 	   101 		.ASCIZ	% FAILED%
	000052	   111 	   114 	   105
	000055	   104 	   000
   4013	003436				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 102
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   4015					; THIS IS THE COMMON ERROR CODE ROUTINE
   4016
   4017	003436				PARERC:
   4018	003436	012700 	000011'			MOV	#PARMSG,R0	; ...PREAMBLE
   4019	003442					CALL	.TYMSG		; ...PRINT IT
	003442	004737 	026202'			 JSR	PC,.TYMSG
   4020	003446	012700 	000133 			MOV	#'[,R0		; ...LEFT BRACKET
   4021	003452					CALL	.TYCHR		; ...PRINT IT
	003452	004737 	026240'			 JSR	PC,.TYCHR
   4022	003456	013700 	000002'			MOV	.CCMDN,R0	; ...CURRENT COMMAND NAME
   4023	003462					CALL	.TYMSG		; ...PRINT IT
	003462	004737 	026202'			 JSR	PC,.TYMSG
   4024	003466	012700 	000135 			MOV	#'],R0		; ...RIGHT BRACKET
   4025	003472					CALL	.TYCHR		; ...PRINT IT
	003472	004737 	026240'			 JSR	PC,.TYCHR
   4026	003476					CALL	.TYSPC		; ...<SPACE>
	003476	004737 	025454'			 JSR	PC,.TYSPC
   4027	003502	011100 				MOV	(R1),R0		; ...ERROR MESSAGE
   4028	003504					CALLR	.TYMSG		; ...PRINT IT AND RETURN
	003504	000137 	026202'			 JMP	.TYMSG
   4029						;
   4030	003510				PARUEC:
   4031	003510					PUSH	R0		; ...SAVE THE ERROR CODE
	003510	010046 				 MOV	R0,-(SP)
   4032	003512	012701 	001602'			MOV	#UECMSP,R1	; ...."UEC" MESSAGE POINTER TO R1
   4033	003516					CALL	PARERC		; ....DO COMMON CODE
	003516	004737 	003436'			 JSR	PC,PARERC
   4034	003522					POP	R0		; ....RESTORE THE ERROR CODE
	003522	012600 				 MOV	(SP)+,R0
   4035	003524					CALL	.TYR50		; ...PRINT IT
	003524	004737 	026404'			 JSR	PC,.TYR50
   4036	003530	000707 				BR	30$		; ...AND EXIT
   4037						;
   4038
   4039						.DSABL	LSB
   4040
   4041	001602				.PSECT	DATA
   4042
   4043	001602				UECMSP:
   4044	001602	000057'				.WORD	UECMSG
   4045
   4046	000057				.PSECT	MESSAG
   4047
   4048	000057				UECMSG:
   4049	000057	   125 	   116 	   115 		.ASCIZ	%UNMATCHED ERROR CODE "%
	000062	   101 	   124 	   103
	000065	   110 	   105 	   104
	000070	   040 	   105 	   122
	000073	   122 	   117 	   122
	000076	   040 	   103 	   117
	000101	   104 	   105 	   040
	000104	   042 	   000
   4050
   4051	003532				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 103
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   4053	003532				.SECES::
   4054	003532					CALL	PARERC		; ...DO COMMON CODE
	003532	004737 	003436'			 JSR	PC,PARERC
   4055	003536					CALL	.RDIPE		; ...READ THE ERROR BITS
	003536	004737 	011420'			 JSR	PC,.RDIPE
   4056	003542					PUSH	R0		; ....SAVE THEM
	003542	010046 				 MOV	R0,-(SP)
   4057	003544	001420 				BEQ	30$		; ....BAD NEWS IF NONE THERE
   4058	003546	012701 	001604'			MOV	#SPCEST,R1	; ....TABLE POINTER TO R1
   4059	003552				10$:
   4060	003552	032716 	000001 			BIT	#BIT00,(SP)	; ....IS THE BIT ON
   4061	003556	001407 				BEQ	20$		; ....NO -- GO ON
   4062	003560	011100 				MOV	(R1),R0		; ....YES -- SAY SO
   4063	003562					CALL	.TYMSG		; ....PRINT IT
	003562	004737 	026202'			 JSR	PC,.TYMSG
   4064	003566					CALL	.TYCOM		; ....PRINT A COMMA
	003566	004737 	025424'			 JSR	PC,.TYCOM
   4065	003572					CALL	.TYSPC		; ....AND A SPACE
	003572	004737 	025454'			 JSR	PC,.TYSPC
   4066	003576				20$:
   4067	003576	005721 				TST	(R1)+		; ....ADVANCE THE POINTER
   4068	003600	006216 				ASR	(SP)		; ....SHIFT THE ERROR BITS
   4069	003602	001363 				BNE	10$		; ....AND KEEP GOING
   4070	003604	000404 				BR	40$		; ....FINISHED -- EXIT
   4071						;
   4072	003606				30$:
   4073	003606	012700 	000121'			MOV	#NEBMSG,R0	; ....NO ERROR BIT ARE SET
   4074	003612					CALL	.TYMSG		; ....SAY SO
	003612	004737 	026202'			 JSR	PC,.TYMSG
   4075	003616				40$:
   4076	003616	005726 				TST	(SP)+		; ....FLUSH THE STACK
   4077	003620	000620 				BR	PARERX		; ...AND EXIT
   4078						;
   4079
   4080	001604				.PSECT	DATA
   4081
   4082	001604				SPCEST:
   4083	001604	000106'				.WORD	ERSMSG
   4084	001606	003134'				.WORD	DRMMSG
   4085	001610	003025'				.WORD	CRMMSG
   4086	001612	002447'				.WORD	FMMSG
   4087	001614	003150'				.WORD	FSSMSG
   4088
   4089	003622				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 104
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   4091	000106				.PSECT	MESSAG
   4092
   4093	000106				ERSMSG:
   4094	000106	   105 	   122 	   122 		.ASCIZ	%ERROR STOP%
	000111	   117 	   122 	   040
	000114	   123 	   124 	   117
	000117	   120 	   000
   4095	000121				NEBMSG:
   4096	000121	   116 	   117 	   040 		.ASCIZ	%NO ERROR STOP BITS SET%
	000124	   105 	   122 	   122
	000127	   117 	   122 	   040
	000132	   123 	   124 	   117
	000135	   120 	   040 	   102
	000140	   111 	   124 	   123
	000143	   040 	   123 	   105
	000146	   124 	   000
   4097
   4098	003622				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 105
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24

   4100					.SBTTL	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
   4101
   4102					;+
   4103					; .PTDIE -- RECURSIVE TRAP HANDLER.
   4104					;
   4105					; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
   4106					; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
   4107					; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
   4108					; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
   4109					; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
   4110					; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
   4111					;
   4112					; ERROR CODES RETURNED:
   4113					;
   4114					;	NONE.
   4115					;-
   4116
   4117
   4118	003622				.PTDIE::
   4119	003622	005337 	000150'			DEC	.TRPIP		; ..DECREMENT THE INTERLOCK
   4120	003626	001423 				BEQ	20$		; ..KILL NOW IF RECURSIVE
   4121	003630					PUSH	R0		; ..SAVE R0
	003630	010046 				 MOV	R0,-(SP)
   4122	003632	012700 	000174'			MOV	#.SSTTB,R0	; ...TABLE POINTER TO R0
   4123	003636				10$:
   4124	003636	005020 				CLR	(R0)+		; ...CLEAR THIS ENTRY
   4125	003640	020027 	000212'			CMP	R0,#SSTTBE	; ...ARE WE DONE?
   4126	003644	003774 				BLE	10$		; ...NO -- KEEP GOING
   4127	003646					CALL	.TCRLF		; ...START THE LINE
	003646	004737 	026272'			 JSR	PC,.TCRLF
   4128	003652	012700 	000150'			MOV	#PTRTEM,R0	; ...RECURSIVE ERROR MESSAGE
   4129	003656					CALL	.TYLIN		; ...PRINT IT
	003656	004737 	026166'			 JSR	PC,.TYLIN
   4130	003662	016600 	000002 			MOV	2(SP),R0	; ...GET THE TRAP PC
   4131	003666					CALL	.TYELN		; ...TYPE THAT
	003666	004737 	025506'			 JSR	PC,.TYELN
   4132	003672					CALL	.TCRLF		; ...END THE LINE
	003672	004737 	026272'			 JSR	PC,.TCRLF
   4133	003676				20$:
   4134	003676	000004 				IOT			; ...AND GO AWAY
   4135						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 106
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   4137					.SBTTL	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
   4138
   4139					;+
   4140					; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
   4141					;
   4142					; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
   4143					; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
   4144					; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
   4145					; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
   4146					; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
   4147					;
   4148					; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
   4149					;		  ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
   4150					;
   4151					; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
   4152					;		  STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
   4153					;		  THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
   4154					;		  RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
   4155					;
   4156					; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
   4157					;		  THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
   4158					;		  THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
   4159					;		  OF THE KL. THE VALUE OF "TC.ERR" IS 0.
   4160					;
   4161					; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
   4162					;		  THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
   4163					;		  THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
   4164					;		  ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
   4165					;
   4166					; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
   4167					; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
   4168					;
   4169					; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
   4170					; THE FOLLOWING INFORMATION:
   4171					;
   4172					;		!=======================================!
   4173					; 6(SP)==>	!	    TRAP ERROR CODE		!
   4174					;		!---------------------------------------!
   4175					; 4(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   4176					;		!---------------------------------------!
   4177					; 2(SP)==>	!	  TRAP PROGRAM COUNTER		!
   4178					;		!---------------------------------------!
   4179					; (SP)==>	!	  TRAP STATUS BYTE * 2		!
   4180					;		!=======================================!
   4181					;
   4182					; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
   4183					;
   4184					; ERROR CODES RETURNED:
   4185					;
   4186					;	RTH -- RECURSION IN TRAP HANDLER.
   4187					;	UEC -- UNMATCHED ERROR CODE.
   4188					;-
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 107
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   4190	003700				.PTTRP::
   4191	003700	005337 	000150'			DEC	.TRPIP		; ....DECREMENT THE TRAP IN PROGRESS FLAG
   4192	003704	002471 				BLT	30$		; ....SECOND RECURSION -- KILL TASK
   4193	003706	011637 	000156'			MOV	(SP),.TRPSB	; ....SAVE THE TRAP STATUS BYTE
   4194	003712	016637 	000002 	000152'		MOV	2(SP),.TRPPC	; ....SAVE THE TRAP PC
   4195	003720	016637 	000004 	000154'		MOV	4(SP),.TRPPS	; ....SAVE THE TRAP PSW
   4196	003726	016637 	000006 	000146'		MOV	6(SP),.TRPEC	; ....SAVE THE TRAP ERROR CODE
   4197	003734					CALL	R5,.REGSV	; ....SAVE TRAP REGISTERS
	003734	004537 	012512'			 JSR	R5,.REGSV
   4198	003740					PUSH	R0		; ....SAVE R0 TOO
	003740	010046 				 MOV	R0,-(SP)
   4199	003742	105737 	000156'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
   4200	003746	003405 				BLE	10$		; .....DON'T TRY TO RECOVER THE KL
   4201	003750	005737 	000140'			TST	.SVKLF		; .....DID WE SAVE THE PREVIOUS STATE?
   4202	003754	001402 				BEQ	10$		; .....NO -- FORGET RECOVERY
   4203	003756					CALL	.RSTKL		; .....RESTORE THE KL
	003756	004737 	011734'			 JSR	PC,.RSTKL
   4204	003762				10$:
   4205	003762	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; .....RESET THE INPUT RADIX
   4206	003770	013737 	000120'	000106'		MOV	.RDXSV,.ORADX	; .....AND OUTPUT RADIX
   4207	003776	122737 	000004 	000156'		CMPB	#TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
   4208	004004	001425 				BEQ	20$		; .....YES -- JUST RESTART THE PARSER
   4209	004006	013700 	000160'			MOV	.TRPTV,R0	; .....NO -- IS THIS A NORMAL TRAP??
   4210	004012	001406 				BEQ	15$		; .....YES -- GO ON
   4211	004014	010006 				MOV	R0,SP		; .....NO -- RESET THE STACK
   4212	004016	005237 	000150'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
   4213	004022	005037 	000160'			CLR	.TRPTV		; .....RESET THE TRAP TRAP VECTOR
   4214	004026					CALLR	@(SP)+		; .....AND GO AWAY TO OTHER ROUTINE
	004026	000136 				 JMP	@(SP)+
   4215						;
   4216	004030				15$:
   4217	004030					CALL	.TCRLF		; .....GIVE A FREE <CRLF>
	004030	004737 	026272'			 JSR	PC,.TCRLF
   4218	004034	013700 	000146'			MOV	.TRPEC,R0	; .....GET THE ERROR CODE IN R0
   4219	004040					CALL	.PARER		; .....DECODE AND PRINT THE ERROR
	004040	004737 	003206'			 JSR	PC,.PARER
   4220	004044	005737 	000150'			TST	.TRPIP		; .....IS THIS A RECURSIVE TRAP?
   4221	004050	001407 				BEQ	30$		; .....YES -- GIVE UP
   4222	004052	105737 	000156'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
   4223	004056	002413 				BLT	40$		; .....RECOVER THE ERROR
   4224	004060				20$:
   4225	004060	005237 	000150'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
   4226	004064	000177 	000134'			JMP	@.STRTV		; .....RESTART THE PARSER
   4227						;
   4228
   4229					;	[CONTINUED ON THE FOLLOWING PAGE]
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 108
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   4231					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4232
   4233	004070				30$:				; .....HERE ON RECURSIVE TRAP
   4234	004070	012700 	000220'			MOV	#PTRTHM,R0	; .....MESSAGE POINTER
   4235	004074					CALL	.TYLIN		; .....PRINT IT
	004074	004737 	026166'			 JSR	PC,.TYLIN
   4236	004100					CALL	.TCRLF		; .....END THE LINE
	004100	004737 	026272'			 JSR	PC,.TCRLF
   4237	004104	000004 				IOT			; .....AND GO "RIBIT"
   4238						;
   4239	004106				40$:				; .....HERE TO RECOVER THE ERROR
   4240	004106	005237 	000150'			INC	.TRPIP		; .....DECREMENT THE INTERLOCK
   4241	004112					POP	R0		; .....RESTORE R0
	004112	012600 				 MOV	(SP)+,R0
   4242	004114					CALL	@(SP)+		; ....AND THE OTHER REGISTERS
	004114	004736 				 JSR	PC,@(SP)+
   4243	004116	005726 				TST	(SP)+		; ....GET OVER THE TRAP STATUS BYTE
   4244	004120	000002 				RTI			; ...TO WHEREVER WE WERE CALLED FROM
   4245						;
   4246
   4247	000150				.PSECT	MESSAG
   4248
   4249	000150				PTRTEM:
   4250	000150	   120 	   101 	   122 		.ASCIZ	%PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
	000153	   040 	   055 	   055
	000156	   040 	   052 	   106
	000161	   101 	   124 	   101
	000164	   114 	   052 	   040
	000167	   122 	   105 	   103
	000172	   125 	   122 	   123
	000175	   111 	   126 	   105
	000200	   040 	   124 	   122
	000203	   101 	   120 	   040
	000206	   106 	   122 	   117
	000211	   115 	   040 	   120
	000214	   103 	   072 	   040
	000217	   000
   4251	000220				PTRTHM:
   4252	000220	   120 	   101 	   122 		.ASCIZ	%PAR -- RTH - RECURSION IN TRAP HANDLER%
	000223	   040 	   055 	   055
	000226	   040 	   122 	   124
	000231	   110 	   040 	   055
	000234	   040 	   122 	   105
	000237	   103 	   125 	   122
	000242	   123 	   111 	   117
	000245	   116 	   040 	   111
	000250	   116 	   040 	   124
	000253	   122 	   101 	   120
	000256	   040 	   110 	   101
	000261	   116 	   104 	   114
	000264	   105 	   122 	   000
   4253
   4254	004122				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 109
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   4256					.SBTTL	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
   4257
   4258					;+
   4259					; .PTOAT -- TRAP AT 4 TRAP HANDLER.
   4260					;
   4261					; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
   4262					; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
   4263					; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
   4264					; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
   4265					;
   4266					; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
   4267					; THE FOLLOWING INFORMATION:
   4268					;
   4269					;		!=======================================!
   4270					; 2(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   4271					;		!---------------------------------------!
   4272					; (SP)==>	!	  TRAP PROGRAM COUNTER		!
   4273					;		!=======================================!
   4274					;
   4275					; ERROR CODES RETURNED:
   4276					;
   4277					;	NONE.
   4278					;-
   4279
   4280	004122				.PTOAT::
   4281	004122					POP	.TRPPC		; ..SAVE THE TRAP PC
	004122	012637 	000152'			 MOV	(SP)+,.TRPPC
   4282	004126					POP	.TRPPS		; .AND THE TRAP PSW
	004126	012637 	000154'			 MOV	(SP)+,.TRPPS
   4283	004132					CALL	R5,.REGSV	; SAVE THE REGISTERS FROM TRAP
	004132	004537 	012512'			 JSR	R5,.REGSV
   4284	004136					PUSH	R0		; AND R0
	004136	010046 				 MOV	R0,-(SP)
   4285	004140	012737 	003622'	000174'		MOV	#.PTDIE,.SSTTB	; .SET UP TO DIE ON RECURSION
   4286	004146					CALL	.TCRLF		; .GIVE A FREE <CRLF>
	004146	004737 	026272'			 JSR	PC,.TCRLF
   4287	004152	012700 	000267'			MOV	#PTOATM,R0	; .GET THE MESSAGE POINTER
   4288	004156					CALL	.TYMSG		; .TYPE IT
	004156	004737 	026202'			 JSR	PC,.TYMSG
   4289	004162	013700 	000034'			MOV	.EDELA,R0	; .ADDRESS TO R0
   4290	004166					CALL	.TYELN		; .TYPE THAT
	004166	004737 	025506'			 JSR	PC,.TYELN
   4291	004172					CALL	.TCRLF		; .AND A CRLF
	004172	004737 	026272'			 JSR	PC,.TCRLF
   4293	004176	005737 	000016'			TST	.DBGSW		; .IS THE DEBUG SWITCH SET?
   4294	004202	001403 				BEQ	10$		; .NO -- JUST RESTART
   4295	004204					POP	R0		; .RESTORE R0
	004204	012600 				 MOV	(SP)+,R0
   4296	004206					CALL	@(SP)+		; .AND THE REGISTERS
	004206	004736 				 JSR	PC,@(SP)+
   4297	004210	000000 				HALT			; SO WE CAN LOOK
   4298	004212				10$:
   4300	004212	005037 	000174'			CLR	.SSTTB		; RESET THE TRAP VECTOR
   4301	004216	000177 	000134'			JMP	@.STRTV		; .AND START OVER
   4302						;
   4303
   4304	000267				.PSECT	MESSAG
ERROR -- PARSER ERROR HANDLER M	MACRO M1110  03-OCT-79 11:35  PAGE 109-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   4305
   4306	000267				PTOATM:
   4307	000267	   120 	   101 	   122 		.ASCIZ	%PAR -- ILLEGAL MEMORY REFERENCE TO: %
	000272	   040 	   055 	   055
	000275	   040 	   111 	   114
	000300	   114 	   105 	   107
	000303	   101 	   114 	   040
	000306	   115 	   105 	   115
	000311	   117 	   122 	   131
	000314	   040 	   122 	   105
	000317	   106 	   105 	   122
	000322	   105 	   116 	   103
	000325	   105 	   040 	   124
	000330	   117 	   072 	   040
	000333	   000
   4308
   4309	004222				.PSECT
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1110  03-OCT-79 11:35  PAGE 110
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   4311					.TITLE	EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
   4312
   4313						.IDENT	"005000"
   4314					;
   4315					;                             COPYRIGHT (C) 1975, 1979 BY
   4316					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   4317					;
   4318					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   4319					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   4320					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   4321					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   4322					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   4323					;
   4324					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   4325					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   4326					;       CORPORATION.
   4327					;
   4328					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   4329					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   4330					;
   4331					;		MODULE: EXECUTE COMMAND
   4332					;
   4333					;		VERSION: 05-00
   4334					;
   4335					;		AUTHOR: R. BELANGER
   4336					;
   4337					;		DATE: 7603.30
   4338					;
   4339					;	THIS MODULE CONTAINS:
   4340					;
   4341					;	1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1110  03-OCT-79 11:35  PAGE 111
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   4343					.SBTTL	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
   4344
   4345					;+
   4346					; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
   4347					;
   4348					; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
   4349					;
   4350					; INPUT ARGUMENTS:
   4351					;
   4352					; 	R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
   4353					;
   4354					; OUTPUT ARGUMENTS:
   4355					;
   4356					;	NONE.
   4357					;
   4358					; ERROR CODES RETURNED:
   4359					;
   4360					;	IOC -- ILLEGAL KL OPCODE.
   4361					;	MRA -- MISSING REQUIRED ARGUMENT.
   4362					;	XTO -- KL EXECUTE TIMED OUT.
   4363					;-
   4364
   4365	004222				.EXCTC::			; HERE FROM PARSER
   4366	004222	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   4367	004224	005046 				CLR	-(SP)		; .
   4368	004226	005046 				CLR	-(SP)		; ..
   4369	004230	010600 				MOV	SP,R0		; ...POINT TO IT
   4370	004232					CALL	.GTKLN		; ...READ THE INSTRUCTION
	004232	004737 	024362'			 JSR	PC,.GTKLN
   4371	004236					CALL	.CKEOC		; ...CHECK E-O-C CHARACTER
	004236	004737 	000264'			 JSR	PC,.CKEOC
   4372	004242	032760 	000017 	000004 		BIT	#17,4(R0)	; ...CHECK HIGH PART OF OPCODE
   4373	004250	001005 				BNE	10$		; ...OK -- GO ON
   4374	004252	032760 	174000 	000002 		BIT	#^C3777,2(R0)	; ...CHECK LOW PART OF OPCODE
   4375	004260	001403 				BEQ	EXCIOC		; ...NONE THERE -- GIVE "IOC" ERROR
   4376	004262	010600 				MOV	SP,R0		; ...POINT TO THE INSTRUCTION
   4377	004264				10$:
   4378	004264					CALLR	.EXECT		; ...ALL OK -- GO DO IT
	004264	000137 	007356'			 JMP	.EXECT
   4379						;
   4380	004270				EXCIOC:
   4381	004270					ERROR$	IOC		; ERROR -- ILLEGAL OPCODE
	004270	012746 	035233 			 MOV	#^RIOC,-(SP)
	004274	104400 				 TRAP	TC.ERR
   4382						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 112
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   4384					.TITLE	EXREG -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
   4385
   4386						.IDENT	"005000"
   4387					;
   4388					;                             COPYRIGHT (C) 1975, 1979 BY
   4389					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   4390					;
   4391					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   4392					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   4393					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   4394					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   4395					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   4396					;
   4397					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   4398					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   4399					;       CORPORATION.
   4400					;
   4401					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   4402					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   4403					;
   4404					;		MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
   4405					;
   4406					;		VERSION: 01-01
   4407					;
   4408					;		AUTHOR: R. BELANGER
   4409					;
   4410					;		DATE: 7603.30
   4411					;
   4412					;	THIS MODULE CONTAINS:
   4413					;
   4414					;	1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 113
.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16

   4416					.SBTTL	.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16
   4417
   4418						.ENABL	LSB
   4419
   4420	004276				.EXAD::				; ADDER REGISTER
   4421	004276	012700 	005310'			MOV	#.RDADR,R0	; DISPATCH POINTER TO R0
   4422	004302	000445 				BR	20$		; DO COMMON CODE
   4423						;
   4424	004304				.EXADX::			; ADDRER EXTENSION
   4425	004304	012700 	005316'			MOV	#.RDADX,R0	; DISPATCH POINTER TO R0
   4426	004310	000442 				BR	20$		; DO COMMON CODE
   4427						;
   4428	004312				.EXARR::			; ARITHMETIC REGISTER
   4429	004312	012700 	005324'			MOV	#.RDARR,R0	; DISPATCH POINTER TO R0
   4430	004316	000437 				BR	20$		; DO COMMON CODE
   4431						;
   4432	004320				.EXARX::			; AR EXTENSION
   4433	004320	012700 	005332'			MOV	#.RDARX,R0	; DISPATCH POINTER TO R0
   4434	004324	000434 				BR	20$		; DO COMMON CODE
   4435						;
   4436	004326				.EXBRR::			; BUFFER REGISTER
   4437	004326	012700 	005340'			MOV	#.RDBRR,R0	; DISPATCH POINTER TO R0
   4438	004332	000431 				BR	20$		; DO COMMON CODE
   4439						;
   4440	004334				.EXBRX::			; BR EXTENSION
   4441	004334	012700 	005346'			MOV	#.RDBRX,R0	; DISPATCH POINTER TO R0
   4442	004340	000426 				BR	20$		; DO COMMON CODE
   4443						;
   4444	004342				.EXEBS::			; EBUS REGISTER
   4445	004342	012700 	005354'			MOV	#.RDEBS,R0	; DISPATCH POINTER TO R0
   4446	004346	000423 				BR	20$		; DO COMMON CODE
   4447						;
   4448	004350				.EXFMR::			; FAST MEMORY REGISTER
   4449	004350	012700 	005362'			MOV	#.RDFMR,R0	; DISPATCH POINTER TO R0
   4450	004354	000420 				BR	20$		; DO COMMON CODE
   4451						;
   4452	004356				.EXMQR::			; MQ REGSITER
   4453	004356	012700 	005370'			MOV	#.RDMQR,R0	; DISPATCH POINTER TO R0
   4454	004362	000415 				BR	20$		; DO COMMON CODE
   4455						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 114
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   4457					.SBTTL	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
   4458
   4459	004364				.EXVAB::			; ADDRESS BREAK REGISTER
   4460	004364	012700 	005740'			MOV	#.RDVAB,R0	; DISPATCH POINTER TO R0
   4461	004370	000410 				BR	10$		; DO COMMON CODE
   4462						;
   4463	004372				.EXVMA::			; VMA REGISTER
   4464	004372	012700 	005746'			MOV	#.RDVMA,R0	; DISPATCH POINTER TO R0
   4465	004376	000405 				BR	10$		; DO COMMON CODE
   4466						;
   4467	004400				.EXVMH::			; VMA HELD REGISTER
   4468	004400	012700 	005754'			MOV	#.RDVMH,R0	; DISPATCH POINTER TO R0
   4469	004404	000402 				BR	10$		; DO COMMON CODE
   4470						;
   4471	004406				.EXVPC::			; PROGRAM COUNTER
   4472	004406	012700 	005732'			MOV	#.RDVPC,R0	; DISPATCH POINTER TO R0
   4473					;	BR	10$		; DO COMMON CODE
   4474						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 115
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   4476					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4477
   4478	004412				10$:				; HERE FOR VMA BOARD EXAMINES
   4479	004412	005037 	000100'			CLR	.LDZFL		; DON'T PRINT LEADING ZEROES
   4480	004416				20$:				; HERE FOR DATA PATH BOARD EXAMINES
   4481	004416					CALL	.CKEOC		; CHECK E-O-C
	004416	004737 	000264'			 JSR	PC,.CKEOC
   4482	004422	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   4483	004424	005046 				CLR	-(SP)		; .
   4484	004426	005046 				CLR	-(SP)		; ..
   4485	004430	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   4486	004432					PUSH	R0		; ...SAVE THE DISPATCH ADDRESS
	004432	010046 				 MOV	R0,-(SP)
   4487	004434					CALL	.STPKL		; ....STOP THE KL
	004434	004737 	012012'			 JSR	PC,.STPKL
   4488	004440					CALL	@(SP)+		; ....READ THE REGISTER
	004440	004736 				 JSR	PC,@(SP)+
   4489	004442					CALL	.RSTKL		; ...YES -- RESTART THE KL
	004442	004737 	011734'			 JSR	PC,.RSTKL
   4490	004446	010200 				MOV	R2,R0		; ...MESSAGE POINTER TO R0
   4491	004450					CALL	.TYMSG		; ...PRINT IT
	004450	004737 	026202'			 JSR	PC,.TYMSG
   4492	004454					CALL	.TYSLS		; ...NOW A SLASH
	004454	004737 	025444'			 JSR	PC,.TYSLS
   4493	004460					CALL	.TYSPC		; ...AND A SPACE
	004460	004737 	025454'			 JSR	PC,.TYSPC
   4494	004464	010100 				MOV	R1,R0		; ...POINT TO THE DATA
   4495	004466					CALL	.TYKLN		; ...PRINT THAT
	004466	004737 	025676'			 JSR	PC,.TYKLN
   4496	004472	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   4497	004476					CALLR	.TCRLF		; ...END THE LINE AND EXIT
	004476	000137 	026272'			 JMP	.TCRLF
   4498						;
   4499
   4500						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 116
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   4502					.SBTTL	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
   4503
   4504					;+
   4505					; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
   4506					;
   4507					; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
   4508					; CONSOLE DEVICE.
   4509					;
   4510					; INPUT ARGUMENTS:
   4511					;
   4512					;	NONE.
   4513					;
   4514					; OUTPUT ARGUMENTS:
   4515					;
   4516					;	NONE.
   4517					;
   4518					; ERROR CODES RETURNED:
   4519					;
   4520					;	NONE.
   4521					;-
   4522
   4523	004502				.EXAMF::
   4524	004502					CALL	.CKEOC		; CHECK E-O-C
	004502	004737 	000264'			 JSR	PC,.CKEOC
   4525	004506					CALL	.STPKL		; STOP THE KL
	004506	004737 	012012'			 JSR	PC,.STPKL
   4526	004512					CALL	.RDFLG		; READ THE FLAGS
	004512	004737 	005400'			 JSR	PC,.RDFLG
   4527	004516					CALL	.RSTKL		; RESTART THE KL
	004516	004737 	011734'			 JSR	PC,.RSTKL
   4528	004522	010001 				MOV	R0,R1		; FLAGS TO R1
   4529	004524	001422 				BEQ	30$		; NONE ON -- SAY SO
   4530	004526	012700 	000377'			MOV	#EXFMSG,R0	; HEADER
   4531	004532					CALL	.TYLIN		; PRINT IT
	004532	004737 	026166'			 JSR	PC,.TYLIN
   4532	004536				10$:
   4533	004536	012700 	000363'			MOV	#FONMSG,R0	; ASSUME IT IS ON
   4534	004542	032701 	010000 			BIT	#BIT12,R1	; IS THE FLAG ON?
   4535	004546	001002 				BNE	20$		; YES -- GO ON
   4536	004550	012700 	000371'			MOV	#FOFMSG,R0	; NO -- SAY SO
   4537	004554				20$:
   4538	004554					CALL	.TYMSG		; PRINT THE STATE OF THE BIT
	004554	004737 	026202'			 JSR	PC,.TYMSG
   4539	004560	042701 	010000 			BIC	#BIT12,R1	; CLEAR THIS BIT OUT
   4540	004564	006301 				ASL	R1		; MOVE NEXT BIT IN
   4541	004566	001363 				BNE	10$		; LOOP TILL R1 .EQ. 0
   4542	004570	000404 				BR	40$		; DONE -- EXIT
   4543	004572				30$:
   4544	004572	012700 	000334'			MOV	#NOFMSG,R0	; "NO FLAGS"
   4545	004576					CALL	.TYMSG		; PRINT IT
	004576	004737 	026202'			 JSR	PC,.TYMSG
   4546	004602				40$:
   4547	004602					CALLR	.TCRLF		; END LINE AND RETURN
	004602	000137 	026272'			 JMP	.TCRLF
   4548						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 117
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   4550	000334				.PSECT	MESSAG
   4551
   4552	000334				NOFMSG:
   4553	000334	   116 	   117 	   040 		.ASCIZ	%NO KL PC FLAGS ARE SET%
	000337	   113 	   114 	   040
	000342	   120 	   103 	   040
	000345	   106 	   114 	   101
	000350	   107 	   123 	   040
	000353	   101 	   122 	   105
	000356	   040 	   123 	   105
	000361	   124 	   000
   4554	000363				FONMSG:
   4555	000363	   040 	   040 	   130 		.ASCIZ	%  X  %
	000366	   040 	   040 	   000
   4556	000371				FOFMSG:
   4557	000371	   040 	   040 	   040 		.ASCIZ	%     %
	000374	   040 	   040 	   000
   4558	000377				EXFMSG:
   4559	000377	   040 	   117 	   126 		.ASCIZ	% OVF  CY0  CY1  FOV  BIS  USR  UIO  LIP  AFI  AT1  AT0  FUF  NDV%
	000402	   106 	   040 	   040
	000405	   103 	   131 	   060
	000410	   040 	   040 	   103
	000413	   131 	   061 	   040
	000416	   040 	   106 	   117
	000421	   126 	   040 	   040
	000424	   102 	   111 	   123
	000427	   040 	   040 	   125
	000432	   123 	   122 	   040
	000435	   040 	   125 	   111
	000440	   117 	   040 	   040
	000443	   114 	   111 	   120
	000446	   040 	   040 	   101
	000451	   106 	   111 	   040
	000454	   040 	   101 	   124
	000457	   061 	   040 	   040
	000462	   101 	   124 	   060
	000465	   040 	   040 	   106
	000470	   125 	   106 	   040
	000473	   040 	   116 	   104
	000476	   126 	   000
   4560
   4561	004606				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 118
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

   4563					.SBTTL	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
   4564
   4565					;+
   4566					; .EXAMK -- THE "EXAMINE KL" COMMAND
   4567					;
   4568					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
   4569					; CONSOLE DEVICE:
   4570					;
   4571					;	(A) KL PROGRAM COUNTER
   4572					;	(B) KL VMA REGISTER
   4573					;	(C) KL PI SYSTEM STATE
   4574					;	(D) KL PC FLAGS
   4575					;
   4576					; INPUT ARGUMENTS:
   4577					;
   4578					;	NONE.
   4579					;
   4580					; OUTPUT ARGUMENTS:
   4581					;
   4582					;	NONE.
   4583					;
   4584					; ERROR CODES RETURNED:
   4585					;
   4586					;	NONE.
   4587					;-
   4588
   4589	004606				.EXAMK::
   4590	004606					CALL	.CKEOC		; CHECK E-O-C
	004606	004737 	000264'			 JSR	PC,.CKEOC
   4591	004612					PUSH	.KLFLG		; SAVE ".KLFLG"
	004612	013746 	000000G			 MOV	.KLFLG,-(SP)
   4592	004616					CALL	.STPKL		; .STOP THE KL
	004616	004737 	012012'			 JSR	PC,.STPKL
   4593	004622	012702 	002455'			MOV	#PCMSG,R2	; .MESSAGE POINTER TO R2
   4594	004626					CALL	.EXVPC		; .READ AND PRINT THE KL PC
	004626	004737 	004406'			 JSR	PC,.EXVPC
   4595	004632	012702 	002547'			MOV	#VMAMSG,R2	; .MESSAGE POINTER TO R2
   4596	004636					CALL	.EXVMA		; .READ AND PRINT THE KL VMA
	004636	004737 	004372'			 JSR	PC,.EXVMA
   4597	004642					CALL	.EXMPI		; .DISPLAY THE PI SYSTEM
	004642	004737 	005074'			 JSR	PC,.EXMPI
   4598	004646					CALL	.EXAMF		; .DISPLAY THE KL PC FLAGS
	004646	004737 	004502'			 JSR	PC,.EXAMF
   4599	004652					POP	.SVKLF		; .SET UP ".SVKLF"
	004652	012637 	000140'			 MOV	(SP)+,.SVKLF
   4600	004656					CALLR	.RSTKL		; RESTART THE KL
	004656	000137 	011734'			 JMP	.RSTKL
   4601						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 119
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   4603					.SBTTL	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
   4604
   4605						.ENABL	LSB
   4606
   4607	004662				.EXCRA::			; CRAM ADDRESS REGISTER
   4608	004662	012700 	005604'			MOV	#.RDCRA,R0	; DISPATCH POINTER TO R0
   4609	004666	000416 				BR	10$		; DO COMMON CODE
   4610						;
   4611	004670				.EXCRL::			; CRAM LOC REGISTER
   4612	004670	012700 	005612'			MOV	#.RDCRL,R0	; DISPATCH POINTER TO R0
   4613	004674	000413 				BR	10$		; DO COMMON CODE
   4614						;
   4615	004676				.EXDRA::			; DRAM ADDRESS REGISTER
   4616	004676	012700 	005620'			MOV	#.RDDRA,R0	; DISPATCH POINTER TO R0
   4617	004702	000410 				BR	10$		; DO COMMON CODE
   4618						;
   4619	004704				.EXFER::			; FLOATING EXPONENT REGISTER
   4620	004704	012700 	005626'			MOV	#.RDFER,R0	; DISPATCH POINTER TO R0
   4621	004710	000405 				BR	10$		; DO COMMON CODE
   4622						;
   4623	004712				.EXSBR::			; CRAM SBR RET REGISTER
   4624	004712	012700 	005634'			MOV	#.RDSBR,R0	; DISPATCH POINTER TO R0
   4625	004716	000402 				BR	10$		; DO COMMON CODE
   4626						;
   4627	004720				.EXSCR::
   4628	004720	012700 	005642'			MOV	#.RDSCR,R0	; DISPATCH POINTER TO R0
   4629					;	BR	10$		; DO COMMON CODE
   4630						;
   4631
   4632					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 120
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   4634					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4635
   4636	004724				10$:				; HERE FOR SMALL REGISTER READS
   4637	004724					CALL	.CKEOC		; CHECK E-O-C
	004724	004737 	000264'			 JSR	PC,.CKEOC
   4638	004730					PUSH	R0		; SAVE DISPATCH ADDRESS
	004730	010046 				 MOV	R0,-(SP)
   4639	004732					CALL	.STPKL		; .STOP THE KL
	004732	004737 	012012'			 JSR	PC,.STPKL
   4640	004736					CALL	@(SP)+		; .READ THE REGISTER
	004736	004736 				 JSR	PC,@(SP)+
   4641	004740					PUSH	R0		; SAVE THE REGISTER DATA
	004740	010046 				 MOV	R0,-(SP)
   4642	004742					CALL	.RSTKL		; .YES -- RESTART THE KL
	004742	004737 	011734'			 JSR	PC,.RSTKL
   4643	004746	010200 				MOV	R2,R0		; .MESSAGE POINTER TO R0
   4644	004750					CALL	.TYMSG		; .PRINT IT
	004750	004737 	026202'			 JSR	PC,.TYMSG
   4645	004754					CALL	.TYSLS		; .AND A SLASH
	004754	004737 	025444'			 JSR	PC,.TYSLS
   4646	004760					CALL	.TYSPC		; .AND A SPACE
	004760	004737 	025454'			 JSR	PC,.TYSPC
   4647	004764					POP	R0		; .GET THE DATA
	004764	012600 				 MOV	(SP)+,R0
   4648	004766					CALL	.TYELN		; PRINT IT
	004766	004737 	025506'			 JSR	PC,.TYELN
   4649	004772					CALLR	.TCRLF		; END THE LINE AND EXIT
	004772	000137 	026272'			 JMP	.TCRLF
   4650						;
   4651
   4652						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 121
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   4654					.SBTTL	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
   4655
   4656					;+
   4657					; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
   4658					;
   4659					; THIS ROUTINE WILL READ AND DISPLAY THE CONTENT OF THE DTE-20
   4660					; DIAG1, DIAG2, DIAG3, AND STATUS REGISTERS ON THE CONSOLE DEVICE.
   4661					;
   4662					; INPUT ARGUMENTS:
   4663					;
   4664					;	NONE.
   4665					;
   4666					; OUTPUT ARGUMENTS:
   4667					;
   4668					;	NONE.
   4669					;
   4670					; ERROR CODES RETURNED:
   4671					;
   4672					;	NONE.
   4673					;-
   4674
   4675	004776				.EXDTE::
   4676	004776					CALL	.CKEOC		; CHECK E-O-C
	004776	004737 	000264'			 JSR	PC,.CKEOC
   4677	005002	012701 	001616'			MOV	#EXDTET,R1	; TABLE POINTER TO R1
   4678	005006	012702 	000004 			MOV	#^D4,R2		; ITERATION COUNT TO R2
   4679	005012				10$:
   4680	005012					CALL	@(R1)+		; READ THE REGISTER
	005012	004731 				 JSR	PC,@(R1)+
   4681	005014					PUSH	R0		; <PUSH> SAVE IT
	005014	010046 				 MOV	R0,-(SP)
   4682	005016	077203 				SOB	R2,10$		; UNTIL ALL FOUR HAVE BEEN READ
   4683	005020	012700 	002507'			MOV	#DTEMSG,R0	; MESSAGE POINTER TO R0
   4684	005024					CALL	.TYLIN		; PRINT IT
	005024	004737 	026166'			 JSR	PC,.TYLIN
   4685	005030	012702 	000004 			MOV	#^D4,R2		; ITERATION COUNT TO R2
   4686
   4687					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 122
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   4689					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4690
   4691	005034				20$:
   4692	005034					CALL	.TYSPC		; TYPE A <SPACE>
	005034	004737 	025454'			 JSR	PC,.TYSPC
   4693	005040	012100 				MOV	(R1)+,R0	; MESSAGE POINTER TO R0
   4694	005042					CALL	.TYMSG		; TYPE IT
	005042	004737 	026202'			 JSR	PC,.TYMSG
   4695	005046					CALL	.TYSLS		; AND A SLASH
	005046	004737 	025444'			 JSR	PC,.TYSLS
   4696	005052					CALL	.TYSPC		; AND A <SPACE>
	005052	004737 	025454'			 JSR	PC,.TYSPC
   4697	005056					POP	R0		; <POP> GET THE REGISTER
	005056	012600 				 MOV	(SP)+,R0
   4698	005060					CALL	.TYELN		; PRINT IT
	005060	004737 	025506'			 JSR	PC,.TYELN
   4699	005064					CALL	.TCRLF		; END THE LINE
	005064	004737 	026272'			 JSR	PC,.TCRLF
   4700	005070	077217 				SOB	R2,20$		; LOOP TILL DONE
   4701	005072					RETURN			; TO CALLER
	005072	000207 				 RTS	PC
   4702
   4703	001616				.PSECT	DATA
   4704
   4705	001616				EXDTET:
   4706	001616	006702'				.WORD	.DTSTA
   4707	001620	006712'				.WORD	.DTDW3
   4708	001622	006672'				.WORD	.DTDW2
   4709	001624	006664'				.WORD	.DTDW1
   4710	001626	000500'				.WORD	EXDMS1
   4711	001630	000507'				.WORD	EXDMS2
   4712	001632	000516'				.WORD	EXDMS3
   4713	001634	000525'				.WORD	EXDMS4
   4714
   4715	000500				.PSECT	MESSAG
   4716
   4717	000500				EXDMS1:
   4718	000500	   104 	   111 	   101 		.ASCIZ	%DIAG 1%
	000503	   107 	   040 	   061
	000506	   000
   4719	000507				EXDMS2:
   4720	000507	   104 	   111 	   101 		.ASCIZ	%DIAG 2%
	000512	   107 	   040 	   062
	000515	   000
   4721	000516				EXDMS3:
   4722	000516	   104 	   111 	   101 		.ASCIZ	%DIAG 3%
	000521	   107 	   040 	   063
	000524	   000
   4723	000525				EXDMS4:
   4724	000525	   123 	   124 	   101 		.ASCIZ	%STATUS%
	000530	   124 	   125 	   123
	000533	   000
   4725
   4726	005074				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 123
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   4728					.SBTTL	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   4729
   4730					;+
   4731					; .EXMPI -- THE "EXAMINE PI" COMMAND
   4732					;
   4733					; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
   4734					; ON THE CONSOLE DEVICE.
   4735					;
   4736					; INPUT ARGUMENTS:
   4737					;
   4738					;	NONE.
   4739					;
   4740					; OUTPUT ARGUMENTS:
   4741					;
   4742					;	NONE.
   4743					;
   4744					; ERROR CODES RETURNED:
   4745					;
   4746					;	NONE.
   4747					;-
   4748
   4749	005074				.EXMPI::
   4750	005074					CALL	.CKEOC		; CHECK THE E-O-C CHARACTER
	005074	004737 	000264'			 JSR	PC,.CKEOC
   4751	005100	005002 				CLR	R2		; CLEAR R2
   4752	005102					CALL	.STPKL		; STOP THE KL
	005102	004737 	012012'			 JSR	PC,.STPKL
   4753	005106					CALL	.RDPI		; READ THE PI SYSTEM STATE
	005106	004737 	005524'			 JSR	PC,.RDPI
   4754	005112					CALL	.RSTKL		; RESTART THE KL
	005112	004737 	011734'			 JSR	PC,.RSTKL
   4755	005116	010001 				MOV	R0,R1		; DATA POINTER TO R1
   4756	005120	012700 	000534'			MOV	#EPMSG0,R0	; MESSAGE POINTER TO R0
   4757	005124					CALL	.TYMSG		; PRINT IT
	005124	004737 	026202'			 JSR	PC,.TYMSG
   4758	005130	012700 	000034'			MOV	#ONMSG,R0	; "ON"
   4759	005134	052102 				BIS	(R1)+,R2	; PI ACTIVE + PI ON TO R2
   4760	005136	032702 	000200 			BIT	#200,R2		; IS IT ON?
   4761	005142	001002 				BNE	10$		; YES -- GO ON
   4762	005144	012700 	000037'			MOV	#OFFMSG,R0	; NO -- SO SAY "OFF"
   4763
   4764					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 124
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   4766					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4767
   4768	005150				10$:
   4769	005150					CALL	.TYMSG		; PRINT IT
	005150	004737 	026202'			 JSR	PC,.TYMSG
   4770	005154	012700 	000550'			MOV	#EPMSG1,R0	; "PI ON"
   4771	005160					CALL	.TYMSG		; PRINT IT
	005160	004737 	026202'			 JSR	PC,.TYMSG
   4772	005164	010200 				MOV	R2,R0		; GET ACTIVE BITS
   4773	005166	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   4774	005172					CALL	.TYP3D		; PRINT THEM
	005172	004737 	025552'			 JSR	PC,.TYP3D
   4775	005176	012700 	000562'			MOV	#EPMSG2,R0	; "PI HOLD"
   4776	005202					CALL	.TYMSG		; PRINT IT
	005202	004737 	026202'			 JSR	PC,.TYMSG
   4777	005206	112100 				MOVB	(R1)+,R0	; GET THE PI HOLD BITS
   4778	005210	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   4779	005214					CALL	.TYP3D		; PRINT THEM
	005214	004737 	025552'			 JSR	PC,.TYP3D
   4780	005220	012700 	000576'			MOV	#EPMSG3,R0	; "PI GEN"
   4781	005224					CALL	.TYMSG		; PRINT IT
	005224	004737 	026202'			 JSR	PC,.TYMSG
   4782	005230	112100 				MOVB	(R1)+,R0	; GET THE GEN BITS
   4783	005232	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   4784	005236					CALL	.TYP3D		; PRINT THEM
	005236	004737 	025552'			 JSR	PC,.TYP3D
   4785	005242					CALLR	.TCRLF		; END THE LINE AND RETURN
	005242	000137 	026272'			 JMP	.TCRLF
   4786						;
   4787	000534				.PSECT	MESSAG
   4788
   4789	000534				EPMSG0:
   4790	000534	   120 	   111 	   040 		.ASCIZ	%PI ACTIVE: %
	000537	   101 	   103 	   124
	000542	   111 	   126 	   105
	000545	   072 	   040 	   000
   4791	000550				EPMSG1:
   4792	000550	   054 	   040 	   120 		.ASCIZ	%, PI ON: %
	000553	   111 	   040 	   117
	000556	   116 	   072 	   040
	000561	   000
   4793	000562				EPMSG2:
   4794	000562	   054 	   040 	   120 		.ASCIZ	%, PI HOLD: %
	000565	   111 	   040 	   110
	000570	   117 	   114 	   104
	000573	   072 	   040 	   000
   4795	000576				EPMSG3:
   4796	000576	   054 	   040 	   120 		.ASCIZ	%, PI GEN: %
	000601	   111 	   040 	   107
	000604	   105 	   116 	   072
	000607	   040 	   000
   4797	005246				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 125
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16

   4799					.SBTTL	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
   4800
   4801	005246				.EXREG::
   4802	005246					CALL	.CKEOC		; CHECK E-O-C
	005246	004737 	000264'			 JSR	PC,.CKEOC
   4803	005252					CALL	.STPKL		; STOP THE KL
	005252	004737 	012012'			 JSR	PC,.STPKL
   4804	005256	012701 	003124'			MOV	#.EXMTB,R1	; TABLE POINTER TO R1
   4805	005262	012703 	000012 			MOV	#EXRTBL,R3	; COUNT TO R3
   4806	005266				10$:
   4807	005266	012102 				MOV	(R1)+,R2	; MESSAGE ADDRESS TO R2
   4808	005270					PUSH	R1		; SAVE R1
	005270	010146 				 MOV	R1,-(SP)
   4809	005272					CALL	@2(R1)		; .READ AND PRINT THE REGISTER
	005272	004771 	000002 			 JSR	PC,@2(R1)
   4810	005276					POP	R1		; .RESTORE R1
	005276	012601 				 MOV	(SP)+,R1
   4811	005300	022121 				CMP	(R1)+,(R1)+	; ADVANCE THE POINTER
   4812	005302	077307 				SOB	R3,10$		; LOOP TILL COUNT EXHAUSTED
   4813	005304					CALLR	.RSTKL		; RESTART THE KL
	005304	000137 	011734'			 JMP	.RSTKL
   4814						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 126
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

   4816					.SBTTL	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
   4817
   4818					;+
   4819					; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
   4820					; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
   4821					; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
   4822					; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
   4823					; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
   4824					; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
   4825					; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
   4826					; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
   4827					; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
   4828					;
   4829					; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
   4830					; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
   4831					;
   4832					; INPUT ARGUMENTS:
   4833					;
   4834					;	R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
   4835					;
   4836					; OUTPUT ARGUMENTS:
   4837					;
   4838					;	R0 CONTAINS A POINTER TO THE DATA.
   4839					;
   4840					; ERROR CODES RETURNED:
   4841					;
   4842					;	FRF -- FUNCTION READ FAILED.
   4843					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 127
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

   4845						.ENABL	LSB
   4846
   4847	005310				.RDADR::
   4848	005310	012700 	000256 			MOV	#FR.RAD,R0	; READ THE KL ADDER
   4849	005314	000427 				BR	10$		; COMMON CODE
   4850						;
   4851	005316				.RDADX::
   4852	005316	012700 	000254 			MOV	#FR.ADX,R0	; READ THE KL ADDER EXTENSION
   4853	005322	000424 				BR	10$		; COMMON CODE
   4854						;
   4855	005324				.RDARR::
   4856	005324	012700 	000240 			MOV	#FR.RAR,R0	; READ THE KL ARITHMETIC REGISTER
   4857	005330	000421 				BR	10$		; COMMON CODE
   4858						;
   4859	005332				.RDARX::
   4860	005332	012700 	000252 			MOV	#FR.ARX,R0	; READ THE KL AR EXTENSION REGISTER
   4861	005336	000416 				BR	10$		; COMMON CODE
   4862						;
   4863	005340				.RDBRR::
   4864	005340	012700 	000242 			MOV	#FR.RBR,R0	; READ THE KL BUFFER REGISTER
   4865	005344	000413 				BR	10$		; COMMON CODE
   4866						;
   4867	005346				.RDBRX::
   4868	005346	012700 	000250 			MOV	#FR.BRX,R0	; READ THE KL BR EXTENSION REGISTER
   4869	005352	000410 				BR	10$		; COMMON CODE
   4870						;
   4871	005354				.RDEBS::
   4872	005354	012700 	000356 			MOV	#FR.EBS,R0	; READ THE KL EBUS REGISTER
   4873	005360	000405 				BR	10$		; COMMON CODE
   4874						;
   4875	005362				.RDFMR::
   4876	005362	012700 	000246 			MOV	#FR.RFM,R0	; READ THE KL FAST MEMORY REGISTER
   4877	005366	000402 				BR	10$		; COMMON CODE
   4878						;
   4879	005370				.RDMQR::
   4880	005370	012700 	000244 			MOV	#FR.RMQ,R0	; READ THE KL MULTIPLIER QUOTIENT REGISTER
   4881									; FALL INTO COMMON CODE
   4882	005374				10$:
   4883	005374					CALLR	.FREAD		; READ IT AND EXIT
	005374	000137 	007512'			 JMP	.FREAD
   4884						;
   4885
   4886						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 128
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

   4888					.SBTTL	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
   4889
   4890					;+
   4891					; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
   4892					;
   4893					; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
   4894					;
   4895					; INPUT ARGUMENTS:
   4896					;
   4897					;	NONE.
   4898					;
   4899					; OUTPUT ARGUMENTS:
   4900					;
   4901					;	R0 CONTAINS THE KL PC FLAGS
   4902					;
   4903					; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
   4904					;
   4905					;	BIT #	PC FLAG BIT AND MEANING		KL BIT
   4906					;	-----	----------------------------	--------
   4907					;
   4908					;	12	PC.OVF -- KL OVERFLOW FLAG -- 00
   4909					;	11	PC.CY0 -- KL CARRY 0 FLAG -- 01
   4910					;	10	PC.CY1 -- KL CARRY 1 FLAG -- 02
   4911					;	09	PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
   4912					;	08	PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
   4913					;	07	PC.USR -- KL USER MODE FLAG -- 05
   4914					;	06	PC.UIO -- KL USER IOT MODE FLAG -- 06
   4915					;	05	PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
   4916					;	04	PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
   4917					;	03	PC.AT1 -- KL APR TRAP 1 FLAG -- 09
   4918					;	02	PC.AT0 -- KL APR TRAP 0 FLAG -- 10
   4919					;	01	PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
   4920					;	00	PC.NDV -- KL NO DIVIDE FLAG -- 12
   4921					;
   4922					; ERROR CODES RETURNED:
   4923					;
   4924					;	FRF -- FUNCTION READ FAILED.
   4925					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 129
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

   4927	005400				.RDFLG::
   4928	005400					PUSH	<R1,R2>		; SAVE R1 AND R2 ON THE STACK
	005400	010146 				 MOV	R1,-(SP)
	005402	010246 				 MOV	R2,-(SP)
   4929	005404	005001 				CLR	R1		; ..CLEAR R1
   4930	005406	005002 				CLR	R2		; ..AND R2
   4931	005410	012700 	000202 			MOV	#FR.101,R0	; ..FR CODE FOR LOW FLAGS
   4932	005414					CALL	.FREAD		; ..READ THEM
	005414	004737 	007512'			 JSR	PC,.FREAD
   4933	005420	012701 	177764 			MOV	#-^D12,R1	; ..SHIFT COUNT TO R1
   4934	005424					CALL	.TPSHI		; ..SHIFT OUR WORD
	005424	004737 	023172'			 JSR	PC,.TPSHI
   4935	005430	042710 	177700 			BIC	#177700,(R0)	; ..MASK OUT FLAG BITS
   4936	005434	051002 				BIS	(R0),R2		; ..PUT THE LOW FLAGS IN R2
   4937	005436	005001 				CLR	R1		; ..AGAIN
   4938	005440	012700 	000200 			MOV	#FR.100,R0	; ..FR CODE FOR MOST OF THE FLAGS
   4939	005444					CALL	.FREAD		; ..READ THEM
	005444	004737 	007512'			 JSR	PC,.FREAD
   4940	005450	012701 	177772 			MOV	#-^D6,R1	; ..SHIFT COUNT TO R1
   4941	005454					CALL	.TPSHI		; ..SHIFT THE DATA
	005454	004737 	023172'			 JSR	PC,.TPSHI
   4942	005460	042710 	170077 			BIC	#170077,(R0)	; ..JUST THE BITS WE WANT
   4943	005464	051002 				BIS	(R0),R2		; ..SAVE THE HIGH FLAGS IN R2
   4944	005466	005001 				CLR	R1		; ..CLEAR R1 AGAIN
   4945	005470	012700 	000264 			MOV	#FR.132,R0	; ..FR CODE FOR LAST FLAG BIT
   4946	005474					CALL	.FREAD		; ..READ IT
	005474	004737 	007512'			 JSR	PC,.FREAD
   4947	005500	032760 	000001 	000004 		BIT	#BIT00,4(R0)	; ..IS IT ON?
   4948	005506	001402 				BEQ	10$		; ..NO -- JUST EXIT
   4949	005510	052702 	010000 			BIS	#PC.OVF,R2	; ..YES -- SET IT IN OUR WORD
   4950	005514				10$:
   4951	005514	010200 				MOV	R2,R0		; ..PUT A COPY IN R0
   4952	005516					POP	<R2,R1>		; ..RESTORE REGISTERS
	005516	012602 				 MOV	(SP)+,R2
	005520	012601 				 MOV	(SP)+,R1
   4953	005522					RETURN			; TO CALLER
	005522	000207 				 RTS	PC
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 130
.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16

   4955					.SBTTL	.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16
   4956
   4957					;+
   4958					; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
   4959					;
   4960					; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
   4961					; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
   4962					; RETURN.
   4963					;
   4964					; WORD 0 OF ".PITAB" CONTAINS:
   4965					;
   4966					;	(A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
   4967					;	(B) PI ACTIVE (BIT 07),
   4968					;	(C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
   4969					;
   4970					; WORD 2 OF ".PITAB" CONTAINS:
   4971					;
   4972					;	(A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
   4973					;
   4974					; INPUT ARGUMENTS:
   4975					;
   4976					;	NONE.
   4977					;
   4978					; OUTPUT ARGUMENTS:
   4979					;
   4980					;	R0 POINTS TO ".PITAB".
   4981					;
   4982					; ERROR CODES RETURNED:
   4983					;
   4984					;	FRF -- FUNCTION READ FAILED.
   4985					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 131
.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16

   4987	005524				.RDPI::
   4988	005524					PUSH	<R1,R2,R3>	; SAVE REGISTERS
	005524	010146 				 MOV	R1,-(SP)
	005526	010246 				 MOV	R2,-(SP)
	005530	010346 				 MOV	R3,-(SP)
   4989	005532	012703 	001636'			MOV	#RDPITB,R3	; ...TABLE POINTER TO R3
   4990	005536	012702 	000112'			MOV	#.PITAB,R2	; ...SAVE AREA POINTER TO R2
   4991	005542				10$:
   4992	005542	005001 				CLR	R1		; ...CLEAR R1
   4993	005544	012300 				MOV	(R3)+,R0	; ...FR CODE TO R0
   4994	005546					CALL	.FREAD		; ...READ IT
	005546	004737 	007512'			 JSR	PC,.FREAD
   4995	005552	012301 				MOV	(R3)+,R1	; ...SHIFT COUNT TO R1
   4996	005554					CALL	.TPSHI		; ...SHIFT IT
	005554	004737 	023172'			 JSR	PC,.TPSHI
   4997	005560	042310 				BIC	(R3)+,(R0)	; ...CLEAR UNWANTED BIT(S)
   4998	005562	011022 				MOV	(R0),(R2)+	; ...PUT IT IN SAVE AREA
   4999	005564	022703 	001652'			CMP	#RDPITE,R3	; ...ARE WE AT END OF TABLE?
   5000	005570	001364 				BNE	10$		; ...NO -- KEEP GOING
   5001	005572	011300 				MOV	(R3),R0		; ...YES -- POINT TO SAVE AREA
   5002	005574					POP	<R3,R2,R1>	; ...RESTORE REGISTERS
	005574	012603 				 MOV	(SP)+,R3
	005576	012602 				 MOV	(SP)+,R2
	005600	012601 				 MOV	(SP)+,R1
   5003	005602					RETURN			; TO CALLER
	005602	000207 				 RTS	PC
   5004
   5005	001636				.PSECT	DATA
   5006
   5007	001636				RDPITB:
   5008	001636	000200 				.WORD	FR.PI0		; FIRST READ CODE
   5009	001640	177756 				.WORD	-^D18		; SHIFT COUNT
   5010	001642	100000 				.WORD	BIT15		; MASK
   5011	001644	000202 				.WORD	FR.PI1		; SECOND READ CODE
   5012	001646	177756 				.WORD	-^D18		; SHIFT COUNT
   5013	001650	177600 				.WORD	177600		; MASK
   5014		001652'			RDPITE=.
   5015	001652	000112'				.WORD	.PITAB		; POINTER TO SAVE AREA
   5016
   5017	005604				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 132
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   5019					.SBTTL	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
   5020
   5021					;+
   5022					; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
   5023					; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
   5024					; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
   5025					; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
   5026					; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
   5027					; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
   5028					;
   5029					; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
   5030					; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
   5031					; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
   5032					;
   5033					; INPUT ARGUMENTS:
   5034					;
   5035					;	NONE.
   5036					;
   5037					; OUTPUT ARGUMENTS:
   5038					;
   5039					;	R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
   5040					;
   5041					; ERROR CODES RETURNED:
   5042					;
   5043					;	FRF -- FUNCTION READ FAILED.
   5044					;-
   5045
   5046						.ENABL	LSB
   5047
   5048	005604				.RDCRA::
   5049	005604	012700 	001654'			MOV	#CRATAB,R0	; POINT TO CRAM ADDRESS TABLE
   5050	005610	000416 				BR	10$		; DO COMMON CODE
   5051						;
   5052	005612				.RDCRL::
   5053	005612	012700 	001670'			MOV	#CRLTAB,R0	; POINT TO CR LOC TABLE
   5054	005616	000413 				BR	10$		; DO COMMON CODE
   5055						;
   5056	005620				.RDDRA::
   5057	005620	012700 	001704'			MOV	#DRATAB,R0	; POINT TO DRAM ADDR TABLE
   5058	005624	000410 				BR	10$		; DO COMMON CODE
   5059						;
   5060	005626				.RDFER::
   5061	005626	012700 	001720'			MOV	#FERTAB,R0	; POINT TO FE TABLE
   5062	005632	000405 				BR	10$		; DO COMMON CODE
   5063						;
   5064	005634				.RDSBR::
   5065	005634	012700 	001734'			MOV	#SBRTAB,R0	; POINT TO CRAM SBR RET TABLE
   5066	005640	000402 				BR	10$		; DO COMMON CODE
   5067						;
   5068	005642				.RDSCR::
   5069	005642	012700 	001750'			MOV	#SCRTAB,R0	; POINT TO SHIFT COUNT TABLE
   5070					;	BR	10$		; FALL INTO COMMON CODE
   5071
   5072					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 133
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   5074					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5075
   5076	005646				10$:				; HERE FROM PREVIOUS PAGE
   5077	005646					PUSH	<R1,R2>		; SAVE CALLER'S REGISTERS
	005646	010146 				 MOV	R1,-(SP)
	005650	010246 				 MOV	R2,-(SP)
   5078	005652	010002 				MOV	R0,R2		; ..POINTER TO R2
   5079	005654	005001 				CLR	R1		; ..CLEAR R1
   5080	005656	012200 				MOV	(R2)+,R0	; ..READ THE HIGH ORDER BITS
   5081	005660					CALL	.FREAD		; ..DO IT
	005660	004737 	007512'			 JSR	PC,.FREAD
   5082	005664	012201 				MOV	(R2)+,R1	; ..SHIFT COUNT TO R1
   5083	005666					CALL	.TPSHI		; ..SHIFT IT
	005666	004737 	023172'			 JSR	PC,.TPSHI
   5084	005672	042210 				BIC	(R2)+,(R0)	; ..MASK OUT UNWANTED BITS
   5085	005674					PUSH	(R0)		; ..SAVE THE BITS
	005674	011046 				 MOV	(R0),-(SP)
   5086	005676	012200 				MOV	(R2)+,R0	; ...READ THE LOW ORDER BITS
   5087	005700	005001 				CLR	R1		; ...CLEAR R1
   5088	005702					CALL	.FREAD		; ...DO IT
	005702	004737 	007512'			 JSR	PC,.FREAD
   5089	005706	012201 				MOV	(R2)+,R1	; ...SHIFT COUNT TO R1
   5090	005710					CALL	.TPSHI		; ...SHIFT IT
	005710	004737 	023172'			 JSR	PC,.TPSHI
   5091	005714	042210 				BIC	(R2)+,(R0)	; ...MASK OUT UNWANTED BITS
   5092	005716	051610 				BIS	(SP),(R0)	; ...SET IN THE HIGH ORDER BITS
   5093	005720	011000 				MOV	(R0),R0		; ...PUT IT IN R0
   5094	005722	005726 				TST	(SP)+		; ...CLEAR THE STACK
   5095	005724					POP	<R2,R1>		; ..RESTORE REGISTERS
	005724	012602 				 MOV	(SP)+,R2
	005726	012601 				 MOV	(SP)+,R1
   5096	005730					RETURN			; TO CALLER
	005730	000207 				 RTS	PC
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 134
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   5098					; TABLES FOR SMALL REGISTER READS
   5099
   5100	001654				.PSECT	DATA
   5101
   5102	001654				CRATAB:
   5103	001654	000312 				.WORD	FR.CA1		; FR FOR CRAM ADDR HIGH BITS
   5104	001656	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   5105	001660	174077 				.WORD	174077		; BIT MASK FOR SAME
   5106	001662	000310 				.WORD	FR.CA2		; FR FOR CRAM ADDR LOW BITS
   5107	001664	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   5108	001666	177700 				.WORD	177700		; BIT MASK FOR SAME
   5109
   5110	001670				CRLTAB:
   5111	001670	000316 				.WORD	FR.CL1		; FR FOR CRAM LOC HIGH BITS
   5112	001672	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   5113	001674	174077 				.WORD	174077		; BIT MASK FOR SAME
   5114	001676	000314 				.WORD	FR.CL2		; FR FOR CRAM LOC LOW BITS
   5115	001700	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   5116	001702	177700 				.WORD	177700		; BIT MASK FOR SAME
   5117
   5118	001704				DRATAB:
   5119	001704	000260 				.WORD	FR.DA1		; FR FOR DRAM ADDR HIGH BITS
   5120	001706	177764 				.WORD	-^D12		; SHIFT COUNT FOR SAME
   5121	001710	177077 				.WORD	177077		; BIT MASK FOR SAME
   5122	001712	000262 				.WORD	FR.DA2		; FR FOR DRAM ADDR LOW BITS
   5123	001714	177756 				.WORD	-^D18		; SHIFT COUNT FOR SAME
   5124	001716	177700 				.WORD	177700		; BIT MASK FOR SAME
   5125
   5126	001720				FERTAB:
   5127	001720	000266 				.WORD	FR.FE1		; FR FOR FE HIGH BITS
   5128	001722	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   5129	001724	176037 				.WORD	176037		; BIT MASK FOR SAME
   5130	001726	000264 				.WORD	FR.FE2		; FR FOR FE LOW BITS
   5131	001730	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   5132	001732	177740 				.WORD	177740		; BIT MASK FOR SAME
   5133
   5134	001734				SBRTAB:
   5135	001734	000306 				.WORD	FR.SR1		; FR FOR SBR RET HIGH BITS
   5136	001736	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   5137	001740	174077 				.WORD	174077		; BIT MASK FOR SAME
   5138	001742	000304 				.WORD	FR.SR2		; FR FOR SBR RET LOW BITS
   5139	001744	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   5140	001746	177700 				.WORD	177700		; BIT MASK FOR SAME
   5141
   5142	001750				SCRTAB:
   5143	001750	000262 				.WORD	FR.SC1		; FR FOR SHIFT COUNT HIGH BITS
   5144	001752	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   5145	001754	177417 				.WORD	177417		; BIT MASK FOR SAME
   5146	001756	000260 				.WORD	FR.SC2		; FR FOR SHIFT COUNT LOW BITS
   5147	001760	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   5148	001762	177760 				.WORD	177760		; BIT MASK FOR SAME
   5149
   5150	005732				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 135
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   5152					.SBTTL	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
   5153
   5154					;+
   5155					; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
   5156					; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
   5157					; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
   5158					; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
   5159					;
   5160					; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
   5161					; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
   5162					;
   5163					; INPUT ARGUMENTS:
   5164					;
   5165					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   5166					;
   5167					; OUTPUT ARGUMENTS:
   5168					;
   5169					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   5170					;
   5171					; ERROR CODES RETURNED:
   5172					;
   5173					;	FRF -- FUNCTION READ FAILED.
   5174					;-
   5175
   5176						.ENABL	LSB
   5177
   5178	005732				.RDVPC::
   5179	005732	012700 	001764'			MOV	#PCTAB,R0	; POINTER TO PC TABLE
   5180	005736	000410 				BR	10$
   5181						;
   5182	005740				.RDVAB::
   5183	005740	012700 	001772'			MOV	#ABTAB,R0	; POINTER TO ADDRESS BREAK TABLE
   5184	005744	000405 				BR	10$
   5185						;
   5186	005746				.RDVMA::
   5187	005746	012700 	002000'			MOV	#VMATB,R0	; POINTER TO VMA TABLE
   5188	005752	000402 				BR	10$
   5189						;
   5190	005754				.RDVMH::
   5191	005754	012700 	002006'			MOV	#VMHTB,R0	; POINTER TO VMAH TABLE
   5192	005760				10$:
   5193	005760					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005760	004537 	012512'			 JSR	R5,.REGSV
   5194	005764	010005 				MOV	R0,R5		; TABLE POINTER TO R5
   5195	005766	012704 	000004 			MOV	#^D4,R4		; ITERATION COUNT TO R4
   5196	005772	010103 				MOV	R1,R3		; USER BUFFER ADDRESS TO R3
   5197	005774	012502 				MOV	(R5)+,R2	; FUNCTION READ BASE TO R2
   5198	005776					PUSH	(R5)+		; MASK WORD TO TOP OF THE STACK
	005776	012546 				 MOV	(R5)+,-(SP)
   5199	006000	011505 				MOV	(R5),R5		; .SHIFT BASE TO R5
   5200	006002	010100 				MOV	R1,R0		; .CLEAR CALLER'S AREA
   5201	006004					CALL	.TPCLR		; .SO
	006004	004737 	022572'			 JSR	PC,.TPCLR
   5202
   5203					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1110  03-OCT-79 11:35  PAGE 136
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   5205					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5206
   5207	006010				20$:				; .GET HERE FROM .RDVXX, ABOVE
   5208	006010	010200 				MOV	R2,R0		; .SET THE FUNCTION READ NUMBER
   5209	006012	006300 				ASL	R0		; .TIMES 2
   5210	006014	005001 				CLR	R1		; .CLEAR R1
   5211	006016					CALL	.FREAD		; .READ IT
	006016	004737 	007512'			 JSR	PC,.FREAD
   5212	006022	041620 				BIC	(SP),(R0)+	; .SP POINTS TO BIT MASK
   5213	006024	041610 				BIC	(SP),(R0)	; .R0 POINTS TO READ BLOCK
   5214	006026	005740 				TST	-(R0)		; .NOW BACK THE POINTER UP
   5215	006030	010501 				MOV	R5,R1		; .GET THE SHIFT COUNT INTO R1
   5216	006032					CALL	.TPSHI		; .AND SHIFT IT
	006032	004737 	023172'			 JSR	PC,.TPSHI
   5217	006036	052023 				BIS	(R0)+,(R3)+	; .SET THE BITS IN THE USER BUFFER
   5218	006040	051013 				BIS	(R0),(R3)	; .SO
   5219	006042	005743 				TST	-(R3)		; .BACK CALLER'S POINTER UP
   5220	006044	122225 				CMPB	(R2)+,(R5)+	; .INCREMENT READ NUMBER AND SHIFT COUNT
   5221	006046	077420 				SOB	R4,20$		; .DO THIS FOUR TIMES
   5222	006050	042763 	177600 	000002 		BIC	#177600,2(R3)	; .GET RID OF BITS HIGHER THAN 13
   5223	006056	005726 				TST	(SP)+		; CLEAR THE STACK
   5224	006060					RETURN			; RETURN TO CALLER
	006060	000207 				 RTS	PC
   5225
   5226						.DSABL	LSB
   5227
   5228					; TABLES FOR VMA BOARD READS
   5229
   5230	001764				.PSECT	DATA
   5231
   5232	001764				PCTAB:
   5233	001764	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
   5234	001766	135673 				.WORD	135673		; BIT MASK   "  "     "
   5235	001770	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
   5236	001772				ABTAB:
   5237	001772	000150 				.WORD	FR.150/2	; BASE READ FOR ADDRESS BREAK REGISTER
   5238	001774	167356 				.WORD	167356		; BIT MASK   "	   "	  "	 "
   5239	001776	000000 				.WORD	0		; SHIFT CNT  "	   "	  "	 "
   5240	002000				VMATB:
   5241	002000	000154 				.WORD	FR.154/2	; BASE READ FOR VMA REGISTER
   5242	002002	135673 				.WORD	135673		; BIT MASK   "	 "     "
   5243	002004	177776 				.WORD	-^D2		; SHIFT CNT  "	 "     "
   5244	002006				VMHTB:
   5245	002006	000154 				.WORD	FR.154/2	; BASE READ FOR VMAH REGISTER
   5246	002010	167356 				.WORD	167356		; BIT MASK   "	 "	"
   5247	002012	000000 				.WORD	0		; SHIFT CNT  "	 "	"
   5248
   5249	006062				.PSECT
HALTC -- HALT FUNCTION MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 137
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   5251					.TITLE	HALTC -- HALT FUNCTION MODULE 7707.12
   5252
   5253						.IDENT	"005000"
   5254					;
   5255					;                             COPYRIGHT (C) 1975, 1979 BY
   5256					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5257					;
   5258					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5259					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5260					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5261					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5262					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5263					;
   5264					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5265					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5266					;       CORPORATION.
   5267					;
   5268					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5269					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5270					;
   5271					;		MODULE: HALT FUNCTION
   5272					;
   5273					;		VERSION: 03-06
   5274					;
   5275					;		AUTHOR: R. BELANGER
   5276					;
   5277					;		DATE: 7707.12
   5278					;
   5279					;	THIS MODULE CONTAINS:
   5280					;
   5281					;	1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7	MACRO M1110  03-OCT-79 11:35  PAGE 138
.HALTC -- THE "HALT" COMMAND 7710.11

   5283					.SBTTL	.HALTC -- THE "HALT" COMMAND 7710.11
   5284
   5285					;+
   5286					; .HALTC -- THE "HALT" COMMAND
   5287					;
   5288					; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
   5289					; AND DEPOSIT ARE STILL SUPPORTED).
   5290					;
   5291					; INPUT ARGUMENTS:
   5292					;
   5293					;	NONE.
   5294					;
   5295					; OUTPUT ARGUMENTS:
   5296					;
   5297					;	NONE.
   5298					;
   5299					; ERROR CODES RETURNED:
   5300					;
   5301					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   5302					;-
   5303
   5304	006062				.HALTC::
   5305	006062					CALL	.CKEOC		; CHECK E-O-C
	006062	004737 	000264'			 JSR	PC,.CKEOC
   5306	006066					CALLR	.KLSTP		; HALT THE KL AND RETURN
	006066	000137 	010342'			 JMP	.KLSTP
   5307						;
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 139
.HALTC -- THE "HALT" COMMAND 7710.11

   5309					.TITLE	INITC -- INITIALIZE COMMAND MODULE 7602.16
   5310
   5311						.IDENT	"005000"
   5312
   5313					;
   5314					;                             COPYRIGHT (C) 1975, 1979 BY
   5315					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5316					;
   5317					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5318					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5319					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5320					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5321					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5322					;
   5323					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5324					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5325					;       CORPORATION.
   5326					;
   5327					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5328					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5329					;
   5330					;		MODULE: INITIALIZE COMMAND
   5331					;
   5332					;		VERSION: 05-00
   5333					;
   5334					;		AUTHOR: R. BELANGER
   5335					;
   5336					;		DATE: 7602.16
   5337					;
   5338					;	THIS MODULE CONTAINS:
   5339					;
   5340					;	1) INITIALIZE COMMAND CODE
   5341					;
   5342					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
   5343
   5344						.MCALL	ALUN$,CLEF$S,DIR$,SETF$S,SVTK$S
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 140
.INITC -- THE "INITIALIZE" COMMAND 7602.16

   5346					.SBTTL	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   5347
   5348					;+
   5349					; .INITC -- THE "INITIALIZE" COMMAND
   5350					;
   5351					; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
   5352					;
   5353					; INPUT ARGUMENTS:
   5354					;
   5355					;	NONE.
   5356					;
   5357					; OUTPUT ARGUMENTS:
   5358					;
   5359					;	".KLFLG" IS SET UP
   5360					;
   5361					; ERROR CODES RETURNED:
   5362					;
   5363					;	NONE.
   5364					;-
   5365
   5366	006072				.INITC::
   5367	006072					CALL	.CKEOC		; CHECK FOR E-O-C
	006072	004737 	000264'			 JSR	PC,.CKEOC
   5368	006076				.INIC0::
   5369	006076	000414 				BR	.INKLF		; INIT THE PARSER AND RETURN
   5370						;
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 141
.INIT  -- INITIALIZATION SUBROUTINE 7509.26

   5372					.SBTTL	.INIT  -- INITIALIZATION SUBROUTINE 7509.26
   5373
   5374					;+
   5375					; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
   5376					;
   5377					; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
   5378					; THE FOLLOWING REGISTERS:
   5379					;
   5380					;	(A) ".KLFLG" -- THE KL STATUS FLAG WORD,
   5381					;	(B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
   5382					;	(C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
   5383					;
   5384					; INPUT ARGUMENTS:
   5385					;
   5386					;	NONE.
   5387					;
   5388					; OUTPUT ARGUMENTS:
   5389					;
   5390					;	".KLFLG" IS SET UP
   5391					;
   5392					; ERROR CODES RETURNED:
   5393					;
   5394					;	CES -- KL CLOCK ERROR STOP.
   5395					;	CFH -- CAN'T FIND KL HALT LOOP.
   5396					;	DSF -- DTE-20 STATUS FAILURE.
   5397					;	FRF -- FUNCTION READ FAILED.
   5398					;	FWF -- FUNCTION WRITE FAILED.
   5399					;-
   5400
   5401	006100				.INIT::
   5402	006100					PUSH	R0		; SAVE R0
	006100	010046 				 MOV	R0,-(SP)
   5403	006102	000257 				CCC			; .CLEAR N, Z, V, C BITS
   5404	006104	012700 	000214'			MOV	#.DFBLK,R0	; .CLEAR THE DF BUFFERS
   5405	006110				10$:
   5406	006110	005020 				CLR	(R0)+		; .CLEAR A WORD
   5407	006112	020027 	000240'			CMP	R0,#DFBEND	; .ARE WE DONE?
   5408	006116	103774 				BLO	10$		; .NO -- KEEP GOING
   5409	006120	012737 	000200 	000000G		MOV	#KF.DEF,.KLFLG	; .YES -- INIT ".KLFLG"
   5410	006126					POP	R0		; .RESTORE R0
	006126	012600 				 MOV	(SP)+,R0
   5411
   5412					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 142
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5414					.SBTTL	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   5415
   5416					;+
   5417					; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
   5418					;
   5419					; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
   5420					; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
   5421					;
   5422					;	(A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
   5423					;	(B) "KF.RUN" -- KL RUN FLOP SET FLAG,
   5424					;	(C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
   5425					;
   5426					; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
   5427					; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
   5428					;
   5429					; INPUT ARGUMENTS:
   5430					;
   5431					;	NONE.
   5432					;
   5433					; OUTPUT ARGUMENTS:
   5434					;
   5435					;	".KLFLG" IS SET UP.
   5436					;
   5437					; ERROR CODES RETURNED:
   5438					;
   5439					;	CES -- KL CLOCK ERROR STOP.
   5440					;	CFH -- CAN'T FIND KL HALT LOOP.
   5441					;	DSF -- DTE-20 STATUS FAILURE.
   5442					;	DTC -- DTE-20 CONFUSED.
   5443					;	FRF -- FUNCTION READ FAILED.
   5444					;	FWF -- FUNCTION WRITE FAILED.
   5445					;-
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 143
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5447	006130				.INKLF::
   5448	006130					SETF$S	#E.FHTO		; SET THE HALT TIMEOUT EVENT FLAG
	006130	012746 	000001 			MOV	#E.FHTO,-(SP)
	006134	012746 				MOV	(PC)+,-(SP)
	006136	   041 	   002 			.BYTE	33.,2
	006140	104375 				EMT	375
   5449	006142	103456 				BCS	60$		; ERROR IF CC-C IS SET
   5450	006144					PUSH	<R0,R1,R2,R3>	; SAVE CALLER'S REGISTERS
	006144	010046 				 MOV	R0,-(SP)
	006146	010146 				 MOV	R1,-(SP)
	006150	010246 				 MOV	R2,-(SP)
	006152	010346 				 MOV	R3,-(SP)
   5451	006154					CALL	.DTSTA		; ....READ THE DTE-20 STATUS REGISTER
	006154	004737 	006702'			 JSR	PC,.DTSTA
   5452	006160	032700 	000010 			BIT	#ST.MOD,R0	; ....IS THE DTE-20 PRIVILEGED?
   5453	006164	001047 				BNE	INIDNP		; ....UGH, BLETCH -- NO
   5454	006166					CALL	.CESCK		; ....YES -- SEE IF CLOCK ERROR STOP IS UP
	006166	004737 	000056'			 JSR	PC,.CESCK
   5455	006172	012702 	000000G			MOV	#.KLFLG,R2	; ....FLAG POINTER TO R2
   5456	006176	042712 	140000 			BIC	#KF.CLK!KF.RUN,(R2)
   5457									; ....CLEAR THE CLOCK AND RUNNING FLAGS
   5458	006202	005037 	000044'			CLR	.EDKLX		; ....RESET THE ADDRESS TO ZERO
   5459	006206	005037 	000046'			CLR	.EDKLX+2	; ....
   5460	006212	012700 	000200 			MOV	#ED.PHY,R0	; ....PHYSICAL REFERENCE
   5461	006216	012701 	002014'			MOV	#.INEXT,R1	; ....POINT TO DATA BLOCK
   5462	006222					CALL	.EXKLM		; ....EXAMINE KL MEMORY
	006222	004737 	007064'			 JSR	PC,.EXKLM
   5463	006226	052712 	100600 			BIS	#KF.CON!KF.KLO!KF.CLK,(R2) ;*
   5464									; ....SET THE CLOCK RUNNING FLAG
   5465	006232	012703 	000144 			MOV	#^D100,R3	; ....LOOP COUNT TO R3
   5466	006236				10$:
   5467	006236					CALL	.DTDW1		; ....READ DIAG WORD 1
	006236	004737 	006664'			 JSR	PC,.DTDW1
   5468	006242	032700 	002000 			BIT	#D1.RUN,R0	; ....IS RUN ON?
   5469	006246	001002 				BNE	20$		; ....YES -- GO ON
   5470	006250	077306 				SOB	R3,10$		; ....NO -- LOOP TILL COUNT EXHAUSTED
   5471	006252	000405 				BR	30$		; ....CAN'T FIND IT, GIVE UP
   5472						;
   5473
   5474					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 144
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5476					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5477
   5478	006254				20$:
   5479	006254	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP THERE TOO?
   5480	006260	001014 				BNE	INIDTC		; ....YES -- GIVE "DTC" ERROR
   5481	006262	052712 	040000 			BIS	#KF.RUN,(R2)	; ....NO -- FOUND IT OK, SET THE FLAG
   5482	006266				30$:
   5496	006266					POP	<R3,R2,R1,R0>	; ....RESTORE CALLER'S REGISTERS
	006266	012603 				 MOV	(SP)+,R3
	006270	012602 				 MOV	(SP)+,R2
	006272	012601 				 MOV	(SP)+,R1
	006274	012600 				 MOV	(SP)+,R0
   5497	006276					RETURN			; TO CALLER
	006276	000207 				 RTS	PC
   5498	006300				60$:
   5499	006300	000137 	012436'			JMP	.EXITP		; ERROR EXIT
   5500						;
   5501	006304				INIDNP:
   5502	006304					ERROR$	DNP		; ERROR -- DTE-20 NOT PRIVILEGED
	006304	012746 	015500 			 MOV	#^RDNP,-(SP)
	006310	104400 				 TRAP	TC.ERR
   5503						;
   5504	006312				INIDTC:
   5505	006312					ERROR$	DTC		; ERROR --DTE-20 CONFUSED
	006312	012746 	016043 			 MOV	#^RDTC,-(SP)
	006316	104400 				 TRAP	TC.ERR
   5506						;
   5507
   5508	002014				.PSECT	DATA
   5509
   5510	002014				.INEXT:
   5511	002014	000044'				.WORD	.EDKLX		; ADDRESS 0
   5512	002016	000056'				.WORD	.EXBFR		; PLACE FOR DATA
   5513
   5514	006320				.PSECT
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 145
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5516					.SBTTL	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   5517
   5518					;+
   5519					; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
   5520					;
   5521					; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
   5522					; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
   5523					; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
   5524					;
   5525					; INPUT ARGUMENTS:
   5526					;
   5527					;	NONE.
   5528					;
   5529					; OUTPUT ARGUMENTS:
   5530					;
   5531					;	NONE.
   5532					;
   5533					; ERROR CODES RETURNED:
   5534					;
   5535					;	IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
   5536					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   5537					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   5538					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
   5539					;-
   5540
   5541	006320				.INICP::
   5542	006320	010637 	000136'			MOV	SP,.SVESP	; INIT THE STACK POINTER
   5543	006324	005005 				CLR	R5		; CLEAR THE GPR'S
   5544	006326	005004 				CLR	R4
   5545	006330	005003 				CLR	R3
   5546	006332	005002 				CLR	R2
   5547	006334	005001 				CLR	R1
   5548	006336	005000 				CLR	R0
   5549	006340					SVTK$S	#.SSTTB,#SSTLEN	; INIT SST'S
	006340	012746 	000010 			MOV	#SSTLEN,-(SP)
	006344	012746 	000174'			MOV	#.SSTTB,-(SP)
	006350	012746 				MOV	(PC)+,-(SP)
	006352	   071 	   003 			.BYTE	57.,3
	006354	104375 				EMT	375
   5550	006356	103442 				BCS	10$		; DIE IF WE CAN'T DO THAT MUCH
   5551	006360					DIR$	#.ASCOD		; ASSIGN THE CONSOLE OUTPUT DEVICE
	006360	012746 	000026'			MOV	#.ASCOD,-(SP)
	006364	104375 				EMT	375
   5552	006366	103436 				BCS	10$		; DIE IF WE CAN'T DO THAT, EITHER
   5553	006370					DIR$	#.ASCID		; ASSIGN THE CONSOLE INPUT DEVICE
	006370	012746 	000016'			MOV	#.ASCID,-(SP)
	006374	104375 				EMT	375
   5554	006376	103432 				BCS	10$		; GIVE ERROR TRAP IF CC-C IS SET
   5555
   5556					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 146
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5558					; 	[CONTINUED FROM THE PREVIOUS PAGE]
   5559
   5560	006400					CLEF$S	#E.FCTC		; CLEAR CONTROL-C EVENT FLAG
	006400	012746 	000000G			MOV	#E.FCTC,-(SP)
	006404	012746 				MOV	(PC)+,-(SP)
	006406	   037 	   002 			.BYTE	31.,2
	006410	104375 				EMT	375
   5561	006412					CLEF$S	#E.FHTO		; CLEAR HALT TIMEOUT EVENT FLAG
	006412	012746 	000001 			MOV	#E.FHTO,-(SP)
	006416	012746 				MOV	(PC)+,-(SP)
	006420	   037 	   002 			.BYTE	31.,2
	006422	104375 				EMT	375
   5562	006424					CLEF$S	#E.FCID		; CLEAR CONSOLE INPUT DONE EVENT FLAG
	006424	012746 	000002 			MOV	#E.FCID,-(SP)
	006430	012746 				MOV	(PC)+,-(SP)
	006432	   037 	   002 			.BYTE	31.,2
	006434	104375 				EMT	375
   5563	006436					SETF$S	#E.FCOD		; SET CONSOLE OUTPUT DONE EVENT FLAG
	006436	012746 	000003 			MOV	#E.FCOD,-(SP)
	006442	012746 				MOV	(PC)+,-(SP)
	006444	   041 	   002 			.BYTE	33.,2
	006446	104375 				EMT	375
   5567	006450					CALL	.TCRLF		; INIT CONSOLE
	006450	004737 	026272'			 JSR	PC,.TCRLF
   5568	006454					CALL	.INIC0		; INIT ".KLFLG"
	006454	004737 	006076'			 JSR	PC,.INIC0
   5569	006460	000177 	000134'			JMP	@.STRTV		; START THE PARSER
   5570						;
   5571	006464				10$:
   5572	006464					CALLR	.EXITP		; EXIT GRACEFULLY
	006464	000137 	012436'			 JMP	.EXITP
   5573						;
INITC -- INITIALIZE COMMAND MOD	MACRO M1110  03-OCT-79 11:35  PAGE 147
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5575					; ASSIGN CONSOLE INPUT DEVICE
   5576
   5577	000016				.PSECT	DPBS
   5578
   5579	000016				.ASCID::
   5580	000016					ALUN$	CIDLUN,TT,0
	000016	   007 	   004 			.BYTE	7,4
	000020	000001 				.WORD	CIDLUN
	000022	   124 				.ASCII	/T/
	000023	   124 				.ASCII	/T/
	000024	000000 				.WORD	0
   5581
   5582					; ASSIGN CONSOLE OUTPUT DEVICE
   5583
   5584	000026				.ASCOD::
   5585	000026					ALUN$	CODLUN,TT,0
	000026	   007 	   004 			.BYTE	7,4
	000030	000002 				.WORD	CODLUN
	000032	   124 				.ASCII	/T/
	000033	   124 				.ASCII	/T/
	000034	000000 				.WORD	0
   5586
   5587	006470				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 148
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5589					.TITLE	KL10F -- KL10 FUNCTION MODULE  7812.21
   5590
   5591						.IDENT	"005000"
   5592
   5593					;
   5594					;                             COPYRIGHT (C) 1975, 1979 BY
   5595					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5596					;
   5597					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5598					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5599					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5600					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5601					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5602					;
   5603					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5604					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5605					;       CORPORATION.
   5606					;
   5607					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5608					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5609					;
   5610					;		MODULE: KL10 FUNCTIONS
   5611					;
   5612					;		VERSION: 05-00
   5613					;
   5614					;		AUTHOR: R. BELANGER
   5615					;
   5616					;		DATE: 7812.21
   5617					;
   5618					;	THIS MODULE CONTAINS:
   5619					;
   5620					;	1) KL MBOX CLOCK BURST CODE
   5621
   5622						.MCALL	$DEF,DIR$,MRKT$,PREX$,PRDP$,KLDR$,KLDW$,KLDX$,WTSE$S
   5623
   5624	006470					$DEF
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 149
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02

   5626					.SBTTL	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
   5627
   5628					;+
   5629					; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
   5630					;	    CLOCK AS IN ".BURST".
   5631					; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
   5632					;	    A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
   5633					;
   5634					; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
   5635					; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
   5636					; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
   5637					;
   5638					; INPUT ARGUMENTS:
   5639					;
   5640					;	R0 CONTAINS THE BURST COUNT
   5641					;
   5642					; OUTPUT ARGUMENTS:
   5643					;
   5644					;	NONE.
   5645					;
   5646					; ERROR CODES RETURNED:
   5647					;
   5648					;	BAE -- BURST ARGUMENT ERROR.
   5649					;	FWF -- FUNCTION WRITE FAILED.
   5650					;	FXF -- FUNCTION EXECUTE FAILED.
   5651					;-
   5652
   5653	006470				.BRMBC::
   5654	006470					CALL	.STPXC		; STOP THE KL CLOCK
	006470	004737 	012036'			 JSR	PC,.STPXC
   5655	006474				.BURST::
   5656	006474	022700 	000377 			CMP	#^D255,R0	; IS ARGUMENT .GT. 255 DECIMAL?
   5657	006500	103406 				BLO	BCCTER		; YES -- ERROR
   5658	006502					CALL	.LDBRG		; NO -- LOAD THE BURST COUNTER
	006502	004737 	010606'			 JSR	PC,.LDBRG
   5659	006506	012700 	000012 			MOV	#FX.BMC,R0	; SET UP TO BURST THE MBOX CLOCK
   5660	006512					CALLR	.FXCT		; DO IT
	006512	000137 	007716'			 JMP	.FXCT
   5661						;
   5662	006516				BCCTER:
   5663	006516					ERROR$	BAE		; ERROR -- ARGUMENT OUT OF RANGE
	006516	012746 	006255 			 MOV	#^RBAE,-(SP)
	006522	104400 				 TRAP	TC.ERR
   5664						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 150
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26

   5666					.SBTTL	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
   5667
   5668					;+
   5669					; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
   5670					; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
   5671					; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
   5672					;
   5673					; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
   5674					;
   5675					; INPUT ARGUMENTS:
   5676					;
   5677					;	NONE.
   5678					;
   5679					; OUTPUT ARGUMENTS:
   5680					;
   5681					;	NONE.
   5682					;
   5683					; ERROR CODES RETURNED:
   5684					;
   5685					;	NONE.
   5686					;-
   5687
   5688						.ENABL	LSB
   5689
   5690	006524				.CLDFB::
   5691	006524					CALL	.CLDFW		; CLEAR THE WRITE HALF OF THE BUFFER
	006524	004737 	006540'			 JSR	PC,.CLDFW
   5692	006530				.CLDFR::
   5693	006530					PUSH	R0		; SAVE R0
	006530	010046 				 MOV	R0,-(SP)
   5694	006532	012700 	000222'			MOV	#.DFRB,R0	; .CLEAR THE FUNCTION READ BUFFER
   5695	006536	000403 				BR	10$		; .
   5696						;
   5697	006540				.CLDFW::
   5698	006540					PUSH	R0		; SAVE R0
	006540	010046 				 MOV	R0,-(SP)
   5699	006542	012700 	000214'			MOV	#.DFWB,R0	; .CLEAR THE FUNCTION WRITE BUFFER
   5700	006546				10$:
   5701	006546					CALL	.TPCLR		; .CLEAR THE BUFFER
	006546	004737 	022572'			 JSR	PC,.TPCLR
   5702	006552	000414 				BR	20$		; .RESTORE R0 AND EXIT
   5703						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 151
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   5705					.SBTTL	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
   5706
   5707					;+
   5708					; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
   5709					;
   5710					; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
   5711					; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
   5712					;
   5713					; INPUT ARGUMENTS:
   5714					;
   5715					;	NONE.
   5716					;
   5717					; OUTPUT ARGUMENTS:
   5718					;
   5719					;	NONE
   5720					;
   5721					; ERROR CODES RETURNED:
   5722					;
   5723					;	FXF -- FUNCTION EXECUTE FAILED.
   5724					;-
   5725
   5726	006554				.CLRFF::
   5727	006554	000241 				CLC			; CLEAR CC-C
   5728	006556					DIR$	#.MTDPB		; REQUEST MARK TIME (FOR ".KLHLT")
	006556	012746 	000036'			MOV	#.MTDPB,-(SP)
	006562	104375 				EMT	375
   5729	006564					PUSH	R0		; SAVE R0
	006564	010046 				 MOV	R0,-(SP)
   5730	006566	112737 	000001 	000000G		MOVB	#1,.NOHLT	; TELL RSX20F NOT TO WORRY ABOUT THIS
   5731	006574	012700 	000020 			MOV	#FX.CRF,R0	; .SET UP TO CLEAR KL RUN FLOP
   5732	006600					CALL	.FXCT		; .DO IT
	006600	004737 	007716'			 JSR	PC,.FXCT
   5733	006604				20$:
   5734	006604					POP	R0		; .RESTORE R0
	006604	012600 				 MOV	(SP)+,R0
   5735	006606					RETURN			; TO CALLER
	006606	000207 				 RTS	PC
   5736
   5737						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 152
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   5739					; DPB FOR MARK TIME DIRECTIVE
   5740
   5741					;	!===============================================!
   5742					; 00	!	DPB SIZE	!	  DIC		!
   5743					;	!-----------------------------------------------!
   5744					; 02	!		  EVENT FLAG			!
   5745					;	!-----------------------------------------------!
   5746					; 04	!	TIME INTERVAL IN CLOCK TICKS		!
   5747					;	!-----------------------------------------------!
   5748					; 06	!	RESCHEDULE INTERVAL IN CLOCK TICKS	!
   5749					;	!-----------------------------------------------!
   5750					; 10	!	     AST HANDLER ENTRY POINT		!
   5751					;	!===============================================!
   5752
   5753	000036				.PSECT	DPBS
   5754
   5755	000036				.MTDPB::
   5756	000036					MRKT$	E.FHTO,30.,0,0
	000036	   027 	   005 			.BYTE	23.,5
	000040	000001 				.WORD	E.FHTO
	000042	000036 				.WORD	30.
	000044	000000 				.WORD	0
	000046	000000 				.WORD	0
   5757
   5758	006610				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 153
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   5760					.SBTTL	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
   5761
   5762					;+
   5763					; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
   5764					; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
   5765					; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
   5766					; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
   5767					; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
   5768					; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
   5769					; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
   5770					; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
   5771					;
   5772					; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
   5773					; DTE-20 REGISTER.
   5774					;
   5775					; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
   5776					; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
   5777					; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
   5778					;
   5779					; INPUT ARGUMENTS:
   5780					;
   5781					;	(READ) NONE.
   5782					;	(WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
   5783					;
   5784					; OUTPUT ARGUMENTS:
   5785					;
   5786					;	R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
   5787					;	READ OR WRITTEN.
   5788					;
   5789					; ERROR CODES RETURNED:
   5790					;
   5791					;	DSF -- DTE-20 STATUS FAILURE.
   5792					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 154
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   5794						.ENABL	LSB
   5795
   5796	006610				.DWDW1::			; DIAG WORD 1 WRITE ENTRY
   5797	006610	105037 	000053'			CLRB	.REGRW+3	; SET DIAG1 OFFSET
   5798	006614	000413 				BR	10$		; DO COMMON WRITE CODE
   5799						;
   5800	006616				.DWDW2::			; DIAG WORD 2 WRITE ENTRY
   5801	006616	112737 	000002 	000053'		MOVB	#.DIAG2,.REGRW+3; DIAG2 OFFSET
   5802	006624	000407 				BR	10$		; DO COMMON WRITE CODE
   5803						;
   5804	006626				.DWSTA::			; STATUS WRITE ENTRY
   5805	006626	112737 	000004 	000053'		MOVB	#.DTSTW,.REGRW+3; OFFSET FOR STATUS
   5806	006634	000403 				BR	10$		; DO COMMON WRITE CODE
   5807						;
   5808	006636				.DWDW3::			; DIAG WORD 3 WRITE ENTRY
   5809	006636	112737 	000006 	000053'		MOVB	#.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
   5810	006644				10$:				; COMMON WRITE CODE
   5811	006644	010037 	000054'			MOV	R0,.REGRW+4	; SET THE DATA POINTER IN THE DPB
   5812	006650	113700 	000053'			MOVB	.REGRW+3,R0	; GET THE REGISTER OFFSET
   5813	006654	046077 	002020'	000054'		BIC	MBZTAB(R0),@.REGRW+4
   5814									; ZERO THE MBZ BITS
   5815	006662	000420 				BR	30$		; WRITE IT
   5816						;
   5817	006664				.DTDW1::			; DIAG WORD 1 READ ENTRY
   5818	006664	105037 	000053'			CLRB	.REGRW+3	; DIAG WORD 1 OFFSET IS 0
   5819	006670	000413 				BR	20$		; GO READ IT
   5820						;
   5821	006672				.DTDW2::			; DIAG WORD 2 READ ENTRY
   5822	006672	112737 	000002 	000053'		MOVB	#.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
   5823	006700	000407 				BR	20$		; GO READ IT
   5824						;
   5825	006702				.DTSTA::			; STATUS WORD READ ENTRY
   5826	006702	112737 	000004 	000053'		MOVB	#.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
   5827	006710	000403 				BR	20$		; GO READ THE DTE-20 STATUS REGISTER
   5828						;
   5829	006712				.DTDW3::			; DIAG WORD 3 READ ENTRY
   5830	006712	112737 	000006 	000053'		MOVB	#.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
   5831
   5832					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 155
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   5834					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5835
   5836	006720				20$:
   5837	006720	005037 	000054'			CLR	.REGRW+4	; THIS IS NOT A WRITE
   5838	006724				30$:				; DATA BUFFER ALREADY LOADED FOR WRITE
   5839	006724	005037 	000230'			CLR	.DREG		; CLEAR RETURNED DATA BUFFER
   5840	006730					DIR$	#.REGRW		; READ OR WRITE THE REGISTER
	006730	012746 	000050'			MOV	#.REGRW,-(SP)
	006734	104375 				EMT	375
   5841	006736	103411 				BCS	DTEDSF		; ERROR IF CC-C IS SET
   5842	006740	013700 	000230'			MOV	.DREG,R0	; PUT A COPY IN R0
   5844	006744	032737 	000040 	000142'		BIT	#TR.DTE,.TRKWD	; NO -- ARE WE TRACKING DTE-20 OPS?
   5845	006752	001402 				BEQ	40$		; NO -- JUST RETURN
   5846	006754					CALLR	.DTTRK		; YES -- TRACK IT AND RETURN
	006754	000137 	023532'			 JMP	.DTTRK
   5847						;
   5848	006760				40$:
   5850	006760					RETURN			; GO AWAY
	006760	000207 				 RTS	PC
   5851
   5852						.DSABL	LSB
   5853
   5854	006762				DTEDSF:
   5855	006762					ERROR$	DSF		; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
	006762	012746 	015776 			 MOV	#^RDSF,-(SP)
	006766	104400 				 TRAP	TC.ERR
   5856						;
   5857
   5858					; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
   5859
   5860	002020				.PSECT	DATA
   5861
   5862	002020				MBZTAB:
   5863	002020	000442 				.WORD	D1.MBZ
   5864	002022	177641 				.WORD	D2.MBZ
   5865	002024	000000 				.WORD	ST.MBZ
   5866	002026	177704 				.WORD	D3.MBZ
   5867
   5868	006770				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 156
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   5870					; DPB TO READ OR WRITE THE DTE-20 REGISTERS
   5871
   5872					;	!===============================================!
   5873					; 00	!	DPB SIZE	!	  DIC		!
   5874					;	!-----------------------------------------------!
   5875					; 02	!   REGISTER OFFSET	!    DIRECTIVE CODE	!
   5876					;	!-----------------------------------------------!
   5877					; 04	!	  POINTER TO DATA TO BE WRITTEN		!
   5878					;	!-----------------------------------------------!
   5879					; 06	!	DESTINATION ADDRESS FOR DATA READ	!
   5880					;	!-----------------------------------------------!
   5881					; 10	!		DTE-20 NUMBER			!
   5882					;	!===============================================!
   5883
   5884	000050				.PSECT	DPBS
   5885
   5886	000050				.REGRW::
   5887	000050	002411 				.WORD	2411
   5888	000052	   017 	   000 			.BYTE	17,0
   5889	000054	000000 				.WORD	0
   5890	000056	000230'				.WORD	.DREG
   5891	000060	000000 				.WORD	0
   5892		000060'			RGDTEN==.-2
   5893
   5894	006770				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 157
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   5896					.SBTTL	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
   5897
   5898					;+
   5899					; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
   5900					;
   5901					; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
   5902					; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
   5903					; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
   5904					;
   5905					; SEQUENCE OF OPERATION:
   5906					;
   5907					;	(A) AN MBOX CLOCK IS ISSUED (FX.002),
   5908					;	(B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
   5909					;		(1) IF FALSE GO TO (A),
   5910					;		(2) IF TRUE GO TO (C),
   5911					;	(C) THE EBOX CLOCK IS SYNCHED LOW.
   5912					;
   5913					; INPUT ARGUMENTS:
   5914					;
   5915					;	NONE.
   5916					;
   5917					; OUTPUT ARGUMENTS:
   5918					;
   5919					;	NONE.
   5920					;
   5921					; ERROR CODES RETURNED:
   5922					;
   5923					;	CES -- CLOCK ERROR STOP.
   5924					;	DSF -- DTE-20 STATUS FAILURE.
   5925					;	ECT -- EBOX CLOCK TIMEOUT.
   5926					;	FRF -- FUNCTION READ FAILED.
   5927					;	FXF -- FUNCTION EXECUTE FAILED.
   5928					;
   5929					; NOTE:
   5930					;
   5931					;	THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
   5932					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 158
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   5934	006770				.EBCLK::
   5935	006770					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	006770	010246 				 MOV	R2,-(SP)
	006772	010146 				 MOV	R1,-(SP)
	006774	010046 				 MOV	R0,-(SP)
   5936	006776					CALL	.CESCK		; ...SEE IF CLOCK ERROR STOP IS UP
	006776	004737 	000056'			 JSR	PC,.CESCK
   5937	007002	012702 	000310 			MOV	#^D200,R2	; ...TIMEOUT COUNT TO R2
   5938	007006				10$:
   5939	007006	005001 				CLR	R1		; ...CLEAR R1
   5940	007010	012700 	000004 			MOV	#FX.MBC,R0	; ...DO ONE MBOX CLOCK
   5941	007014					CALL	.FXCT		; ...DO IT
	007014	004737 	007716'			 JSR	PC,.FXCT
   5942	007020	012700 	000210 			MOV	#FR.104,R0	; ...READ STATE OF [CLK EBX SRC H]
   5943	007024					CALL	.FREAD		; ...DO IT
	007024	004737 	007512'			 JSR	PC,.FREAD
   5944	007030	032710 	000004 			BIT	#BIT02,(R0)	; ...IS IT THERE?
   5945	007034	001001 				BNE	20$		; ...YES -- SYNCH THE CLOCK AND EXIT
   5946	007036	077215 				SOB	R2,10$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   5947	007040				20$:
   5948	007040	005702 				TST	R2		; ...WHAT'S IN R2?
   5949	007042	003405 				BLE	EBCECT		; ...TIMED OUT IF .LE. 0
   5950	007044					POP	<R0,R1,R2>	; ...RESTORE CALLER'S REGISTERS
	007044	012600 				 MOV	(SP)+,R0
	007046	012601 				 MOV	(SP)+,R1
	007050	012602 				 MOV	(SP)+,R2
   5951	007052					CALLR	.SYNXC		; FORCE SYNCH THE CLOCK AND EXIT
	007052	000137 	012210'			 JMP	.SYNXC
   5952						;
   5953	007056				EBCECT:
   5954	007056					ERROR$	ECT		; ERROR -- EBOX CLOCK TIME OUT
	007056	012746 	017714 			 MOV	#^RECT,-(SP)
	007062	104400 				 TRAP	TC.ERR
   5955						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 159
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   5957					.SBTTL	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   5958
   5959					;+
   5960					; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
   5961					; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
   5962					;
   5963					; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
   5964					;
   5965					; INPUT ARGUMENTS:
   5966					;
   5967					; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
   5968					;
   5969					;	(A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
   5970					;	(B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
   5971					;	(C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
   5972					;	(D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
   5973					;	(E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
   5974					;
   5975					; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
   5976					;
   5977					;		!===================================!
   5978					;	00	!      POINTER TO KL ADDRESS	    !
   5979					;		!-----------------------------------!
   5980					;	02	!       POINTER TO KL DATA	    !
   5981					;		!===================================!
   5982					;
   5983					; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
   5984					;
   5985					;		!===================================!
   5986					;	00	!	  KL ADDRESS 20 - 35	    !
   5987					;		!-----------------------------------!
   5988					;	02	!	  KL ADDRESS 19 - 14	    !
   5989					;		!===================================!
   5990					;
   5991					; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
   5992					;
   5993					; OUTPUT ARGUMENTS:
   5994					;
   5995					;	SAME AS INPUT ARGUMENTS.
   5996					;
   5997					; ERROR CODES RETURNED:
   5998					;
   5999					;	ESD -- EBOX STOPPED - DEPOSIT.
   6000					;	ESE -- EBOX STOPPED - EXAMINE.
   6001					;	EMF -- EXAMINE KL MEMORY FAILED.
   6002					;	DMF -- DEPOSIT KL MEMORY FAILED.
   6003					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 160
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   6005						.ENABL	LSB
   6006
   6007	007064				.EXKLM::
   6008	007064					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	007064	010246 				 MOV	R2,-(SP)
	007066	010346 				 MOV	R3,-(SP)
   6009	007070	012702 	002030'			MOV	#.ETAB,R2	; ..POINTER TO EXAMINE TABLE
   6010	007074					CALL	.EXDPM		; ..GO DO EXAMINE
	007074	004737 	007154'			 JSR	PC,.EXDPM
   6012	007100	032737 	000010 	000142'		BIT	#TR.EXM,.TRKWD	; ..ARE WE TRACKING EXAMINES?
   6013	007106	001417 				BEQ	10$		; ..NO -- GO ON
   6014	007110					CALL	.EXTRK		; ..YES -- TRACK IT
	007110	004737 	023642'			 JSR	PC,.EXTRK
   6016	007114	000414 				BR	10$		; ..AND GO AWAY
   6017						;
   6018	007116				.DPKLM::
   6019	007116					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	007116	010246 				 MOV	R2,-(SP)
	007120	010346 				 MOV	R3,-(SP)
   6020	007122	012702 	002040'			MOV	#.DTAB,R2	; ..POINTER TO DEPOSIT TABLE
   6021	007126					CALL	.EXDPM		; ..DO THE DEPOSIT
	007126	004737 	007154'			 JSR	PC,.EXDPM
   6023	007132	032737 	000020 	000142'		BIT	#TR.DEP,.TRKWD	; ..ARE WE TRACKING DEPOSITS?
   6024	007140	001402 				BEQ	10$		; ..NO -- GO ON
   6025	007142					CALL	.DPTRK		; ..YES -- TRACK THE DEPOSIT
	007142	004737 	023654'			 JSR	PC,.DPTRK
   6027	007146				10$:
   6028	007146					POP	<R3,R2>		; ..RESTORE R2 AND R3
	007146	012603 				 MOV	(SP)+,R3
	007150	012602 				 MOV	(SP)+,R2
   6029	007152					RETURN			; RETURN TO CALLER
	007152	000207 				 RTS	PC
   6030
   6031						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 161
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   6033					; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
   6034
   6035	007154				.EXDPM::
   6036	007154	000241 				CLC			; CLEAR CC-C
   6037	007156	012203 				MOV	(R2)+,R3	; GET THE DPB POINTER INTO R3
   6038	007160	110023 				MOVB	R0,(R3)+	; PUT THE MODE INTO THE DPB
   6039	007162	011123 				MOV	(R1),(R3)+	; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
   6040	007164	016113 	000002 			MOV	2(R1),(R3)	; AND DESTINATION POINTER TOO
   6041	007170	011303 				MOV	(R3),R3		; GET ADDRESS OF CALLER'S DATA BLOCK
   6042	007172	042763 	177760 	000004 		BIC	#177760,4(R3)	; CLEAR EXTRANEOUS BITS
   6043	007200					DIR$	(R2)+		; DO THE EXAMINE OR DEPOSIT
	007200	012246 				MOV	(R2)+,-(SP)
	007202	104375 				EMT	375
   6044	007204	103401 				BCS	10$		; ERROR IF CC-C IS SET
   6045	007206					RETURN			; TO CALLER
	007206	000207 				 RTS	PC
   6046	007210				10$:
   6047	007210	022737 	000000G	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
   6048	007216	001401 				BEQ	20$		; YES -- EBOX IS STOPPED
   6049	007220	005722 				TST	(R2)+		; NO -- OTHER ERROR
   6050	007222				20$:
   6051	007222					CALL	.CESCK		; SEE IF CLOCK ERROR STOP IS UP
	007222	004737 	000056'			 JSR	PC,.CESCK
   6052	007226					CALL	.RESTD		; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
	007226	004737 	011616'			 JSR	PC,.RESTD
   6053	007232	000132 				JMP	@(R2)+		; GIVE THE EXAMINE ERROR TRAP
   6054						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 162
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   6056					; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
   6057
   6058	002030				.PSECT	DATA
   6059
   6060	002030				.ETAB:
   6061	002030	000077'				.WORD	.EXDPB+3	; POINTER FOR EXAMINE MODE IN DPB
   6062	002032	000074'				.WORD	.EXDPB		; EXAMINE DPB POINTER
   6063	002034	007250'				.WORD	EXDESE		; EBOX STOPPED - EXAMINE
   6064	002036	007272'				.WORD	EXDEMF		; EXAMINE KL FAILED
   6065
   6066	002040				.DTAB:
   6067	002040	000065'				.WORD	.DPDPB+3	; POINTER FOR DEPOSIT MODE IN DPB
   6068	002042	000062'				.WORD	.DPDPB		; DEPOSIT DPB POINTER
   6069	002044	007234'				.WORD	EXDESD		; EBOX STOPPED - DEPOSIT
   6070	002046	007264'				.WORD	EXDDMF		; DEPOSIT KL FAILED
   6071
   6072	007234				.PSECT
   6073
   6074	007234				EXDESD:
   6075	007234	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   6076	007242					ERROR$	ESD		; ERROR -- EBOX STOPPED - DEPOSIT
	007242	012746 	021074 			 MOV	#^RESD,-(SP)
	007246	104400 				 TRAP	TC.ERR
   6077						;
   6078	007250				EXDESE:
   6079	007250	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   6080	007256					ERROR$	ESE		; ERROR -- EBOX STOPPED - EXAMINE
	007256	012746 	021075 			 MOV	#^RESE,-(SP)
	007262	104400 				 TRAP	TC.ERR
   6081						;
   6082	007264				EXDDMF:
   6083	007264					ERROR$	DMF		; ERROR -- DEPOSIT MEMORY FAILED
	007264	012746 	015416 			 MOV	#^RDMF,-(SP)
	007270	104400 				 TRAP	TC.ERR
   6084						;
   6085	007272				EXDEMF:
   6086	007272					ERROR$	EMF		; ERROR -- EXAMINE MEMORY FAILED
	007272	012746 	020516 			 MOV	#^REMF,-(SP)
	007276	104400 				 TRAP	TC.ERR
   6087						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 163
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   6089					; DPB FOR PRIVILEGED DEPOSIT
   6090
   6091					;	!===============================================!
   6092					; 00	!	DPB SIZE	!	  DIC		!
   6093					;	!-----------------------------------------------!
   6094					; 02	!    DEPOSIT TYPE	!    DIRECTIVE CODE	!
   6095					;	!-----------------------------------------------!
   6096					; 04	!	  KL DEPOSIT ADDRESS POINTER		!
   6097					;	!-----------------------------------------------!
   6098					; 06	!	   KL DEPOSIT DATA POINTER		!
   6099					;	!-----------------------------------------------!
   6100					; 10	!		DTE-20 NUMBER			!
   6101					;	!===============================================!
   6102
   6103	000062				.PSECT	DPBS
   6104
   6105	000062				.DPDPB::
   6106	000062					PRDP$	0,.EDKLA,.DPBFR,ED.PHY
	000062	   011 	   005 			.BYTE	DR.DTE,5
	000064	   016 	   200 			.BYTE	DF.PDP,ED.PHY
	000066	000036'				.WORD	.EDKLA
	000070	000020'				.WORD	.DPBFR
	000072	000000 				.WORD	0
   6107		000072'			DPDTEN==.-2
   6108
   6109					; DPB FOR PRIVILEGED EXAMINE
   6110
   6111					;	!===============================================!
   6112					; 00	!	DPB SIZE	!	  DIC		!
   6113					;	!-----------------------------------------------!
   6114					; 02	!    EXAMINE TYPE	!    DIRECTIVE CODE	!
   6115					;	!-----------------------------------------------!
   6116					; 04	!	    KL ADDRESS WORD POINTER		!
   6117					;	!-----------------------------------------------!
   6118					; 06	!	     DATA DESTINATION POINTER		!
   6119					;	!-----------------------------------------------!
   6120					; 10	!		DTE-20 NUMBER			!
   6121					;	!===============================================!
   6122
   6123	000074				.EXDPB::
   6124	000074					PREX$	0,.EDKLA,.EXBFR,ED.PHY
	000074	   011 	   005 			.BYTE	DR.DTE,5
	000076	   015 	   200 			.BYTE	DF.PEX,ED.PHY
	000100	000036'				.WORD	.EDKLA
	000102	000056'				.WORD	.EXBFR
	000104	000000 				.WORD	0
   6125		000104'			EXDTEN==.-2
   6126
   6127	007300				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 164
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   6129					.SBTTL	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   6130
   6131					;+
   6132					; .EXCTF -- FST INTERNAL EXECUTE.
   6133					;
   6134					; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
   6135					; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
   6136					; CONTINUED
   6137					;
   6138					; INPUT ARGUMENTS:
   6139					;
   6140					;	NONE.
   6141					;
   6142					; OUTPUT ARGUMENTS:
   6143					;
   6144					;	NONE.
   6145					;
   6146					; ERROR CODES RETURNED:
   6147					;
   6148					;	NONE
   6149					;-
   6150
   6151	007300				.EXCTF::
   6152	007300					PUSH	.KLFLG		; SAVE ".KLFLG"
	007300	013746 	000000G			 MOV	.KLFLG,-(SP)
   6153	007304	005116 				COM	(SP)		; .INVERT IT
   6154	007306	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP)
   6155	007312	001013 				BNE	10$		; .NOT REALLY RUNNING -- DO OTHER XCT
   6156	007314	005116 				COM	(SP)		; .RESET SAVED ".KLFLG"
   6157	007316					PUSH	R0		; .SAVE R0
	007316	010046 				 MOV	R0,-(SP)
   6158	007320					CALL	.STPKL		; ..STOP THE KL
	007320	004737 	012012'			 JSR	PC,.STPKL
   6159	007324					POP	R1		; ..INSTRUCTION POINTER TO R1
	007324	012601 				 MOV	(SP)+,R1
   6160	007326					CALL	.KLXCT		; .EXECUTE THE INSTRUCTION
	007326	004737 	010556'			 JSR	PC,.KLXCT
   6161	007332					POP	.SVKLF		; .SET UP ".SVKLF"
	007332	012637 	000140'			 MOV	(SP)+,.SVKLF
   6162	007336					CALLR	.RSTKL		; RESTART THE KL
	007336	000137 	011734'			 JMP	.RSTKL
   6163						;
   6164	007342				10$:
   6165	007342	005726 				TST	(SP)+		; .FLUSH THE STACK
   6166	007344	022020 				CMP	(R0)+,(R0)+	; ADVANCE THE POINTER
   6167	007346					PUSH	<(R0),-(R0),-(R0)>
	007346	011046 				 MOV	(R0),-(SP)
	007350	014046 				 MOV	-(R0),-(SP)
	007352	014046 				 MOV	-(R0),-(SP)
   6168	007354	010600 				MOV	SP,R0		; ...POINT TO STACKED INSTRUCTION
   6169
   6170					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 165
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   6172					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6173
   6174	007356				.EXECT::
   6175	007356	010001 				MOV	R0,R1		; ...POINTER TO R1
   6176	007360					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	007360	013746 	000000G			 MOV	.KLFLG,-(SP)
   6177	007364					CALL	.KLXCT		; ....START THE EXECUTE
	007364	004737 	010556'			 JSR	PC,.KLXCT
   6178	007370				10$:
   6179	007370					CALL	.EBCLK		; ....GIVE ONE EBOX CLOCK
	007370	004737 	006770'			 JSR	PC,.EBCLK
   6180	007374					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	007374	004737 	006664'			 JSR	PC,.DTDW1
   6181	007400	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP UP?
   6182	007404	001371 				BNE	10$		; ....YES -- WAIT TILL IT ISN'T
   6183	007406					CALL	.STCLK		; ....OUT OF HALT LOOP -- START THE CLOCK
	007406	004737 	011762'			 JSR	PC,.STCLK
   6184	007412	012701 	005000 			MOV	#5000,R1	; ....WAIT COUNT TO R1
   6185	007416				20$:
   6186	007416					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	007416	004737 	006664'			 JSR	PC,.DTDW1
   6187	007422	032700 	001000 			BIT	#D1.HLP,R0	; ....LOOK FOR THE HALT LOOP AGAIN
   6188	007426	001002 				BNE	30$		; ....IN THE HALT LOOP -- FINISH UP
   6189	007430	077106 				SOB	R1,20$		; ....NOT YET -- TRY AGAIN
   6190	007432	000424 				BR	EXECTO		; ....EXECUTE TIMED OUT
   6191						;
   6192	007434				30$:
   6193	007434	005116 				COM	(SP)		; ....INVERT OLD ".KLFLG"
   6194	007436	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
   6195	007442	001003 				BNE	40$		; ....NO -- GO ON
   6196	007444					CALL	.KLCON		; ....YES -- CONTINUE THE KL
	007444	004737 	010066'			 JSR	PC,.KLCON
   6197	007450	000412 				BR	60$		; ....AND EXIT
   6198						;
   6199	007452				40$:
   6200	007452	032716 	100000 			BIT	#KF.CLK,(SP)	; ....WAS THE CLOCK ON?
   6201	007456	001402 				BEQ	50$		; ....YES -- GO ON
   6202	007460					CALL	.STPXC		; ....NO -- STOP IT
	007460	004737 	012036'			 JSR	PC,.STPXC
   6203	007464				50$:
   6204	007464	032716 	040000 			BIT	#KF.RUN,(SP)	; ....WAS THE RUN FLOP ON??
   6205	007470	001002 				BNE	60$		; ....NO -- GO ON
   6206	007472					CALL	.STRUN		; ....YES -- SET IT
	007472	004737 	012066'			 JSR	PC,.STRUN
   6207	007476				60$:
   6208	007476	062706 	000010 			ADD	#^D8,SP		; ....RESET THE STACK
   6209	007502					RETURN			; AND EXIT
	007502	000207 				 RTS	PC
   6210	007504				EXECTO:
   6211	007504					ERROR$	XTO		; ERROR -- EXECUTE TIMED OUT
	007504	012746 	114457 			 MOV	#^RXTO,-(SP)
	007510	104400 				 TRAP	TC.ERR
   6212						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 166
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   6214					.SBTTL	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   6215
   6216					;+
   6217					; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
   6218					;
   6219					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
   6220					;
   6221					; SEQUENCE OF OPERATION:
   6222					;
   6223					;	THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
   6224					;	IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
   6225					;
   6226					; INPUT ARGUMENTS:
   6227					;
   6228					;	R0 HOLDS THE FUNCTION READ CODE
   6229					;	R1 POINTS TO A DESTINATION BUFFER
   6230					;
   6231					; OUTPUT ARGUMENTS:
   6232					;
   6233					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   6234					;	R1 POINTS TO THE CALLER'S READ BLOCK
   6235					;
   6236					; ERROR CODES RETURNED:
   6237					;
   6238					;	FRF -- FUNCTION READ FAILED.
   6239					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 167
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   6241	007512				.FREAD::
   6242	007512	110037 	000111'			MOVB	R0,.KLDFR+3	; SET THE DFR# IN THE DPB
   6243	007516					DIR$	#.KLDFR		; CALL THE EXEC TO DO THE READ
	007516	012746 	000106'			MOV	#.KLDFR,-(SP)
	007522	104375 				EMT	375
   6244	007524	103420 				BCS	FRDFRF		; ERROR IF CC-C IS SET
   6245	007526	012700 	000222'			MOV	#.DFRB,R0	; POINT TO TOP OF READ BLOCK
   6246	007532	005701 				TST	R1		; TEST R1
   6247	007534	001405 				BEQ	10$		; EXIT IF R1 .EQ. 0
   6248	007536	012021 				MOV	(R0)+,(R1)+	; LOAD HIS BUFFER FROM OURS
   6249	007540	012021 				MOV	(R0)+,(R1)+
   6250	007542	011011 				MOV	(R0),(R1)
   6251	007544	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   6252	007546	024141 				CMP	-(R1),-(R1)
   6253	007550				10$:
   6255	007550	032737 	000002 	000142'		BIT	#TR.FRD,.TRKWD	; ARE WE TRACKING FUNCTION READS?
   6256	007556	001402 				BEQ	20$		; NO -- JUST EXIT
   6257	007560					CALL	.FRTRK		; YES -- DO IT
	007560	004737 	023372'			 JSR	PC,.FRTRK
   6258	007564				20$:
   6260	007564					RETURN			; TO CALLER
	007564	000207 				 RTS	PC
   6261	007566				FRDFRF:
   6262	007566					ERROR$	FRF		; ERROR -- FUNCTION READ FAILED
	007566	012746 	024126 			 MOV	#^RFRF,-(SP)
	007572	104400 				 TRAP	TC.ERR
   6263						;
   6264
   6265					; DPB FOR DIAGNOSTIC FUNCTION READ
   6266
   6267					;	!===============================================!
   6268					; 00	!	DPB SIZE	!	DIC		!
   6269					;	!-----------------------------------------------!
   6270					; 02	!	DFR OPCODE	!	DFR CODE	!
   6271					;	!-----------------------------------------------!
   6272					; 04	!	    TRANSFER BUFFER ADDRESS		!
   6273					;	!-----------------------------------------------!
   6274					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6275					;	!-----------------------------------------------!
   6276					; 10	!		DTE-20 NUMBER			!
   6277					;	!===============================================!
   6278
   6279	000106				.PSECT	DPBS
   6280
   6281	000106				.KLDFR::
   6282	000106					KLDR$	.-.,.DFBLK,.DREG,0
	000106	002411 				.WORD	400*5.+DR.DTE
	000110	   012 	   000 			.BYTE	DF.KLR,.-./400
	000112	000214'				.WORD	.DFBLK
	000114	000230'				.WORD	.DREG
	000116	000000 				.WORD	0
   6283		000116'			FRDTEN==.-2
   6284
   6285	007574				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 168
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6287					.SBTTL	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   6288
   6289					;+
   6290					; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   6291					;
   6292					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   6293					;
   6294					; SEQUENCE OF OPERATION:
   6295					;
   6296					; .FWRIT:
   6297					;
   6298					;	(A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
   6299					;	    IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
   6300					;	(B) THE FUNCTION WRITE IS EXECUTED.
   6301					;
   6302					; INPUT ARGUMENTS:
   6303					;
   6304					;	R0 HOLDS THE FUNCTION WRITE CODE
   6305					;	R1 POINTS TO A SOURCE BUFFER
   6306					;
   6307					; OUTPUT ARGUMENTS:
   6308					;
   6309					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   6310					;	R1 POINTS TO THE CALLER'S WRITE BLOCK
   6311					;
   6312					; ERROR CODES RETURNED:
   6313					;
   6314					;	FWF -- FUNCTION WRITE FAILED.
   6315					;-
   6316
   6317	007574				.FWRIT::
   6318	007574	110037 	000123'			MOVB	R0,.KLDFW+3	; SET THE DFW# IN THE DPB
   6319	007600	012700 	000214'			MOV	#.DFWB,R0	; POINT TO TOP OF WRITE BLOCK
   6320	007604	005701 				TST	R1		; TEST R1
   6321	007606	001405 				BEQ	10$		; ALREADY IN ".DFWB" IF R1 .EQ. 0
   6322	007610	012120 				MOV	(R1)+,(R0)+	; LOAD THE DATA BLOCK
   6323	007612	012120 				MOV	(R1)+,(R0)+
   6324	007614	011110 				MOV	(R1),(R0)
   6325	007616	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   6326	007620	024141 				CMP	-(R1),-(R1)
   6327
   6328
   6329					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 169
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6331					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6332
   6333	007622				10$:
   6334	007622	042760 	177760 	000004 		BIC	#177760,4(R0)	; FLUSH EXTRANEOUS BITS
   6335	007630					DIR$	#.KLDFW		; CALL THE EXEC TO DO THE WRITE
	007630	012746 	000120'			MOV	#.KLDFW,-(SP)
	007634	104375 				EMT	375
   6336	007636	103424 				BCS	FWRFWF		; ERROR IF CC-C IS SET
   6337	007640					PUSH	R0		; SAVE THE BUFFER POINTER
	007640	010046 				 MOV	R0,-(SP)
   6338	007642	113700 	000123'			MOVB	.KLDFW+3,R0	; .GET THE WRITE CODE
   6339	007646	120027 	000110 			CMPB	R0,#FW.044	; .DID WE WRITE THE CLOCK BOARD?
   6340	007652	002406 				BLT	20$		; .NO -- JUST EXIT
   6341	007654	120027 	000116 			CMPB	R0,#FW.047	; .MAYBE -- DID WE REALLY?
   6342	007660	003003 				BGT	20$		; .NO -- JUST EXIT
   6343	007662	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; .YES -- TURN THE CLOCK BIT OFF
   6344	007670				20$:
   6346	007670	032737 	000004 	000142'		BIT	#TR.FWR,.TRKWD	; .ARE WE TRACKING FUNCTION WRITES?
   6347	007676	001402 				BEQ	30$		; .NO -- GO ON
   6348	007700					CALL	.FWTRK		; .YES -- LEAVE TRACKS ON CONSOLE
	007700	004737 	023412'			 JSR	PC,.FWTRK
   6349	007704				30$:
   6351	007704					POP	R0		; .RESTORE THE BUFFER POINTER
	007704	012600 				 MOV	(SP)+,R0
   6352	007706					RETURN			; YES -- RETURN TO CALLER
	007706	000207 				 RTS	PC
   6353
   6354	007710				FWRFWF:
   6355	007710					ERROR$	FWF		; ERROR -- FUNCTION WRITE FAILED
	007710	012746 	024436 			 MOV	#^RFWF,-(SP)
	007714	104400 				 TRAP	TC.ERR
   6356						;
   6357
   6358					; DPB FOR DIAGNOSTIC FUNCTION WRITE
   6359
   6360					;	!===============================================!
   6361					; 00	!	DPB SIZE	!	DIC		!
   6362					;	!-----------------------------------------------!
   6363					; 02	!	DFW OPCODE	!	DFW CODE	!
   6364					;	!-----------------------------------------------!
   6365					; 04	!	   TRANSFER BUFFER ADDRESS		!
   6366					;	!-----------------------------------------------!
   6367					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6368					;	!-----------------------------------------------!
   6369					; 10	!		DTE-20 NUMBER			!
   6370					;	!===============================================!
   6371
   6372	000120				.PSECT	DPBS
   6373
   6374	000120				.KLDFW::
   6375	000120					KLDW$	.-.,.DFBLK,.DREG,0
	000120	002411 				.WORD	400*5.+DR.DTE
	000122	   013 	   000 			.BYTE	DF.KLW,.-./400
	000124	000214'				.WORD	.DFBLK
	000126	000230'				.WORD	.DREG
	000130	000000 				.WORD		0
   6376		000130'			FWDTEN==.-2
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 169-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6377
   6378	007716				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 170
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6380					.SBTTL	.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   6381					;+
   6382					; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   6383					;
   6384					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
   6385					; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
   6386					; IN THE KL STATE FLAG WORD, ".KLFLG".
   6387					;
   6388					; SEQUENCE OF OPERATION:
   6389					;
   6390					;	THE DFX IS SIMPLY EXECUTED.
   6391					;
   6392					; INPUT ARGUMENTS:
   6393					;
   6394					;	R0 CONTAINS THE FUNCTION EXECUTE CODE
   6395					;
   6396					; OUTPUT ARGUMENTS:
   6397					;
   6398					;	NONE.
   6399					;
   6400					; ERROR CODES RETURNED:
   6401					;
   6402					;	FXF -- FUNCTION EXECUTE FAILED.
   6403					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 171
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6405	007716				.FXCT::
   6406	007716	110037 	000135'			MOVB	R0,.KLDFX+3	; SET THE EXECUTE CODE IN THE DPB
   6407	007722					DIR$	#.KLDFX		; CALL THE EXEC TO DO THE DFX
	007722	012746 	000132'			MOV	#.KLDFX,-(SP)
	007726	104375 				EMT	375
   6408	007730	103453 				BCS	FXCFXF		; ERROR IF CC-C IS SET
   6409	007732	113746 	000135'			MOVB	.KLDFX+3,-(SP)	; PUT THE EXECUTE CODE ON THE STACK
   6410	007736	012700 	100000 			MOV	#KF.CLK,R0	; .FLAG BIT TO R0
   6411	007742	121627 	000002 			CMPB	(SP),#FX.CST	; .IS DFX CODE .EQ. 1?
   6412	007746	001411 				BEQ	10$		; .YES -- DO CLOCK STARTED STUFF
   6413	007750	121627 	000016 			CMPB	(SP),#FX.SMR	; .NO -- IS DFX CODE .GT. 7?
   6414	007754	101014 				BHI	20$		; .YES -- LEAVE NOW
   6415	007756	030037 	000000G			BIT	R0,.KLFLG	; .NO -- IS THE FLAG OFF ALREADY?
   6416	007762	001426 				BEQ	40$		; .YES -- LEAVE NOW
   6417	007764	040037 	000000G			BIC	R0,.KLFLG	; .NO -- TURN IF OFF
   6418	007770	000423 				BR	40$		; .AND GO AWAY
   6419						;
   6420	007772				10$:
   6421	007772	030037 	000000G			BIT	R0,.KLFLG	; .IS THE FLAG ON ALREADY?
   6422	007776	001020 				BNE	40$		; .YES -- LEAVE NOW
   6423	010000	050037 	000000G			BIS	R0,.KLFLG	; .NO -- LIGHT IT UP
   6424	010004	000415 				BR	40$		; .AND EXIT
   6425						;
   6426	010006				20$:
   6427	010006	012700 	040000 			MOV	#KF.RUN,R0	; .DO RUN FLAG STUFF
   6428	010012	121627 	000022 			CMPB	(SP),#FX.SRF	; .SET THE RUN FLOP?
   6429	010016	001003 				BNE	30$		; .NO -- GO ON
   6430	010020	050037 	000000G			BIS	R0,.KLFLG	; .YES -- SET THE FLAG
   6431	010024	000405 				BR	40$		; .AND GO AWAY
   6432						;
   6433	010026				30$:
   6434	010026	121627 	000020 			CMPB	(SP),#FX.CRF	; .CLEAR RUN FLOP?
   6435	010032	001002 				BNE	40$		; .NO  -- JUST GO AWAY
   6436	010034	040037 	000000G			BIC	R0,.KLFLG	; .YES -- CLEAR THE FLAG
   6437
   6438					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 172
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6440					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6441
   6442	010040				40$:
   6444	010040	032737 	000001 	000142'		BIT	#TR.FXC,.TRKWD	; .ARE WE TRACKING FUNCTION EXECUTES?
   6445	010046	001402 				BEQ	50$		; .NO -- JUST EXIT
   6446	010050					CALL	.FXTRK		; .YES -- DO IT
	010050	004737 	023432'			 JSR	PC,.FXTRK
   6447	010054				50$:
   6449	010054					POP	R0		; .RESTORE R0
	010054	012600 				 MOV	(SP)+,R0
   6450	010056					RETURN			; TO CALLER
	010056	000207 				 RTS	PC
   6451	010060				FXCFXF:
   6452	010060					ERROR$	FXF		; FUNCTION EXECUTE FAILED
	010060	012746 	024506 			 MOV	#^RFXF,-(SP)
	010064	104400 				 TRAP	TC.ERR
   6453						;
   6454
   6455					; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
   6456
   6457					;	!===============================================!
   6458					; 00	!	DPB SIZE	!	DIC		!
   6459					;	!-----------------------------------------------!
   6460					; 02	!	DFX OPCODE	!	DFX CODE	!
   6461					;	!-----------------------------------------------!
   6462					; 04	!	    TRANSFER BUFFER ADDRESS		!
   6463					;	!-----------------------------------------------!
   6464					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6465					;	!-----------------------------------------------!
   6466					; 10	!		DTE-20 NUMBER			!
   6467					;	!===============================================!
   6468
   6469
   6470	000132				.PSECT	DPBS
   6471
   6472	000132				.KLDFX::
   6473	000132					KLDX$	.-.,.DFBLK,.DREG,0
	000132	002411 				.WORD	400*5.+DR.DTE
	000134	   014 	   000 			.BYTE	DF.KLX,.-./400
	000136	000214'				.WORD	.DFBLK
	000140	000230'				.WORD	.DREG
	000142	000000 				.WORD	0
   6474		000142'			FXDTEN==.-2
   6475
   6476	010066				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 173
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   6478					.SBTTL	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   6479
   6480					;+
   6481					; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
   6482					; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
   6483					;
   6484					; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
   6485					; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
   6486					;
   6487					; SEQUENCE OF OPERATION:
   6488					;
   6489					; .KLCON:
   6490					;
   6491					;	(A) THE KL CONTINUE FLOP IS SET,
   6492					;
   6493					; .KLGO:
   6494					;
   6495					;	(A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
   6496					;	(B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
   6497					;	    OR SINGLE PULSE MODE.
   6498					;
   6499					; INPUT ARGUMENTS:
   6500					;
   6501					;	NONE.
   6502					;
   6503					; OUTPUT ARGUMENTS:
   6504					;
   6505					;	NONE.
   6506					;
   6507					; ERROR CODES RETURNED:
   6508					;
   6509					;	CFH -- CAN'T FIND KL HALT LOOP.
   6510					;	CSK -- CAN'T START KL.
   6511					;	DSF -- DTE-20 STATUS FAILURE.
   6512					;	FRF -- FUNCTION READ FAILED.
   6513					;	FWF -- FUNCTION WRITE FAILED.
   6514					;	FXF -- FUNCTION EXECUTE FAILED.
   6515					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 174
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   6517	010066				.KLCON::
   6518	010066					PUSH	R1		; SAVE R1 ON THE STACK
	010066	010146 				 MOV	R1,-(SP)
   6519	010070	012701 	000000G			MOV	#.KLFLG,R1	; .FLAG WORD POINTER TO R1
   6520	010074				.KLGO::
   6521	010074	032711 	002000 			BIT	#KF.SPM,(R1)	; .SINGLE PULSE MODE?
   6522	010100	001027 				BNE	30$		; .YES -- JUST EXIT
   6523	010102	032711 	010000 			BIT	#KF.SIM,(R1)	; .NO -- SINGLE INSTRUCTION MODE?
   6524	010106	001002 				BNE	10$		; .YES -- GO ON
   6525	010110					CALL	.STRUN		; .NO -- SET THE KL RUN FLOP
	010110	004737 	012066'			 JSR	PC,.STRUN
   6526	010114				10$:
   6527	010114	012700 	000024 			MOV	#FX.CON,R0	; .SET THE CONTINUE BUTTON
   6528	010120					CALL	.FXCT		; .DO IT
	010120	004737 	007716'			 JSR	PC,.FXCT
   6529	010124	032711 	100000 			BIT	#KF.CLK,(R1)	; .IS THE CLOCK RUNNING?
   6530	010130	001002 				BNE	20$		; .YES -- EXIT
   6531	010132					CALL	.STCLK		; .NO -- START THE KL CLOCK
	010132	004737 	011762'			 JSR	PC,.STCLK
   6532	010136				20$:
   6533	010136	011100 				MOV	(R1),R0		; .GET ".KLFLG" INTO R0
   6534	010140	005100 				COM	R0		; .INVERT IT
   6535	010142	032700 	140000 			BIT	#KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
   6536	010146	001004 				BNE	30$		; .NO -- JUST EXIT
   6537	010150	052711 	000200 			BIS	#KF.CON,(R1)	; .YES -- KL IS NOW CONTINUEABLE
   6538	010154	105037 	000000G			CLRB	.NOHLT		; .LET RSX20F CATCH KL HALTS
   6539	010160				30$:
   6540	010160					POP	R1		; .RESTORE R1
	010160	012601 				 MOV	(SP)+,R1
   6541	010162					RETURN			; EXIT
	010162	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 175
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   6543					.SBTTL	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   6544
   6545					;+
   6546					; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
   6547					;	    AND SYNCH THE EBOX CLOCK LOW.
   6548					;
   6549					; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
   6550					; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
   6551					;
   6552					; SEQUENCE OF OPERATION:
   6553					;
   6554					;	(A) THE KL RUN FLOP IS TURNED OFF,
   6555					;	(B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
   6556					;	(C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
   6557					;	(D) THE KL CLOCK IS TURNED OFF,
   6558					;	(E) THE KL CLOCK IS SYNCHED LOW.
   6559					;
   6560					; INPUT ARGUMENTS:
   6561					;
   6562					;	NONE.
   6563					;
   6564					; OUTPUT ARGUMENTS:
   6565					;
   6566					;	NONE.
   6567					;
   6568					; ERROR CODES RETURNED:
   6569					;
   6570					;	CFH -- CAN'T FIND KL HALT LOOP.
   6571					;	DSF -- DTE-20 STATUS FAILURE.
   6572					;	FWF -- FUNCTION WRITE FAILED.
   6573					;	FXF -- FUNCTION EXECUTE FAILED.
   6574					;
   6575					; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
   6576					;-
   6577
   6578	010164				.KLHLT::
   6579	010164					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	010164	010046 				 MOV	R0,-(SP)
	010166	010146 				 MOV	R1,-(SP)
	010170	010246 				 MOV	R2,-(SP)
   6580	010172					CALL	.DTDW1		; ...READ DIAG WORD 1
	010172	004737 	006664'			 JSR	PC,.DTDW1
   6581	010176	032700 	004000 			BIT	#D1.CES,R0	; ...IS CLOCK ERROR STOP UP?
   6582	010202	001016 				BNE	40$		; ...YES -- JUST EXIT
   6583	010204					CALL	.CLRFF		; ...NO -- CLEAR THE RUN FLOP
	010204	004737 	006554'			 JSR	PC,.CLRFF
   6584	010210	012701 	000024 			MOV	#^D20,R1	; ...SET UP WAIT COUNT
   6585
   6586					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 176
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   6588					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6589
   6590	010214				10$:
   6591	010214					CALL	.DTDW1		; ...READ THE DTE-20 DIAG WORD 1
	010214	004737 	006664'			 JSR	PC,.DTDW1
   6592	010220	032700 	001000 			BIT	#D1.HLP,R0	; ...IN THE HALT LOOP YET?
   6593	010224	001001 				BNE	20$		; ...YES -- EXIT
   6594	010226	077106 				SOB	R1,10$		; ...NO -- TRY TILL COUNT EXHAUSTED
   6595	010230				20$:
   6596	010230	005701 				TST	R1		; ...IS R1 .GT. 0?
   6597	010232	003407 				BLE	50$		; ...NO -- GO MOVE THE CLOCK MANUALLY
   6598	010234				30$:
   6599	010234					CALL	.STPXC		; ...STOP THE KL CLOCK
	010234	004737 	012036'			 JSR	PC,.STPXC
   6600	010240				40$:
   6601	010240					POP	<R2,R1,R0>	; ...RESTORE CALLER'S REGISTERS
	010240	012602 				 MOV	(SP)+,R2
	010242	012601 				 MOV	(SP)+,R1
	010244	012600 				 MOV	(SP)+,R0
   6602	010246					CALLR	.SYNXC		; SYNCH THE EBOX CLOCK LOW AND EXIT
	010246	000137 	012210'			 JMP	.SYNXC
   6603						;
   6604
   6605					; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
   6606					; THIS MEANS THAT:
   6607					;
   6608					;	(A) MICROCODE WASN'T RUNNING, OR
   6609					;	(B) MICROCODE WASN'T LOADED.
   6610
   6611	010252				50$:
   6612	010252					CALL	.STPXC		; ...MAKE SURE THE CLOCK IS OFF
	010252	004737 	012036'			 JSR	PC,.STPXC
   6613	010256	012702 	000012 			MOV	#^D10,R2	; ...ITERATION COUNT TO R2
   6614	010262				60$:
   6615	010262	012700 	000310 			MOV	#^D200,R0	; ...200 (DECIMAL) CLOCKS PER PASS
   6616	010266					CALL	.BURST		; ...BURST THE CLOCK
	010266	004737 	006474'			 JSR	PC,.BURST
   6617	010272					CALL	.DTDW1		; ...READ DTE-20 DIAG WORD 1
	010272	004737 	006664'			 JSR	PC,.DTDW1
   6618	010276	032700 	001000 			BIT	#D1.HLP,R0	; ...ARE WE IN HALT LOOP NOW?
   6619	010302	001354 				BNE	30$		; ...YES -- GO STOP AND SYNCH THE CLOCK
   6620	010304	077212 				SOB	R2,60$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   6621	010306				KLHCFH:
   6622	010306					ERROR$	CFH		; ERROR -- CAN'T FIND HALT LOOP
	010306	012746 	011670 			 MOV	#^RCFH,-(SP)
	010312	104400 				 TRAP	TC.ERR
   6623						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 177
.KLST  -- SUBROUTINE TO START THE KL 7512.08

   6625					.SBTTL	.KLST  -- SUBROUTINE TO START THE KL 7512.08
   6626
   6627					; .KLST -- SUBROUTINE TO START THE KL.
   6628					;
   6629					; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
   6630					; POINTED T0 BY R1 IN THE CALL.
   6631					;
   6632					; SEQUENCE OF OPERATION:
   6633					;
   6634					;	(A) THE KL IS STOPPED IN THE HALT LOOP,
   6635					;	(B) THE PC WORD IS LOADED INTO THE AR REGISTER,
   6636					;	(C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
   6637					;
   6638					; INPUT ARGUMENTS:
   6639					;
   6640					;	R1 POINTS TO A 23 BIT KL ADDRESS
   6641					;
   6642					; OUTPUT ARGUMENTS:
   6643					;
   6644					;	NONE.
   6645					;
   6646					; ERROR CODES RETURNED:
   6647					;
   6648					;	CFH -- CAN'T FIND KL HALT LOOP.
   6649					;	CSK -- CAN'T START KL.
   6650					;	DSF -- DTE-20 STATUS FAILURE.
   6651					;	FRF -- FUNCTION READ FAILED.
   6652					;	FWF -- FUNCTION WRITE FAILED.
   6653					;	FXF -- FUNCTION EXECUTE FAILED.
   6654					;
   6655					; NOTE:
   6656					;
   6657					;	THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
   6658					;-
   6659
   6660	010314				.KLST::
   6661	010314					PUSH	R1		; SAVE POINTER ON THE STACK
	010314	010146 				 MOV	R1,-(SP)
   6662	010316					CALL	.KLHLT		; .HALT THE KL
	010316	004737 	010164'			 JSR	PC,.KLHLT
   6663	010322	011601 				MOV	(SP),R1		; .GET THE POINTER
   6664	010324	012700 	000176 			MOV	#FW.LAR,R0	; .LOAD THE AR REGISTER
   6665	010330					CALL	.FWRIT		; .DO IT
	010330	004737 	007574'			 JSR	PC,.FWRIT
   6666	010334	012701 	000000G			MOV	#.KLFLG,R1	; .POINT TO ".KLFLG"
   6667	010340	000655 				BR	.KLGO		; .AND FINISH THE START
   6668						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 178
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19

   6670					.SBTTL	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   6671
   6672					;+
   6673					; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
   6674					;
   6675					; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
   6676					; AND EXIT WITH THE KL CLOCK RUNNING.
   6677					;
   6678					; INPUT ARGUMENTS:
   6679					;
   6680					;	NONE.
   6681					;
   6682					; OUTPUT ARGUMENTS:
   6683					;
   6684					;	NONE.
   6685					;
   6686					; ERROR CODES RETURNED:
   6687					;
   6688					;	CFH -- CAN'T FIND HALT LOOP.
   6689					;	DSF -- DTE-20 STATUS FAILURE.
   6690					;	FXF -- FUNCTION EXECUTE FAILED.
   6691					;-
   6692
   6693	010342				.KLSTP::
   6694	010342	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK OFF?
   6695	010350	001001 				BNE	10$		; NO -- GO ON
   6696	010352	000704 				BR	.KLHLT		; YES -- HALT THE KL
   6697						;
   6698	010354				10$:
   6699	010354					PUSH	<R0,R1>		; SAVE R0 AND R1 ON THE STACK
	010354	010046 				 MOV	R0,-(SP)
	010356	010146 				 MOV	R1,-(SP)
   6700	010360	012701 	000144 			MOV	#^D100,R1	; ..SETUP WAIT COUNT
   6701	010364					CALL	.CLRFF		; ..CLEAR THE RUN FLOP
	010364	004737 	006554'			 JSR	PC,.CLRFF
   6702	010370				20$:
   6703	010370					CALL	.DTDW1		; ..READ DIAG WORD 1
	010370	004737 	006664'			 JSR	PC,.DTDW1
   6704	010374	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
   6705	010400	001001 				BNE	30$		; ..YES -- GO ON
   6706	010402	077106 				SOB	R1,20$		; ..NO -- KEEP TRYING
   6707	010404				30$:
   6708	010404	005701 				TST	R1		; ..IS R1 .GT. 0?
   6709	010406	003403 				BLE	KLSCFH		; ..NO -- GIVE "CFH" ERROR
   6710	010410					POP	<R1,R0>		; ..YES -- RESTORE REGISTERS
	010410	012601 				 MOV	(SP)+,R1
	010412	012600 				 MOV	(SP)+,R0
   6711	010414					RETURN			; TO CALLER
	010414	000207 				 RTS	PC
   6712	010416				KLSCFH:
   6713	010416					ERROR$	CFH		; ERROR -- CAN'T FIND KL HALT LOOP
	010416	012746 	011670 			 MOV	#^RCFH,-(SP)
	010422	104400 				 TRAP	TC.ERR
   6714						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 179
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   6716					.SBTTL	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   6717
   6718					;+
   6719					; .KLRST -- SUBROUTINE TO RESTART THE KL.
   6720					;
   6721					; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
   6722					; THE SAVED KL STATE FLAG WORD.
   6723					;
   6724					; INPUT ARGUMENTS:
   6725					;
   6726					;	THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
   6727					;
   6728					; OUTPUT ARGUMENTS:
   6729					;
   6730					;	".SVKLF" IS CLEARED.
   6731					;
   6732					; ERROR CODES RETURNED:
   6733					;
   6734					;	CFH -- CAN'T FIND KL HALT LOOP.
   6735					;	DSF -- DTE-20 STATUS FAILURE.
   6736					;	FRF -- FUNCTION READ FAILED.
   6737					;	FWF -- FUNCTION WRITE FAILED.
   6738					;	FXF -- FUNCTION EXECUTE FAILED.
   6739					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 180
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   6741	010424				.KLRST::
   6742	010424					PUSH	<R1,R0>		; SAVE R0 AND R1
	010424	010146 				 MOV	R1,-(SP)
	010426	010046 				 MOV	R0,-(SP)
   6743	010430	013701 	000140'			MOV	.SVKLF,R1	; ..GET COPY OF OLD FLAGS
   6744	010434	032701 	013000 			BIT	#KF.SPM!KF.SIM!KF.BRM,R1
   6745	010440	001016 				BNE	20$		; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
   6746	010442	005101 				COM	R1		; ..INVERT R1
   6747	010444	032701 	140000 			BIT	#KF.RUN!KF.CLK,R1
   6748	010450	001011 				BNE	10$		; ..BRANCH IF NOT RUNNING
   6749	010452					CALL	.STRUN		; ..SET THE RUN FLOP
	010452	004737 	012066'			 JSR	PC,.STRUN
   6750	010456	012700 	000024 			MOV	#FX.CON,R0	; ..NOW DO THE CONTINUE BUTTON
   6751	010462					CALL	.FXCT		; ..SO
	010462	004737 	007716'			 JSR	PC,.FXCT
   6752	010466	013701 	000140'			MOV	.SVKLF,R1	; ..ELSE GET THE WORD AGAIN
   6753	010472	000406 				BR	30$		; ..AND GO AWAY
   6754						;
   6755	010474				10$:
   6756	010474	005101 				COM	R1		; ..STRAIGHTEN R1 OUT
   6757	010476				20$:
   6758	010476	032701 	040000 			BIT	#KF.RUN,R1	; ..WAS RUN FLOP SET?
   6759	010502	001402 				BEQ	30$		; ..NO -- GO ON
   6760	010504					CALL	.STRUN		; ..YES -- SET THE RUN FLOP
	010504	004737 	012066'			 JSR	PC,.STRUN
   6761	010510				30$:
   6762	010510	032701 	100000 			BIT	#KF.CLK,R1	; ..WAS CLOCK RUNNING?
   6763	010514	001413 				BEQ	40$		; ..NO -- JUST EXIT
   6764	010516	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ..YES -- IS THE CLOCK ALREADY ON?
   6765	010524	001007 				BNE	40$		; ..YES -- JUST EXIT
   6766	010526					CALL	.STCLK		; ..NO -- START THE CLOCK
	010526	004737 	011762'			 JSR	PC,.STCLK
   6767	010532	032701 	040000 			BIT	#KF.RUN,R1	; ..DID WE LET IT RUN ?
   6768	010536	001402 				BEQ	40$		; ..NO -- JUST EXIT
   6769	010540	105037 	000000G			CLRB	.NOHLT		; ..YES -- LET RSX20F CHECK FOR HALTS
   6770	010544				40$:
   6771	010544					POP	<R0,R1>		; ..RESTORE R0 AND R1
	010544	012600 				 MOV	(SP)+,R0
	010546	012601 				 MOV	(SP)+,R1
   6772	010550	005037 	000140'			CLR	.SVKLF		; RESET ".SVKLF"
   6773	010554					RETURN			; AND EXIT
	010554	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 181
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10

   6775					.SBTTL	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   6776
   6777					;+
   6778					; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
   6779					;
   6780					; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
   6781					; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
   6782					;
   6783					; SEQUENCE OF OPERATION:
   6784					;
   6785					;	(A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
   6786					;	(B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
   6787					;	(C) THE KL CONTINUE FLOP IS SET.
   6788					;
   6789					; INPUT ARGUMENTS:
   6790					;
   6791					;	R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
   6792					;
   6793					; OUTPUT ARGUMENTS:
   6794					;
   6795					;	NONE.
   6796					;
   6797					; ERROR CODES RETURNED:
   6798					;
   6799					;	CFH -- CAN'T FIND KL HALT LOOP.
   6800					;	DSF -- DTE-20 STATUS FAILURE.
   6801					;	FRF -- FUNCTION READ FAILED.
   6802					;	FWF -- FUNCTION WRITE FAILED.
   6803					;	FXF -- FUNCTION EXECUTE FAILED.
   6804					;-
   6805
   6806	010556				.KLXCT::
   6807	010556					CALL	.KLHLT		; STOP THE KL IN THE HALT LOOP
	010556	004737 	010164'			 JSR	PC,.KLHLT
   6808	010562	012700 	000176 			MOV	#FW.LAR,R0	; LOAD THE AR REGISTER
   6809	010566					CALL	.FWRIT		; DO IT
	010566	004737 	007574'			 JSR	PC,.FWRIT
   6810	010572	012700 	000024 			MOV	#FX.CON,R0	; SET THE "CONTINUE BUTTON"
   6811	010576					CALLR	.FXCT		; DO IT AND RETURN
	010576	000137 	007716'			 JMP	.FXCT
   6812						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 182
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   6814					.SBTTL	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   6815
   6816					;+
   6817					; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
   6818					;	    MBOX BURST COUNT REGISTER AS IN ".LDBRG".
   6819					; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
   6820					;
   6821					; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
   6822					; WITH THE COUNT PASSED TO IT IN R0.
   6823					;
   6824					; INPUT ARGUMENTS:
   6825					;
   6826					;	R0 CONTAINS THE CLOCK COUNT
   6827					;
   6828					; OUTPUT ARGUMENTS:
   6829					;
   6830					;	NONE.
   6831					;
   6832					; ERROR CODES RETURNED:
   6833					;
   6834					;	FWF -- FUNCTION WRITE FAILED.
   6835					;	FXF -- FUNCTION EXECUTE FAILED.
   6836					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 183
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   6838	010602				.LDBRC::
   6839	010602					CALL	.STPXC		; STOP THE KL CLOCK
	010602	004737 	012036'			 JSR	PC,.STPXC
   6840	010606				.LDBRG::
   6841	010606					PUSH	<R1,R0>		; SAVE R1 AND R0 ON THE STACK
	010606	010146 				 MOV	R1,-(SP)
	010610	010046 				 MOV	R0,-(SP)
   6842	010612					CALL	.CLDFB		; ..CLEAR THE DFW BUFFERS
	010612	004737 	006524'			 JSR	PC,.CLDFB
   6843	010616	011600 				MOV	(SP),R0		; ..GET THE BURST COUNT FROM THE STACK
   6844	010620	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   6845	010624	010037 	000214'			MOV	R0,.DFWB	; ..SET RIGHT COUNT IN THE BUFFER
   6846	010630	012700 	000104 			MOV	#FW.LBR,R0	; ..SET UP TO LOAD THE RIGHT HALF
   6847	010634	005001 				CLR	R1		; ..CLEAR R1
   6848	010636					CALL	.FWRIT		; ..DO IT
	010636	004737 	007574'			 JSR	PC,.FWRIT
   6849	010642	011600 				MOV	(SP),R0		; ..GET THE ORIGINAL COUNT FROM THE STACK
   6850	010644	012701 	177774 			MOV	#-^D4,R1	; ..SHIFT COUNT TO R1
   6851	010650					CALL	.SHIFT		; ..SHIFT IT RIGHT 4 PLACES
	010650	004737 	022330'			 JSR	PC,.SHIFT
   6852	010654	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   6853	010660	010037 	000214'			MOV	R0,.DFWB	; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
   6854	010664	005001 				CLR	R1		; ..CLEAR R1
   6855	010666	012700 	000106 			MOV	#FW.LBL,R0	; ..SET UP TO LOAD THE LEFT HALF
   6856	010672					CALL	.FWRIT		; ..DO IT
	010672	004737 	007574'			 JSR	PC,.FWRIT
   6857	010676					POP	<R0,R1>		; ..RESTORE R0 AND R1
	010676	012600 				 MOV	(SP)+,R0
	010700	012601 				 MOV	(SP)+,R1
   6858	010702					RETURN			; AND LEAVE
	010702	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 184
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   6860					.SBTTL	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   6861
   6862					;+
   6863					; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
   6864					; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
   6865					;
   6866					; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
   6867					; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
   6868					;
   6869					; SEQUENCE OF OPERATION:
   6870					;
   6871					; .LDCLK:
   6872					;
   6873					;	(A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
   6874					;	    PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
   6875					;	(B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
   6876					;	    CLOCK STATUS WORD (".CLKWD").
   6877					;
   6878					; .LDPAR:
   6879					;
   6880					;	(A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
   6881					;	    PARITY CONTROL REGISTER,
   6882					;	(B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
   6883					;	    CONTROL WORD (".PSCWD").
   6884					;
   6885					; INPUT ARGUMENTS:
   6886					;
   6887					;	R1 POINTS TO A PARAMETER WORD
   6888					;
   6889					; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   6890					;
   6891					;		!========================================!
   6892					;		!   DISTRIBUTION   !   SOURCE AND RATE   !
   6893					;		!========================================!
   6894					;
   6895					; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   6896					;
   6897					;		!========================================!
   6898					;		!   CONTROL BITS   !   CLOCK STOP BITS	 !
   6899					;		!========================================!
   6900					;
   6901					; OUTPUT ARGUMENTS:
   6902					;
   6903					;	R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
   6904					;
   6905					; ERROR CODES RETURNED:
   6906					;
   6907					;	FWF -- FUNCTION WRITE FAILED.
   6908					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 185
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   6910						.ENABL	LSB
   6911
   6912	010704				.LDCLK::
   6913	010704					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	010704	004537 	012512'			 JSR	R5,.REGSV
   6914	010710	012703 	000010'			MOV	#.CLKWD,R3	; CONTROL WORD POINTER TO R3
   6915	010714	012704 	000110 			MOV	#FW.CSR,R4	; BASE CLOCK WRITE TO R4
   6916	010720	000406 				BR	10$		; DO COMMON CODE
   6917						;
   6918	010722				.LDPAR::
   6919	010722					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	010722	004537 	012512'			 JSR	R5,.REGSV
   6920	010726	012703 	000116'			MOV	#.PSCWD,R3	; CONTROL WORD POINTER TO R3
   6921	010732	012704 	000114 			MOV	#FW.IPE,R4	; BASE PARITY WRITE TO R4
   6922									; FALL INTO COMMON CODE
   6923	010736				10$:
   6924	010736	010102 				MOV	R1,R2		; CALLER'S PARAMETER POINTER TO R2
   6925	010740					CALL	.CLDFW		; CLEAR THE WRITE BUFFER
	010740	004737 	006540'			 JSR	PC,.CLDFW
   6926	010744	005001 				CLR	R1		; CLEAR R1
   6927	010746	111237 	000214'			MOVB	(R2),.DFWB	; SET LOW BYTE PARAMETER
   6928	010752	010400 				MOV	R4,R0		; DFW CODE TO R0
   6929	010754					CALL	.FWRIT		; DO IT
	010754	004737 	007574'			 JSR	PC,.FWRIT
   6930	010760	112223 				MOVB	(R2)+,(R3)+	; MARK THE NEW LOW BYTE CODE
   6931	010762	005724 				TST	(R4)+		; NEXT WRITE CODE
   6932	010764	111210 				MOVB	(R2),(R0)	; SET THE HIGH BYTE PARAMETERS
   6933	010766	010400 				MOV	R4,R0		; DFW CODE TO R0
   6934	010770					CALL	.FWRIT		; DO IT
	010770	004737 	007574'			 JSR	PC,.FWRIT
   6935	010774	111223 				MOVB	(R2),(R3)+	; MARK THE NEW HIGH BYTE CODE
   6936	010776	014300 				MOV	-(R3),R0	; PUT A COPY IN R0
   6937	011000					RETURN			; EXIT
	011000	000207 				 RTS	PC
   6938
   6939						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 186
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   6941					.SBTTL	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
   6942
   6943					;+
   6944					; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
   6945					;	    KL CRAM ADDRESS REGISTER.
   6946					;
   6947					; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
   6948					; KL CRAM ADDRESS REGISTER.
   6949					;
   6950					; SEQUENCE OF OPERATION:
   6951					;
   6952					;	(A) THE KL CLOCK IS TURNED OFF (BY (B)),
   6953					;	(B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
   6954					;	(C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
   6955					;
   6956					; INPUT ARGUMENTS:
   6957					;
   6958					;	R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
   6959					;
   6960					; OUTPUT ARGUMENTS:
   6961					;
   6962					;	NONE.
   6963					;
   6964					; ERROR CODES RETURNED:
   6965					;
   6966					;	FWF -- FUNCTION WRITE FAILED.
   6967					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 187
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   6969	011002				.LDCRA::
   6970	011002	042700 	170000 			BIC	#170000,R0	; CLEAR UNUSED BITS
   6971	011006					PUSH	<R1,R0>		; PUT R0 AND R1 ON THE STACK
	011006	010146 				 MOV	R1,-(SP)
	011010	010046 				 MOV	R0,-(SP)
   6972	011012					CALL	.RESTP		; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
	011012	004737 	011662'			 JSR	PC,.RESTP
   6973									; ..ALSO RETAIN CLOCK AND PARITY CONTROL
   6974	011016					CALL	.CLDFW		; ..CLEAR THE FW BUFFER
	011016	004737 	006540'			 JSR	PC,.CLDFW
   6975	011022	012700 	000214'			MOV	#.DFWB,R0	; ..SET UP THE BUFFER ADDRESS
   6976	011026	011610 				MOV	(SP),(R0)	; ..LOAD THE ADDRESS FROM THE STACK
   6977	011030	001427 				BEQ	10$		; ..LEAVE NOW IF ZERO
   6978	011032	042710 	174077 			BIC	#174077,(R0)	; ..CLEAR UNWANTED BITS
   6979	011036	012701 	000030 			MOV	#^D24,R1	; ..SHIFT COUNT TO R1
   6980	011042					CALL	.TPSHI		; ..SHIFT IT OVER
	011042	004737 	023172'			 JSR	PC,.TPSHI
   6981	011046	005001 				CLR	R1		; ..CLEAR R1
   6982	011050	012700 	000124 			MOV	#FW.CA2,R0	; ..SET UP TO WRITE IT
   6983	011054					CALL	.FWRIT		; ..DO IT
	011054	004737 	007574'			 JSR	PC,.FWRIT
   6984	011060	011610 				MOV	(SP),(R0)	; ..GET ADDRESS FROM THE STACK AGAIN
   6985	011062	042710 	177700 			BIC	#177700,(R0)	; ..CLEAR UNWANTED BITS
   6986	011066	012701 	000036 			MOV	#^D30,R1	; ..SHIFT COUNT TO R1
   6987	011072					CALL	.TPSHI		; ..SHIFT THAT OVER
	011072	004737 	023172'			 JSR	PC,.TPSHI
   6988	011076	005001 				CLR	R1		; ..CLEAR R1
   6989	011100	012700 	000122 			MOV	#FW.CA1,R0	; ..SET UP TO WRITE IT
   6990	011104					CALL	.FWRIT		; ..DO IT
	011104	004737 	007574'			 JSR	PC,.FWRIT
   6991	011110				10$:
   6992	011110					POP	<R0,R1>		; ..RESTORE REGISTERS
	011110	012600 				 MOV	(SP)+,R0
	011112	012601 				 MOV	(SP)+,R1
   6993	011114					RETURN			; EXIT TO CALLER
	011114	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 188
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   6995					.SBTTL	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   6996
   6997					;+
   6998					; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
   6999					;
   7000					; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
   7001					; KL CLOCK TO RUN, CLEARING THE KL.
   7002					;
   7003					; SEQUENCE OF OPERATION:
   7004					;
   7005					;	(A) THE MASTER RESET FLOP IS SET,
   7006					;	(B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
   7007					;	(C) THE NXM TIMERS ARE RESYNCHRONIZED,
   7008					;	(D) THE KL CLOCK IS STOPPED AND SYNCHED,
   7009					;	(E) THE MASTER RESET FLOP IS CLEARED.
   7010					;
   7011					; INPUT ARGUMENTS:
   7012					;
   7013					;	NONE.
   7014					;
   7015					; OUTPUT ARGUMENTS:
   7016					;
   7017					;	NONE.
   7018					;
   7019					; ERROR CODES RETURNED:
   7020					;
   7021					;	FRF -- FUNCTION READ FAILED.
   7022					;	FWF -- FUNCTION WRITE FAILED.
   7023					;	FXF -- FUNCTION EXECUTE FAILED.
   7024					;-
   7025
   7026	011116				.MRCLR::
   7027	011116					PUSH	<R0,R1,R2>	; SAVE REGISTERS
	011116	010046 				 MOV	R0,-(SP)
	011120	010146 				 MOV	R1,-(SP)
	011122	010246 				 MOV	R2,-(SP)
   7028	011124	012700 	000016 			MOV	#FX.SMR,R0	; ...SET MASTER RESET FLOP
   7029	011130					CALL	.FXCT		; ...DO IT
	011130	004737 	007716'			 JSR	PC,.FXCT
   7030	011134	052737 	020000 	000000G		BIS	#KF.MRS,.KLFLG	; ...SET THE FLAG
   7031	011142					CALL	.STCLF		; ...FORCE START THE KL CLOCK
	011142	004737 	011770'			 JSR	PC,.STCLF
   7032	011146	012701 	000764 			MOV	#^D500,R1	; ...SET UP WAIT COUNT
   7033
   7034					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 189
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   7036					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7037
   7038	011152				10$:
   7039	011152	077101 				SOB	R1,10$		; ...STALL A WHILE
   7040	011154					CALL	.STPXC		; ...STOP THE KL CLOCK
	011154	004737 	012036'			 JSR	PC,.STPXC
   7041	011160					CALL	.CLDFB		; ...CLEAR THE FUNCTION BUFFERS
	011160	004737 	006524'			 JSR	PC,.CLDFB
   7042	011164	012700 	000160 			MOV	#FW.CHN,R0	; ...CLEAR THE CHANNELS
   7043	011170					CALL	.FWRIT		; ...DO IT
	011170	004737 	007574'			 JSR	PC,.FWRIT
   7044	011174	012702 	000003 			MOV	#^D3,R2		; ...LOOP COUNT TO R2
   7045	011200				20$:				; ...HERE TO RESYNCH THE NXM TIMERS
   7046	011200	005001 				CLR	R1		; ...CLEAR R1
   7047	011202	012700 	000344 			MOV	#FR.162,R0	; ...LOOK FOR [A CHANGE COMING L]
   7048	011206					CALL	.FREAD		; ...DO THE READ
	011206	004737 	007512'			 JSR	PC,.FREAD
   7049	011212	032710 	000010 			BIT	#BIT03,(R0)	; ...IS IT THERE?
   7050	011216	001405 				BEQ	30$		; ...YES -- GO ON
   7051	011220	012700 	000004 			MOV	#FX.MBC,R0	; ...NO -- STEP THE CLOCK
   7052	011224					CALL	.FXCT		; ...DO IT
	011224	004737 	007716'			 JSR	PC,.FXCT
   7053	011230	077215 				SOB	R2,20$		; ...LOOP THREE TIMES MAX
   7054	011232				30$:
   7055	011232					CALL	.SYNXC		; ...SYNCH THE CLOCK
	011232	004737 	012210'			 JSR	PC,.SYNXC
   7056	011236	012700 	000014 			MOV	#FX.CMR,R0	; ...CLEAR MASTER RESET FLOP
   7057	011242					CALL	.FXCT		; ...DO IT
	011242	004737 	007716'			 JSR	PC,.FXCT
   7058	011246	042737 	020300 	000000G		BIC	#KF.MRS!KF.CON!KF.CES,.KLFLG
   7059									; ...CLEAR THE FLAGS
   7060	011254					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	011254	012602 				 MOV	(SP)+,R2
	011256	012601 				 MOV	(SP)+,R1
	011260	012600 				 MOV	(SP)+,R0
   7061	011262					RETURN			; EXIT TO CALLER
	011262	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 190
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   7063					.SBTTL	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
   7064
   7065					;+
   7066					; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
   7067					;	    CHECKING PARAMETERS.
   7068					;
   7069					; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
   7070					; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
   7071					; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
   7072					;
   7073					; INPUT ARGUMENTS:
   7074					;
   7075					;	NONE.
   7076					;
   7077					; OUTPUT ARGUMENTS:
   7078					;
   7079					;	".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
   7080					;	PARITY ENABLES.
   7081					;
   7082					; ERROR CODES RETURNED:
   7083					;
   7084					;	FRF -- FUNCTION READ FAILED.
   7085					;-
   7086
   7087	011264				.RDCPP::
   7088	011264					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	011264	004537 	012512'			 JSR	R5,.REGSV
   7089	011270					PUSH	R0		; R0 TOO
	011270	010046 				 MOV	R0,-(SP)
   7090	011272	012704 	000004 			MOV	#^D4,R4		; .USE R4 AS A COUNTER
   7091	011276	012703 	002070'			MOV	#RDCPT1,R3	; .BIT TEST TABLE POINTER TO R3
   7092	011302	012705 	002060'			MOV	#RDCPT3,R5	; .SAVE AREA POINTER TO R5
   7093	011306				10$:
   7094	011306	112300 				MOVB	(R3)+,R0	; .FR CODE TO R0
   7095	011310	005001 				CLR	R1		; .CLEAR R1
   7096	011312					CALL	.FREAD		; .READ A WORD
	011312	004737 	007512'			 JSR	PC,.FREAD
   7097	011316	011025 				MOV	(R0),(R5)+	; .SAVE BITS 20 THRU 35 IN TABLE
   7098	011320	077406 				SOB	R4,10$		; .READ ALL FOUR OF THEM
   7099	011322	005037 	000010'			CLR	.CLKWD		; .CLEAR THE OLD CLOCK PARAMETERS
   7100	011326	005037 	000116'			CLR	.PSCWD		; .AND THE OLD PARITY STOP PARAMETERS
   7101
   7102					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 191
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   7104					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7105
   7106	011332	012700 	000004 			MOV	#^D4,R0		; .DO OUTER LOOP 4 TIMES
   7107	011336	012705 	002060'			MOV	#RDCPT3,R5	; .KL SAVE AREA POINTER TO R5
   7108	011342				20$:
   7109	011342	012704 	000004 			MOV	#^D4,R4		; .DO INNER LOOP 4 TIMES
   7110	011346	012702 	002050'			MOV	#RDCPT2,R2	; .KL MASK POINTER TO R2
   7111	011352				30$:
   7112	011352	012701 	000010'			MOV	#.CLKWD,R1	; .CLOCK WORD POINTER TO R1
   7113	011356	020427 	000002 			CMP	R4,#^D2		; .IS INNER LOOP COUNT .GT. 2?
   7114	011362	101004 				BHI	50$		; .YES -- CONTINUE
   7115	011364	001001 				BNE	40$		; .NO -- IS IT  .LT. 2?
   7116	011366	005115 				COM	(R5)		; .NO -- INVERT THE WORD SO REST OF CODE WORKS
   7117	011370				40$:
   7118	011370	012701 	000116'			MOV	#.PSCWD,R1	; .DO PARITY WORD
   7119	011374				50$:
   7120	011374	041311 				BIC	(R3),(R1)	; .FLUSH THE BIT IN THE FLAG WORD
   7121	011376	031215 				BIT	(R2),(R5)	; .TEST THE BIT WE READ IN THIS WORD
   7122	011400	001401 				BEQ	60$		; .BRANCH IF BIT IS OFF
   7123	011402	051311 				BIS	(R3),(R1)	; .TURN THE BIT ON IN THE FLAG WORD
   7124	011404				60$:
   7125	011404	022322 				CMP	(R3)+,(R2)+	; .ADVANCE THE MASK POINTERS
   7126	011406	077417 				SOB	R4,30$		; .DO INNER LOOP 4 TIMES
   7127	011410	005125 				COM	(R5)+		; .ADVANCE THE SAVE AREA POINTER
   7128									; .AND STRAIGHTEN THE WORD OUT
   7129	011412	077025 				SOB	R0,20$		; .DO OUTER LOOP 4 TIMES
   7130	011414					POP	R0		; .GIVE R0 BACK
	011414	012600 				 MOV	(SP)+,R0
   7131	011416					RETURN			; AND GO AWAY
	011416	000207 				 RTS	PC
   7132
   7133					; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
   7134
   7135	002050				.PSECT	DATA
   7136
   7137	002050				RDCPT2:
   7138	002050	000010 				.WORD	BIT03		; KL BIT 32
   7139	002052	000004 				.WORD	BIT02		; KL BIT 33
   7140	002054	000002 				.WORD	BIT01		; KL BIT 34
   7141	002056	000001 				.WORD	BIT00		; KL BIT 35
   7142
   7143					; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
   7144
   7145	002060				RDCPT3:
   7146	002060	000000 				.WORD	0		; FR.104 BITS 20 - 35
   7147	002062	000000 				.WORD	0		; FR.105 BITS 20 - 35
   7148	002064	000000 				.WORD	0		; FR.106 BITS 20 - 35
   7149	002066	000000 				.WORD	0		; FR.107 BITS 20 - 35
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 192
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   7151					; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
   7152					; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
   7153					; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
   7154					; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
   7155
   7156	002070				RDCPT1:
   7157	002070	   210 				.BYTE	FR.104
   7158	002071	   212 				.BYTE	FR.105
   7159	002072	   214 				.BYTE	FR.106
   7160	002073	   216 				.BYTE	FR.107
   7161	002074	000010 				.WORD	CS.CS2		; CLK SOURCE 2 H [FR.104 - BIT 32]
   7162									; [FW 44 - BIT 32]
   7163	002076	000000 				.WORD	0		; BLANK [FR.104 - BIT 33]
   7164	002100	000010 				.WORD	IP.FMP		; FM PAR EN L [FR.104 - BIT 34]
   7165									; [FW 46 - BIT 32]
   7166	002102	000000 				.WORD	0		; BLANK [FR.104 - BIT 35]
   7167	002104	000004 				.WORD	CS.CS1		; CLK SOURCE 1 H [FR.105 - BIT 32]
   7168									; [FW 44 - BIT 33]
   7169	002106	002000 				.WORD	CD.CRC		; CLK CRAM DIS H [FR.105 - BIT 33]
   7170									; [FW 45 - BIT 33]
   7171	002110	000004 				.WORD	IP.CRP		; CRAM PAR EN L [FR.105 - BIT 34]
   7172									; [FW 46 - BIT 33]
   7173	002112	000000 				.WORD	0		; BLANK [FR.105 BIT - 35]
   7174	002114	000002 				.WORD	CR.CR2		; CLK RATE 2 H [FR.106 - BIT 32]
   7175									; [FW 44 - BIT 34]
   7176	002116	001000 				.WORD	CD.DPC		; CLK EDP DIS H [FR.106 - BIT 33]
   7177									; [FW 45 - BIT 34]
   7178	002120	000002 				.WORD	IP.DRP		; DRAM PAR EN L [FR.106 - BIT 34]
   7179									; [FW 46 - BIT 34]
   7180	002122	001000 				.WORD	AP.ARP		; AR/ARX PAR EN L [FR.106 - BIT 35]
   7181									; [FW 47 - BIT 34]
   7182	002124	000001 				.WORD	CR.CR1		; CLK RATE 1 H [FR.107 - BIT 32]
   7183									; [FW 44 - BIT 35]
   7184	002126	000400 				.WORD	CD.CLC		; CLK CTL DIS H [FR.107 - BIT 33]
   7185									; [FW 45 - BIT 35]
   7186	002130	000001 				.WORD	IP.FSS		; FS STOP EN L [FR.107 -BIT 34]
   7187									; [FW 46 - BIT 35]
   7188	002132	000400 				.WORD	AP.EIP		; CLK ERR STOP EN L [FR.107 - BIT 35]
   7189									; [FW 47 - BIT 35]
   7190
   7191	011420				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 193
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13

   7193					.SBTTL	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
   7194
   7195					;+
   7196					; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
   7197					;
   7198					; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
   7199					; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
   7200					;
   7201					;	(A) BIT00 ("PE.CES") [CLK ERROR STOP H],
   7202					;	(B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
   7203					;	(C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
   7204					;	(D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
   7205					;	(E) BIT04 ("PE.FSS") [CLK FS ERROR H].
   7206					;
   7207					; INPUT ARGUMENTS:
   7208					;
   7209					;	NONE.
   7210					;
   7211					; OUTPUT ARGUMENTS:
   7212					;	R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
   7213					;
   7214					; ERROR CODES RETURNED:
   7215					;
   7216					;	FRF -- FUNCTION READ FAILED.
   7217					;-
   7218
   7219	011420				.RDIPE::
   7220	011420					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	011420	004537 	012512'			 JSR	R5,.REGSV
   7221	011424	012702 	000204 			MOV	#FR.102,R2	; BASE FUNCTION READ TO R2
   7222	011430	012703 	000040 			MOV	#BIT05,R3	; MASK BIT TO R3
   7223	011434	012704 	000110'			MOV	#.PEWRD,R4	; WORD POINTER TO R4
   7224	011440	005014 				CLR	(R4)		; CLEAR THE WORD
   7225	011442	012705 	000001 			MOV	#BIT00,R5	; BASE WORD MASK TO R5
   7226	011446	005001 				CLR	R1		; CLEAR R1
   7227	011450				10$:
   7228	011450	010200 				MOV	R2,R0		; GET THE FR NUMBER
   7229	011452					CALL	.FREAD		; DO THE READ
	011452	004737 	007512'			 JSR	PC,.FREAD
   7230	011456	030310 				BIT	R3,(R0)		; IS THE BIT ON?
   7231	011460	001401 				BEQ	20$		; NO -- GO ON
   7232	011462	050514 				BIS	R5,(R4)		; YES -- SET THE BIT IN THE WORD
   7233	011464				20$:
   7234	011464	062702 	000002 			ADD	#^D2,R2		; NEXT FUNCTION READ
   7235	011470	006305 				ASL	R5		; SHIFT THE WORD MASK
   7236	011472	020503 				CMP	R5,R3		; ARE WE DONE?
   7237	011474	001365 				BNE	10$		; NO -- KEEP GOING
   7238	011476	011400 				MOV	(R4),R0		; YES -- PUT THE WORD IN R0
   7239	011500					RETURN			; AND GO AWAY
	011500	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 194
.RESET -- KL RESET SUBROUTINES 7511.18

   7241					.SBTTL	.RESET -- KL RESET SUBROUTINES 7511.18
   7242
   7243					;+
   7244					; .RESET -- SUBROUTINE TO RESET THE KL.
   7245					;
   7246					; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   7247					; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
   7248					;
   7249					; SEQUENCE OF OPERATION:
   7250					;
   7251					;	(A) THE DTE-20 IS CLEARED,
   7252					;	(B) THE MASTER RESET SUBROUTINE IS INVOKED,
   7253					;	(C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
   7254					;	    (THIS IS A FULL KL MASTER RESET).
   7255					;
   7256					; INPUT ARGUMENTS:
   7257					;
   7258					;	NONE.
   7259					;
   7260					; OUTPUT ARGUMENTS:
   7261					;
   7262					;	NONE.
   7263					;
   7264					; ERROR CODES RETURNED:
   7265					;
   7266					;	DSF -- DTE-20 STATUS FAILURE.
   7267					;	FRF -- FUNCTION READ FAILED.
   7268					;	FWF -- FUNCTION WRITE FAILED.
   7269					;	FXF -- FUNCTION EXECUTE FAILED.
   7270					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 195
.RESET -- KL RESET SUBROUTINES 7511.18

   7272	011502				.RESET::
   7273	011502					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	011502	010046 				 MOV	R0,-(SP)
	011504	010146 				 MOV	R1,-(SP)
	011506	010246 				 MOV	R2,-(SP)
   7274	011510					CALL	.RESTD		; ...RESET THE DTE-20
	011510	004737 	011616'			 JSR	PC,.RESTD
   7275	011514	012702 	002134'			MOV	#RESETT,R2	; ...FUNCTION TABLE POINTER TO R2
   7276	011520					CALL	.STPXC		; ...STOP THE KL CLOCK
	011520	004737 	012036'			 JSR	PC,.STPXC
   7277	011524	005046 				CLR	-(SP)		; ...CLEAR A TEMP BUFFER
   7278	011526	010601 				MOV	SP,R1		; ....POINT TO TEMP BUFFER
   7279	011530					CALL	.LDCLK		; ....CLEAR THE CLOCKS OUT
	011530	004737 	010704'			 JSR	PC,.LDCLK
   7280	011534					CALL	.LDPAR		; ....RESET THE PARITY REGISTERS
	011534	004737 	010722'			 JSR	PC,.LDPAR
   7281	011540					CALL	.MRCLR		; ....DO MASTER RESET STUFF
	011540	004737 	011116'			 JSR	PC,.MRCLR
   7282	011544					CALL	.CLDFB		; ....CLEAR THE FUNCTION BUFFERS
	011544	004737 	006524'			 JSR	PC,.CLDFB
   7283	011550				10$:
   7284	011550	005001 				CLR	R1		; ....CLEAR R1
   7285	011552	112200 				MOVB	(R2)+,R0	; ....FUNCTION WRITE CODE TO R0
   7286	011554					CALL	.FWRIT		; ....DO THE WRITE
	011554	004737 	007574'			 JSR	PC,.FWRIT
   7287	011560	022702 	002142'			CMP	#RSTEND,R2	; ....ARE WE CLOSE TO END?
   7288	011564	101371 				BHI	10$		; ....NO -- KEEP GOING
   7289	011566	112210 				MOVB	(R2)+,(R0)	; ....YES -- GET THE DATA
   7290	011570	111200 				MOVB	(R2),R0		; ....FOR LAST WRITE
   7291	011572					CALL	.FWRIT		; ....DO IT
	011572	004737 	007574'			 JSR	PC,.FWRIT
   7292	011576	005726 				TST	(SP)+		; ....CLEAR THE STACK
   7293	011600					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	011600	012602 				 MOV	(SP)+,R2
	011602	012601 				 MOV	(SP)+,R1
	011604	012600 				 MOV	(SP)+,R0
   7294	011606	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
   7295	011614					RETURN			; TO CALLER
	011614	000207 				 RTS	PC
   7296
   7297					; TABLE OF FUNCTION WRITE CODES FOR RESET
   7298
   7299	002134				.PSECT	DATA
   7300
   7301	002134				RESETT:
   7302	002134	   104 				.BYTE	FW.LBR		; CLEAR BURST COUNTER - RIGHT
   7303	002135	   106 				.BYTE	FW.LBL		; CLEAR BURST COUNTER - LEFT
   7304	002136	   124 				.BYTE	FW.CA2		; CLEAR CRAM DIAG ADDR - LEFT
   7305	002137	   122 				.BYTE	FW.CA1		; CLEAR CRAM DIAG ADDR - RIGHT
   7306	002140	   156 				.BYTE	FW.KLO		; ENABLE KL OPCODES
   7307	002141	   174 				.BYTE	FW.EBL		; EBUS LOAD
   7308		002142'			RSTEND=.
   7309	002142	   012 				.BYTE	12		; DATA FOR
   7310	002143	   162 				.BYTE	FW.MBX		; MBOX CONTROL
   7311					.EVEN
   7312	011616				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 196
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20

   7314					.SBTTL	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
   7315
   7316					;+
   7317					; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
   7318					;
   7319					; THIS SUBROUTINE RESETS THE DTE-20.
   7320					;
   7321					; SEQUENCE OF OPERATION:
   7322					;
   7323					;	(A) THE DTE-20 IS CLEARED.
   7324					;
   7325					; INPUT ARGUMENTS:
   7326					;
   7327					;	NONE.
   7328					;
   7329					; OUTPUT ARGUMENTS:
   7330					;
   7331					;	NONE.
   7332					;
   7333					; ERROR CODES RETURNED:
   7334					;
   7335					;	DSF -- DTE-20 STATUS FAILURE.
   7336					;	FRF -- FUNCTION READ FAILED.
   7337					;	FWF -- FUNCTION WRITE FAILED.
   7338					;	FXF -- FUNCTION EXECUTE FAILED.
   7339					;-
   7340
   7341	011616				.RESTD::
   7342	011616	012700 	002144'			MOV	#D2RST,R0	; DIAG WORD 2 RESET
   7343	011622					CALL	.DWDW2		; WRITE IT
	011622	004737 	006616'			 JSR	PC,.DWDW2
   7344	011626	012700 	002146'			MOV	#D3RST,R0	; DIAG WORD 3 RESET
   7345	011632					CALLR	.DWDW3		; WRITE IT
	011632	000137 	006636'			 JMP	.DWDW3
   7346						;
   7347
   7348	002144				.PSECT	DATA
   7349
   7350	002144				D2RST:
   7351	002144	000100 				.WORD	D2.RST		; DIAG WORD 2 RESET
   7352	002146				D3RST:
   7353	002146	000001 				.WORD	D3.RST		; DIAG WORD 3 RESET
   7354
   7355	011636				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 197
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19

   7357					.SBTTL	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
   7358
   7359					;+
   7360					; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
   7361					;	    KL CLOCK ENABLES AND PARITY STOPS.
   7362					;
   7363					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   7364					; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
   7365					;
   7366					; SEQUENCE OF OPERATION:
   7367					;
   7368					;	(A) ".RESET" IS INVOKED,
   7369					;	(B) NORMAL KL CLOCKS ARE ENABLED,
   7370					;	(C) NORMAL KL PARITY STOPS ARE ENABLED.
   7371					;
   7372					; INPUT ARGUMENTS:
   7373					;
   7374					;	NONE.
   7375					;
   7376					; OUTPUT ARGUMENTS:
   7377					;
   7378					;	NONE.
   7379					;
   7380					; ERROR CODES RETURNED:
   7381					;
   7382					;	DSF -- DTE-20 STATUS FAILURE.
   7383					;	FRF -- FUNCTION READ FAILED.
   7384					;	FWF -- FUNCTION WRITE FAILED.
   7385					;	FXF -- FUNCTION EXECUTE FAILED.
   7386					;-
   7387
   7388						.ENABL	LSB
   7389
   7390	011636				.RESTI::
   7391	011636					PUSH	R1		; SAVE R1
	011636	010146 				 MOV	R1,-(SP)
   7392	011640	005046 				CLR	-(SP)		; .CLEAR A LOCATION ON THE STACK
   7393	011642					CALL	.RESET		; ..RESET THE KL
	011642	004737 	011502'			 JSR	PC,.RESET
   7394	011646	010601 				MOV	SP,R1		; ..POINT TO SCRATCH BUFFER
   7398	011650					CALL	.LDCLK		; ..SET NORMAL CLOCK ENABLES
	011650	004737 	010704'			 JSR	PC,.LDCLK
   7399	011654	012716 	001416 			MOV	#PS.NRM,(SP)	; ..SET UP NORMAL PARITY ENABLES
   7400	011660	000417 				BR	10$		; ..AND GO SET THEM
   7401						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 198
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

   7403					.SBTTL	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
   7404
   7405					;+
   7406					; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
   7407					;	    PREVIOUS KL PARITY STOPS.
   7408					;
   7409					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   7410					; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
   7411					;
   7412					; SEQUENCE OF OPERATION:
   7413					;
   7414					;	(A) ".RESET" IS INVOKED.
   7415					;	(B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
   7416					;	    REENABLED.
   7417					;
   7418					; INPUT ARGUMENTS:
   7419					;
   7420					;	NONE.
   7421					;
   7422					; OUTPUT ARGUMENTS:
   7423					;
   7424					;	NONE.
   7425					;
   7426					; ERROR CODES RETURNED:
   7427					;
   7428					;	DSF -- DTE-20 STATUS FAILURE.
   7429					;	FRF -- FUNCTION READ FAILED.
   7430					;	FWF -- FUNCTION WRITE FAILED.
   7431					;	FXF -- FUNCTION EXECUTE FAILED.
   7432					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 199
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

   7434	011662				.RESTP::
   7435	011662					PUSH	R1		; SAVE R1
	011662	010146 				 MOV	R1,-(SP)
   7436	011664					CALL	.STPXC		; .STOP THE KL CLOCK
	011664	004737 	012036'			 JSR	PC,.STPXC
   7437	011670					CALL	.RDCPP		; .READ CURRENT CLOCK AND PARITY ENABLES
	011670	004737 	011264'			 JSR	PC,.RDCPP
   7438	011674					PUSH	.PSCWD		; .SAVE THE PARITY CONTROL WORD
	011674	013746 	000116'			 MOV	.PSCWD,-(SP)
   7439	011700					PUSH	.CLKWD		; ..SAVE THE CLOCK CONTROL WORD
	011700	013746 	000010'			 MOV	.CLKWD,-(SP)
   7440	011704					CALL	.RESET		; ...DO A MASTER RESET
	011704	004737 	011502'			 JSR	PC,.RESET
   7441	011710	010601 				MOV	SP,R1		; ...POINT TO THE CLOCK WORD
   7442	011712					CALL	.LDCLK		; ...LOAD THE CLOCKS AGAIN
	011712	004737 	010704'			 JSR	PC,.LDCLK
   7443	011716	005726 				TST	(SP)+		; ...FLUSH SAVED CLOCK WORD
   7444	011720				10$:
   7445	011720	010601 				MOV	SP,R1		; ..POINT TO THE PARITY WORD
   7446	011722					CALL	.LDPAR		; ..LOAD THE PARITY STOPS
	011722	004737 	010722'			 JSR	PC,.LDPAR
   7447	011726	005726 				TST	(SP)+		; ..FLUSH THE PARITY WORD
   7448	011730					POP	R1		; .RESTORE R1
	011730	012601 				 MOV	(SP)+,R1
   7449	011732					RETURN			; AND GO AWAY
	011732	000207 				 RTS	PC
   7450
   7451						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 200
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17

   7453					.SBTTL	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
   7454
   7455					;+
   7456					; .RSTKL -- SUBROUTINE TO RESTART THE KL
   7457					;
   7458					; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
   7459					;
   7460					; INPUT ARGUMENTS:
   7461					;
   7462					;	THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
   7463					;	THE KL IS TO BE RESTORED.
   7464					;
   7465					; OUTPUT ARGUMENTS:
   7466					;
   7467					;	".SVKLF" IS CLEARED.
   7468					;
   7469					; ERROR CODES RETURNED:
   7470					;
   7471					;	NONE.
   7472					;-
   7473
   7474	011734				.RSTKL::
   7475	011734	032737 	040000 	000140'		BIT	#KF.RUN,.SVKLF	; DID WE STOP THE KL?
   7476	011742	001404 				BEQ	10$		; NO -- JUST RETURN
   7477	011744					CALL	.KLRST		; YES -- RESTART THE KL
	011744	004737 	010424'			 JSR	PC,.KLRST
   7478	011750	105037 	000000G			CLRB	.NOHLT		; LET RSX20F DETECT HALTS
   7479	011754				10$:
   7480	011754	005037 	000140'			CLR	.SVKLF		; CLEAR SAVED FLAGS
   7481	011760					RETURN			; TO CALLER
	011760	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 201
.STCLK -- START KL CLOCK SUBROUTINE 7607.15

   7483					.SBTTL	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
   7484
   7485					;+
   7486					; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
   7487					;
   7488					; THIS SUBROUTINE WILL START THE KL CLOCK.
   7489					;
   7490					; INPUT ARGUMENTS:
   7491					;
   7492					;	NONE.
   7493					;
   7494					; OUTPUT ARGUMENTS:
   7495					;
   7496					;	NONE.
   7497					;
   7498					; ERROR CODES RETURNED:
   7499					;
   7500					;	CES -- CLOCK ERROR STOP.
   7501					;	FXF -- FUNCTION EXECUTE FAILED.
   7502					;-
   7503
   7504	011762				.STCLK::
   7505	011762	000241 				CLC			; CLEAR CC-C
   7506	011764					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	011764	004737 	000056'			 JSR	PC,.CESCK
   7507	011770				.STCLF::			; HERE TO START THE CLOCK ANYWAY
   7508	011770					PUSH	R0		; SAVE R0
	011770	010046 				 MOV	R0,-(SP)
   7509	011772	012700 	000002 			MOV	#FX.CST,R0	; .SET UP TO START THE KL CLOCK
   7510	011776					CALL	.FXCT		; .DO IT
	011776	004737 	007716'			 JSR	PC,.FXCT
   7511	012002	105037 	000000G			CLRB	.NOERR		; LET RSX20F CATCH CLOCK ERRORS
   7512	012006					POP	R0		; .RESTORE R0
	012006	012600 				 MOV	(SP)+,R0
   7513	012010					RETURN			; RETURN TO CALLER
	012010	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 202
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25

   7515					.SBTTL	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
   7516
   7517					;+
   7518					; .STPKL -- SUBROUTINE TO STOP THE KL.
   7519					;
   7520					; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
   7521					; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
   7522					;
   7523					; INPUT ARGUMENTS:
   7524					;
   7525					;	THE STATE OF THE KL IS IN ".KLFLG"
   7526					;
   7527					; OUTPUT ARGUMENTS:
   7528					;
   7529					;	THE CURRENT STATE OF THE KL IS IN ".KLFLG"
   7530					;	THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
   7531					;
   7532					; ERROR CODES RETURNED:
   7533					;
   7534					;	NONE.
   7535					;-
   7536
   7537	012012				.STPKL::
   7538	012012	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; IS THE KL RUNNING?
   7539	012020	001405 				BEQ	10$		; NO -- JUST EXIT
   7540	012022	013737 	000000G	000140'		MOV	.KLFLG,.SVKLF	; YES -- SAVE CURRENT KL STATE
   7541	012030					CALL	.KLSTP		; STOP THE KL
	012030	004737 	010342'			 JSR	PC,.KLSTP
   7542	012034				10$:
   7543	012034					RETURN			; TO CALLER
	012034	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 203
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09

   7545					.SBTTL	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   7546
   7547					;+
   7548					; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
   7549					;
   7550					; THIS SUBROUTINE STOPS THE KL CLOCK.
   7551					;
   7552					; INPUT ARGUMENTS:
   7553					;
   7554					;	NONE.
   7555					;
   7556					; OUTPUT ARGUMENTS:
   7557					;
   7558					;	NONE
   7559					;
   7560					; ERROR CODES RETURNED:
   7561					;
   7562					;	FXF -- FUNCTION EXECUTE FAILED
   7563					;-
   7564
   7565						.ENABL	LSB
   7566
   7567	012036				.STPXC::
   7568	012036	000241 				CLC			; CLEAR CC-C
   7569	012040					WTSE$S	#E.FHTO		; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
	012040	012746 	000001 			MOV	#E.FHTO,-(SP)
	012044	012746 				MOV	(PC)+,-(SP)
	012046	   051 	   002 			.BYTE	41.,2
	012050	104375 				EMT	375
   7570	012052					PUSH	R0		; SAVE R0
	012052	010046 				 MOV	R0,-(SP)
   7571	012054	112737 	000001 	000000G		MOVB	#1,.NOERR	; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
   7572	012062	005000 				CLR	R0		; .SET UP TO STOP THE KL CLOCK
   7573									; .FUNCTION CODE IS ZERO
   7574	012064	000404 				BR	10$		; .DO IT
   7575						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 204
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09

   7577					.SBTTL	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
   7578
   7579					;+
   7580					; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
   7581					;
   7582					; THIS SUBROUTINE SETS THE KL RUN FLOP.
   7583					;
   7584					;
   7585					; INPUT ARGUMENTS:
   7586					;
   7587					;	NONE.
   7588					;
   7589					; OUTPUT ARGUMENTS:
   7590					;
   7591					;	NONE
   7592					;
   7593					; ERROR CODES RETURNED:
   7594					;
   7595					;	FXF -- FUNCTION EXECUTE FAILED
   7596					;-
   7597
   7598	012066				.STRUN::
   7599	012066	000241 				CLC			; CLEAR CC-C
   7600	012070					PUSH	R0		; SAVE R0
	012070	010046 				 MOV	R0,-(SP)
   7601	012072	012700 	000022 			MOV	#FX.SRF,R0	; .SET UP TO SET KL RUN FLOP
   7602	012076				10$:
   7603	012076					CALL	.FXCT		; .DO IT
	012076	004737 	007716'			 JSR	PC,.FXCT
   7604	012102					POP	R0		; .RESTORE R0
	012102	012600 				 MOV	(SP)+,R0
   7605	012104					RETURN			; TO CALLER
	012104	000207 				 RTS	PC
   7606
   7607						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 205
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

   7609					.SBTTL	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
   7610
   7611					;+
   7612					; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
   7613					;	    ADDRESS SPECIFIED IN R0.
   7614					;
   7615					; SEQUENCE OF OPERATION:
   7616					;
   7617					;	(A) THE KL RUN FLOP IS CLEARED,
   7618					;	(B) THE KL RUN FLOP IS TURNED OFF,
   7619					;	(C) THE KL IS CLEARED,
   7620					;	(D) THE CRAM ADDRESS IS LOADED,
   7621					;	(E) THE KL CLOCK IS RESTARTED.
   7622					;
   7623					; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
   7624					; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
   7625					;
   7626					; INPUT ARGUMENTS:
   7627					;
   7628					;	R0 CONTAINS THE CRAM ADDRESS
   7629					;
   7630					; OUTPUT ARGUMENTS:
   7631					;
   7632					;	NONE.
   7633					;
   7634					; ERROR CODES RETURNED:
   7635					;
   7636					;	CAE -- CRAM ADDRESS ERROR.
   7637					;	FRF -- FUNCTION READ FAILED.
   7638					;	FWF -- FUNCTION WRITE FAILED.
   7639					;	FXF -- FUNCTION EXECUTE FAILED
   7640					;	UNL -- UCODE NOT LOADED.
   7641					;
   7642					; NOTE:
   7643					;
   7644					;	THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
   7645					;	START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
   7646					;	PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
   7647					;	CONSIDER YOURSELF WARNED.
   7648					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 206
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

   7650	012106				.STUCD::
   7651	012106	020027 	002377 			CMP	R0,#2377	; IS IT IN RANGE?
   7652	012112	101030 				BHI	STUCAE		; NO -- GIVE "CAE" ERROR
   7653	012114					PUSH	<R1,R0>		; YES -- SAVE THE ADDRESS ON THE STACK
	012114	010146 				 MOV	R1,-(SP)
	012116	010046 				 MOV	R0,-(SP)
   7654	012120					CALL	.CLRFF		; ..CLEAR THE KL RUN FLOP
	012120	004737 	006554'			 JSR	PC,.CLRFF
   7655	012124					CALL	.STPXC		; ..STOP THE KL CLOCK
	012124	004737 	012036'			 JSR	PC,.STPXC
   7656	012130	011600 				MOV	(SP),R0		; ..CRAM ADDRESS TO R0
   7657	012132					CALL	.LDCRA		; ..LOAD IT
	012132	004737 	011002'			 JSR	PC,.LDCRA
   7658	012136					CALL	.STCLK		; ..START THE KL CLOCK
	012136	004737 	011762'			 JSR	PC,.STCLK
   7659	012142	012701 	000310 			MOV	#^D200,R1	; ..SETUP WAIT LOOP
   7660	012146				10$:
   7661	012146					CALL	.DTDW1		; ..READ DTE-20 DIAG WORD 1
	012146	004737 	006664'			 JSR	PC,.DTDW1
   7662	012152	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
   7663	012156	001001 				BNE	20$		; ..YES -- EXIT
   7664	012160	077106 				SOB	R1,10$		; ..NO -- TRY TILL COUNT EXHAUSTED
   7665	012162				20$:
   7666	012162	005701 				TST	R1		; ..DID COUNT GET EXHAUSTED?
   7667	012164	003406 				BLE	STUUNL		; ..YES -- WE LOST
   7668	012166					POP	<R0,R1>		; ..NO -- RESTORE R0 AND R1
	012166	012600 				 MOV	(SP)+,R0
	012170	012601 				 MOV	(SP)+,R1
   7669	012172					RETURN			; TO CALLER
	012172	000207 				 RTS	PC
   7670	012174				STUCAE:
   7671	012174					ERROR$	CAE		; ERROR -- CRAM ADDRESSING ERROR
	012174	012746 	011355 			 MOV	#^RCAE,-(SP)
	012200	104400 				 TRAP	TC.ERR
   7672						;
   7673	012202				STUUNL:
   7674	012202					ERROR$	UNL		; ERROR -- UCODE NOT LOADED
	012202	012746 	102574 			 MOV	#^RUNL,-(SP)
	012206	104400 				 TRAP	TC.ERR
   7675						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 207
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03

   7677					.SBTTL	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
   7678
   7679					;+
   7680					; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
   7681					;
   7682					; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
   7683					;
   7684					;
   7685					; INPUT ARGUMENTS:
   7686					;
   7687					;	NONE.
   7688					;
   7689					; OUTPUT ARGUMENTS:
   7690					;
   7691					;	NONE
   7692					;
   7693					; ERROR CODES RETURNED:
   7694					;
   7695					;	FXF -- FUNCTION EXECUTE FAILED
   7696					;-
   7697
   7698						.ENABL	LSB
   7699
   7700	012210				.SYNXC::
   7701	012210	000241 				CLC			; CLEAR CC-C
   7702	012212					PUSH	R0		; SAVE R0
	012212	010046 				 MOV	R0,-(SP)
   7703	012214	012700 	000010 			MOV	#FX.SYC,R0	; .SET UP TO SYNCH EBOX CLOCK
   7704	012220					CALL	.FXCT		; .DO IT
	012220	004737 	007716'			 JSR	PC,.FXCT
   7705	012224	000411 				BR	10$		; .RESTORE R0 AND EXIT
   7706						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1110  03-OCT-79 11:35  PAGE 208
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05

   7708					.SBTTL	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
   7709
   7710					;+
   7711					; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
   7712					; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
   7713					;	    STOPPING THE KL CLOCK.
   7714					;
   7715					; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
   7716					;
   7717					; SEQUENCE OF OPERATION:
   7718					;
   7719					; .WRTAR:
   7720					;
   7721					;	(A) THE KL CLOCK IS STOPPED,
   7722					;
   7723					; .WRAR1:
   7724					;
   7725					;	(B) THE EBOX CLOCK IS SYNCHED LOW,
   7726					;	(C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
   7727					;
   7728					; INPUT ARGUMENTS:
   7729					;
   7730					;	R1 POINTS TO THE DATA TO BE WRITTEN
   7731					;
   7732					; OUTPUT ARGUMENTS:
   7733					;
   7734					;	NONE.
   7735					;
   7736					; ERROR CODES RETURNED:
   7737					;
   7738					;	FWF -- FUNCTION WRITE FAILED.
   7739					;-
   7740
   7741	012226				.WRTAR::
   7742	012226					CALL	.STPXC		; STOP THE KL CLOCK
	012226	004737 	012036'			 JSR	PC,.STPXC
   7743	012232				.WRAR1::
   7744	012232					CALL	.SYNXC		; FORCE THE EBOX CLOCK LOW
	012232	004737 	012210'			 JSR	PC,.SYNXC
   7745	012236					PUSH	R0		; SAVE R0
	012236	010046 				 MOV	R0,-(SP)
   7746	012240	012700 	000176 			MOV	#FW.LAR,R0	; .FUNCTION WRITE CODE TO R0
   7747	012244					CALL	.FWRIT		; .LOAD THE AR
	012244	004737 	007574'			 JSR	PC,.FWRIT
   7748	012250				10$:
   7749	012250					POP	R0		; .RESTORE R0
	012250	012600 				 MOV	(SP)+,R0
   7750	012252					RETURN			; RETURN TO CALLER
	012252	000207 				 RTS	PC
   7751
   7752						.DSABL	LSB
NULLC -- NULL COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 209
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05

   7754					.TITLE	NULLC -- NULL COMMAND MODULE 7603.30
   7755
   7756						.IDENT	"005000"
   7757
   7758					;
   7759					;                             COPYRIGHT (C) 1975, 1979 BY
   7760					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   7761					;
   7762					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   7763					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   7764					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   7765					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   7766					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   7767					;
   7768					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   7769					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   7770					;       CORPORATION.
   7771					;
   7772					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   7773					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   7774					;
   7775					;		MODULE: NULL COMMAND
   7776					;
   7777					;		VERSION: 01-01
   7778					;
   7779					;		AUTHOR: R. BELANGER
   7780					;
   7781					;		DATE: 7603.30
   7782					;
   7783					;	THIS MODULE CONTAINS:
   7784					;
   7785					;	1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 210
.NULLC -- THE NULL COMMAND 7602.10

   7787					.SBTTL	.NULLC -- THE NULL COMMAND 7602.10
   7788
   7789	012254				.NULLC::
   7790	012254	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; RESET THE COMMAND NAME
   7791	012262					CALLR	.CKEOC		; CHECK E-O-C CHARACTER
	012262	000137 	000264'			 JMP	.CKEOC
   7792						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 211
.NULLC -- THE NULL COMMAND 7602.10

   7794					.TITLE	PARSE -- TOP-LEVEL COMMAND DECODER MODULE 7603.30
   7795
   7796						.IDENT	"005000"
   7797
   7798					;
   7799					;                             COPYRIGHT (C) 1975, 1979 BY
   7800					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   7801					;
   7802					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   7803					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   7804					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   7805					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   7806					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   7807					;
   7808					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   7809					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   7810					;       CORPORATION.
   7811					;
   7812					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   7813					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   7814					;
   7815					;		MODULE: TOP-LEVEL COMMAND DECODER
   7816					;
   7817					;		VERSION: 01-01
   7818					;
   7819					;		AUTHOR: R. BELANGER
   7820					;
   7821					;		DATE: 7603.30
   7822					;
   7823					;	THIS MODULE CONTAINS:
   7824					;
   7825					;	1) COMMAND DECODER
   7826
   7827						.MCALL	DIR$,EXIT$S,QIOW$S
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 212
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   7829					.SBTTL	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   7830
   7831					;+
   7832					; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
   7833					;
   7834					; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
   7835					; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
   7836					; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
   7837					;
   7838					; INPUT ARGUMENTS:
   7839					;
   7840					;	R0 POINTS TO A REPEAT COUNT
   7841					;	R5 POINTS TO THE INPUT STREAM.
   7842					;
   7843					; OUTPUT ARGUMENTS:
   7844					;
   7845					;	R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
   7846					;
   7847					; ERROR CODES RETURNED:
   7848					;
   7849					;	CNR -- COMMAND IS NOT REPEATABLE
   7850					;-
   7851
   7852	012266				.DOCMD::
   7853	012266	022020 				CMP	(R0)+,(R0)+	; POINT TO THE END OF THE REPEAT COUNT
   7854	012270					PUSH	<(R0),-(R0),-(R0)>
	012270	011046 				 MOV	(R0),-(SP)
	012272	014046 				 MOV	-(R0),-(SP)
	012274	014046 				 MOV	-(R0),-(SP)
   7855	012276	010600 				MOV	SP,R0		; ...POINT TO THE REPEAT COUNT
   7856	012300					PUSH	R5		; ...SAVE COMMAND LINE POINTER
	012300	010546 				 MOV	R5,-(SP)
   7857	012302					PUSH	R0		; ....SAVE THE REPEAT COUNT POINTER
	012302	010046 				 MOV	R0,-(SP)
   7858	012304	010037 	000132'			MOV	R0,.RPTPT	; .....FOR "CLEAR REPEAT"
   7859	012310				10$:
   7860	012310	012700 	002520'			MOV	#.CMDTB,R0	; .....POINT TO THE COMMAND TABLE
   7861	012314	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; ....."PARSER" IS CURRENT COMMAND
   7862	012322					CALL	.TSCAN		; .....SCAN THE TABLE
	012322	004737 	012672'			 JSR	PC,.TSCAN
   7863	012326	011037 	000076'			MOV	(R0),.LGLWD	; .....SET UP THE LEGAL BITS FOR COMMAND
   7864	012332	014037 	000002'			MOV	-(R0),.CCMDN	; .....SET THE POINTER TO THIS NAME
   7865
   7866					;	[CONTINUED ON THE FOLLOWING PAGE]
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 213
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   7868					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7869
   7870	012336				20$:
   7871	012336					CALL	@4(R0)		; .....DO THE COMMAND
	012336	004770 	000004 			 JSR	PC,@4(R0)
   7872	012342	011600 				MOV	(SP),R0		; .....POINT TO THE REPEAT COUNT
   7873	012344					CALL	.TPTST		; .....IS THERE REALLY ONE THERE
	012344	004737 	022674'			 JSR	PC,.TPTST
   7874	012350	001404 				BEQ	30$		; .....NO -- JUST GO ON
   7875	012352	032737 	000400 	000076'		BIT	#LG.RPT,.LGLWD	; .....YES -- IS THIS COMMAND REPEATABLE?
   7876	012360	001423 				BEQ	DOCCNR		; .....NO -- GIVE "CNR" ERROR
   7877	012362				30$:
   7878	012362	105725 				TSTB	(R5)+		; .....YES -- IS THIS THE END??
   7879	012364	001010 				BNE	40$		; .....NO -- GO ON SCANNING THIS LINE
   7880	012366	105745 				TSTB	-(R5)		; .....YES -- BACK THE POINTER UP
   7881	012370					CALL	.TPDEC		; .....DECREMENT STACKED REPEAT COUNT
	012370	004737 	022750'			 JSR	PC,.TPDEC
   7882	012374					CALL	.TPTST		; .....SEE WHAT THE COUNT IS
	012374	004737 	022674'			 JSR	PC,.TPTST
   7883	012400	003405 				BLE	50$		; .....DONE IF .LE. 0
   7884	012402	016605 	000002 			MOV	2(SP),R5	; .....RESTORE INPUT STREAM POINTER
   7885	012406				40$:
   7886	012406	005037 	000076'			CLR	.LGLWD		; .....CLEAR THE LEGAL BITS
   7887	012412	000736 				BR	10$		; .....AND REITERATE OR CONTINUE
   7888						;
   7889	012414				50$:
   7890	012414	062706 	000012 			ADD	#^D10,SP	; .....FLUSH THE STACK
   7891	012420					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	012420	004737 	000056'			 JSR	PC,.CESCK
   7892	012424					CALLR	.EBPCK		; AND EBUS PARITY ERROR
	012424	000137 	000462'			 JMP	.EBPCK
   7893						;
   7894	012430				DOCCNR:
   7895	012430					ERROR$	CNR		; ERROR -- COMMAND IS NOT REPEATABLE
	012430	012746 	012402 			 MOV	#^RCNR,-(SP)
	012434	104400 				 TRAP	TC.ERR
   7896						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 214
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

   7898					.SBTTL	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   7899
   7900					;+
   7901					; .EXITP -- THE COMMAND PARSER EXIT POINT.
   7902					;
   7903					; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
   7904					;
   7905					; INPUT ARGUMENTS:
   7906					;
   7907					;	NONE.
   7908					;
   7909					; OUTPUT ARGUMENTS:
   7910					;
   7911					;	NONE.
   7912					;
   7913					; ERROR CODES RETURNED:
   7914					;
   7915					;	NONE.
   7916					;-
   7917
   7918	012436				.EXITP::
   7920	012436	005737 	000016'			TST	.DBGSW		; LOOK AT THE DEBUG SWITCH
   7921	012442	001401 				BEQ	10$		; CLEAR -- DON'T HALT
   7922	012444	000000 				HALT			; FOR DEBUGGING
   7923	012446				10$:
   7925	012446					QIOW$S	#IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
	012446	005046 				CLR	-(SP)
	012450	005046 				CLR	-(SP)
	012452	112746 	000002 			MOVB	#E.FCID,-(SP)
	012456	112766 	000000 	000001 		MOVB	#0,1(SP)
	012464	012746 	000001 			MOV	#CIDLUN,-(SP)
	012470	012746 	000000G			MOV	#IO.DET,-(SP)
	012474	012746 				MOV	(PC)+,-(SP)
	012476	   003 	   006 			.BYTE	3,$$$T1
	012500	104375 				EMT	375
   7926	012502					EXIT$S			; EXIT
	012502	012746 				MOV	(PC)+,-(SP)
	012504	   063 	   001 			.BYTE	51.,1
	012506	104375 				EMT	375
   7927	012510	000004 				IOT			; HELP....
   7928						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 215
.START -- COMMAND PARSER MAIN LOOP 7602.02

   7930					.SBTTL	.START -- COMMAND PARSER MAIN LOOP 7602.02
   7931
   7932					;+
   7933					; .START -- COMMAND PARSER MAIN LOOP.
   7934					;
   7935					; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
   7936					; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
   7937					; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
   7938					; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
   7939					; THE OPERATOR.
   7940					;
   7941					; INPUT ARGUMENTS:
   7942					;
   7943					;	NONE.
   7944					;
   7945					; OUTPUT ARGUMENTS:
   7946					;
   7947					;	R0 POINTS TO THE REPEAT COUNT
   7948					;	R5 POINTS TO THE INPUT STREAM
   7949					;
   7950					; ERROR CODES RETURNED:
   7951					;
   7952					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
   7953					;	PARSER EXITS.
   7954					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 216
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

   7956					.SBTTL	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   7957
   7958					;+
   7959					; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
   7960					;
   7961					; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
   7962					;
   7963					;	RETURN			; RETURNS TO HIGHER LEVEL
   7964					;		-OR-
   7965					;	CALL	@(SP)+		; RETURNS TO SAME LEVEL
   7966					;
   7967					; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
   7968					; WILL NEST.
   7969					;
   7970					; CALLING SEQUENCE IS:
   7971					;
   7972					;	CALL	R5,.REGSV
   7973					;	ONLY RETURN
   7974					;-
   7975
   7976	012512				.REGSV::			; DEFINE AS GLOBAL
   7977	012512					PUSH	<R4,R3,R2,R1,R5>
	012512	010446 				 MOV	R4,-(SP)
	012514	010346 				 MOV	R3,-(SP)
	012516	010246 				 MOV	R2,-(SP)
	012520	010146 				 MOV	R1,-(SP)
	012522	010546 				 MOV	R5,-(SP)
   7978	012524	016605 	000012 			MOV	12(SP),R5	; .....RESTORE R5
   7979	012530	000241 				CLC			; .....CLEAR CC-C
   7980	012532					CALL	@(SP)+		; .....RETURN WITH RESTORE ADDRESS ON THE STACK
	012532	004736 				 JSR	PC,@(SP)+
   7981
   7982					; HERE TO RESTORE R1 - R5 AND RETURN
   7983
   7984	012534					POP	<R1,R2,R3,R4,R5>
	012534	012601 				 MOV	(SP)+,R1
	012536	012602 				 MOV	(SP)+,R2
	012540	012603 				 MOV	(SP)+,R3
	012542	012604 				 MOV	(SP)+,R4
	012544	012605 				 MOV	(SP)+,R5
   7985	012546					RETURN			; RETURN
	012546	000207 				 RTS	PC
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 217
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

   7987	012550				.START::
   7988	012550	013706 	000136'			MOV	.SVESP,SP	; INIT THE STACK POINTER
   7989	012554				10$:
   7990	012554	005037 	000140'			CLR	.SVKLF		; RESET ".SVKLF"
   7991	012560	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; SET UP PARSER NAME
   7992	012566					CALL	.TYINI		; INIT OUTPUT POINTERS
	012566	004737 	026356'			 JSR	PC,.TYINI
   7993	012572	012701 	000000G			MOV	#.KLFLG,R1	; POINT TO ".KLFLG"
   7994	012576	012700 	000030'			MOV	#PROMPT,R0	; POINT TO THE PROMPT STRING
   7995	012602					CALL	.TYMSG		; PRINT IT
	012602	004737 	026202'			 JSR	PC,.TYMSG
   7996	012606	012700 	000076 			MOV	#'>,R0		; ASSUME THE KL IS RUNNING
   7997	012612	032711 	100000 			BIT	#KF.CLK,(R1)	; IS THE CLOCK ON?
   7998	012616	001406 				BEQ	20$		; NO -- PRINT "#"
   7999	012620	032711 	040000 			BIT	#KF.RUN,(R1)	; YES -- IS THE RUN FLOP ON?
   8000	012624	001005 				BNE	30$		; YES -- PRINT ">"
   8001	012626	012700 	000045 			MOV	#'%,R0		; NO -- PRINT "%"
   8002	012632	000402 				BR	30$		; GO DO IT
   8003						;
   8004	012634				20$:
   8005	012634	012700 	000043 			MOV	#'#,R0		; KL CLOCK IS OFF
   8006	012640				30$:
   8007	012640					CALL	.TFCHR		; FORCE PRINT THE PROMPT CHARACTER
	012640	004737 	026224'			 JSR	PC,.TFCHR
   8008	012644	012705 	000670'			MOV	#.COMND,R5	; SET UP COMMAND BUFFER POINTER
   8009	012650					CALL	.GTCMD		; GO READ A COMMAND LINE
	012650	004737 	024010'			 JSR	PC,.GTCMD
   8010	012654	005037 	000076'			CLR	.LGLWD		; FLUSH OLD LEGAL BITS
   8011	012660	012700 	000124'			MOV	#.RPTCT,R0	; GET THE REPEAT COUNT POINTER
   8012	012664					CALL	.DOCMD		; NOW GO EXECUTE A COMMAND
	012664	004737 	012266'			 JSR	PC,.DOCMD
   8013	012670	000731 				BR	10$		; AND START OVER AGAIN
   8014						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 218
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   8016					.SBTTL	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
   8017
   8018					;+
   8019					; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
   8020					;
   8021					; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
   8022					; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
   8023					;
   8024					; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
   8025					;
   8026					;	!=======================================!
   8027					;	!	POINTER TO ".ASCIZ" SYMBOL	!
   8028					;	!---------------------------------------!
   8029					;	!	  LEGAL BITS FOR OBJECT		!
   8030					;	!---------------------------------------!
   8031					;	!	   DISPATCH FOR OBJECT		!
   8032					;	!=======================================!
   8033					;
   8034					; INPUT ARGUMENTS:
   8035					;
   8036					;	R0 POINTS TO THE SYMBOL TABLE
   8037					;
   8038					; OUTPUT ARGUMENTS:
   8039					;
   8040					;	R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
   8041					;
   8042					; ERROR CODES RETURNED:
   8043					;
   8044					;	AMB -- AMBIGUOUS KEYWORD.
   8045					;	NSK -- NON-EXISTENT KEYWORD.
   8046					;	WRM -- WRONG MODE FOR COMMAND.
   8047					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 219
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   8049	012672				.TSCAN::
   8050	012672					CALL	.CKCTC		; SEE IF "^C" WAS TYPED
	012672	004737 	000236'			 JSR	PC,.CKCTC
   8051	012676					CALL	.CKSYM		; GET OVER LEADING BLANKS
	012676	004737 	000446'			 JSR	PC,.CKSYM
   8052	012702	122704 	000077 			CMPB	#'?,R4		; IS THIS AN INQUIRY?
   8053	012706	001442 				BEQ	50$		; YES -- DISPLAY THE TABLE
   8054	012710					PUSH	R1		; NO -- SAVE R1 ON THE STACK
	012710	010146 				 MOV	R1,-(SP)
   8055	012712					PUSH	R5		; .SAVE THE INPUT POINTER
	012712	010546 				 MOV	R5,-(SP)
   8056	012714	010001 				MOV	R0,R1		; ..TABLE POINTER TO R1
   8057	012716					PUSH	R5		; ..SAVE THE INPUT POINTER AGAIN
	012716	010546 				 MOV	R5,-(SP)
   8058	012720	005046 				CLR	-(SP)		; ...CLEAR A SCRATCH AREA
   8059	012722				10$:
   8060	012722	012100 				MOV	(R1)+,R0	; ....GET THE ADDRESS OF THE SYMBOL
   8061	012724					CALL	.SSCAN		; ....SCAN IT
	012724	004737 	013134'			 JSR	PC,.SSCAN
   8062	012730	103412 				BCS	30$		; ....NO MATCH -- TRY NEXT ENTRY
   8063	012732	001004 				BNE	20$		; ....MATCH -- SAVE POINTER AND CONTINUE
   8064	012734	010100 				MOV	R1,R0		; ....EXACT MATCH -- PUT THE POINTER IN R0
   8065	012736	010566 	000004 			MOV	R5,4(SP)	; ....FIX THE INPUT POINTER
   8066	012742	000414 				BR	40$		; ....AND SET UP FOR EXIT
   8067						;
   8068	012744				20$:
   8069	012744	005716 				TST	(SP)		; ....HAVE WE ALREADY FOUND A MATCH?
   8070	012746	001057 				BNE	TSCAMB		; ....YES -- GIVE "AMB" ERROR
   8071	012750	010116 				MOV	R1,(SP)		; ....NO -- SAVE POINTER AND GO ON
   8072	012752	010566 	000004 			MOV	R5,4(SP)	; ....SAVE THE BUFFER POINTER
   8073	012756				30$:
   8074	012756	016605 	000002 			MOV	2(SP),R5	; ....RESET THE INPUT POINTER
   8075	012762	022121 				CMP	(R1)+,(R1)+	; ....ADVANCE THE POINTER
   8076	012764	005711 				TST	(R1)		; ....IS THIS THE END OF THE TABLE?
   8077	012766	001355 				BNE	10$		; ....NO -- TRY THIS SYMBOL
   8078	012770	011600 				MOV	(SP),R0		; ....YES -- DID WE FIND A MATCH?
   8079	012772	001452 				BEQ	TSCNSK		; ....NO -- GIVE "NSK" ERROR
   8080	012774				40$:
   8081	012774	033710 	000000G			BIT	.FEMOD,(R0)	; ....YES -- CAN WE DO THIS COMMAND?
   8082	013000	001452 				BEQ	TSCWRM		; ....NO -- GIVE "WRM" ERROR
   8083	013002	022626 				CMP	(SP)+,(SP)+	; ....YES -- CLEAR THE STACK
   8084	013004					POP	R5		; ..RETURN UPDATED LINE POINTER
	013004	012605 				 MOV	(SP)+,R5
   8085	013006	111504 				MOVB	(R5),R4		; .PUT THE DELIMITER IN R4
   8086	013010					POP	R1		; .RESTORE R1
	013010	012601 				 MOV	(SP)+,R1
   8087	013012					RETURN			; WITH POINTER TO LEGAL BITS IN R0
	013012	000207 				 RTS	PC
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 220
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   8089	013014				50$:
   8090	013014	105725 				TSTB	(R5)+		; GET OVER THE "?"
   8091	013016					CALL	.CKEOC		; CHECK FOR E-O-C
	013016	004737 	000264'			 JSR	PC,.CKEOC
   8092	013022	010001 				MOV	R0,R1		; TABLE POINTER TO R1
   8093	013024					CALL	.TCRLF		; TYPE A <CRLF>
	013024	004737 	026272'			 JSR	PC,.TCRLF
   8094	013030	013700 	000002'			MOV	.CCMDN,R0	; CURRENT COMMAND NAME
   8095	013034					CALL	.TYMSG		; PRINT THAT
	013034	004737 	026202'			 JSR	PC,.TYMSG
   8096	013040	012700 	000611'			MOV	#TDMSG0,R0	; REST OF LINE
   8097	013044					CALL	.TYLIN		; PRINT IT
	013044	004737 	026166'			 JSR	PC,.TYLIN
   8098	013050				60$:
   8099	013050	012100 				MOV	(R1)+,R0	; NAME POINTER TO R0
   8100	013052	001411 				BEQ	80$		; EXIT IF NULL
   8101	013054	031137 	000000G			BIT	(R1),.FEMOD	; COMMAND LEGAL IN THIS MODE?
   8102	013060	001404 				BEQ	70$		; NO -- GO ON
   8103	013062					CALL	.TYSPC		; YES -- SPACE OVER
	013062	004737 	025454'			 JSR	PC,.TYSPC
   8104	013066					CALL	.TYLIN		; PRINT THIS NAME
	013066	004737 	026166'			 JSR	PC,.TYLIN
   8105	013072				70$:
   8106	013072	022121 				CMP	(R1)+,(R1)+	; POINT TO THE NEXT NAME
   8107	013074	000765 				BR	60$		; AND GO ON
   8108						;
   8109	013076				80$:
   8110	013076	013706 	000136'			MOV	.SVESP,SP	; RESET THE STACK
   8111	013102	000177 	000134'			JMP	@.STRTV		; AND START OVER
   8112						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 221
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   8114	013106				TSCAMB:
   8115	013106	016605 	000002 			MOV	2(SP),R5	; RESET INPUT POINTER
   8116	013112					ERROR$	AMB		; .ERROR -- MULTIPLE MATCH
	013112	012746 	004112 			 MOV	#^RAMB,-(SP)
	013116	104400 				 TRAP	TC.ERR
   8117						;
   8118	013120				TSCNSK:
   8119	013120					ERROR$	NSK		; .ERROR -- NON-EXISTENT KEYWORD
	013120	012746 	055203 			 MOV	#^RNSK,-(SP)
	013124	104400 				 TRAP	TC.ERR
   8120						;
   8121	013126				TSCWRM:
   8122	013126					ERROR$	WRM		; .ERROR -- WRONG MODE FOR COMMAND
	013126	012746 	111235 			 MOV	#^RWRM,-(SP)
	013132	104400 				 TRAP	TC.ERR
   8123						;
   8124
   8125	000611				.PSECT	MESSAG
   8126
   8127	000611				TDMSG0:
   8128	000611	   040 	   103 	   117 		.ASCIZ	% COMMANDS ARE:%
	000614	   115 	   115 	   101
	000617	   116 	   104 	   123
	000622	   040 	   101 	   122
	000625	   105 	   072 	   000
   8129	013134				.PSECT
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 222
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   8131					.SBTTL	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
   8132
   8133					;+
   8134					; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
   8135					;	    WITH AN ".ASCIZ" SYMBOL IN A TABLE.
   8136					;
   8137					; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
   8138					; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
   8139					;
   8140					; INPUT ARGUMENTS:
   8141					;
   8142					;	R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
   8143					;	".TSCAN" (Q.V.).
   8144					;	R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
   8145					;	MATCHED.
   8146					;
   8147					; OUTPUT ARGUMENTS:
   8148					;
   8149					;  ON FAILURE, (NO MATCH):
   8150					;	R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
   8151					;	R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
   8152					;	CC-C IS SET.
   8153					;
   8154					;  ON SUCCESS, (MATCH):
   8155					;	R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
   8156					;	R4 CONTAINS THAT DELIMITER CHARACTER
   8157					;	CC-C IS CLEAR
   8158					;	IF CC-Z IS SET, THE MATCH WAS EXACT.
   8159					;
   8160					; ERROR CODES RETURNED:
   8161					;
   8162					;	ILS -- ILLEGAL SEPARATOR CHARCATER.
   8163					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1110  03-OCT-79 11:35  PAGE 223
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   8165	013134				.SSCAN::
   8166	013134	121510 				CMPB	(R5),(R0)	; TEST CHARACTERS FOR MATCH
   8167	013136	001006 				BNE	20$		; NO MATCH -- CHECK DELIMITER
   8168	013140	105720 				TSTB	(R0)+		; ADVANCE THE POINTERS
   8169	013142	001402 				BEQ	10$		; MATCH ON ".ASCIZ" SYMBOLS?
   8170	013144	105725 				TSTB	(R5)+		; NO -- ADVANCE OTHER POINTER
   8171	013146	000772 				BR	.SSCAN		; AND TRY NEXT TWO CHARACTERS
   8172						;
   8173	013150				10$:
   8174	013150	105740 				TSTB	-(R0)		; BACK THE POINTER UP
   8175	013152	000405 				BR	30$		; AND EXIT
   8176						;
   8177	013154				20$:
   8178	013154	111504 				MOVB	(R5),R4		; GET LAST CHARACTER FROM INPUT
   8179	013156	132764 	000034 	001360'		BITB	#CH.END,.CHTAB(R4)
   8180	013164	001402 				BEQ	40$		; NOT LEGAL DELIMITER -- GIVE NO MATCH
   8181	013166				30$:
   8182	013166	105710 				TSTB	(R0)		; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
   8183	013170	000401 				BR	50$		; AND EXIT
   8184						;
   8185	013172				40$:
   8186	013172	000261 				SEC			; SET CC-C TO SAY "NO MATCH"
   8187	013174				50$:
   8188	013174					RETURN			; TO CALLER
	013174	000207 				 RTS	PC
REPTC -- REPEAT COMMAND MODULE 	MACRO M1110  03-OCT-79 11:35  PAGE 224
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   8190					.TITLE	REPTC -- REPEAT COMMAND MODULE 7703.25
   8191
   8192						.IDENT	"005000"
   8193
   8194					;
   8195					;                             COPYRIGHT (C) 1975, 1979 BY
   8196					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8197					;
   8198					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8199					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8200					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8201					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8202					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8203					;
   8204					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8205					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8206					;       CORPORATION.
   8207					;
   8208					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8209					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8210					;
   8211					;		MODULE: REPEAT COMMAND
   8212					;
   8213					;		VERSION: 05-00
   8214					;
   8215					;		AUTHOR: R. BELANGER
   8216					;
   8217					;		DATE: 7703.25
   8218					;
   8219					;	THIS MODULE CONTAINS:
   8220					;
   8221					;	1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE 	MACRO M1110  03-OCT-79 11:35  PAGE 225
.REPTC -- THE "REPEAT" COMMAND 7703.25

   8223					.SBTTL	.REPTC -- THE "REPEAT" COMMAND 7703.25
   8224
   8225					;+
   8226					; .REPTC -- THE "REPEAT" COMMAND
   8227					;
   8228					; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
   8229					; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
   8230					;
   8231					; INPUT ARGUMENTS:
   8232					;
   8233					;	NONE.
   8234					;
   8235					; OUTPUT ARGUMENTS:
   8236					;
   8237					;	R0 POINTS TO A 36 BIT REPEAT COUNT
   8238					;
   8239					; ERROR CODES RETURNED:
   8240					;
   8241					;	IRC -- ILLEGAL REPEAT COUNT
   8242					;-
   8243
   8244	013176				.REPTC::
   8245	013176	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE CURRENT INPUT RADIX
   8246	013204	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET IT TO DECIMAL
   8247	013212	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   8248	013214	005046 				CLR	-(SP)		; .
   8249	013216	005046 				CLR	-(SP)		; ..
   8250	013220	010600 				MOV	SP,R0		; ...POINT TO IT
   8251	013222					CALL	.GTKLN		; ...READ THE NUMBER
	013222	004737 	024362'			 JSR	PC,.GTKLN
   8252	013226	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; ...RESET INPUT RADIX
   8253	013234					CALL	.TPTST		; ...SEE WHAT WE GOT
	013234	004737 	022674'			 JSR	PC,.TPTST
   8254	013240	003410 				BLE	REPIRC		; ...ILLEGAL IF .LE. 0
   8255	013242					CALL	.CKEOC		; ...CHECK E-O-C
	013242	004737 	000264'			 JSR	PC,.CKEOC
   8256	013246	105725 				TSTB	(R5)+		; ...GET OVER THE E-O-C CHARACTER
   8257	013250					CALL	.DOCMD		; ...CONTINUE PROCESSING THE LINE
	013250	004737 	012266'			 JSR	PC,.DOCMD
   8258	013254	062706 	000006 			ADD	#^D6,SP		; ...FLUSH THE STACK
   8259	013260					RETURN			; TO CALLER
	013260	000207 				 RTS	PC
   8260	013262				REPIRC:
   8261	013262					ERROR$	IRC		; ERROR -- ILLEGAL REPEAT COUNT
	013262	012746 	035423 			 MOV	#^RIRC,-(SP)
	013266	104400 				 TRAP	TC.ERR
   8262						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 226
.REPTC -- THE "REPEAT" COMMAND 7703.25

   8264					.TITLE	RESTC -- RESET COMMAND DISPATCH 7707.12
   8265
   8266						.IDENT	"005000"
   8267					;
   8268					;                             COPYRIGHT (C) 1975, 1979 BY
   8269					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8270					;
   8271					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8272					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8273					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8274					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8275					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8276					;
   8277					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8278					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8279					;       CORPORATION.
   8280					;
   8281					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8282					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8283					;
   8284					;		MODULE: RESET COMMAND DISPATCH
   8285					;
   8286					;		VERSION: 05-00
   8287					;
   8288					;		AUTHOR: R. BELANGER
   8289					;
   8290					;		DATE: 7707.12
   8291					;
   8292					;	THIS MODULE CONTAINS:
   8293					;
   8294					;	1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 227
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11

   8296					.SBTTL	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
   8297
   8298					;+
   8299					; .RESTC -- THE "RESET" COMMAND DISPATCH
   8300					;
   8301					; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
   8302					; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
   8303					;
   8304					; INPUT ARGUMENTS:
   8305					;
   8306					;	NONE.
   8307					;
   8308					; OUTPUT ARGUMENTS:
   8309					;
   8310					;	R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
   8311					;
   8312					; ERROR CODES RETURNED:
   8313					;
   8314					;	KLR -- ILLEGAL WHILE KL IS RUNNING.
   8315					;-
   8316
   8317	013270				.RESTC::
   8318	013270	111504 				MOVB	(R5),R4		; LOOK AT THIS CHARACTER
   8319	013272	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   8320	013300	001015 				BNE	10$		; DEFAULT RESET ON E-O-C
   8321	013302					CALL	.CKARG		; GET OVER LEADING BLANKS
	013302	004737 	000140'			 JSR	PC,.CKARG
   8322	013306	012700 	004136'			MOV	#.RESTB,R0	; TABLE POINTER TO R0
   8323	013312					CALL	.TSCAN		; SCAN THE TABLE
	013312	004737 	012672'			 JSR	PC,.TSCAN
   8324	013316	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
   8325	013320	005101 				COM	R1		; INVERT THEM
   8326	013322	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   8327	013326					CALL	.CKEOC		; CHECK FOR E-O-C
	013326	004737 	000264'			 JSR	PC,.CKEOC
   8328	013332					CALLR	@(R0)+		; DO THE RESET
	013332	000130 				 JMP	@(R0)+
   8329						;
   8330	013334				10$:
   8331	013334					CALL	.CKRNP		; SEE IF THE KL IS RUNNING
	013334	004737 	000366'			 JSR	PC,.CKRNP
   8332	013340					CALL	.STPKL		; STOP THE KL
	013340	004737 	012012'			 JSR	PC,.STPKL
   8333	013344					CALLR	.RESTP		; RESET THE KL AND EXIT
	013344	000137 	011662'			 JMP	.RESTP
   8334						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 228
.RSALL -- THE "RESET ALL" COMMAND 7602.18

   8336					.SBTTL	.RSALL -- THE "RESET ALL" COMMAND 7602.18
   8337
   8338	013350				.RSALL::
   8339	013350					PUSH	.KLFLG		; SAVE ".KLFLG"
	013350	013746 	000000G			 MOV	.KLFLG,-(SP)
   8340	013354	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
   8341	013360	001426 				BEQ	RSAKCN		; .NO -- GIVE "KCN" ERROR
   8342	013362					CALL	.STPKL		; .STOP THE KL
	013362	004737 	012012'			 JSR	PC,.STPKL
   8343	013366					CALL	.RESTD		; .RESET THE DTE-20
	013366	004737 	011616'			 JSR	PC,.RESTD
   8344	013372					CALL	.RSAPR		; .RESET APR
	013372	004737 	013444'			 JSR	PC,.RSAPR
   8345	013376					CALL	.RSPAG		; .RESET PAG
	013376	004737 	013476'			 JSR	PC,.RSPAG
   8346	013402					CALL	.RSTPI		; .RESET PI
	013402	004737 	013466'			 JSR	PC,.RSTPI
   8347	013406					POP	.SVKLF		; .SET UP ".SVKLF"
	013406	012637 	000140'			 MOV	(SP)+,.SVKLF
   8348	013412					CALLR	.RSTKL		; RESTART THE KL
	013412	000137 	011734'			 JMP	.RSTKL
   8349						;
   8350	013416				.RSDTE::
   8351	013416					CALLR	.RESTD		; RESET THE DTE-20
	013416	000137 	011616'			 JMP	.RESTD
   8352						;
   8353	013422				.RSTIN::
   8354	013422					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	013422	004737 	000376'			 JSR	PC,.CKRUN
   8355	013426					CALL	.STPKL		; STOP THE KL
	013426	004737 	012012'			 JSR	PC,.STPKL
   8356	013432					CALLR	.RESTI		; RESET TO DEFAULTS AND EXIT
	013432	000137 	011636'			 JMP	.RESTI
   8357						;
   8358	013436				RSAKCN:
   8359	013436					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	013436	012746 	042506 			 MOV	#^RKCN,-(SP)
	013442	104400 				 TRAP	TC.ERR
   8360						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 229
.RSTPI -- THE "RESET PI" COMMAND 7607.21

   8362					 .SBTTL	.RSTPI -- THE "RESET PI" COMMAND 7607.21
   8363
   8364						.ENABL	LSB
   8365
   8366	013444				.RSAPR::			; RESET APR
   8367	013444	012700 	002150'			MOV	#RSAPRI,R0	; INSTRUCTION POINTER TO R0
   8368	013450	000410 				BR	10$		; DO COMMON CODE
   8369						;
   8370	013452				.RSERR::			; RESET ERROR
   8371	013452	012700 	002156'			MOV	#RSERRI,R0	; INSTRUCTION POINTER TO R0
   8372	013456	000405 				BR	10$		; DO COMMON CODE
   8373						;
   8374	013460				.RSTIO::			; RESET IO
   8375	013460	012700 	002164'			MOV	#RSTIOI,R0	; INSTRUCTION POINTER TO R0
   8376	013464	000402 				BR	10$		; DO COMMON CODE
   8377						;
   8378	013466				.RSTPI::			; RESET PI
   8379	013466	012700 	002172'			MOV	#RSTPII,R0	; INSTRUCTION POINTER TO R0
   8380	013472				10$:
   8381	013472					CALLR	.EXCTF		; EXECUTE IT
	013472	000137 	007300'			 JMP	.EXCTF
   8382						;
   8383
   8384						.DSABL	LSB
   8385
   8386	002150				.PSECT	DATA
   8387
   8388	002150				RSAPRI:
   8389	002150					IOKL$	CONO	APR,,267760
	002150	   360 	   157 			 .BYTE	$$A,$$B
	002152	   001 	   002 			 .BYTE	$$C,$$D
	002154	   016 	   000 			 .BYTE	$$E,$$F
   8390	002156				RSERRI:
   8391	002156					IOKL$	CONO	APR,,27760
	002156	   360 	   057 			 .BYTE	$$A,$$B
	002160	   000 	   002 			 .BYTE	$$C,$$D
	002162	   016 	   000 			 .BYTE	$$E,$$F
   8392	002164				RSTIOI:
   8393	002164					IOKL$	CONO	APR,,200000
	002164	   000 	   000 			 .BYTE	$$A,$$B
	002166	   001 	   002 			 .BYTE	$$C,$$D
	002170	   016 	   000 			 .BYTE	$$E,$$F
   8394	002172				RSTPII:
   8395	002172					IOKL$	CONO	PI,,10000
	002172	   000 	   020 			 .BYTE	$$A,$$B
	002174	   000 	   006 			 .BYTE	$$C,$$D
	002176	   016 	   000 			 .BYTE	$$E,$$F
   8396
   8397	013476				.PSECT
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 230
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   8399					.SBTTL	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
   8400
   8401	013476				.RSPAG::
   8402	013476					PUSH	.KLFLG		; SAVE ".KLFLG"
	013476	013746 	000000G			 MOV	.KLFLG,-(SP)
   8403	013502	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
   8404	013506	001442 				BEQ	RSPKCN		; .NO -- GIVE "KCN" ERROR
   8405	013510					CALL	.STPKL		; .STOP THE KL
	013510	004737 	012012'			 JSR	PC,.STPKL
   8406	013514					PUSH	R1		; .SAVE R1
	013514	010146 				 MOV	R1,-(SP)
   8407	013516					PUSH	#16		; ..BUILD A CLEAR WORD ON THE STACK
	013516	012746 	000016 			 MOV	#16,-(SP)
   8408	013522	005046 				CLR	-(SP)		; ...
   8409	013524	005046 				CLR	-(SP)		; ....
   8410	013526	010601 				MOV	SP,R1		; .....GET THE POINTER
   8411	013530	005046 				CLR	-(SP)		; .....NOW SET UP
   8412	013532					PUSH	#100		; ......SCRATCH ADDRESS
	013532	012746 	000100 			 MOV	#100,-(SP)
   8413	013536	010600 				MOV	SP,R0		; .......GET THE POINTER
   8414	013540					PUSH	R1		; .......DATA POINTER TO STACK
	013540	010146 				 MOV	R1,-(SP)
   8415	013542					PUSH	R0		; ........ADDRESS POINTER TO STACK
	013542	010046 				 MOV	R0,-(SP)
   8416	013544	010601 				MOV	SP,R1		; .........BLOCK POINTER TO R1
   8417	013546	012700 	000040 			MOV	#ED.EXV,R0	; .........EXEC VIRTUAL SPACE
   8418	013552					CALL	.DPKLM		; .........DO THE DEPOSIT
	013552	004737 	007116'			 JSR	PC,.DPKLM
   8419	013556	062706 	000016 			ADD	#^D14,SP	; .........RESET THE STACK
   8420	013562	012700 	002200'			MOV	#RSPGI0,R0	; ..INSTRUCTION POINTER TO R0
   8421	013566					CALL	.EXCTF		; ..EXECUTE IT
	013566	004737 	007300'			 JSR	PC,.EXCTF
   8422	013572	012700 	002206'			MOV	#RSPGI1,R0	; ..NEXT INSTRUCTION
   8423	013576					CALL	.EXCTF		; ..EXECUTE IT
	013576	004737 	007300'			 JSR	PC,.EXCTF
   8424	013602					POP	R1		; ..RESTORE R1
	013602	012601 				 MOV	(SP)+,R1
   8425	013604					POP	.SVKLF		; .SET UP ".SVKLF"
	013604	012637 	000140'			 MOV	(SP)+,.SVKLF
   8426	013610					CALLR	.RSTKL		; RESART THE KL AND EXIT
	013610	000137 	011734'			 JMP	.RSTKL
   8427						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 231
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   8429	013614				RSPKCN:
   8430	013614					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	013614	012746 	042506 			 MOV	#^RKCN,-(SP)
	013620	104400 				 TRAP	TC.ERR
   8431						;
   8432
   8433	002200				.PSECT	DATA
   8434
   8435	002200				RSPGI0:
   8436	002200					IOKL$	CONO	PAG,,0
	002200	   000 	   000 			 .BYTE	$$A,$$B
	002202	   000 	   012 			 .BYTE	$$C,$$D
	002204	   016 	   000 			 .BYTE	$$E,$$F
   8437	002206				RSPGI1:
   8438	002206					IOKL$	DATAO	PAG,,100
	002206	   100 	   000 			 .BYTE	$$A,$$B
	002210	   200 	   011 			 .BYTE	$$C,$$D
	002212	   016 	   000 			 .BYTE	$$E,$$F
   8439
   8440	013622				.PSECT
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 232
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   8442					.TITLE	RUNCM -- RUN COMMAND MODULE 7607.14
   8443
   8444						.IDENT	"005000"
   8445
   8446					;
   8447					;                             COPYRIGHT (C) 1975, 1979 BY
   8448					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8449					;
   8450					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8451					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8452					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8453					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8454					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8455					;
   8456					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8457					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8458					;       CORPORATION.
   8459					;
   8460					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8461					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8462					;
   8463					;		MODULE: RUN COMMAND
   8464					;
   8465					;		VERSION: 05-00
   8466					;
   8467					;		AUTHOR: R. BELANGER
   8468					;
   8469					;		DATE: 7607.14
   8470					;
   8471					;	THIS MODULE CONTAINS:
   8472					;
   8473					;	1) RUN COMMAND CODE
   8474					;	2) REQUEST DIRECTIVE PARAMETER BLOCK
   8475
   8476						.MCALL	DIR$, RQST$
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 233
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   8478					.SBTTL	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
   8479
   8480					;+
   8481					; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
   8482					;
   8483					; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
   8484					; AND EXITS THE COMMAND PARSER
   8485					;
   8486					; INPUT ARGUMENTS:
   8487					;
   8488					;	NONE.
   8489					;
   8490					; OUTPUT ARGUMENTS:
   8491					;
   8492					;	NONE.
   8493					;
   8494					; ERROR CODES RETURNED:
   8495					;
   8496					;	ITN -- ILLEGAL TASK NAME
   8497					;	NST -- NO SUCH TASK
   8498					;	TAA -- TASK IS ALREADY ACTIVE
   8499					;-
   8500
   8501	013622				.RUNCM::
   8502	013622					CALL	.CKSYM		; GET OVER LEADING BLANKS
	013622	004737 	000446'			 JSR	PC,.CKSYM
   8503	013626					CALL	.GTR50		; GET THE .RAD50 TASK NAME
	013626	004737 	013730'			 JSR	PC,.GTR50
   8504	013632	001425 				BEQ	RUNITN		; BAD NEWS IF NONE THERE
   8505	013634					PUSH	R0		; SAVE THE TASK NAME
	013634	010046 				 MOV	R0,-(SP)
   8506	013636					CALL	.GTR50		; .READ THE SECOND HALF
	013636	004737 	013730'			 JSR	PC,.GTR50
   8507	013642					CALL	.CKEOC		; .MUST HAVE E-O-C
	013642	004737 	000264'			 JSR	PC,.CKEOC
   8508	013646					POP	.RNDPB+4	; .SET THE TASK NAME IN THE DPB
	013646	012637 	000150'			 MOV	(SP)+,.RNDPB+4
   8509	013652					DIR$	#.RNDPB		; REQUEST THE TASK
	013652	012746 	000144'			MOV	#.RNDPB,-(SP)
	013656	104375 				EMT	375
   8510	013660	103402 				BCS	10$		; ERROR IF CC-C IS SET
   8511	013662					CALLR	.EXITP		; EXIT
	013662	000137 	012436'			 JMP	.EXITP
   8512						;
   8513
   8514					;	[CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 234
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   8516					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8517
   8518	013666				10$:
   8519	013666	013700 	000000G			MOV	$DSW,R0		; LOOK AT THE DIRECTIVE STATUS
   8520	013672	022700 	000000G			CMP	#IE.INS,R0	; IS THERE SUCH A TASK?
   8521	013676	001406 				BEQ	RUNNST		; NO -- GIVE "NST" ERROR
   8522	013700	022700 	000000G			CMP	#IE.ACT,R0	; YES -- IS IT ALREADY ACTIVE?
   8523	013704	001406 				BEQ	RUNTAA		; YES -- GIVE "TAA" ERROR
   8524	013706				RUNITN:
   8525	013706					ERROR$	ITN		; ERROR -- ILLEGAL TASK NAME
	013706	012746 	035556 			 MOV	#^RITN,-(SP)
	013712	104400 				 TRAP	TC.ERR
   8526						;
   8527	013714				RUNNST:
   8528	013714					ERROR$	NST		; ERROR -- NO SUCH TASK
	013714	012746 	055214 			 MOV	#^RNST,-(SP)
	013720	104400 				 TRAP	TC.ERR
   8529						;
   8530	013722				RUNTAA:
   8531	013722					ERROR$	TAA		; ERROR -- TASK ALREADY ACTIVE
	013722	012746 	076451 			 MOV	#^RTAA,-(SP)
	013726	104400 				 TRAP	TC.ERR
   8532						;
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 235
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   8534					; DPB FOR REQUEST DIRECTIVE
   8535
   8536					;	!===============================================!
   8537					; 00	!	DPB SIZE	!	  DIC		!
   8538					;	!-----------------------------------------------!
   8539					; 02	!	    TASK NAME IN .RAD50 (HIGH)		!
   8540					;	!-----------------------------------------------!
   8541					; 04	!	    TASK NAME IN .RAD50 (LOW)		!
   8542					;	!-----------------------------------------------!
   8543					; 06	!	     PARTITION NAME (IGNORED)		!
   8544					;	!-----------------------------------------------!
   8545					; 10	!	     PARTITION NAME (IGNORED)		!
   8546					;	!-----------------------------------------------!
   8547					; 12	!		TASK PRIORITY			!
   8548					;	!-----------------------------------------------!
   8549					; 14	!		UIC (IGNORED)			!
   8550					;	!===============================================!
   8551
   8552	000144				.PSECT	DPBS
   8553
   8554	000144				.RNDPB::
   8555	000144					RQST$	...TSK,,,,
	000144	   013 	   007 			.BYTE	11.,7
	000146	131574 	100003 			.RAD50	/...TSK/
	000152	000000 	000000 			.WORD	0,0
	000156	000000 				.WORD
	000160	   000 	   000 			.BYTE	,
   8556
   8557	013730				.PSECT
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 236
.GTR50 -- GET A .RAD50 WORD 7602.18

   8559					.SBTTL	.GTR50 -- GET A .RAD50 WORD 7602.18
   8560
   8561					;+
   8562					; .GTR50 -- GET A .RAD50 WORD
   8563					;
   8564					; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
   8565					; INPUT STREAM TO .RAD50 FORMAT.
   8566					;
   8567					; INPUT ARGUMENTS:
   8568					;
   8569					;	R5 POINTS TO THE INPUT STREAM.
   8570					;
   8571					; OUTPUT ARGUMENTS:
   8572					;
   8573					;	R0 HOLDS THE .RAD50 SYMBOL.
   8574					;
   8575					; ERROR CODES RETURNED:
   8576					;
   8577					;	NONE.
   8578					;	IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
   8579					;-
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 237
.GTR50 -- GET A .RAD50 WORD 7602.18

   8581	013730				.GTR50::
   8582	013730					PUSH	<R1,R2>		; SAVE REGISTERS
	013730	010146 				 MOV	R1,-(SP)
	013732	010246 				 MOV	R2,-(SP)
   8583	013734	005046 				CLR	-(SP)		; ..SAVE A BUFFER
   8584	013736	012702 	001350'			MOV	#.T50TB,R2	; ...FACTOR TABLE POINTER TO R2
   8585	013742				10$:
   8586	013742	012201 				MOV	(R2)+,R1	; ...GET CURRENT MULTIPLIER
   8587	013744	001427 				BEQ	50$		; ...DONE IF .EQ. 0
   8588	013746	112500 				MOVB	(R5)+,R0	; ...GET THE CHARACTER INTO R0
   8589	013750	120027 	000101 			CMPB	R0,#'A		; ...IS IT ALPHABETIC?
   8590	013754	103403 				BLO	20$		; ...NO -- TRY NUMERIC
   8591	013756	120027 	000132 			CMPB	R0,#'Z		; ...IS IT REALLY ALPHABETIC?
   8592	013762	101410 				BLOS	30$		; ...YES -- ADD IT TO RESULT
   8593	013764				20$:
   8594	013764	120027 	000060 			CMPB	R0,#'0		; ...NO -- IS IT NUMERIC?
   8595	013770	103413 				BLO	40$		; ...NO -- EXIT
   8596	013772	120027 	000071 			CMPB	R0,#'9		; ...YES -- IS IT REALLY NUMERIC?
   8597	013776	101010 				BHI	40$		; ...NO -- EXIT
   8598	014000	162700 	177722 			SUB	#<<'0-36>-<'A-1>>,R0
   8599	014004				30$:
   8600	014004	162700 	000100 			SUB	#<'A-1>,R0	; ...CONVERT ALPHABETIC
   8601	014010					CALL	$MUL		; ...COMPUTE CHARACTER VALUE
	014010	004737 	000000G			 JSR	PC,$MUL
   8602	014014	060116 				ADD	R1,(SP)		; ...ACCUMULATE RESULT
   8603	014016	000751 				BR	10$		; ...AND GET NEXT CHARACTER
   8604						;
   8605	014020				40$:
   8606	014020	105745 				TSTB	-(R5)		; ...BACK UP THE BYTE POINTER
   8607	014022	010004 				MOV	R0,R4		; ...PUT THE CHARACTER IN R4
   8608	014024				50$:
   8609	014024					POP	R0		; ...RETURN THE RESULT
	014024	012600 				 MOV	(SP)+,R0
   8610	014026					POP	<R2,R1>		; ..RESTORE REGISTERS
	014026	012602 				 MOV	(SP)+,R2
	014030	012601 				 MOV	(SP)+,R1
   8611	014032	005700 				TST	R0		; LOOK AT R0
   8612	014034					RETURN			; TO CALLER
	014034	000207 				 RTS	PC
RUNCM -- RUN COMMAND MODULE 760	MACRO M1110  03-OCT-79 11:35  PAGE 238
.QUITC -- THE "QUIT" COMMAND 7602.16

   8614					.SBTTL	.QUITC -- THE "QUIT" COMMAND 7602.16
   8615
   8616					;+
   8617					; .QUITC -- THE "QUIT" COMMAND.
   8618					;
   8619					; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
   8620					;
   8621					; INPUT ARGUMENTS:
   8622					;
   8623					;	NONE.
   8624					;
   8625					; OUTPUT ARGUMENTS:
   8626					;
   8627					;	NONE.
   8628					;
   8629					; ERROR CODES RETURNED:
   8630					;
   8631					;	NONE.
   8632					;-
   8633
   8634	014036				.QUITC::
   8635	014036					CALL	.CKEOC		; MUST HAVE E-O-C
	014036	004737 	000264'			 JSR	PC,.CKEOC
   8636	014042					CALLR	.EXITP		; EXIT THE PARSER
	014042	000137 	012436'			 JMP	.EXITP
   8637						;
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 239
.QUITC -- THE "QUIT" COMMAND 7602.16

   8639					.TITLE	SCDAT -- SET/CLEAR/WHAT "DATE" AND "KLINIK" MODULE 7703.04
   8640
   8641						.IDENT	"005000"
   8642
   8643					;
   8644					;                             COPYRIGHT (C) 1975, 1979 BY
   8645					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8646					;
   8647					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8648					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8649					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8650					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8651					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8652					;
   8653					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8654					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8655					;       CORPORATION.
   8656					;
   8657					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8658					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8659					;
   8660					;		MODULE: "DATE" AND "KLINIK" SUPPORT
   8661					;
   8662					;		VERSION: 05-00
   8663					;
   8664					;		AUTHOR: R. BELANGER
   8665					;
   8666					;		DATE: 7703.04
   8667					;
   8668					;	THIS MODULE CONTAINS:
   8669					;
   8670					;	1) SET CLEAR DATE CODE
   8671					;	1) SET CLEAR KLINIK CODE
   8672					;	1) WHAT DATE CODE
   8673					;	1) WHAT KLINIK CODE
   8674
   8675						.MCALL	.ENB6,.INH6,GTIM$S
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 240
.SCDAT -- "SET DATE" COMMAND 7703.04

   8677					.SBTTL	.SCDAT -- "SET DATE" COMMAND 7703.04
   8678
   8679					;+
   8680					; .SCDAT -- THE "SET DATE" COMMAND
   8681					;
   8682					; THIS SUBROUTINE WILL ACCEPT A DATE AND TIME AS THE SYSTEM DATE AND TIME
   8683					; IF AND ONLY IF THE SYSTEM DATE VALID FLAG IS OFF.
   8684					;
   8685					; INPUT ARGUMENTS:
   8686					;
   8687					;	NONE.
   8688					;
   8689					; OUTPUT ARGUMENTS:
   8690					;
   8691					;	THE SYSTEM DATE IS SET AS SPECIFIED
   8692					;
   8693					; ERROR CODES RETURNED:
   8694					;
   8695					;	CDI -- CLEAR DATE ILLEGAL
   8696					;	DAV -- DATE ALREADY VALID
   8697					;	NDI -- NULL DATE ILLEGAL
   8698					;	NTI -- NULL TIME ILLEGAL
   8699					;-
   8700
   8701	014046				.SCDAT::
   8702	014046	032737 	000000G	000002G		BIT	#EF.PR1,.COMEF+2 ; IS PRIMARY PROTOCOL RUNNING??
   8703	014054	001134 				BNE	SCDCDI		; YES -- GIVE "CDI" ERROR
   8704	014056	005737 	000104'			TST	.NOTSW		; NO -- IS THIS A "CLEAR"??
   8705	014062	001404 				BEQ	10$		; NO -- GO ON
   8706	014064	005037 	000000G			CLR	.DATE3		; YES -- SET DATE INVALID
   8707	014070	005037 	000000G			CLR	.YEAR		; AND ALLOW "FUNNY" DATES
   8708	014074				10$:
   8709	014074	005737 	000000G			TST	.DATE3		; IS TIME ALREADY VALID?
   8710	014100	001125 				BNE	SCDDAV		; YES -- GIVE "DAV" ERROR
   8711	014102					CALL	.CKEOC		; NO -- MUST HAVE E-O-C
	014102	004737 	000264'			 JSR	PC,.CKEOC
   8712	014106	005046 				CLR	-(SP)		; CLEAR BUFFER ON STACK
   8713	014110	005046 				CLR	-(SP)		; .SO
   8714	014112	010600 				MOV	SP,R0		; ..POINT TO IT
   8715	014114					CALL	.GTDAT		; ..READ THE DATE
	014114	004737 	016216'			 JSR	PC,.GTDAT
   8716	014120	001520 				BEQ	SCDNDI		; ..ERROR IF NULL
   8717	014122	005046 				CLR	-(SP)		; ..SPACE FOR TIME
   8718	014124	010600 				MOV	SP,R0		; ...POINT TO IT
   8719	014126					CALL	.GTTIM		; ...READ THE TIME
	014126	004737 	016662'			 JSR	PC,.GTTIM
   8720	014132	001516 				BEQ	SCDNTI		; ...ERROR IF NULL
   8721	014134	116600 	000002 			MOVB	2(SP),R0	; ...YEAR TO R0
   8722	014140	162700 	000114 			SUB	#^D76,R0	; ...MINUS 1976
   8723	014144	010002 				MOV	R0,R2		; ...SAVE RESULT IN R2
   8724	014146	001406 				BEQ	20$		; ...GO ON IF .EQ. 0
   8725	014150	012701 	000555 			MOV	#^D365,R1	; ...CONVERT TO DAYS
   8726	014154					CALL	$MUL		; ...SO
	014154	004737 	000000G			 JSR	PC,$MUL
   8727	014160	010100 				MOV	R1,R0		; ...RESULT TO R0
   8728	014162	005200 				INC	R0		; ...PLUS 1 FOR 1976
   8729
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 240-1
.SCDAT -- "SET DATE" COMMAND 7703.04

   8730					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 241
.SCDAT -- "SET DATE" COMMAND 7703.04

   8732					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8733
   8734	014164				20$:
   8735	014164	116601 	000003 			MOVB	3(SP),R1	; ...MONTH TO R1
   8736	014170	006301 				ASL	R1		; ...MAKE A WORD INDEX
   8737	014172	066100 	002222'			ADD	CDMTB-2(R1),R0	; ...ADD DAYS TO THIS MONTH
   8738	014176	005702 				TST	R2		; ...IS THIS 1976?
   8739	014200	001412 				BEQ	40$		; ...YES -- GO ON
   8740	014202	132702 	000003 			BITB	#3,R2		; ...NO -- IS THIS A LEAP YEAR?
   8741	014206	001004 				BNE	30$		; ...NO -- GO ON
   8742	014210	022701 	000002 			CMP	#2,R1		; ...YES -- BEYOND FEBRUARY?
   8743	014214	002401 				BLT	30$		; ...YES -- GO ON
   8744	014216	005302 				DEC	R2		; ...NO -- SUBTRACT ONE FOR THIS YEAR
   8745	014220				30$:
   8746	014220	006202 				ASR	R2		; ...DIVIDE DIFFERENCE BY 4
   8747	014222	006202 				ASR	R2		; ...SO
   8748	014224	060200 				ADD	R2,R0		; ...ADD OFFSET FOR LEAP YEARS
   8749	014226				40$:
   8750	014226	116601 	000004 			MOVB	4(SP),R1	; ...DATE TO R1
   8751	014232	005301 				DEC	R1		; ...MINUS 1
   8752	014234	060100 				ADD	R1,R0		; ...ADD IT IN
   8753	014236	012701 	000007 			MOV	#^D7,R1		; ...DIVIDE BY DAYS PER WEEK
   8754	014242					CALL	$DIV		; ...SO
	014242	004737 	000000G			 JSR	PC,$DIV
   8755	014246	010100 				MOV	R1,R0		; ...DAY OF WEEK OFFSET TO R0
   8756	014250	010601 				MOV	SP,R1		; ...STACK POINTER TO R1
   8757	014252					.INH6			; ...DISALLOW INTERRUPTS
	014252	013746 	177776 			MOV	@#PS,-(SP)
	014256	112737 	000300 	177776 		MOVB	#300,@#PS
   8758	014264	116037 	002214'	000000G		MOVB	DOWTAB(R0),.DOW	;;; ...SET DAY OF WEEK FROM TABLE
   8759	014272	012137 	000000G			MOV	(R1)+,.SSM	;;; ...SET THE TIME
   8760	014276	112100 				MOVB	(R1)+,R0	;;; ...GET THE YEAR
   8761	014300	062700 	003554 			ADD	#^D1900,R0	;;; ...PLUS 1900
   8762	014304	010037 	000000G			MOV	R0,.YEAR	;;; ...SET IT
   8763	014310	105311 				DECB	(R1)		;;; ...COMPUTE TRUE MONTH
   8764	014312	112137 	000000G			MOVB	(R1)+,.MON	;;; ...SET IT
   8765	014316	105311 				DECB	(R1)		;;; ...COMPUTE TRUE DAY
   8766	014320	111137 	000000G			MOVB	(R1),.DAY	;;; ...SET IT
   8767	014324	012737 	000001 	000000G		MOV	#1,.DATE3	;;; ...SET THE VALID FLAG
   8768	014332					.ENB6			;;; ...ALLOW INTERRUPTS
	014332	012637 	177776 			MOV	(SP)+,@#PS
   8769	014336	062706 	000006 			ADD	#^D6,SP		; ...RESET STACK
   8770	014342				50$:
   8771	014342					CALLR	.WHDAT		; DISPLAY TIME AND EXIT
	014342	000137 	015534'			 JMP	.WHDAT
   8772						;
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 242
.SCDAT -- "SET DATE" COMMAND 7703.04

   8774	014346				SCDCDI:
   8775	014346					ERROR$	CDI		; ERROR -- CLEAR DATE ILLEGAL
	014346	012746 	011551 			 MOV	#^RCDI,-(SP)
	014352	104400 				 TRAP	TC.ERR
   8776						;
   8777	014354				SCDDAV:
   8778	014354					ERROR$	DAV		; ERROR -- DATE ALREADY VALID
	014354	012746 	014476 			 MOV	#^RDAV,-(SP)
	014360	104400 				 TRAP	TC.ERR
   8779						;
   8780	014362				SCDNDI:
   8781	014362					ERROR$	NDI		; ERROR -- NULL DATE ILLEGAL
	014362	012746 	054051 			 MOV	#^RNDI,-(SP)
	014366	104400 				 TRAP	TC.ERR
   8782						;
   8783	014370				SCDNTI:
   8784	014370					ERROR$	NTI		; ERROR -- NULL TIME ILLEGAL
	014370	012746 	055251 			 MOV	#^RNTI,-(SP)
	014374	104400 				 TRAP	TC.ERR
   8785						;
   8786
   8787	002214				.PSECT	DATA
   8788
   8789	002214				DOWTAB:
   8790	002214	   003 	   004 			.BYTE	3,4
   8791	002216	   005 	   006 			.BYTE	5,6
   8792	002220	   000 	   001 			.BYTE	0,1
   8793	002222	   002 				.BYTE	2
   8794						.EVEN
   8795
   8796	002224				CDMTB:
   8797	002224	000000 				.WORD	0
   8798	002226	000037 				.WORD	^D31
   8799	002230	000073 				.WORD	^D59
   8800	002232	000132 				.WORD	^D90
   8801	002234	000170 				.WORD	^D120
   8802	002236	000227 				.WORD	^D151
   8803	002240	000265 				.WORD	^D181
   8804	002242	000324 				.WORD	^D212
   8805	002244	000363 				.WORD	^D243
   8806	002246	000421 				.WORD	^D273
   8807	002250	000460 				.WORD	^D304
   8808	002252	000516 				.WORD	^D334
   8809
   8810	014376				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 243
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8812					.SBTTL	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
   8813
   8814					;+
   8815					; .SCKLN -- THE SET / CLEAR KLINIK COMMAND
   8816					;
   8817					; THIS SUBROUTINE WILL SET OR CLEAR THE KLINIK PARAMETERS FOR THE
   8818					; RSX20F FRONT END. THE CLEAR COMMAND SIMPLY CLEARS THE KLINIK
   8819					; THE KLINIK ENABLE FLAG AND REQUESTS THE KLINIK TERMINATION TASK
   8820					; "KLD" IN ORDER THAT THE OPERATOR BE NOTIFIED.
   8821					;
   8822					; THE "SET KLINIK" COMMAND WILL PROMPT THE OPERATOR FOR THE REQUIRED
   8823					; KLINIK PARAMETERS, VALIDATE THEM AND PASS THEM TO THE RSX20F EXECUTIVE.
   8824					;
   8825					; INPUT ARGUMENTS:
   8826					;
   8827					;	NONE.
   8828					;
   8829					; OUTPUT ARGUMENTS:
   8830					;
   8831					;	NONE.
   8832					;
   8833					; ERROR CODES RETURNED:
   8834					;
   8835					;	IPC -- ILLEGAL PASSWORD CHARACTER.
   8836					;	KWE -- KLINIK WINDOW ERROR.
   8837					;	NPI -- NULL PASSWORD ILLEGAL.
   8838					;	PTL -- PASSWORD TOO LONG.
   8839					;	SKI -- SET KLINIK ILLEGAL WHILE ACTIVE.
   8840					;-
   8841
   8842						.MCALL	.ENB6,.INH6,WTSE$S,CLEF$S
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 244
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8844						.ENABL	LSB
   8845
   8846	014376				.SCKLN::
   8847	014376					CALL	.CKEOC		; MUST HAVE E-O-C
	014376	004737 	000264'			 JSR	PC,.CKEOC
   8848	014402	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
   8849	014406	001402 				BEQ	10$		; NO -- GO ON
   8850	014410	000137 	015320'			JMP	80$		; YES -- DO IT
   8851						;
   8852	014414				10$:
   8853	014414	105737 	000000G			TSTB	.KLNSW+0	; +++002 IS KLINIK ALREADY ACTIVE??
   8854	014420	001055 				BNE	SCKSKI		; +++002 YES -- COMPLAIN
   8855	014422					PUSH	R5		; SET UP TO GET KLINIK PARAMETERS
	014422	010546 				 MOV	R5,-(SP)
   8856	014424	012700 	000743'			MOV	#SCKMS4,R0	; .+++002 MESSAGE POINTER TO R0
   8857	014430					CALL	.TYMSF		; .+++002 FORCE IT OUT
	014430	004737 	026174'			 JSR	PC,.TYMSF
   8858	014434	012701 	000240'			MOV	#.CIBFR,R1	; .+++002 BUFFER POINTER TO R1
   8859	014440	010105 				MOV	R1,R5		; .+++002 AND R5
   8860	014442					CALL	.GTLIN		; .+++002 READ KLINIK MODE
	014442	004737 	024044'			 JSR	PC,.GTLIN
   8861	014446	012700 	003444'			MOV	#.KLMT1,R0	; .+++002 KLINIK MODE TABLE POINTER TO R0
   8862	014452					CALL	.TSCAN		; .+++002 SCAN THE TABLE
	014452	004737 	012672'			 JSR	PC,.TSCAN
   8863	014456	116046 	000002 			MOVB	2(R0),-(SP)	; .+++002 KLINIK MODE FLAG TO STACK
   8864	014462	100462 				BMI	25$		; +++002 READ WINDOW DATA IF USER
   8865	014464	012700 	000630'			MOV	#SCKMS0,R0	; ..MESSAGE POINTER TO R0
   8866	014470					CALL	.TYMSF		; ..FORCE THE MESSAGE
	014470	004737 	026174'			 JSR	PC,.TYMSF
   8867	014474	012701 	000240'			MOV	#.CIBFR,R1	; ..USE THE INPUT DEVICE BUFFER
   8868	014500					CALL	.GTLIN		; ..READ THE LINE
	014500	004737 	024044'			 JSR	PC,.GTLIN
   8869	014504	001415 				BEQ	SCKNPI		; ..GIVE "NPI" ERROR IF NULL PASSWORD
   8870	014506	013700 	000064'			MOV	.INCHC,R0	; ..CHARACTER COUNT TO R0
   8871	014512	022700 	000006 			CMP	#^D6,R0		; ..IS THE PASSWORD TOO LONG?
   8872	014516	002413 				BLT	SCKPTL		; ..YES -- GIVE "PTL" ERROR
   8873	014520	160001 				SUB	R0,R1		; ..NO -- ADJUST THE STRING POINTER
   8874	014522	012702 	002300'			MOV	#KLNPWD,R2	; ..POINT TO THE PASSWORD
   8875	014526	005022 				CLR	(R2)+		; ..CLEAR IT
   8876	014530	005022 				CLR	(R2)+		; ..
   8877	014532	005012 				CLR	(R2)		; ..SO
   8878	014534	024242 				CMP	-(R2),-(R2)	; ..RESET THE POINTER
   8879	014536	000415 				BR	15$		; ..AND GO ON
   8880						;
   8881
   8882					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 245
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8884					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8885
   8886	014540				SCKNPI:
   8887	014540					ERROR$	NPI		; ERROR -- NULL PASSWORD ILLEGAL
	014540	012746 	055011 			 MOV	#^RNPI,-(SP)
	014544	104400 				 TRAP	TC.ERR
   8888						;
   8889	014546				SCKPTL:
   8890	014546					ERROR$	PTL		; ERROR -- PASSWORD TOO LONG
	014546	012746 	063454 			 MOV	#^RPTL,-(SP)
	014552	104400 				 TRAP	TC.ERR
   8891						;
   8892	014554				SCKSKI:
   8893	014554					ERROR$	SKI		; ERROR -- ILLEGAL WHILE KLINIK ACTIVE
	014554	012746 	074201 			 MOV	#^RSKI,-(SP)
	014560	104400 				 TRAP	TC.ERR
   8894						;
   8895	014562				SCKIPC:
   8896	014562	011204 				MOV	(R2),R4		; OFFENDING CHARACTER TO R4
   8897	014564					ERROR$	IPC		; ERROR -- ILLEGAL PASSWORD CHARACTER
	014564	012746 	035303 			 MOV	#^RIPC,-(SP)
	014570	104400 				 TRAP	TC.ERR
   8898						;
   8899
   8900					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 246
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8902					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8903
   8904	014572				15$:
   8905	014572	112112 				MOVB	(R1)+,(R2)	; ..LOAD THE PASSWORD
   8906	014574	122712 	000060 			CMPB	#'0,(R2)	; ..SEE IF NUMERIC
   8907	014600	003370 				BGT	SCKIPC		; ..TOO SMALL -- GIVE "IPC" ERROR
   8908	014602	122712 	000071 			CMPB	#'9,(R2)	; ..IN RANGE?
   8909	014606	002006 				BGE	20$		; ..YES -- GO ON
   8910	014610	122712 	000101 			CMPB	#'A,(R2)	; ..NO -- IS THE CHARACTER ALPHABETIC?
   8911	014614	003362 				BGT	SCKIPC		; ..TOO SMALL -- GIVE "IPC" ERROR
   8912	014616	122712 	000132 			CMPB	#'Z,(R2)	; ..[TCO 4.2084] IS IT REALLY IN RANGE?
   8913	014622	002757 				BLT	SCKIPC		; ..TOO BIG  -- GIVE "IPC" ERROR
   8914	014624				20$:
   8915	014624	105722 				TSTB	(R2)+		; ..[TCO 4.2084] ADVANCE BYTE POINTER
   8916	014626	077017 				SOB	R0,15$		; ..LOOP UNTIL DONE
   8917	014630				25$:
   8918	014630	012700 	000643'			MOV	#SCKMS1,R0	; .."FROM" MESSAGE POINTER
   8919	014634					CALL	.TYMSG		; ..PRINT IT
	014634	004737 	026202'			 JSR	PC,.TYMSG
   8920	014640	005046 				CLR	-(SP)		; ..CLEAR A BUFFER FOR THE START DATE
   8921	014642	005046 				CLR	-(SP)		; ...
   8922	014644	010600 				MOV	SP,R0		; ....POINT TO IT
   8923	014646					CALL	.GTDAT		; ....GET WINDOW OPEN DATE
	014646	004737 	016216'			 JSR	PC,.GTDAT
   8924	014652	012700 	000643'			MOV	#SCKMS1,R0	; ....SAME MESSAGE
   8925	014656					CALL	.TYMSG		; ....PRINT IT
	014656	004737 	026202'			 JSR	PC,.TYMSG
   8926	014662	005046 				CLR	-(SP)		; ....CLEAR A SPACE FOR THE START TIME
   8927	014664	010600 				MOV	SP,R0		; .....POINT TO IT
   8928	014666					CALL	.GTTIM		; .....GET WINDOW OPEN TIME
	014666	004737 	016662'			 JSR	PC,.GTTIM
   8929	014672	001002 				BNE	30$		; .....GO ON IF NOT DEFAULT
   8930	014674	013716 	000000G			MOV	.SSM,(SP)	; .....ELSE SET DEFAULT FROM THE SYSTEM
   8931	014700				30$:
   8932	014700	012700 	000667'			MOV	#SCKMS2,R0	; ....."TO" MESSAGE POINTER
   8933	014704					CALL	.TYMSG		; .....OUTPUT THAT
	014704	004737 	026202'			 JSR	PC,.TYMSG
   8934	014710	005046 				CLR	-(SP)		; .....CLEAR A BUFFER FOR THE END DATE
   8935	014712	005046 				CLR	-(SP)		; ......
   8936	014714	010600 				MOV	SP,R0		; .......POINT TO IT
   8937	014716					CALL	.GTDAT		; .......GET THE END DATE
	014716	004737 	016216'			 JSR	PC,.GTDAT
   8938	014722	001044 				BNE	50$		; .......GO ON IF NOT DEFAULT
   8939	014724	016616 	000006 			MOV	6(SP),(SP)	; .......+++002 DEFAULT -- GET OPEN DATE
   8940	014730	016666 	000010 	000002 		MOV	10(SP),2(SP)	; .......+++002 LOAD IT INTO CLOSE DATE
   8941	014736	105720 				TSTB	(R0)+		; .......GET OVER THE YEAR
   8942	014740	112002 				MOVB	(R0)+,R2	; .......MONTH TO R2
   8943	014742	105210 				INCB	(R0)		; .......INCREMENT THE DATE
   8944	014744	122702 	000002 			CMPB	#^D2,R2		; .......IS THIS FEBRUARY?
   8945	014750	001422 				BEQ	45$		; .......YES -- HANDLE SPECIAL CASE
   8946	014752	122710 	000036 			CMPB	#^D30,(R0)	; .......NO -- HOW MANY DAYS?
   8947	014756	002026 				BGE	50$		; .......ALL OK IF .LE. 30.
   8948	014760	012701 	172452 			MOV	#^C5325,R1	; .......BIT MASK TO R1
   8949
   8950					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 247
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8952					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8953
   8954	014764				35$:
   8955	014764	006201 				ASR	R1		; .......SHIFT IT RIGHT
   8956	014766	077202 				SOB	R2,35$		; .......TILL DONE
   8957	014770	103021 				BCC	50$		; .......ALL OK IF CC-C IS CLEAR
   8958	014772				40$:
   8959	014772	112710 	000001 			MOVB	#^D1,(R0)	; .......SET THE DAY TO 1
   8960	014776	105240 				INCB	-(R0)		; .......INCREMENT THE MONTH
   8961	015000	122710 	000014 			CMPB	#^D12,(R0)	; .......DECEMBER?
   8962	015004	002013 				BGE	50$		; .......YES -- GO ON
   8963	015006	012710 	000001 			MOV	#^D1,(R0)	; .......NO -- SET THE MONTH TO JANUARY
   8964	015012	105240 				INCB	-(R0)		; .......AND INCREMENT THE YEAR
   8965	015014	000407 				BR	50$		; .......EXIT
   8966						;
   8967	015016				45$:
   8968	015016	122710 	000034 			CMPB	#^D28,(R0)	; .......28 DAYS?
   8969	015022	002004 				BGE	50$		; .......YES -- GO ON
   8970	015024	132760 	000003 	177776 		BITB	#3,-2(R0)	; .......NO -- LEAP YEAR?
   8971	015032	001357 				BNE	40$		; .......NO -- SET TO MARCH 1
   8972	015034				50$:
   8973	015034	012700 	000667'			MOV	#SCKMS2,R0	; .......SAME MESSAGE FOR END TIME
   8974	015040					CALL	.TYMSG		; .......PRINT IT
	015040	004737 	026202'			 JSR	PC,.TYMSG
   8975	015044	005046 				CLR	-(SP)		; .......CLEAR A SPACE FOR THE END TIME
   8976	015046	010600 				MOV	SP,R0		; ........POINT TO IT
   8977	015050					CALL	.GTTIM		; ........GET THE END TIME
	015050	004737 	016662'			 JSR	PC,.GTTIM
   8978	015054	001002 				BNE	55$		; ........GO ON IF NOT DEFAULT
   8979	015056	016616 	000006 			MOV	6(SP),(SP)	; ........ELSE SET DEFAULT
   8980	015062				55$:
   8981	015062	126666 	000002 	000010 		CMPB	2(SP),10(SP)	; ........ARE THE YEARS IN RANGE?
   8982	015070	002416 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
   8983	015072	003020 				BGT	60$		; ........YES -- SAME YEAR?
   8984	015074	126666 	000003 	000011 		CMPB	3(SP),11(SP)	; ........YES -- ARE THE MONTHS OK?
   8985	015102	002411 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
   8986	015104	003013 				BGT	60$		; ........YES -- SAME MONTH?
   8987	015106	126666 	000004 	000012 		CMPB	4(SP),12(SP)	; ........YES -- ARE THE DATES OK?
   8988	015114	002404 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
   8989	015116	003006 				BGT	60$		; ........YES -- SAME DATE?
   8990	015120	021666 	000006 			CMP	(SP),6(SP)	; ........+++001 YES -- ARE THE TIMES OK?
   8991	015124	101003 				BHI	60$		; ........+++002 YES -- GO ON
   8992	015126				SCKKWE:
   8993	015126					ERROR$	KWE		; ERROR -- KLINIK WINDOW ERROR
	015126	012746 	044135 			 MOV	#^RKWE,-(SP)
	015132	104400 				 TRAP	TC.ERR
   8994
   8995					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 248
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   8997					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8998
   8999	015134				60$:
   9000	015134	005000 				CLR	R0		; ........CLEAR R0
   9001	015136	105766 	000014 			TSTB	14(SP)		; ........LOOK AT THE KLINIK MODE
   9002	015142	002423 				BLT	65$		; ........GO ON IF USER
   9003	015144	012700 	000714'			MOV	#SCKMS3,R0	; ........ASK FOR HIGHEST CONSOLE MODE
   9004	015150					CALL	.TYMSF		; ........FORCE IT
	015150	004737 	026174'			 JSR	PC,.TYMSF
   9005	015154	012701 	000240'			MOV	#.CIBFR,R1	; ........POINT TO THE INPUT BUFFER
   9006	015160	010105 				MOV	R1,R5		; ........AND R5 TOO
   9007	015162					CALL	.GTLIN		; ........READ THE RESPONSE
	015162	004737 	024044'			 JSR	PC,.GTLIN
   9008	015166					CALL	.CKOBJ		; ........MUST HAVE AN OBJECT
	015166	004737 	000350'			 JSR	PC,.CKOBJ
   9009	015172	012700 	003420'			MOV	#.KLMTB,R0	; ........TABLE POINTER TO R0
   9010	015176					CALL	.TSCAN		; ........SCAN THE TABLE
	015176	004737 	012672'			 JSR	PC,.TSCAN
   9011	015202	116000 	000002 			MOVB	2(R0),R0	; ........SAVE THE CONSOLE MODE
   9012	015206					CALL	.CKEOC		; ........MUST HAVE E-O-C
	015206	004737 	000264'			 JSR	PC,.CKEOC
   9013	015212				65$:
   9014	015212					.INH6			; ........+++002 DISALLOW INTERRUPTS
	015212	013746 	177776 			MOV	@#PS,-(SP)
	015216	112737 	000300 	177776 		MOVB	#300,@#PS
   9015	015224					POP	R3		;;; .........+++003 SAVED PSW TO R3
	015224	012603 				 MOV	(SP)+,R3
   9016	015226	110037 	000001G			MOVB	R0,.KLNMD+1	;;; ........SET THE CONSOLE MODE
   9017	015232					POP	.KLNTT		;;; ........SET THE END TIME
	015232	012637 	000000G			 MOV	(SP)+,.KLNTT
   9018	015236					POP	.KLNTD		;;; .......GET THE END DATE
	015236	012637 	000000G			 MOV	(SP)+,.KLNTD
   9019	015242					POP	.KLNTD+2	;;; ......BOTH HALVES
	015242	012637 	000002G			 MOV	(SP)+,.KLNTD+2
   9020	015246					POP	.KLNFT		;;; .....SET THE START TIME
	015246	012637 	000000G			 MOV	(SP)+,.KLNFT
   9021	015252					POP	.KLNFD		;;; ....POINT TO THE START DATE
	015252	012637 	000000G			 MOV	(SP)+,.KLNFD
   9022	015256					POP	.KLNFD+2	;;; ...BOTH HALVES
	015256	012637 	000002G			 MOV	(SP)+,.KLNFD+2
   9023	015262	112637 	000000G			MOVB	(SP)+,.KLNMD+0	;;; ..+++002 SET THE KLINIK MODE
   9024	015266	002410 				BLT	75$		;;; .GO ON IF USER
   9025	015270	012702 	000006 			MOV	#^D6,R2		;;; .CHARACTER COUNT TO R2
   9026	015274	012701 	000000G			MOV	#.KLNPW,R1	;;; .POINT TO THE PASSWORD
   9027	015300	012700 	002300'			MOV	#KLNPWD,R0	;;; .POINT TO OURS
   9028
   9029					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 249
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   9031					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9032
   9033	015304				70$:
   9034	015304	112021 				MOVB	(R0)+,(R1)+	;;; .LOAD THE PASSWORD
   9035	015306	077202 				SOB	R2,70$		;;; .LOOP TILL DONE
   9036	015310				75$:				;;; .+++002
   9037	015310	010337 	177776 			MOV	R3,@#PS		;;; +++003 ENABLE INTERRUPTS
   9038	015314					POP	R5		; .RESTORE R5
	015314	012605 				 MOV	(SP)+,R5
   9039	015316	000421 				BR	85$		; AND EXIT
   9040						;
   9041	015320				80$:
   9042	015320	105737 	000000G			TSTB	.KLNMD+0	; +++004 ANYTHING TO CLEAR??
   9043	015324	001502 				BEQ	100$		; +++004 NO -- JUST TELL OPERATOR ITS ALREADY CLEAR
   9044	015326					.INH6			; +++002 DISALLOW INTERRUPTS
	015326	013746 	177776 			MOV	@#PS,-(SP)
	015332	112737 	000300 	177776 		MOVB	#300,@#PS
   9045	015340	105037 	000000G			CLRB	.KLNMD+0	;;; +++002 CLEAR KLINIK
   9046	015344	105037 	000000G			CLRB	.KLNPW+0	;;; CLEAR THE KLINIK PASSWORD
   9047	015350	112737 	000001 	000001G		MOVB	#1,.KLNSW+1	;;; +++002 MARK THAT WE WANT A CLEAR
   9048	015356					.ENB6			;;; +++002 ENABLE INTERRUPTS
	015356	012637 	177776 			MOV	(SP)+,@#PS
   9049	015362				85$:
   9050	015362	032737 	000000G	000002G		BIT	#EF.PR1,.COMEF+2 ; +++002 ANY THING THERE TO GET THIS?
   9051	015370	001460 				BEQ	100$		; +++002 NO -- GO ON
   9052	015372					CLEF$S	#E.FKLN		; +++003 RESET THE FLAG
	015372	012746 	000004 			MOV	#E.FKLN,-(SP)
	015376	012746 				MOV	(PC)+,-(SP)
	015400	   037 	   002 			.BYTE	31.,2
	015402	104375 				EMT	375
   9053	015404	012700 	000000G			MOV	#.KLNPB,R0	; +++002 BUFFER POINTER TO R0
   9054	015410	012710 	000000G			MOV	#KLNPLN,(R0)	; +++002 BUFFER SIZE TO HEADER
   9055	015414	012701 	100000G			MOV	#BC.SKP+100000,R1 ; +++002 FUNCTION CODE TO R1
   9056	015420	005002 				CLR	R2		; +++002 NO EVENT FLAG
   9057	015422	012703 	000000G			MOV	#D.CCPU,R3	; +++002 DEVICE CODE TO R3
   9058	015426					CALL	..STIN		; +++002 SEND THE NEW PARAMETERS
	015426	004737 	000000G			 JSR	PC,..STIN
   9059	015432	012702 	000000C			MOV	#KLNLGL/2,R2	; +++003 ARGUMENT COUNT TO R2
   9060	015436	012701 	000000G			MOV	#.KLNPE,R1	; +++003 INPUT BLOCK POINTER
   9061	015442	012700 	002300'			MOV	#KLNLGE,R0	; +++003 OUTPUT BLOCK POINTER
   9062	015446				90$:				; +++003
   9063	015446	014140 				MOV	-(R1),-(R0)	; +++003 LOAD THE PARAMETERS
   9064	015450	077202 				SOB	R2,90$		; +++003 LOOP TILL DONE
   9065	015452	012702 	000001 			MOV	#1,R2		; +++003 ASSUME "SET"
   9066	015456	005737 	000104'			TST	.NOTSW		; +++003 IS IT??
   9067	015462	001401 				BEQ	95$		; +++003 YES -- GO ON
   9068	015464	005402 				NEG	R2		; +++003 NO -- INVERT IT
   9069
   9070					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 250
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   9072					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9073
   9074	015466				95$:				; +++003
   9075	015466	105740 				TSTB	-(R0)		; +++003 GET OVER THE LOG CODE
   9076	015470	110240 				MOVB	R2,-(R0)	; +++003 SET THE EVENT CODE
   9077	015472	005740 				TST	-(R0)		; +++003 BACK OVER THE LOG FLAG
   9078	015474	012740 	000022 			MOV	#22,-(R0)	; +++003 SET THE PACKET SIZE
   9079	015500	012701 	100000G			MOV	#BC.HDS+100000,R1 ; +++003 FUNCTION CODE TO R1
   9080	015504	012702 	000004 			MOV	#E.FKLN,R2	; +++003 EVENT FLAG TO R2
   9081	015510	012703 	000000G			MOV	#D.CKLN,R3	; +++003 DEVICE CODE TO R3
   9082	015514					CALL	..STIN		; +++003 LOG IT
	015514	004737 	000000G			 JSR	PC,..STIN
   9083	015520					WTSE$S	#E.FKLN		; +++003 WAIT FOR IT
	015520	012746 	000004 			MOV	#E.FKLN,-(SP)
	015524	012746 				MOV	(PC)+,-(SP)
	015526	   051 	   002 			.BYTE	41.,2
	015530	104375 				EMT	375
   9084	015532				100$:				; +++002
   9085	015532	000466 				BR	.WHKLN		; TELL THE STATE AND EXIT
   9086						;
   9087
   9088						.DSABL	LSB
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 251
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

   9090	002254				.PSECT	DATA
   9091
   9092	002254				KLNLOG:
   9093	002254	000000 				.WORD	0
   9094	002256	000000G				.WORD	DV.LOG
   9095	002260	000000G				.WORD	K.LSCK
   9096	002262	000000 	000000 	000000 		.WORD	0,0,0
   9097	002270	000000 	000000 	000000 		.WORD	0,0,0
   9098	002276	000000 				.WORD	0
   9099		002300'			KLNLGE=.
   9100
   9101	002300				KLNPWD:
   9102	002300	000000 	000000 	000000 		.WORD	0,0,0		; TEMP PASSWORD STORAGE
   9103	000630				.PSECT	MESSAG
   9104
   9105	000630				SCKMS0:
   9106	000630	   120 	   101 	   123 		.ASCIZ	%PASSWORD: %
	000633	   123 	   127 	   117
	000636	   122 	   104 	   072
	000641	   040 	   000
   9107	000643				SCKMS1:
   9108	000643	   101 	   103 	   103 		.ASCIZ	%ACCESS WINDOW OPEN %
	000646	   105 	   123 	   123
	000651	   040 	   127 	   111
	000654	   116 	   104 	   117
	000657	   127 	   040 	   117
	000662	   120 	   105 	   116
	000665	   040 	   000
   9109	000667				SCKMS2:
   9110	000667	   101 	   103 	   103 		.ASCIZ	%ACCESS WINDOW CLOSE %
	000672	   105 	   123 	   123
	000675	   040 	   127 	   111
	000700	   116 	   104 	   117
	000703	   127 	   040 	   103
	000706	   114 	   117 	   123
	000711	   105 	   040 	   000
   9111	000714				SCKMS3:
   9112	000714	   110 	   111 	   107 		.ASCIZ	%HIGHEST CONSOLE MODE: %
	000717	   110 	   105 	   123
	000722	   124 	   040 	   103
	000725	   117 	   116 	   123
	000730	   117 	   114 	   105
	000733	   040 	   115 	   117
	000736	   104 	   105 	   072
	000741	   040 	   000
   9113	000743				SCKMS4:
   9114	000743	   113 	   114 	   111 		.ASCIZ	%KLINIK MODE: %
	000746	   116 	   111 	   113
	000751	   040 	   115 	   117
	000754	   104 	   105 	   072
	000757	   040 	   000
   9115	015534				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 252
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

   9117					.SBTTL	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
   9118
   9119					;+
   9120					; .WHDAT -- THE "WHAT DATE" COMMAND
   9121					;
   9122					; THIS SUBROUTINE WILL DISPLAY THE THE CURRENT SYSTEM TIME OF DAY
   9123					; ON THE CONSOLE DEVICE. IF THE TIME HAS NOT BEEN SET BY EITHER A
   9124					; "SET DATE" COMMAND OR BY THE KL10 EXECUTIVE THE VALID FLAG WILL BE OFF
   9125					; OTHERWISE IT WILL BE ON.
   9126					;
   9127					; INPUT ARGUMENTS:
   9128					;
   9129					;	NONE.
   9130					;
   9131					; OUTPUT ARGUMENTS:
   9132					;
   9133					;	NONE.
   9134					;
   9135					; ERROR CODES RETUNED:
   9136					;
   9137					;	NONE.
   9138					;-
   9139
   9140
   9141	015534				.WHDAT::
   9142	015534					CALL	.CKEOC		; MUST HAVE E-O-C
	015534	004737 	000264'			 JSR	PC,.CKEOC
   9143	015540	012701 	002324'			MOV	#DATBUF,R1	; BUFFER POINTER TO R1
   9144	015544					GTIM$S	R1		; REAAD THE DATE AND TIME
	015544	010146 				MOV	R1,-(SP)
	015546	012746 				MOV	(PC)+,-(SP)
	015550	   073 	   002 			.BYTE	59.,2
	015552	104375 				EMT	375
   9145	015554	005046 				CLR	-(SP)		; CLEAR A BUFFER ON STACK
   9146	015556	005046 				CLR	-(SP)		; .SO
   9147	015560	010600 				MOV	SP,R0		; ..POINTER TO R0
   9148	015562	112120 				MOVB	(R1)+,(R0)+	; ..SET YEAR
   9149	015564	105721 				TSTB	(R1)+		; ..ADVANCE POINTER
   9150	015566	112120 				MOVB	(R1)+,(R0)+	; ..SET MONTH
   9151	015570	105721 				TSTB	(R1)+		; ..ADVANCE POINTER
   9152	015572	112120 				MOVB	(R1)+,(R0)+	; ..SET DAY
   9153	015574	012700 	000761'			MOV	#WHDMS0,R0	; ..MESSAGE POINTER TO R0
   9154	015600					CALL	.TYLIN		; ..PRINT IT
	015600	004737 	026166'			 JSR	PC,.TYLIN
   9155	015604	113700 	000000G			MOVB	.DOW,R0		; ..DAY OF WEEK INDEX TO R0
   9156	015610	006300 				ASL	R0		; ..TIMES 2
   9157	015612	016000 	002306'			MOV	DOWMTB(R0),R0	; ..MESSAGE POINTER TO R0
   9158	015616					CALL	.TYMSG		; ..PRINT IT
	015616	004737 	026202'			 JSR	PC,.TYMSG
   9159	015622					CALL	.TYSPC		; ..AND A <SPACE>
	015622	004737 	025454'			 JSR	PC,.TYSPC
   9160	015626	010600 				MOV	SP,R0		; ..POINT TO DATE
   9161	015630					CALL	.TYDAT		; ..TYPE THE DATE
	015630	004737 	017230'			 JSR	PC,.TYDAT
   9162	015634					CALL	.TYSPC		; ..AND A <SPACE>
	015634	004737 	025454'			 JSR	PC,.TYSPC
   9163	015640	012700 	000000G			MOV	#.SSM,R0	; ..POINT TO THE TIME
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 252-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

   9164	015644					CALL	.TYTIM		; ..TYPE IT
	015644	004737 	017344'			 JSR	PC,.TYTIM
   9165	015650					CALL	.TCRLF		; ..END THE LINE
	015650	004737 	026272'			 JSR	PC,.TCRLF
   9166	015654	012700 	001007'			MOV	#WHDMS1,R0	; ..MESSAGE POINTER TO R0
   9167	015660					CALL	.TYMSG		; ..PRINT IT
	015660	004737 	026202'			 JSR	PC,.TYMSG
   9168	015664	012700 	000034'			MOV	#ONMSG,R0	; ..ASSUME VALID
   9169	015670	005737 	000000G			TST	.DATE3		; ..IS IT??
   9170	015674	001002 				BNE	10$		; ..YES -- GO ON
   9171	015676	012700 	000037'			MOV	#OFFMSG,R0	; ..NO -- SAY SO
   9172	015702				10$:
   9173	015702	022626 				CMP	(SP)+,(SP)+	; ..CLEAR STACK
   9174	015704					CALLR	.TYLIN		; PRINT AND EXIT
	015704	000137 	026166'			 JMP	.TYLIN
   9175						;
   9176
   9177	002306				.PSECT	DATA
   9178
   9179	002306				DOWMTB:
   9180	002306	001033'				.WORD	MONMSG
   9181	002310	001043'				.WORD	TUEMSG
   9182	002312	001054'				.WORD	WEDMSG
   9183	002314	001067'				.WORD	THUMSG
   9184	002316	001101'				.WORD	FRIMSG
   9185	002320	001111'				.WORD	SATMSG
   9186	002322	001123'				.WORD	SUNMSG
   9187
   9188	002324				DATBUF:
   9189	002324	000000 	000000 	000000 		.WORD	0,0,0,0,0,0,0,0
	002332	000000 	000000 	000000
	002340	000000 	000000
   9190
   9191	015710				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 253
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

   9193	000761				.PSECT	MESSAG
   9194
   9195	000761				WHDMS0:
   9196	000761	   103 	   125 	   122 		.ASCIZ	%CURRENT SYSTEM DATE: %
	000764	   122 	   105 	   116
	000767	   124 	   040 	   123
	000772	   131 	   123 	   124
	000775	   105 	   115 	   040
	001000	   104 	   101 	   124
	001003	   105 	   072 	   040
	001006	   000
   9197	001007				WHDMS1:
   9198	001007	   040 	   126 	   101 		.ASCIZ	% VALIDITY FLAG IS: %
	001012	   114 	   111 	   104
	001015	   111 	   124 	   131
	001020	   040 	   106 	   114
	001023	   101 	   107 	   040
	001026	   111 	   123 	   072
	001031	   040 	   000
   9199
   9200	001033				MONMSG:
   9201	001033	   115 	   117 	   116 		.ASCIZ	%MONDAY,%
	001036	   104 	   101 	   131
	001041	   054 	   000
   9202	001043				TUEMSG:
   9203	001043	   124 	   125 	   105 		.ASCIZ	%TUESDAY,%
	001046	   123 	   104 	   101
	001051	   131 	   054 	   000
   9204	001054				WEDMSG:
   9205	001054	   127 	   105 	   104 		.ASCIZ	%WEDNESDAY,%
	001057	   116 	   105 	   123
	001062	   104 	   101 	   131
	001065	   054 	   000
   9206	001067				THUMSG:
   9207	001067	   124 	   110 	   125 		.ASCIZ	%THURSDAY,%
	001072	   122 	   123 	   104
	001075	   101 	   131 	   054
	001100	   000
   9208	001101				FRIMSG:
   9209	001101	   106 	   122 	   111 		.ASCIZ	%FRIDAY,%
	001104	   104 	   101 	   131
	001107	   054 	   000
   9210	001111				SATMSG:
   9211	001111	   123 	   101 	   124 		.ASCIZ	%SATURDAY,%
	001114	   125 	   122 	   104
	001117	   101 	   131 	   054
	001122	   000
   9212	001123				SUNMSG:
   9213	001123	   123 	   125 	   116 		.ASCIZ	%SUNDAY,%
	001126	   104 	   101 	   131
	001131	   054 	   000
   9214
   9215	015710				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 254
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

   9217					.SBTTL	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
   9218
   9219					;+
   9220					; .WHKLN -- THE "WHAT KLINIK" COMMAND
   9221					;
   9222					; THIS SUBROUTINE WILL REPORT THE STATE OF THE KLINIK PARAMETERS
   9223					; ON THE CONSOLE DEVICE.
   9224					;
   9225					; INPUT ARGUMENTS:
   9226					;
   9227					;	NONE.
   9228					;
   9229					; OUTPUT ARGUMENTS:
   9230					;
   9231					;	NONE.
   9232					;
   9233					; ERROR CODES RETURNED:
   9234					;
   9235					;	NONE.
   9236					;-
   9237
   9238						.MCALL	DIR$,RQST$
   9239
   9240	015710				.WHKLN::
   9241	015710					CALL	.CKEOC		; MUST HAVE E-O-C
	015710	004737 	000264'			 JSR	PC,.CKEOC
   9242	015714	012700 	001133'			MOV	#WHKMS0,R0	; MESSAGE POINTER TO R0
   9243	015720					CALL	.TYMSG		; PRINT IT
	015720	004737 	026202'			 JSR	PC,.TYMSG
   9244	015724	012700 	001144'			MOV	#WHKMS1,R0	; ASSUME KLINIK IS DISABLED
   9245	015730	105737 	000000G			TSTB	.KLNMD+0	; IS IT?
   9246	015734	001514 				BEQ	40$		; +++001 YES -- SAY SO
   9247	015736	012700 	001263'			MOV	#WHKMSA,R0	; +++001 NO -- ASSUME ACTIVE
   9248	015742	105737 	000000G			TSTB	.KLNSW+0	; +++001 IS IT??
   9249	015746	001002 				BNE	10$		; +++001 YES -- GO ON
   9250	015750	012700 	001315'			MOV	#WHKMSI,R0	; +++001 NO -- SAY INACTIVE
   9251	015754				10$:				; +++001
   9252	015754	005737 	000000G			TST	.KLNFD		; +++001 IS THERE A DATE??
   9253	015760	001005 				BNE	20$		; +++001 YES -- KLINIK REALLY ALIVE
   9254	015762	012700 	001272'			MOV	#WHKMRB,R0	; +++001 NO -- ALIVE FROM REBOOT
   9255	015766					CALL	.TYLIN
	015766	004737 	026166'			 JSR	PC,.TYLIN
   9256	015772	000436 				BR	30$		; +++001 TYPE MODE AND EXIT
   9257						;
   9258
   9259					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 255
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

   9261					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9262
   9263	015774				20$:				; +++001
   9264	015774					CALL	.TYLIN		; +++001 TYPE STATE
	015774	004737 	026166'			 JSR	PC,.TYLIN
   9265	016000	012700 	001155'			MOV	#WHKMS2,R0	; GET OPEN MESSAGE
   9266	016004					CALL	.TYMSG		; PRINT IT
	016004	004737 	026202'			 JSR	PC,.TYMSG
   9267	016010	012700 	000000G			MOV	#.KLNFD,R0	; POINT TO THE FROM DATE
   9268	016014					CALL	.TYDAT		; PRINT IT
	016014	004737 	017230'			 JSR	PC,.TYDAT
   9269	016020	012700 	000000G			MOV	#.KLNFT,R0	; POINT TO THE FROM TIME
   9270	016024					CALL	.TYTIM		; PRINT IT
	016024	004737 	017344'			 JSR	PC,.TYTIM
   9271	016030					CALL	.TCRLF		; +++001 END THE LINE
	016030	004737 	026272'			 JSR	PC,.TCRLF
   9272	016034	012700 	001203'			MOV	#WHKMS3,R0	; CLOSE MESSAGE POINTER
   9273	016040					CALL	.TYMSG		; PRINT IT
	016040	004737 	026202'			 JSR	PC,.TYMSG
   9274	016044	012700 	000000G			MOV	#.KLNTD,R0	; POINT TO THE TO DATE
   9275	016050					CALL	.TYDAT		; PRINT IT
	016050	004737 	017230'			 JSR	PC,.TYDAT
   9276	016054	012700 	000000G			MOV	#.KLNTT,R0	; POINT TO THE TO TIME
   9277	016060					CALL	.TYTIM		; PRINT IT
	016060	004737 	017344'			 JSR	PC,.TYTIM
   9278	016064					CALL	.TCRLF		; END THE LINE
	016064	004737 	026272'			 JSR	PC,.TCRLF
   9279	016070				30$:				; +++001
   9280	016070	012700 	001326'			MOV	#WHKMSK,R0	; +++001 KLINIK MODE
   9281	016074					CALL	.TYMSG		; +++001 PRINT IT
	016074	004737 	026202'			 JSR	PC,.TYMSG
   9282	016100	012700 	002636'			MOV	#USRMSG,R0	; +++001 ASSUME USER
   9283	016104	105737 	000000G			TSTB	.KLNMD+0	; +++001 IS IT??
   9284	016110	100426 				BMI	40$		; +++001 YES -- PRINT AND EXIT
   9285	016112	012700 	002627'			MOV	#REMMSG,R0	; +++001 NO -- SAY REMOTE
   9286	016116					CALL	.TYLIN		; +++001 PRINT IT
	016116	004737 	026166'			 JSR	PC,.TYLIN
   9287	016122	012700 	001233'			MOV	#WHKMS4,R0	; CONSOLE MODE MESSAGE
   9288	016126					CALL	.TYMSG		; PRINT IT
	016126	004737 	026202'			 JSR	PC,.TYMSG
   9289	016132	012700 	002567'			MOV	#MNTMSG,R0	; MAINTENANCE MODE
   9290	016136	122737 	000007 	000001G		CMPB	#LG.ALL,.KLNMD+1
   9291	016144	001410 				BEQ	40$		; YES -- SAY SO
   9292	016146	012700 	002614'			MOV	#PRGMSG,R0	; NO -- PROGRAMMER MAYBE
   9293	016152	122737 	000003 	000001G		CMPB	#LG.PRM,.KLNMD+1
   9294	016160	001402 				BEQ	40$		; YES -- SAY SO
   9295	016162	012700 	002603'			MOV	#OPRMSG,R0	; NO -- MUST BE OPERATOR
   9296
   9297					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 256
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

   9299					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9300
   9301	016166				40$:
   9302	016166	105737 	000001G			TSTB	.KLNSW+1	; +++001 IS THIS A CLEAR COMMAND??
   9303	016172	001407 				BEQ	50$		; +++001 NO -- JUST GO AWAY
   9304	016174					CALL	.TYLIN		; +++001 YES -- PRINT THE LINE
	016174	004737 	026166'			 JSR	PC,.TYLIN
   9305	016200					DIR$	#REQKLD		; +++001 REQUEST KLD
	016200	012746 	000162'			MOV	#REQKLD,-(SP)
	016204	104375 				EMT	375
   9306	016206					CALLR	.EXITP		; +++001 AND EXIT
	016206	000137 	012436'			 JMP	.EXITP
   9307						;
   9308	016212				50$:
   9309	016212					CALLR	.TYLIN		; PRINT AND EXIT
	016212	000137 	026166'			 JMP	.TYLIN
   9310						;
   9311
   9312	000162				.PSECT	DPBS
   9313
   9314	000162				REQKLD:				;  +++001
   9315	000162					RQST$	KLDISC,,10
	000162	   013 	   007 			.BYTE	11.,7
	000164	043244 	035473 			.RAD50	/KLDISC/
	000170	000000 	000000 			.WORD	0,0
	000174	000010 				.WORD	10
	000176	   000 	   000 			.BYTE	,
   9316
   9317	016216				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 257
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

   9319	001133				.PSECT	MESSAG
   9320
   9321	001133				WHKMS0:
   9322	001133	   040 	   113 	   114 		.ASCIZ	% KLINIK %
	001136	   111 	   116 	   111
	001141	   113 	   040 	   000
   9323	001144				WHKMS1:
   9324	001144	   104 	   111 	   123 		.ASCIZ	%DISABLED%
	001147	   101 	   102 	   114
	001152	   105 	   104 	   000
   9325	001155				WHKMS2:
   9326	001155	   040 	   101 	   103 		.ASCIZ	% ACCESS WINDOW OPEN: %
	001160	   103 	   105 	   123
	001163	   123 	   040 	   127
	001166	   111 	   116 	   104
	001171	   117 	   127 	   040
	001174	   117 	   120 	   105
	001177	   116 	   072 	   040
	001202	   000
   9327	001203				WHKMS3:
   9328	001203	   040 	   101 	   103 		.ASCIZ	% ACCESS WINDOW CLOSED: %
	001206	   103 	   105 	   123
	001211	   123 	   040 	   127
	001214	   111 	   116 	   104
	001217	   117 	   127 	   040
	001222	   103 	   114 	   117
	001225	   123 	   105 	   104
	001230	   072 	   040 	   000
   9329	001233				WHKMS4:
   9330	001233	   040 	   110 	   111 		.ASCIZ	% HIGHEST CONSOLE MODE: %
	001236	   107 	   110 	   105
	001241	   123 	   124 	   040
	001244	   103 	   117 	   116
	001247	   123 	   117 	   114
	001252	   105 	   040 	   115
	001255	   117 	   104 	   105
	001260	   072 	   040 	   000
   9331	001263				WHKMSA:
   9332	001263	   101 	   103 	   124 		.ASCIZ	%ACTIVE%
	001266	   111 	   126 	   105
	001271	   000
   9333	001272				WHKMRB:
   9334	001272	   101 	   103 	   124 		.ASCIZ	%ACTIVE FROM REBOOT%
	001275	   111 	   126 	   105
	001300	   040 	   106 	   122
	001303	   117 	   115 	   040
	001306	   122 	   105 	   102
	001311	   117 	   117 	   124
	001314	   000
   9335	001315				WHKMSI:
   9336	001315	   111 	   116 	   101 		.ASCIZ	%INACTIVE%
	001320	   103 	   124 	   111
	001323	   126 	   105 	   000
   9337	001326				WHKMSK:
   9338	001326	   040 	   113 	   114 		.ASCIZ	% KLINIK MODE: %
	001331	   111 	   116 	   111
	001334	   113 	   040 	   115
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 257-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

	001337	   117 	   104 	   105
	001342	   072 	   040 	   000
   9339	016216				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 258
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   9341					.SBTTL	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   9342
   9343					;+
   9344					; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
   9345					;
   9346					; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
   9347					; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
   9348					; IN A THREE BYTE BLOCK.
   9349					;
   9350					; INPUT ARGUMENTS:
   9351					;
   9352					;	R0 POINTS TO A THREE BYTE DATA BLOCK
   9353					;	R5 POINTS TO THE INPUT STREAM
   9354					;
   9355					; OUTPUT ARGUMENTS:
   9356					;
   9357					;	R0 POINTS TO THE THREE BYTE DATA BLOCK
   9358					;
   9359					; ERROR CODES RETURNED:
   9360					;
   9361					;	DBT -- DATE BEFORE TODAY
   9362					;	DOR -- DATE OUT OF RANGE
   9363					;	IDF -- ILLEGAL DATE FORMAT
   9364					;	YOR -- YEAR OUT OF RANGE
   9365					;-
   9366
   9367						.MCALL	DIR$, GTIM$S
   9368
   9369	016216				.GTDAT::
   9370	016216	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   9371	016224	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET THE RADIX TO DECIMAL
   9372	016232					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S POINTER
	016232	010546 				 MOV	R5,-(SP)
	016234	010246 				 MOV	R2,-(SP)
	016236	010146 				 MOV	R1,-(SP)
	016240	010046 				 MOV	R0,-(SP)
   9373	016242	012701 	002344'			MOV	#.DTBUF,R1	; ....TIME BUFFER POINTER TO R1
   9374	016246					GTIM$S	R1		; ....READ CURRENT DATE AND TIME
	016246	010146 				MOV	R1,-(SP)
	016250	012746 				MOV	(PC)+,-(SP)
	016252	   073 	   002 			.BYTE	59.,2
	016254	104375 				EMT	375
   9375	016256	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT YEAR
   9376	016260	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   9377	016262	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT MONTH
   9378	016264	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   9379	016266	111120 				MOVB	(R1),(R0)+	; ....SET DEFAULT DAY
   9380	016270	010002 				MOV	R0,R2		; ....SAVE POINTER TO CALLER'S BUFFER
   9381
   9382					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 259
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   9384					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9385
   9386	016272	012701 	000240'			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   9387	016276	010105 				MOV	R1,R5		; ....AND R5
   9388	016300	012700 	001345'			MOV	#GTDMS0,R0	; ....PROMPT FOR DATE
   9389	016304					CALL	.TYMSF		; ....FORCE IT OUT
	016304	004737 	026174'			 JSR	PC,.TYMSF
   9390	016310					CALL	.GTLIN		; ....READ THE RESPONSE
	016310	004737 	024044'			 JSR	PC,.GTLIN
   9391	016314	001467 				BEQ	35$		; ....DEFAULT IF NULL
   9392	016316					CALL	.CKARG		; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
	016316	004737 	000140'			 JSR	PC,.CKARG
   9393	016322	001551 				BEQ	GTDIDF		; ....ILLEGAL IF ALPHABETIC
   9394	016324					PUSH	R5		; ....SAVE THE BUFFER POINTER
	016324	010546 				 MOV	R5,-(SP)
   9395	016326				10$:
   9396	016326	111504 				MOVB	(R5),R4		; .....LOOK AT ONE CHARACTER
   9397	016330	001407 				BEQ	20$		; .....DONE IF NULL
   9398	016332	122704 	000055 			CMPB	#'-,R4		; .....IS IT A <HYPHEN>?
   9399	016336	001002 				BNE	15$		; .....NO -- GO ON
   9400	016340	112715 	000040 			MOVB	#.SPACE,(R5)	; .....YES -- MAKE IT A <SPACE>
   9401	016344				15$:
   9402	016344	105725 				TSTB	(R5)+		; .....ADVANCE THE POINTER
   9403	016346	000767 				BR	10$		; .....AND LOOK FOR MORE
   9404						;
   9405
   9406					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 260
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   9408					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9409
   9410	016350				20$:
   9411	016350					POP	R5		; .....RESTORE THE POINTER
	016350	012605 				 MOV	(SP)+,R5
   9412	016352	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   9413	016354	005046 				CLR	-(SP)		; .....
   9414	016356	005046 				CLR	-(SP)		; ......
   9415	016360	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   9416	016362					CALL	.GTNBR		; .......READ THE DAY
	016362	004737 	025262'			 JSR	PC,.GTNBR
   9417	016366	111042 				MOVB	(R0),-(R2)	; .......AND SET IT
   9418	016370					PUSH	R0		; .......SAVE THE POINTER
	016370	010046 				 MOV	R0,-(SP)
   9419	016372					CALL	.CKARG		; .......SEE IF ALPHABETIC FOLLOWS
	016372	004737 	000140'			 JSR	PC,.CKARG
   9420	016376	002523 				BLT	GTDIDF		; .......NUMERIC -- GIVE "IDF" ERROR
   9421	016400	012700 	003462'			MOV	#.MONTB,R0	; ........MONTH TABLE POINTER TO R0
   9422	016404					CALL	.TSCAN		; ........SCAN FOR THE MONTH
	016404	004737 	012672'			 JSR	PC,.TSCAN
   9423	016410	116042 	000002 			MOVB	2(R0),-(R2)	; ........STASH THE MONTH AWAY
   9424	016414					POP	R0		; ........RESTORE THE BUFFER POINTER
	016414	012600 				 MOV	(SP)+,R0
   9425	016416	112504 				MOVB	(R5)+,R4	; .......GET THE LAST CHARACTER
   9426	016420	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   9427	016426	001020 				BNE	30$		; .......EXIT IF E-O-C
   9428	016430					CALL	.TPCLR		; .......RESET THE BUFFER
	016430	004737 	022572'			 JSR	PC,.TPCLR
   9429	016434					CALL	.CKARG		; .......SEE IF NUMERIC FOLLOWS
	016434	004737 	000140'			 JSR	PC,.CKARG
   9430	016440	001502 				BEQ	GTDIDF		; .......GIVE "IDF" ERROR IF NOT
   9431	016442					CALL	.GTNBR		; .......READ THE YEAR
	016442	004737 	025262'			 JSR	PC,.GTNBR
   9432	016446	022710 	003554 			CMP	#^D1900,(R0)	; .......DID HE SAY 19XX?
   9433	016452	003003 				BGT	25$		; .......NO -- GO ON
   9434	016454	162710 	003554 			SUB	#^D1900,(R0)	; .......YES -- FIX IT UP
   9435	016460	002475 				BLT	GTDYOR		; .......+++001 ERROR -- YOR
   9436	016462				25$:
   9437	016462	111042 				MOVB	(R0),-(R2)	; .......SET THE YEAR - 1900
   9438	016464					CALL	.CKEOC		; .......MUST HAVE E-O-C
	016464	004737 	000264'			 JSR	PC,.CKEOC
   9439	016470				30$:
   9440	016470	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   9441
   9442					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 261
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   9444					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9445
   9446	016474				35$:
   9447	016474	011600 				MOV	(SP),R0		; ....RESTORE CALLER'S POINTER
   9448	016476	116002 	000001 			MOVB	1(R0),R2	; ....MONTH TO R2
   9449	016502	012701 	172452 			MOV	#^C5325,R1	; ....BIT MASK TO R1
   9450	016506	122702 	000002 			CMPB	#^D2,R2		; ....IS THIS FEBRUARY?
   9451	016512	001411 				BEQ	45$		; ....YES -- DO SPECIAL CKECKS
   9452	016514	126027 	000002 	000037 		CMPB	2(R0),#^D31	; ....NO -- HOW MANY DAYS?
   9453	016522	003046 				BGT	GTDDOR		; .... +++001 GIVE "DOR" ERROR IF .GT. ^D31
   9454	016524	002414 				BLT	50$		; ....ALL OK IF .LT. ^D31
   9455	016526				40$:
   9456	016526	006201 				ASR	R1		; ....SHIFT THE BIT MASK
   9457	016530	077202 				SOB	R2,40$		; ....BY THE MONTH
   9458	016532	103011 				BCC	50$		; ....ALL OK IF CC-C IS CLEAR
   9459	016534	000441 				BR	GTDDOR		; .... +++001 OTHERWISE GIVE "DOR" ERROR
   9460						;
   9461	016536				45$:
   9462	016536	126027 	000002 	000035 		CMPB	2(R0),#^D29	; ....HATH FEBRUARY 29 DAYS?
   9463	016544	003035 				BGT	GTDDOR		; .... +++001 NEVER MORE -- GIVE "DOR" ERROR
   9464	016546	002403 				BLT	50$		; ....ALWAYS LESS -- EXIT
   9465	016550	132710 	000003 			BITB	#3,(R0)		; ....IS THIS A LEAP YEAR?
   9466	016554	001031 				BNE	GTDDOR		; .... +++001 NO -- GIVE "DOR" ERROR
   9467	016556				50$:
   9468	016556	012701 	002344'			MOV	#.DTBUF,R1	; ....POINT TO THE DATE BUFFER
   9469	016562	122021 				CMPB	(R0)+,(R1)+	; ....SEE IF YEAR IS OK
   9470	016564	002422 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   9471	016566	003007 				BGT	55$		; .... +++001 YES -- BEYOND THIS YEAR??
   9472	016570	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   9473	016572	122021 				CMPB	(R0)+,(R1)+	; ....IS THE MONTH OK?
   9474	016574	002416 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   9475	016576	003003 				BGT	55$		; .... +++001 YES -- BEYOND THIS YEAR??
   9476	016600	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   9477	016602	121011 				CMPB	(R0),(R1)	; ....IS THE DAY OK?
   9478	016604	002412 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   9479	016606				55$:
   9480	016606					POP	<R0,R1,R2,R5>	; ....YES -- RESTORE REGISTERS
	016606	012600 				 MOV	(SP)+,R0
	016610	012601 				 MOV	(SP)+,R1
	016612	012602 				 MOV	(SP)+,R2
	016614	012605 				 MOV	(SP)+,R5
   9481	016616	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   9482	016624	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   9483	016630					RETURN			; EXIT
	016630	000207 				 RTS	PC
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 262
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   9485	016632				GTDDBT:				; +++001
   9486	016632					ERROR$	DBT		; ERROR -- DATE BEFORE TODAY
	016632	012746 	014544 			 MOV	#^RDBT,-(SP)
	016636	104400 				 TRAP	TC.ERR
   9487						;
   9488	016640				GTDDOR:				;  +++001
   9489	016640					ERROR$	DOR		; ERROR -- DATE OUT OF RANGE
	016640	012746 	015552 			 MOV	#^RDOR,-(SP)
	016644	104400 				 TRAP	TC.ERR
   9490						;
   9491	016646				GTDIDF:
   9492	016646					ERROR$	IDF		; ERROR -- ILLEGAL DATE FORMAT
	016646	012746 	034346 			 MOV	#^RIDF,-(SP)
	016652	104400 				 TRAP	TC.ERR
   9493						;
   9494	016654				GTDYOR:				;  +++001
   9495	016654					ERROR$	YOR		; ERROR -- YEAR OUT OF RANGE
	016654	012746 	117252 			 MOV	#^RYOR,-(SP)
	016660	104400 				 TRAP	TC.ERR
   9496						;
   9497
   9498	002344				.PSECT	DATA
   9499
   9500	002344				.DTBUF::
   9501	002344	000000 	000000 	000000 		.WORD	0,0,0,0,0,0,0,0
	002352	000000 	000000 	000000
	002360	000000 	000000
   9502
   9503	001345				.PSECT	MESSAG
   9504
   9505	001345				GTDMS0:
   9506	001345	   104 	   101 	   124 		.ASCIZ	%DATE: %
	001350	   105 	   072 	   040
	001353	   000
   9507
   9508	016662				.PSECT
   9509
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 263
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   9511					.SBTTL	.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   9512
   9513					;+
   9514					; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
   9515					;
   9516					; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
   9517					; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
   9518					; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
   9519					;
   9520					; INPUT ARGUMENTS:
   9521					;
   9522					;	R0 POINTS TO THE DESTINATION FOR THE VALUE
   9523					;
   9524					; OUTPUT ARGUMENTS:
   9525					;
   9526					;	R0 POINTS TO THE TIME VALUE
   9527					;	CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
   9528					;
   9529					; ERROR CODES RETURNED:
   9530					;
   9531					;	ITF -- ILLEGAL TIME FORMAT
   9532					;	TOR -- TIME OUT OF RANGE
   9533					;-
   9534
   9535	016662				.GTTIM::
   9536	016662	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   9537	016670	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET THE INPUT RADIX TO DECIMAL
   9538	016676					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	016676	010546 				 MOV	R5,-(SP)
	016700	010246 				 MOV	R2,-(SP)
	016702	010146 				 MOV	R1,-(SP)
	016704	010046 				 MOV	R0,-(SP)
   9539	016706	012702 	177777 			MOV	#-^D1,R2	; ....SET DEFAULT ARGUMENT
   9540	016712	012700 	001354'			MOV	#GTTMS0,R0	; ....PROMPT FOR TIME
   9541	016716					CALL	.TYMSF		; ....FORCE IT OUT
	016716	004737 	026174'			 JSR	PC,.TYMSF
   9542	016722	012701 	000240'			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   9543	016726	010105 				MOV	R1,R5		; ....SET UP THE BUFFER POINTER
   9544	016730					CALL	.GTLIN		; ....READ THE INPUT
	016730	004737 	024044'			 JSR	PC,.GTLIN
   9545	016734	001514 				BEQ	30$		; ....EXIT IF NULL (DEFAULT)
   9546
   9547					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 264
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   9549					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9550
   9551	016736					CALL	.CKSYM		; ....GET OVER LEADING BLANKS
	016736	004737 	000446'			 JSR	PC,.CKSYM
   9552	016742	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   9553	016750	001106 				BNE	30$		; ....EXIT IF E-O-C
   9554	016752					CALL	.CKARG		; ....SEE WHAT FOLLOWS
	016752	004737 	000140'			 JSR	PC,.CKARG
   9555	016756	001516 				BEQ	GTTITF		; ....ERROR IF NON-NUMERIC
   9556	016760	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   9557	016762	005046 				CLR	-(SP)		; .....
   9558	016764	005046 				CLR	-(SP)		; ......
   9559	016766	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   9560	016770					CALL	.GTNBR		; .......READ HOURS
	016770	004737 	025262'			 JSR	PC,.GTNBR
   9561	016774	122704 	000072 			CMPB	#':,R4		; .......IS NEXT CHARACTER A COLON?
   9562	017000	001437 				BEQ	10$		; .......YES -- GO READ MINUTE
   9563	017002					CALL	.CKEOC		; .......NO -- MUST HAVE E-O-C
	017002	004737 	000264'			 JSR	PC,.CKEOC
   9564	017006	005046 				CLR	-(SP)		; .......SET UP A DIVISOR ON THE STACK
   9565	017010	005046 				CLR	-(SP)		; ........
   9566	017012					PUSH	#^D100		; .........SO
	017012	012746 	000144 			 MOV	#^D100,-(SP)
   9567	017016	010601 				MOV	SP,R1		; ..........POINT TO THE DIVISOR
   9568	017020					CALL	.TPDIV		; ..........DO THE DIVISION
	017020	004737 	022360'			 JSR	PC,.TPDIV
   9569	017024	022711 	000073 			CMP	#^D59,(R1)	; ..........IS THE REMAINDER .LT. ^D59?
   9570	017030	002474 				BLT	GTTTOR		; .......... +++001 NO -- GIVE "TOR" ERROR
   9571	017032					PUSH	(R1)		; ..........YES -- SAVE THE REMAINDER
	017032	011146 				 MOV	(R1),-(SP)
   9572	017034	022710 	000027 			CMP	#^D23,(R0)	; ...........IS THE HOUR OK?
   9573	017040	002470 				BLT	GTTTOR		; ........... +++001 NO -- GIVE "TOR" ERROR
   9574	017042	011000 				MOV	(R0),R0		; ...........YES -- GET IT
   9575	017044	012701 	000074 			MOV	#^D60,R1	; ...........MULTIPLIER TO R1
   9576	017050					CALL	$MUL		; ...........DO THE MULTIPLICATION
	017050	004737 	000000G			 JSR	PC,$MUL
   9577	017054	010100 				MOV	R1,R0		; ...........PRODUCT TO R0
   9578	017056	062600 				ADD	(SP)+,R0	; ...........COMPUTE SECONDS SINCE MIDNIGHT
   9579	017060	012701 	000036 			MOV	#^D30,R1	; ..........MULTIPLIER
   9580	017064					CALL	$MUL		; ..........DO IT
	017064	004737 	000000G			 JSR	PC,$MUL
   9581	017070	010102 				MOV	R1,R2		; ..........SAVE IT IN R2
   9582	017072	062706 	000006 			ADD	#^D6,SP		; ..........RESET THE STACK
   9583	017076	000431 				BR	20$		; .......AND EXIT
   9584						;
   9585
   9586					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 265
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   9588					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9589
   9590	017100				10$:
   9591	017100	105725 				TSTB	(R5)+		; .......GET OVER THE COLON
   9592	017102	011000 				MOV	(R0),R0		; .......GET THE HOUR
   9593	017104	022700 	000027 			CMP	#^D23,R0	; .......IS THE HOUR OK?
   9594	017110	002444 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   9595	017112	012701 	000074 			MOV	#^D60,R1	; .......CONVERT TO MINUTES
   9596	017116					CALL	$MUL		; .......SO
	017116	004737 	000000G			 JSR	PC,$MUL
   9597	017122	010102 				MOV	R1,R2		; .......STASH IT AWAY
   9598	017124	010600 				MOV	SP,R0		; .......RESET POINTER
   9599	017126					CALL	.TPCLR		; .......FLUSH THE BUFFER
	017126	004737 	022572'			 JSR	PC,.TPCLR
   9600	017132					CALL	.GTNBR		; .......READ THE NEXT NUMBER
	017132	004737 	025262'			 JSR	PC,.GTNBR
   9601	017136	011000 				MOV	(R0),R0		; .......GET THE MINUTES
   9602	017140	022700 	000073 			CMP	#^D59,R0	; .......IS THE MINUTE OK?
   9603	017144	002426 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   9604	017146	060200 				ADD	R2,R0		; .......ADD THE HOUR
   9605	017150	012701 	000036 			MOV	#^D30,R1	; .......CONVERT TO SECONDS
   9606	017154					CALL	$MUL		; .......SO
	017154	004737 	000000G			 JSR	PC,$MUL
   9607	017160	010102 				MOV	R1,R2		; .......SAVE IT IN R2
   9608	017162				20$:
   9609	017162	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   9610	017166				30$:
   9611	017166					POP	R0		; ....RESTORE R0
	017166	012600 				 MOV	(SP)+,R0
   9612	017170	010210 				MOV	R2,(R0)		; ...SET THE TIME
   9613	017172					POP	<R1,R2,R5>	; ...RESTORE REGISTERS
	017172	012601 				 MOV	(SP)+,R1
	017174	012602 				 MOV	(SP)+,R2
	017176	012605 				 MOV	(SP)+,R5
   9614	017200	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   9615	017206	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   9616	017212					RETURN			; AND EXIT
	017212	000207 				 RTS	PC
   9617	017214				GTTITF:
   9618	017214					ERROR$	ITF		; ERROR -- ILLEGAL TIME FORMAT
	017214	012746 	035546 			 MOV	#^RITF,-(SP)
	017220	104400 				 TRAP	TC.ERR
   9619						;
   9620	017222				GTTTOR:				;  +++001
   9621	017222					ERROR$	TOR		; +++001 ERROR -- TIME OUT OF RANGE
	017222	012746 	077552 			 MOV	#^RTOR,-(SP)
	017226	104400 				 TRAP	TC.ERR
   9622						;
   9623
   9624	001354				.PSECT	MESSAG
   9625
   9626	001354				GTTMS0:
   9627	001354	   124 	   111 	   115 		.ASCIZ	%TIME: %
	001357	   105 	   072 	   040
	001362	   000
   9628
   9629	017230				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 265-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   9630
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 266
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

   9632					.SBTTL	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
   9633
   9634					;+
   9635					; .TYDAT -- SUBROUTINE TO TYPE A DATE
   9636					;
   9637					; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
   9638					; FOLLOWING FORMAT: "DD-MMM-YY".
   9639					;
   9640					; INPUT ARGUMENTS:
   9641					;
   9642					;	R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
   9643					;
   9644					; OUTPUT ARGUMENTS:
   9645					;
   9646					;	NONE.
   9647					; ERROR CODES RETURNED:
   9648					;
   9649					;	NONE.
   9650					;-
   9651
   9652
   9653	017230				.TYDAT::
   9654	017230					PUSH	<.ORADX,R0,R2>	; SAVE CALLER'S REGISTERS
	017230	013746 	000106'			 MOV	.ORADX,-(SP)
	017234	010046 				 MOV	R0,-(SP)
	017236	010246 				 MOV	R2,-(SP)
   9655	017240	012737 	000012 	000106'		MOV	#^D10,.ORADX	; ...SET THE RADIX TO DECIMAL
   9656	017246	010002 				MOV	R0,R2		; ...CALLER'S POINTER TO R2
   9657	017250	122222 				CMPB	(R2)+,(R2)+	; ...ADVANCE THE POINTER
   9658	017252	111200 				MOVB	(R2),R0		; ...GET THE DAY
   9659	017254					CALL	.TYELA		; ...PRINT IT
	017254	004737 	025502'			 JSR	PC,.TYELA
   9660	017260					CALL	.TYMIN		; ...AND A <DASH>
	017260	004737 	025434'			 JSR	PC,.TYMIN
   9661	017264	114200 				MOVB	-(R2),R0	; ...GET THE MONTH
   9662	017266	006300 				ASL	R0		; ...MAKE IT AN EVEN INDEX
   9663	017270	016000 	002362'			MOV	TYDMTB-2(R0),R0	; ...POINT TO THE STRING
   9664	017274					CALL	.TYMSG		; ...PRINT IT
	017274	004737 	026202'			 JSR	PC,.TYMSG
   9665	017300					CALL	.TYMIN		; ...AND A <DASH>
	017300	004737 	025434'			 JSR	PC,.TYMIN
   9666	017304	122742 	000011 			CMPB	#^D9,-(R2)	; ...'09 OR EARLIER?
   9667	017310	002404 				BLT	10$		; ...NO -- GO ON
   9668	017312	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
   9669	017316					CALL	.TYCHR		; ...SO
	017316	004737 	026240'			 JSR	PC,.TYCHR
   9670
   9671					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 267
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

   9673					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9674
   9675	017322				10$:
   9676	017322	111200 				MOVB	(R2),R0		; ...GET THE YEAR
   9677	017324					CALL	.TYELA		; ...PRINT IT
	017324	004737 	025502'			 JSR	PC,.TYELA
   9678	017330					POP	<R2,R0,.ORADX>	; ...RESTORE THE REGISTERS
	017330	012602 				 MOV	(SP)+,R2
	017332	012600 				 MOV	(SP)+,R0
	017334	012637 	000106'			 MOV	(SP)+,.ORADX
   9679	017340					CALLR	.TYSPC		; PRINT A <SPACE> AND EXIT
	017340	000137 	025454'			 JMP	.TYSPC
   9680						;
   9681
   9682	002364				.PSECT	DATA
   9683
   9684	002364				TYDMTB:
   9685	002364	002643'				.WORD	JANMSG
   9686	002366	002653'				.WORD	FEBMSG
   9687	002370	002664'				.WORD	MARMSG
   9688	002372	002672'				.WORD	APRMSG
   9689	002374	002700'				.WORD	MAYMSG
   9690	002376	002704'				.WORD	JUNMSG
   9691	002400	002711'				.WORD	JULMSG
   9692	002402	002716'				.WORD	AUGMSG
   9693	002404	002725'				.WORD	SEPMSG
   9694	002406	002737'				.WORD	OCTMSG
   9695	002410	002747'				.WORD	NOVMSG
   9696	002412	002760'				.WORD	DECMSG
   9697
   9698	017344				.PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 268
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   9700					.SBTTL	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
   9701
   9702					;+
   9703					; .TYTIM -- TIME OUTPUT SUBROUTINE
   9704					;
   9705					; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
   9706					; IN THE FOLLOWING FORMAT: "HH:MM"
   9707					;
   9708					; INPUT ARGUMENTS:
   9709					;
   9710					;	R0 POINTS TO THE TIME VALUE TO BE PRINTED
   9711					;	   IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
   9712					;
   9713					; OUTPUT ARGUMENTS:
   9714					;
   9715					;	NONE.
   9716					;
   9717					; ERROR CODES RETURNED:
   9718					;
   9719					;	NONE.
   9720					;-
   9721
   9722
   9723	017344				.TYTIM::
   9724	017344					PUSH	<.ORADX,R0,R1>	; SAVE CALLER'S REGISTERS
	017344	013746 	000106'			 MOV	.ORADX,-(SP)
	017350	010046 				 MOV	R0,-(SP)
	017352	010146 				 MOV	R1,-(SP)
   9725	017354	012737 	000012 	000106'		MOV	#^D10,.ORADX	; ...SET OUTPUT RADIX TO DECIMAL
   9726	017362	011000 				MOV	(R0),R0		; ...GET THE TIME IN SSM/2
   9727	017364	012701 	003410 			MOV	#^D1800,R1	; ...DIVISOR FOR HOURS
   9728	017370					CALL	$DIV		; ...COMPUTE THE HOURS
	017370	004737 	000000G			 JSR	PC,$DIV
   9729	017374					PUSH	R0		; ...SAVE THEM
	017374	010046 				 MOV	R0,-(SP)
   9730	017376	010100 				MOV	R1,R0		; ....REMAINDER TO R0
   9731	017400	012701 	000036 			MOV	#^D30,R1	; ....DIVISOR FOR MINUTES
   9732	017404					CALL	$DIV		; ....COMPUTE THE MINUTES
	017404	004737 	000000G			 JSR	PC,$DIV
   9733	017410	010001 				MOV	R0,R1		; ....SAVE THEM IN R1
   9734	017412	022716 	000011 			CMP	#^D9,(SP)	; ....0900 OR EARLIER?
   9735	017416	002404 				BLT	10$		; ....NO -- GO ON
   9736	017420	012700 	000060 			MOV	#'0,R0		; ....YES -- FORCE THE LEADING ZERO
   9737	017424					CALL	.TYCHR		; ....SO
	017424	004737 	026240'			 JSR	PC,.TYCHR
   9738
   9739					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" 	MACRO M1110  03-OCT-79 11:35  PAGE 269
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   9741					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9742
   9743	017430				10$:
   9744	017430					POP	R0		; ....GET THE HOUR
	017430	012600 				 MOV	(SP)+,R0
   9745	017432					CALL	.TYELA		; ...PRINT IT
	017432	004737 	025502'			 JSR	PC,.TYELA
   9746	017436					CALL	.TYCOL		; ...TYPE A <COLON>
	017436	004737 	025414'			 JSR	PC,.TYCOL
   9747	017442	022701 	000011 			CMP	#^D9,R1		; ...9 MINUTES OR EARLIER?
   9748	017446	002404 				BLT	20$		; ...NO -- GO ON
   9749	017450	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
   9750	017454					CALL	.TYCHR		; ...SO
	017454	004737 	026240'			 JSR	PC,.TYCHR
   9751	017460				20$:
   9752	017460	010100 				MOV	R1,R0		; ...GET THE MINUTE
   9753	017462					CALL	.TYELA		; ...PRINT IT
	017462	004737 	025502'			 JSR	PC,.TYELA
   9754	017466					POP	<R1,R0,.ORADX>	; ...RESTORE THE REGISTERS
	017466	012601 				 MOV	(SP)+,R1
	017470	012600 				 MOV	(SP)+,R0
	017472	012637 	000106'			 MOV	(SP)+,.ORADX
   9755	017476					CALLR	.TYSPC		; TYPE A <SPACE> AND EXIT
	017476	000137 	025454'			 JMP	.TYSPC
   9756						;
   9757
SETCM -- SET / CLEAR COMMAND DI	MACRO M1110  03-OCT-79 11:35  PAGE 270
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   9759					.TITLE	SETCM -- SET / CLEAR COMMAND DISPATCH MODULE 7603.30
   9760
   9761						.IDENT	"005000"
   9762					;
   9763					;                             COPYRIGHT (C) 1975, 1979 BY
   9764					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   9765					;
   9766					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   9767					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   9768					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   9769					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   9770					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   9771					;
   9772					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   9773					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   9774					;       CORPORATION.
   9775					;
   9776					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   9777					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   9778					;
   9779					;		MODULE: SET / CLEAR COMMAND DISPATCH
   9780					;
   9781					;		VERSION: 05-00
   9782					;
   9783					;		AUTHOR: R. BELANGER
   9784					;
   9785					;		DATE: 7603.30
   9786					;
   9787					;	THIS MODULE CONTAINS:
   9788					;
   9789					;	1) SET / CLEAR COMMAND DISPATCH CODE
SETCM -- SET / CLEAR COMMAND DI	MACRO M1110  03-OCT-79 11:35  PAGE 271
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19

   9791					.SBTTL	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
   9792
   9793					;+
   9794					; .CLRCM -- THE "CLEAR" COMMAND
   9795					; .SETCM -- THE "SET" COMMAND
   9796					;
   9797					; THESE ROUTINES ARE THE TOP LEVEL FOR THE SET AND CLEAR COMMANDS.
   9798					; ARGUMENTS ARE CHECKED AND A DISPATCH IS MADE FOR THE OBJECT
   9799					; SPECIFIED IN THE COMMAND LINE
   9800					;
   9801					; INPUT ARGUMENTS:
   9802					;
   9803					;	NONE.
   9804					;
   9805					; OUTPUT ARGUMENTS:
   9806					;
   9807					;	NONE.
   9808					;
   9809					; ERROR CODES RETURNED:
   9810					;
   9811					;	ILC -- ILLEGAL COMMAND.
   9812					;-
   9813
   9814						.ENABL	LSB
   9815
   9816	017502				.CLRCM::
   9817	017502					CALL	.CKOBJ		; SEE IF OBJECT FOLLOWS
	017502	004737 	000350'			 JSR	PC,.CKOBJ
   9818	017506	005737 	000104'			TST	.NOTSW		; LOOK AT THE "NOT" SWITCH
   9819	017512	001007 				BNE	10$		; ALREADY SAYS CLEAR -- GO ON
   9820	017514	005137 	000104'			COM	.NOTSW		; INVERT THE "NOT" SWITCH
   9821	017520	000404 				BR	10$		; AND TREAT AS A "SET" COMMAND
   9822						;
   9823	017522				.SETCM::
   9824	017522					CALL	.CKOBJ		; LOOK FOR AN OBJECT
	017522	004737 	000350'			 JSR	PC,.CKOBJ
   9825	017526	005037 	000104'			CLR	.NOTSW		; CLEAR THE "NOT" SWITCH
   9826	017532				.SETC0::			; "SET NOT" ENTRY POINT
   9827	017532				10$:
   9828	017532	012700 	004450'			MOV	#.SETTB,R0	; TABLE POINTER TO R0
   9829	017536					CALL	.TSCAN		; SCAN IT
	017536	004737 	012672'			 JSR	PC,.TSCAN
   9830	017542	011001 				MOV	(R0),R1		; LEGAL BITS TO R1
   9831	017544	005101 				COM	R1		; INVERT THEM
   9832	017546	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   9833	017552					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	017552	000170 	000002 			 JMP	@2(R0)
   9834						;
   9835
   9836						.DSABL	LSB
SETCM -- SET / CLEAR COMMAND DI	MACRO M1110  03-OCT-79 11:35  PAGE 272
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14

   9838					.SBTTL	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
   9839
   9840					;+
   9841					; .WHATC -- THE "WHAT" COMMAND DISPATCH
   9842					;
   9843					; THIS ROUTINE IS THE TOPMOST LEVEL OF THE "WHAT COMMAND WHICH
   9844					; PERFORMS THE DISPATCH FOR THE SPECIFIED OBJECT.
   9845					;
   9846					; INPUT ARGUMENTS:
   9847					;
   9848					;	NONE.
   9849					;
   9850					; OUTPUT ARGUMENTS:
   9851					;
   9852					;	NONE.
   9853					;
   9854					; ERROR CODES RETURNED:
   9855					;
   9856					;	NONE.
   9857					;-
   9858
   9859	017556				.WHATC::
   9860	017556	012700 	004704'			MOV	#.WHATB,R0	; TABLE POINTER TO R0
   9861	017562					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	017562	004737 	000350'			 JSR	PC,.CKOBJ
   9862	017566					CALL	.TSCAN		; SCAN IT
	017566	004737 	012672'			 JSR	PC,.TSCAN
   9863	017572					CALL	.CKEOC		; MUST HAVE E-O-C
	017572	004737 	000264'			 JSR	PC,.CKEOC
   9864	017576					CALLR	@2(R0)		; DO WHAT IT SAYS
	017576	000170 	000002 			 JMP	@2(R0)
   9865						;
SETCM -- SET / CLEAR COMMAND DI	MACRO M1110  03-OCT-79 11:35  PAGE 273
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19

   9867					.SBTTL	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
   9868
   9869	017602				.SCNOT::			; SET/CLEAR "NO"
   9870	017602					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	017602	004737 	000350'			 JSR	PC,.CKOBJ
   9871	017606	005137 	000104'			COM	.NOTSW		; INVERT THE "NOT" SWITCH
   9872	017612	000747 				BR	.SETC0		; AND GET NEXT OBJECT
   9873						;
SHUTC -- SHUTDOWN COMMAND MODUL	MACRO M1110  03-OCT-79 11:35  PAGE 274
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19

   9875					.TITLE	SHUTC -- SHUTDOWN COMMAND MODULE 7707.12
   9876
   9877						.IDENT	"005000"
   9878					;
   9879					;                             COPYRIGHT (C) 1975, 1979 BY
   9880					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   9881					;
   9882					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   9883					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   9884					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   9885					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   9886					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   9887					;
   9888					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   9889					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   9890					;       CORPORATION.
   9891					;
   9892					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   9893					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   9894					;
   9895					;		MODULE: SHUTDOWN COMMAND
   9896					;
   9897					;		VERSION: 03-06
   9898					;
   9899					;		AUTHOR: R. BELANGER
   9900					;
   9901					;		DATE: 7707.12
   9902					;
   9903					;	THIS MODULE CONTAINS:
   9904					;
   9905					;	1) SHUTDOWN COMMAND CODE
SHUTC -- SHUTDOWN COMMAND MODUL	MACRO M1110  03-OCT-79 11:35  PAGE 275
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12

   9907					.SBTTL	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
   9908
   9909					;+
   9910					; .SHUTC -- THE SHUTDOWN COMMAND
   9911					;
   9912					; THIS ROUTINE WILL DEPOSIT A -1 INTO KL LOCATION 30 (EXEC VIRTUAL)
   9913					; TO SHUTDOWN TIMESHARING.
   9914					;
   9915					; INPUT ARGUMENTS:
   9916					;
   9917					;	NONE.
   9918					;
   9919					; OUTPUT ARGUMENTS:
   9920					;
   9921					;	NONE.
   9922					;
   9923					; ERROR CODES RETURNED:
   9924					;
   9925					;	NONE
   9926					;-
   9927
   9928	017614				.SHUTC::
   9929	017614					CALL	.CKEOC		; CHECK E-O-C
	017614	004737 	000264'			 JSR	PC,.CKEOC
   9930	017620	112737 	000001 	000000G		MOVB	#1,.NOHLT	; TELL RSX20F NOT TO PANIC OVER HALTED KL
   9931	017626	005046 				CLR	-(SP)		; CLEAR ADDRESS BUFFER
   9932	017630					PUSH	#30		; .SET THE ADDRESS UP
	017630	012746 	000030 			 MOV	#30,-(SP)
   9933	017634	010600 				MOV	SP,R0		; ..GET ADDRESS POINTER
   9934	017636					PUSH	#17		; ..SET UP DEPOSIT WORD
	017636	012746 	000017 			 MOV	#17,-(SP)
   9935	017642					PUSH	#-^D1		; ...
	017642	012746 	177777 			 MOV	#-^D1,-(SP)
   9936	017646					PUSH	(SP)		; ....
	017646	011646 				 MOV	(SP),-(SP)
   9937	017650	010601 				MOV	SP,R1		; .....SAVE THE POINTER
   9938	017652					PUSH	R1		; .....SET UP THE DATA BLOCK
	017652	010146 				 MOV	R1,-(SP)
   9939	017654					PUSH	R0		; ......
	017654	010046 				 MOV	R0,-(SP)
   9940	017656	010601 				MOV	SP,R1		; .......POINT TO THE BLOCK
   9941	017660	012700 	000040 			MOV	#ED.EXV,R0	; .......EXEC VIRTUAL REFERENCE
   9942	017664					CALL	.DPKLM		; .......DO THE DEPOSIT
	017664	004737 	007116'			 JSR	PC,.DPKLM
   9943	017670	062706 	000016 			ADD	#^D14,SP	; .......CLEAR THE STACK
   9944	017674					CALL	..DTP2		; START SECONDARY PROTOCOL
	017674	004737 	000000G			 JSR	PC,..DTP2
   9945	017700					CALLR	.EXITP		; EXIT THE PARSER
	017700	000137 	012436'			 JMP	.EXITP
   9946						;
STRTC -- START COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 276
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12

   9948					.TITLE	STRTC -- START COMMAND DISPATCH MODULE 7603.30
   9949
   9950						.IDENT	"005000"
   9951
   9952					;
   9953					;                             COPYRIGHT (C) 1975, 1979 BY
   9954					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   9955					;
   9956					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   9957					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   9958					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   9959					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   9960					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   9961					;
   9962					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   9963					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   9964					;       CORPORATION.
   9965					;
   9966					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   9967					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   9968					;
   9969					;		MODULE: START COMMAND DISPATCH
   9970					;
   9971					;		VERSION: 05-00
   9972					;
   9973					;		AUTHOR: R. BELANGER
   9974					;
   9975					;		DATE: 7603.30
   9976					;
   9977					;	THIS MODULE CONTAINS:
   9978					;
   9979					;	1) START COMMAND DISPATCH CODE
STRTC -- START COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 277
.STRTC -- THE "START" COMMAND 7602.26

   9981					.SBTTL	.STRTC -- THE "START" COMMAND 7602.26
   9982
   9983					;+
   9984					; .STRTC -- THE "START" COMMAND.
   9985					;
   9986					; THIS IS THE TOP LEVEL OF THE "START" COMMAND, WHICH CHECKS FOR
   9987					; ARGUMENTS AND DISPATCHES TO THE PROPER LOWER LEVEL ROUTINE.
   9988					;
   9989					; INPUT ARGUMENTS:
   9990					;
   9991					;	NONE.
   9992					;
   9993					; OUTPUT ARGUMENTS:
   9994					;
   9995					;	NONE.
   9996					;
   9997					; ERROR CODES RETURNED:
   9998					;
   9999					;	NONE.
  10000					;-
  10001
  10002	017704				.STRTC::
  10003	017704					CALL	.CKARG		; LOOK FOR AN ARGUMENT
	017704	004737 	000140'			 JSR	PC,.CKARG
  10004	017710	001012 				BNE	.STRTT		; START THE TEN IF NUMERIC
  10005	017712	012700 	004666'			MOV	#.STRTB,R0	; TABLE POINTER TO R0
  10006	017716					CALL	.TSCAN		; SCAN THE TABLE
	017716	004737 	012672'			 JSR	PC,.TSCAN
  10007	017722					CALLR	@2(R0)		; DISPATCH FOR THE OBJECT
	017722	000170 	000002 			 JMP	@2(R0)
  10008						;
STRTC -- START COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 278
.STRTT -- THE "START <TEN>" COMMAND 7710.11

  10010					.SBTTL	.STRTT -- THE "START <TEN>" COMMAND 7710.11
  10011
  10012					;+
  10013					; .STRTT -- THE "START <TEN>" COMMAND.
  10014					; .JUMPC -- THE "JUMP" COMMAND.
  10015					;
  10016					; THESE ROUTINES WILL START THE KL IN EXEC (KERNEL) MODE AT THE
  10017					; ADDRESS SPECIFIED IN THE INPUT STREAM.
  10018					;
  10019					; INPUT ARGUMENTS:
  10020					;
  10021					;	NONE.
  10022					;
  10023					; OUTPUT ARGUMENTS:
  10024					;
  10025					;	NONE.
  10026					;
  10027					; ERROR CODES RETURNED:
  10028					;
  10029					;	ILS -- ILLEGAL SEPARATOR CHARACTER
  10030					;	KLA -- KL ADDRESS ERROR
  10031					;	MRA -- MISSING REQUIRED ARGUMENT
  10032					;	SZI -- START AT ZERO ILLEGAL
  10033					;-
  10034
  10035						.MCALL	$DEF
  10036
  10037	017726					$DEF
STRTC -- START COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 279
.STRTT -- THE "START <TEN>" COMMAND 7710.11

  10039						.ENABL	LSB
  10040
  10041	017726				.JUMPC::
  10042	017726					CALL	10$		; START THE KL
	017726	004737 	017742'			 JSR	PC,10$
  10043	017732	000137 	012436'			JMP	.EXITP		; AND EXIT FROM THE PARSER
  10044						;
  10045	017736				.STRTT::
  10046	017736					CALL	.CKRNP		; SEE IF THE KL IS RUNNING
	017736	004737 	000366'			 JSR	PC,.CKRNP
  10047	017742				10$:
  10048	017742	005046 				CLR	-(SP)		; CLEAR ADDRESS BUFFER
  10049	017744	005046 				CLR	-(SP)		; .
  10050	017746	005046 				CLR	-(SP)		; ..
  10051	017750	010600 				MOV	SP,R0		; ...POINTER TO R0
  10052	017752					CALL	.GTKLA		; ...GET THE START ADDRESS
	017752	004737 	024330'			 JSR	PC,.GTKLA
  10053	017756					CALL	.TPTST		; ...SEE IF IT IS NON ZERO
	017756	004737 	022674'			 JSR	PC,.TPTST
  10054	017762	001424 				BEQ	STASZI		; ...CAN'T START KL AT 0
  10055	017764					CALL	.CKEOC		; ...CHECK FOR E-O-C
	017764	004737 	000264'			 JSR	PC,.CKEOC
  10056	017770	032737 	000002 	000000G		BIT	#LG.PRG,.FEMOD	; ...ARE WE AT LEAST IN PROGRAMMER MODE??
  10057	017776	001402 				BEQ	20$		; ...NO -- JUST GO ON
  10058	020000					CALL	.ABORT		; ...YES -- START THE KL BY ANY MEANS
	020000	004737 	000004'			 JSR	PC,.ABORT
  10059	020004				20$:
  10060	020004	010001 				MOV	R0,R1		; ...POINTER FOR THE CALL
  10061	020006					CALL	.KLST		; ...START THE KL
	020006	004737 	010314'			 JSR	PC,.KLST
  10062	020012	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
  10063	020016	005037 	000000G			CLR	.NOERR		; LET RSX20F RECOGNIZE KL ERRORS
  10064	020022	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
  10065	020030					CALLR	..DTP2		; START UP SECONDARY PROTOCOL AND EXIT.
	020030	000137 	000000G			 JMP	..DTP2
  10066						;
  10067	020034				STASZI:
  10068	020034					ERROR$	SZI		; ERROR -- START AT ZERO ILLEGAL
	020034	012746 	075331 			 MOV	#^RSZI,-(SP)
	020040	104400 				 TRAP	TC.ERR
  10069						;
  10070
  10071						.DSABL	LSB
STRTC -- START COMMAND DISPATCH	MACRO M1110  03-OCT-79 11:35  PAGE 280
.STRTU -- THE "START MICROCODE" COMMAND 7602.26

  10073					.SBTTL	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
  10074
  10075					;+
  10076					; .STRTU -- THE "START MICROCODE" COMMAND.
  10077					;
  10078					; THIS ROUTINE STARTS THE KL MICROCODE AT THE ADDRESS SPECIFIED.
  10079					; IF NO ADDRESS IS SPECIFIED, 0000 IS ASSUMED.
  10080					;
  10081					; INPUT ARGUMENTS:
  10082					;
  10083					;	NONE.
  10084					;
  10085					; OUTPUT ARGUMENTS:
  10086					;
  10087					;	NONE.
  10088					;
  10089					; ERROR CODES RETURNED:
  10090					;
  10091					;	NONE.
  10092					;-
  10093
  10094	020042				.STRTU::
  10095	020042					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	020042	004737 	000376'			 JSR	PC,.CKRUN
  10096	020046	005000 				CLR	R0		; CLEAR R0 (FOR DEFAULT)
  10097	020050	111504 				MOVB	(R5),R4		; LOOK AT THE CURRENT CHARACTER
  10098	020052	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  10099	020060	001004 				BNE	10$		; DO DEFAULT START IF E-O-C
  10100	020062					CALL	.GTELN		; GO READ THE ADDRESS
	020062	004737 	024300'			 JSR	PC,.GTELN
  10101	020066					CALL	.CKEOC		; MUST HAVE E-O-C
	020066	004737 	000264'			 JSR	PC,.CKEOC
  10102	020072				10$:
  10103	020072	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE KL CLOCK ON?
  10104	020100	001402 				BEQ	20$		; NO -- JUST START THE MICROCODE
  10105	020102					CALL	.KLHLT		; YES -- STOP THE KL
	020102	004737 	010164'			 JSR	PC,.KLHLT
  10106	020106				20$:
  10107	020106					CALLR	.STUCD		; START THE KL MICROCODE AND RETURN
	020106	000137 	012106'			 JMP	.STUCD
  10108						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 281
.STRTU -- THE "START MICROCODE" COMMAND 7602.26

  10110					.TITLE	SWCMD -- SET / CLEAR COMMAND MODULE 7702.16
  10111
  10112						.IDENT	"005000"
  10113
  10114					;                             COPYRIGHT (C) 1975, 1979 BY
  10115					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  10116					;
  10117					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  10118					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  10119					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  10120					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  10121					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  10122					;
  10123					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  10124					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  10125					;       CORPORATION.
  10126					;
  10127					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  10128					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  10129					;
  10130					;		MODULE: SET / CLEAR COMMAND
  10131					;
  10132					;		VERSION: 05-00
  10133					;
  10134					;		AUTHOR: R. BELANGER
  10135					;
  10136					;		DATE: 7702.16
  10137					;
  10138					;	THIS MODULE CONTAINS:
  10139					;
  10140					;	1) SET / CLEAR CONSOLE COMMAND CODE
  10141					;
  10142					;	MODIFICATIONS:
  10143					;
  10144					;	NO.	DATE		PROGRAMMER	REASON
  10145					;	---	----		----------	------
  10146					;	001	28-FEB-77	R. BELANGER	CHANGE "ECL" ERROR TO "CLE"
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 282
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16

  10148					.SBTTL	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
  10149
  10150						.ENABL	LSB
  10151
  10152	020112				.SCCON::
  10153	020112	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10154	020116	001016 				BNE	10$		; YES -- SET OPERATOR
  10155	020120	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  10156	020126	001017 				BNE	.SCCOP		; E-O-C -- SET PROGRAMMER
  10157	020130					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	020130	004737 	000350'			 JSR	PC,.CKOBJ
  10158	020134	012700 	004342'			MOV	#.SCCOT,R0	; TABLE POINTER TO R0
  10159	020140					CALL	.TSCAN		; SCAN THE TABLE
	020140	004737 	012672'			 JSR	PC,.TSCAN
  10160	020144					CALL	.CKEOC		; MUST HAVE E-O-C
	020144	004737 	000264'			 JSR	PC,.CKEOC
  10161	020150					CALLR	@2(R0)		; EXECUTE THE COMMAND
	020150	000170 	000002 			 JMP	@2(R0)
  10162						;
  10163	020154				10$:
  10164	020154					CALL	.CKEOC		; MUST HAVE E-O-C IF CLEAR
	020154	004737 	000264'			 JSR	PC,.CKEOC
  10165	020160				.SCCOO::
  10166	020160	012701 	000001 			MOV	#LG.OPR,R1	; OPERATOR CONSULE
  10167	020164	000405 				BR	20$		; EXIT
  10168						;
  10169	020166				.SCCOP::
  10170	020166	012701 	000003 			MOV	#LG.PRM,R1	; PROGRAMMER CONSOLE
  10171	020172	000402 				BR	20$		; EXIT
  10172						;
  10173	020174				.SCCOM::
  10174	020174	012701 	000007 			MOV	#LG.ALL,R1	; MAINTENANCE CONSOLE
  10175	020200				20$:
  10176	020200	105737 	000000G			TSTB	.KLNSW+0	; +++001 IS REMOTE KLINIK MODE ENABLED?
  10177	020204	003403 				BLE	30$		; +++001 NO -- GO ON
  10178	020206	120137 	000001G			CMPB	R1,.KLNMD+1	; +++001 YES -- CAN WE DO THIS?
  10179	020212	003005 				BGT	SCCCLE		; NO -- GIVE "CLE" ERROR
  10180	020214				30$:
  10181	020214	010137 	000000G			MOV	R1,.FEMOD	; YES -- SET THE CONSOLE MODE
  10182	020220	000405 				BR	.WHCON		; PRINT CONSOLE MODE AND EXIT
  10183						;
  10184	020222				.SCCOU::
  10185	020222					CALLR	.EXITP		; EXIT TO USER CONSOLE
	020222	000137 	012436'			 JMP	.EXITP
  10186						;
  10187	020226				SCCCLE:
  10188	020226					ERROR$	CLE		; ERROR -- CONSOLE LIMIT EXCEEDED
	020226	012746 	012245 			 MOV	#^RCLE,-(SP)
	020232	104400 				 TRAP	TC.ERR
  10189						;
  10190
  10191						.DSABL	LSB
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 283
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14

  10193					.SBTTL	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
  10194
  10195	020234				.WHCON::
  10196	020234	012700 	001363'			MOV	#WCMMSG,R0	; MESSAGE POINTER TO R0
  10197	020240					CALL	.TYMSG		; PRINT IT
	020240	004737 	026202'			 JSR	PC,.TYMSG
  10198	020244	013701 	000000G			MOV	.FEMOD,R1	; MODE WORD TO R1
  10199	020250	012700 	002567'			MOV	#MNTMSG,R0	; MAINTENANCE
  10200	020254	032701 	000004 			BIT	#LG.MNT,R1	; IS IT ON?
  10201	020260	001007 				BNE	10$		; YES -- SAY SO
  10202	020262	012700 	002614'			MOV	#PRGMSG,R0	; NO -- PROGRAMMER?
  10203	020266	032701 	000002 			BIT	#LG.PRG,R1	; IS IT ON?
  10204	020272	001002 				BNE	10$		; YES -- SAY SO
  10205	020274	012700 	002603'			MOV	#OPRMSG,R0	; NO -- MUST BE OPERATOR
  10206	020300				10$:
  10207	020300					CALLR	.TYLIN		; YES -- PRINT AND EXIT
	020300	000137 	026166'			 JMP	.TYLIN
  10208						;
  10209
  10210	001363				.PSECT	MESSAG
  10211
  10212	001363				WCMMSG:
  10213	001363	   040 	   103 	   117 		.ASCIZ	% CONSOLE MODE: %
	001366	   116 	   123 	   117
	001371	   114 	   105 	   040
	001374	   115 	   117 	   104
	001377	   105 	   072 	   040
	001402	   000
  10214
  10215	020304				.PSECT
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 284
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20

  10217					.SBTTL	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
  10218
  10219	020304				.SCINC::			; SET/CLEAR "INCREMENT"
  10220	020304	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10221	020310	001016 				BNE	10$		; YES -- JUST CLEAR IT
  10222	020312	005046 				CLR	-(SP)		; NO -- CLEAR A BUFFER ON THE STACK
  10223	020314	005046 				CLR	-(SP)		; .
  10224	020316	005046 				CLR	-(SP)		; ..
  10225	020320	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  10226	020322					CALL	.GTNUM		; ...READ THE NUMBER
	020322	004737 	024362'			 JSR	PC,.GTNUM
  10227	020326					CALL	.CKEOC		; ...MUST HAVE E-O-C
	020326	004737 	000264'			 JSR	PC,.CKEOC
  10228	020332	012701 	000070'			MOV	#.KLINC,R1	; ...POINT TO THE INCREMENT
  10229	020336					POP	(R1)+		; ...LOAD THE NEW INCREMENT
	020336	012621 				 MOV	(SP)+,(R1)+
  10230	020340					POP	(R1)+		; ..
	020340	012621 				 MOV	(SP)+,(R1)+
  10231	020342					POP	(R1)		; .
	020342	012611 				 MOV	(SP)+,(R1)
  10232	020344	000406 				BR	20$		; AND EXIT
  10233						;
  10234	020346				10$:
  10235	020346					CALL	.CKEOC		; MUST HAVE E-O-C
	020346	004737 	000264'			 JSR	PC,.CKEOC
  10236	020352	012700 	000070'			MOV	#.KLINC,R0	; POINT TO THE  INCREMENT
  10237	020356					CALL	.TPCLR		; CLEAR IT
	020356	004737 	022572'			 JSR	PC,.TPCLR
  10238	020362				20$:
  10239					;	BR	.WHINC		; PRINT INCREMENT AND EXIT
  10240						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 285
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25

  10242					.SBTTL	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
  10243
  10244						.ENABL	LSB
  10245
  10246	020362				.WHINC::
  10247	020362	012700 	001403'			MOV	#WHIMSG,R0	; MESSAGE POINTER TO R0
  10248	020366	012701 	000070'			MOV	#.KLINC,R1	; INREMENT POINTER
  10249	020372	000412 				BR	10$		; DO COMMON CODE
  10250						;
  10251	020374				.WHRPT::
  10252	020374	013737 	000106'	000120'		MOV	.ORADX,.RDXSV	; SAVE CURRENT OUTPUT RADIX
  10253	020402	012737 	000012 	000106'		MOV	#^D10,.ORADX	; SET IT TO DECIMAL
  10254	020410	012700 	001423'			MOV	#WHRMSG,R0	; MESSAGE POINTER TO R0
  10255	020414	012701 	000124'			MOV	#.RPTCT,R1	; REPEAT POINTER
  10256	020420				10$:
  10257	020420					CALL	.TYMSG		; PRINT THE MESSAGE
	020420	004737 	026202'			 JSR	PC,.TYMSG
  10258	020424	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  10259	020430	010100 				MOV	R1,R0		; POINTER TO R0
  10260	020432					CALL	.TYKLN		; PRINT THE NUMBER
	020432	004737 	025676'			 JSR	PC,.TYKLN
  10261	020436	013737 	000120'	000106'		MOV	.RDXSV,.ORADX	; RESET THE OUTPUT RADIX
  10262	020444					CALLR	.TCRLF		; END THE LINE AND EXIT
	020444	000137 	026272'			 JMP	.TCRLF
  10263						;
  10264
  10265						.DSABL	LSB
  10266
  10267	001403				.PSECT	MESSAG
  10268
  10269	001403				WHIMSG:
  10270	001403	   040 	   113 	   114 		.ASCIZ	% KL INCREMENT: %
	001406	   040 	   111 	   116
	001411	   103 	   122 	   105
	001414	   115 	   105 	   116
	001417	   124 	   072 	   040
	001422	   000
  10271	001423				WHRMSG:
  10272	001423	   040 	   122 	   105 		.ASCIZ	% REPEAT COUNT: %
	001426	   120 	   105 	   101
	001431	   124 	   040 	   103
	001434	   117 	   125 	   116
	001437	   124 	   072 	   040
	001442	   000
  10273	020450				.PSECT
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 286
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08

  10275					.SBTTL	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
  10276
  10277						.ENABL	LSB
  10278
  10279	020450				.SCMEM::			; SET / CLEAR "MEMORY"
  10280	020450	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10281	020454	001015 				BNE	10$		; YES -- GO DO THE CLEAR
  10282	020456					CALL	.CKOBJ		; NO -- MUST HAVE AN OBJECT
	020456	004737 	000350'			 JSR	PC,.CKOBJ
  10283	020462	012700 	004324'			MOV	#.SCMTB,R0	; TABLE POINTER TO R0
  10284	020466					CALL	.TSCAN		; SCAN IT
	020466	004737 	012672'			 JSR	PC,.TSCAN
  10285	020472					CALL	.CKEOC		; MUST BE E-O-C
	020472	004737 	000264'			 JSR	PC,.CKEOC
  10286	020476					CALLR	@2(R0)		; DISPATCH FOR OBJECT
	020476	000170 	000002 			 JMP	@2(R0)
  10287						;
  10288	020502				.SCMEL::			; SET MEMORY ELEVEN
  10289	020502	012700 	000002 			MOV	#^D2,R0		; ELEVEN OFFSET IS 2
  10290	020506	000403 				BR	20$		; DO COMMON STUFF
  10291	020510				10$:
  10292	020510					CALL	.CKEOC		; MUST HAVE E-O-C TO CLEAR
	020510	004737 	000264'			 JSR	PC,.CKEOC
  10293	020514				.SCMKL::
  10294	020514	005000 				CLR	R0		; TEN OFFSET IS 0
  10295	020516				20$:
  10296	020516	010037 	000102'			MOV	R0,.MEMFL	; SET THE FLAG
  10297					;	BR	.WHMEM		; AND EXIT
  10298						;
  10299
  10300						.DSABL	LSB
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 287
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21

  10302					.SBTTL	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
  10303
  10304	020522				.WHMEM::
  10305	020522	012700 	001443'			MOV	#WHMMSG,R0	; MESSAGE POINTER TO R0
  10306	020526					CALL	.TYMSG		; TYPE IT
	020526	004737 	026202'			 JSR	PC,.TYMSG
  10307	020532	012700 	002414'			MOV	#TENMSG,R0	; ASSUME TEN
  10308	020536	005737 	000102'			TST	.MEMFL		; IS IT "TEN"
  10309	020542	001402 				BEQ	10$		; YES -- SAY SO
  10310	020544	012700 	002405'			MOV	#ELEMSG,R0	; NO -- SAY "ELEVEN"
  10311	020550				10$:
  10312	020550					CALLR	.TYLIN		; PRINT AND EXIT
	020550	000137 	026166'			 JMP	.TYLIN
  10313						;
  10314
  10315	001443				.PSECT	MESSAG
  10316
  10317	001443				WHMMSG:
  10318	001443	   040 	   115 	   105 		.ASCIZ	% MEMORY: %
	001446	   115 	   117 	   122
	001451	   131 	   072 	   040
	001454	   000
  10319
  10320	020554				.PSECT
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 288
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19

  10322					.SBTTL	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
  10323
  10324	020554				.SCOFS::			; SET/CLEAR "OFFSET"
  10325	020554	012700 	000000'			MOV	#.APRWD,R0	; DEFAULT OFFSET
  10326	020560	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10327	020564	001002 				BNE	10$		; YES -- JUST EXIT
  10328	020566					CALL	.GTELN		; NO -- READ NEW OFFSET
	020566	004737 	024300'			 JSR	PC,.GTELN
  10329	020572				10$:
  10330	020572					CALL	.CKEOC		; MUST HAVE E-O-C
	020572	004737 	000264'			 JSR	PC,.CKEOC
  10331	020576	010037 	000122'			MOV	R0,.RELWD	; SET IT
  10332					;	BR	.WHOFS		; PRINT IT AND RETURN
  10333						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 289
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20

  10335					.SBTTL	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
  10336
  10337	020602				.WHOFS::
  10338	020602	012700 	001455'			MOV	#WHOMSG,R0	; MESSAGE POINTER TO R0
  10339	020606					CALL	.TYMSG		; PRINT IT
	020606	004737 	026202'			 JSR	PC,.TYMSG
  10340	020612	013700 	000122'			MOV	.RELWD,R0	; OFFSET TO R0
  10341	020616					CALL	.TYELA		; PRINT IT
	020616	004737 	025502'			 JSR	PC,.TYELA
  10342	020622					CALLR	.TCRLF		; END THE LINE AND EXIT
	020622	000137 	026272'			 JMP	.TCRLF
  10343						;
  10344
  10345	001455				.PSECT	MESSAG
  10346
  10347	001455				WHOMSG:
  10348	001455	   040 	   120 	   104 		.ASCIZ	% PDP-11 OFFSET: %
	001460	   120 	   055 	   061
	001463	   061 	   040 	   117
	001466	   106 	   106 	   123
	001471	   105 	   124 	   072
	001474	   040 	   000
  10349	020626				.PSECT
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 290
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19

  10351					.SBTTL	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
  10352
  10353	020626				.SCRLD::			; SET/CLEAR "RELOAD"
  10354	020626					CALL	.CKEOC		; MUST HAVE E-O-C
	020626	004737 	000264'			 JSR	PC,.CKEOC
  10355	020632	013737 	000104'	000000G		MOV	.NOTSW,.KLRLD	; SET/CLEAR THE SWITCH
  10356	020640	000413 				BR	.WHRLD		; PRINT THE STATE AND EXIT
  10357						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 291
.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78

  10359					.SBTTL	.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
  10360
  10361	020642				.SCRTY::			;[TCO 4.2107] SET/CLEAR "RETRY"
  10362	020642					CALL	.CKEOC		;[TCO 4.2107] MUST HAVE E-O-C
	020642	004737 	000264'			 JSR	PC,.CKEOC
  10363	020646	012701 	000001 			MOV	#1,R1		;[TCO 4.2107] DEFAULT IS SET
  10364	020652	005737 	000104'			TST	.NOTSW		;[TCO 4.2107] IS THIS A CLEAR
  10365	020656	001401 				BEQ	10$		;[TCO 4.2107] NO -- GO ON
  10366	020660	005001 				CLR	R1		;[TCO 4.2107] YES -- CLEAR FLAG
  10367	020662	010137 	000000G		10$:	MOV	R1,.KACFL	;[TCO 4.2107] SET/CLEAR FLAG
  10368	020666	000412 				BR	.WHRTY		;[TCO 4.2107] PRINT STATE AND EXIT
  10369						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 292
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21

  10371					.SBTTL	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
  10372
  10373						.ENABL	LSB
  10374
  10375	020670				.WHRLD::
  10376	020670	012700 	001476'			MOV	#WRLMSG,R0	; MESSAGE POINTER TO R0
  10377	020674					CALL	.TYMSG		; PRINT IT
	020674	004737 	026202'			 JSR	PC,.TYMSG
  10378	020700	012700 	000037'			MOV	#OFFMSG,R0	; ASSUME "OFF"
  10379	020704	005737 	000000G			TST	.KLRLD		; IS IT OFF?
  10380	020710	001014 				BNE	20$		; YES -- GO ON
  10381	020712	000411 				BR	10$		; NO -- SAY SO
  10382						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 293
.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78

  10384					.SBTTL	.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
  10385
  10386	020714				.WHRTY::			; [TCO 4.2107] WHAT RETRY COMMAND ENTRY
  10387	020714	012700 	001517'			MOV	#WRTMSG,R0	; [TCO 4.2107] MESSAGE POINTER
  10388	020720					CALL	.TYMSG		; [TCO 4.2107] PRINT IT
	020720	004737 	026202'			 JSR	PC,.TYMSG
  10389	020724	012700 	000037'			MOV	#OFFMSG,R0	; [TCO 4.2107] ASSUME OFF
  10390	020730	005737 	000000G			TST	.KACFL		; [TCO 4.2107] IS IT SET?
  10391	020734	001402 				BEQ	20$		; [TCO 4.2107] NO -- GO ON
  10392	020736				10$:
  10393	020736	012700 	000034'			MOV	#ONMSG,R0	; [TCO 4.2107] YES -- CHANGE MESSAGE
  10394	020742				20$:
  10395	020742					CALLR	.TYLIN		; [TCO 4.2107] PRINT AND EXIT
	020742	000137 	026166'			 JMP	.TYLIN
  10396						;
  10397
  10398						.DSABL	LSB
  10399
  10400	001476				.PSECT	MESSAG
  10401
  10402	001476				WRLMSG:
  10403	001476	   040 	   122 	   105 		.ASCIZ	% RELOAD ENABLE: %
	001501	   114 	   117 	   101
	001504	   104 	   040 	   105
	001507	   116 	   101 	   102
	001512	   114 	   105 	   072
	001515	   040 	   000
  10404	001517				WRTMSG:
  10405	001517	   040 	   122 	   105 		.ASCIZ	% RETRY ENABLE: %
	001522	   124 	   122 	   131
	001525	   040 	   105 	   116
	001530	   101 	   102 	   114
	001533	   105 	   072 	   040
	001536	   000
  10406	020746				.PSECT
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 294
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25

  10408					.SBTTL	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
  10409
  10410	020746				.SCRPT::
  10411	020746	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE CURRENT INPUT RADIX
  10412	020754	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET IT TO DECIMAL
  10413	020762	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  10414	020764	005046 				CLR	-(SP)		; .
  10415	020766	005046 				CLR	-(SP)		; ..
  10416	020770	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  10417	020772	005737 	000104'			TST	.NOTSW		; ...IS THIS A CLEAR?
  10418	020776	001002 				BNE	10$		; ...YES -- DO THE CLEAR
  10419	021000					CALL	.GTKLN		; ...NO -- READ THE NEW REPEAT COUNT
	021000	004737 	024362'			 JSR	PC,.GTKLN
  10420	021004				10$:
  10421	021004					CALL	.CKEOC		; ...MUST HAVE E-O-C
	021004	004737 	000264'			 JSR	PC,.CKEOC
  10422	021010	012701 	000124'			MOV	#.RPTCT,R1	; ...POINT TO THE CURRENT REPEAT COUNT
  10423	021014					POP	<(R1)+,(R1)+,(R1)>
	021014	012621 				 MOV	(SP)+,(R1)+
	021016	012621 				 MOV	(SP)+,(R1)+
	021020	012611 				 MOV	(SP)+,(R1)
  10424	021022	013700 	000132'			MOV	.RPTPT,R0	; POINT TO THE STACKED REPEAT COUNT
  10425	021026					CALL	.TPCLR		; CLEAR IT OUT
	021026	004737 	022572'			 JSR	PC,.TPCLR
  10426	021032	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET INPUT RADIX
  10427	021040					CALLR	.WHRPT		; PRINT THE NEW REPEAT COUNT AND EXIT
	021040	000137 	020374'			 JMP	.WHRPT
  10428						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 295
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19

  10430					.SBTTL	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
  10431
  10432	021044				.SCTRK::			; SET/CLEAR "TRACK"
  10433	021044					CALL	.CKEOC		; MUST HAVE E-O-C
	021044	004737 	000264'			 JSR	PC,.CKEOC
  10434	021050	005001 				CLR	R1		; CLEAR R1
  10435	021052	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10436	021056	001001 				BNE	10$		; YES -- GO ON
  10437	021060	005101 				COM	R1		; NO -- INVERT THE SWITCH
  10438	021062				10$:
  10439	021062	010137 	000142'			MOV	R1,.TRKWD	; SET/CLEAR THE SWITCH
  10440					;	BR	.WHTRK		; PRINT STATE AND RETURN
  10441						;
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 296
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20

  10443					.SBTTL	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
  10444
  10445						.ENABL	LSB
  10446
  10447	021066				.WHTRK::
  10448	021066	012700 	001537'			MOV	#WHTMSG,R0	; MESSAGE POINTER TO R0
  10449	021072					CALL	.TYMSG		; PRINT IT
	021072	004737 	026202'			 JSR	PC,.TYMSG
  10450	021076	012700 	000034'			MOV	#ONMSG,R0	; ASSUME "ON"
  10451	021102	005737 	000142'			TST	.TRKWD		; IS IT ON?
  10452	021106	001021 				BNE	10$		; YES -- GO ON
  10453	021110	012700 	000037'			MOV	#OFFMSG,R0	; NO -- SAY SO
  10454	021114	000416 				BR	10$		; PRINT AND EXIT
  10455						;
  10456
SWCMD -- SET / CLEAR COMMAND MO	MACRO M1110  03-OCT-79 11:35  PAGE 297
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21

  10458					.SBTTL	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
  10459
  10460	021116				.WHATV::
  10461	021116	012700 	001557'			MOV	#WVMSG1,R0	; MESSAGE POINTER TO R0
  10462	021122					CALL	.TYMSG		; PRINT THAT
	021122	004737 	026202'			 JSR	PC,.TYMSG
  10463	021126	012700 	000000'			MOV	#CPVMSG,R0	; PARSER VERSION NUMBER
  10464	021132					CALL	.TYLIN		; PRINT IT
	021132	004737 	026166'			 JSR	PC,.TYLIN
  10465	021136	012700 	001601'			MOV	#WVMSG2,R0	; MESSAGE POINTER TO R0
  10466	021142					CALL	.TYMSG		; PRINT IT
	021142	004737 	026202'			 JSR	PC,.TYMSG
  10467	021146	012700 	000000G			MOV	#.VERNO,R0	; POINTER TO RSX20F ASCIZ VERSION NUMBER
  10468	021152				10$:
  10469	021152					CALLR	.TYLIN		; PRINT IT AND EXIT
	021152	000137 	026166'			 JMP	.TYLIN
  10470						;
  10471
  10472	001537				.PSECT	MESSAG
  10473
  10474	001537				WHTMSG:
  10475	001537	   040 	   124 	   122 		.ASCIZ	% TRACK ENABLE: %
	001542	   101 	   103 	   113
	001545	   040 	   105 	   116
	001550	   101 	   102 	   114
	001553	   105 	   072 	   040
	001556	   000
  10476	001557				WVMSG1:
  10477	001557	   040 	   120 	   101 		.ASCIZ	% PARSER VERSION: %
	001562	   122 	   123 	   105
	001565	   122 	   040 	   126
	001570	   105 	   122 	   123
	001573	   111 	   117 	   116
	001576	   072 	   040 	   000
  10478	001601				WVMSG2:
  10479	001601	   040 	   122 	   123 		.ASCIZ	% RSX20F VERSION: %
	001604	   130 	   062 	   060
	001607	   106 	   040 	   126
	001612	   105 	   122 	   123
	001615	   111 	   117 	   116
	001620	   072 	   040 	   000
  10480
  10481	021156				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 298
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21

  10483					.TITLE	SWCPC -- SET / CLEAR CLOCK AND PARITY MODULE 7608.19
  10484
  10485						.IDENT	"005000"
  10486
  10487					;
  10488					;                             COPYRIGHT (C) 1975, 1979 BY
  10489					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  10490					;
  10491					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  10492					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  10493					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  10494					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  10495					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  10496					;
  10497					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  10498					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  10499					;       CORPORATION.
  10500					;
  10501					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  10502					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  10503					;
  10504					;		MODULE: SET / CLEAR CLOCK AND PARITY
  10505					;
  10506					;		VERSION: 05-00
  10507					;
  10508					;		AUTHOR: R. BELANGER
  10509					;
  10510					;		DATE: 7608.19
  10511					;
  10512					;	THIS MODULE CONTAINS:
  10513					;
  10514					;	1) SET / CLEAR CLOCK DISPATCH CODE
  10515					;
  10516					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 299
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  10518					.SBTTL	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
  10519
  10520					;+
  10521					; .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH.
  10522					; .SCFSS -- THE "SET / CLEAR FS-STOP" COMMAND DISPATCH.
  10523					; .SCPAR -- THE "SET / CLEAR PARITY-STOP" COMMAND DISPATCH.
  10524					;
  10525					; THESE SUBROUTINES WILL SET OR CLEAR THE SPECIFIED KL INTERNAL
  10526					; PARITY STOP ENABLE AS DIRECTED BY THE INPUT STREAM.
  10527					;
  10528					; INPUT ARGUMENTS:
  10529					;
  10530					;	THE CURRENT PARITY STOP ENABLES ARE IN ".PSCWD"
  10531					;	THE CURRENT CLOCK PARAMETERS ARE IN ".CLKWD"
  10532					;
  10533					; OUTPUT ARGUMENTS:
  10534					;
  10535					;	THE NEW PARITY STOP ENABLES ARE IN ".PSCWD".
  10536					;	THE NEW CLOCK PARAMETERS ARE IN ".CLKWD"
  10537					;
  10538					; ERROR CODES RETURNED:
  10539					;
  10540					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
  10541					;-
  10542
  10543						.ENABL	LSB
  10544
  10545	021156				.SCCLK::			; SET / CLEAR "CLOCK"
  10546	021156					CALL	.CKARG		; MUST HAVE AN ARGUMENT
	021156	004737 	000140'			 JSR	PC,.CKARG
  10547	021162	012703 	002414'			MOV	#SCCLKT,R3	; TABLE POINTER TO R3
  10548	021166	000415 				BR	10$		; DO COMMON CODE
  10549						;
  10550	021170				.SCFSS::			; SET / CLEAR "FS-STOP"
  10551	021170					CALL	.CKEOC		; MUST BE E-O-C
	021170	004737 	000264'			 JSR	PC,.CKEOC
  10552	021174	012703 	002426'			MOV	#SCPART,R3	; TABLE POINTER TO R3
  10553	021200					CALL	40$		; READ THE CURRENT PARAMETERS
	021200	004737 	021332'			 JSR	PC,40$
  10554	021204					CALL	.SCPFS		; SET THE CONTROL WORD UP
	021204	004737 	021620'			 JSR	PC,.SCPFS
  10555	021210	000425 				BR	20$		; AND GO SET IT
  10556						;
  10557	021212				.SCPST::			; SET / CLEAR "PARITY-STOP"
  10558	021212					CALL	.CKARG		; MUST HAVE AN ARGUMENT
	021212	004737 	000140'			 JSR	PC,.CKARG
  10559	021216	012703 	002426'			MOV	#SCPART,R3	; TABLE POINTER TO R3
  10560					;	BR	10$		; DO COMMON CODE
  10561						;
  10562
  10563					;	[CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 300
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  10565					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10566
  10567	021222				10$:
  10568	021222					CALL	40$		; READ THE CURRENT PARAMETERS
	021222	004737 	021332'			 JSR	PC,40$
  10569	021226	011300 				MOV	(R3),R0		; TABLE POINTER TO R0
  10570	021230					CALL	.TSCAN		; SCAN THE TABLE
	021230	004737 	012672'			 JSR	PC,.TSCAN
  10571	021234					CALL	@2(R0)		; DO WHAT IT SAYS TO
	021234	004770 	000002 			 JSR	PC,@2(R0)
  10572	021240	111504 				MOVB	(R5),R4		; GET THE LAST CHARACTER INTO R4
  10573	021242	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  10574	021250	001005 				BNE	20$		; E-O-C -- GO SET PARITY STOPS
  10575	021252	122704 	000054 			CMPB	#.COMMA,R4	; NOT E-O-C -- IS IT A <COMMA>?
  10576	021256	001037 				BNE	SCPILS		; NO -- GIVE "ILS" ERROR
  10577	021260	105725 				TSTB	(R5)+		; YES -- GET OVER THE COMMA
  10578	021262	000757 				BR	10$		; AND GO ON
  10579						;
  10580	021264				20$:
  10581	021264	005723 				TST	(R3)+		; ADVANCE THE POINTER
  10582	021266					PUSH	R1		; SAVE NEW CONTROL WORD
	021266	010146 				 MOV	R1,-(SP)
  10583	021270	010601 				MOV	SP,R1		; .POINT TO THE ENABLE WORD
  10584	021272					PUSH	.KLFLG		; .SAVE ".KLFLG"
	021272	013746 	000000G			 MOV	.KLFLG,-(SP)
  10585	021276					CALL	.KLHLT		; ..STOP THE KL
	021276	004737 	010164'			 JSR	PC,.KLHLT
  10586	021302					CALL	@(R3)+		; ..LOAD THE PARAMETERS
	021302	004733 				 JSR	PC,@(R3)+
  10587	021304					POP	.SVKLF		; ..SET UP ".SVKLF"
	021304	012637 	000140'			 MOV	(SP)+,.SVKLF
  10588	021310					CALL	.RDCPP		; .READ BACK WHAT WE WROTE
	021310	004737 	011264'			 JSR	PC,.RDCPP
  10589	021314	023326 				CMP	@(R3)+,(SP)+	; .DID WE READ WHAT WE WROTE
  10590	021316	001401 				BEQ	30$		; YES -- GO ON
  10591	021320					CALLR	@(R3)+		; NO -- GIVE THE PROPER ERROR
	021320	000133 				 JMP	@(R3)+
  10592						;
  10593	021322				30$:
  10594	021322	005723 				TST	(R3)+		; GET OVER THE ERROR POINTER
  10595	021324					CALL	.KLRST		; RESTART THE KL
	021324	004737 	010424'			 JSR	PC,.KLRST
  10596	021330					CALLR	@(R3)+		; DISPLAY CURRENT PARAMETERS AND EXIT
	021330	000133 				 JMP	@(R3)+
  10597						;
  10598
  10599					;	[CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 301
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  10601					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10602
  10603	021332				40$:
  10604	021332					CALL	.CKRUN		; INSURE WE CAN DO THIS
	021332	004737 	000376'			 JSR	PC,.CKRUN
  10605	021336					CALL	.STPKL		; STOP THE KL10
	021336	004737 	012012'			 JSR	PC,.STPKL
  10606	021342					CALL	.RDCPP		; READ CLOCK AND PARITY
	021342	004737 	011264'			 JSR	PC,.RDCPP
  10607	021346	017301 	000004 			MOV	@4(R3),R1	; DESIRED CONTROL WORD TO R1
  10608	021352					CALLR	.RSTKL		; RESTART THE KL AND EXIT
	021352	000137 	011734'			 JMP	.RSTKL
  10609						;
  10610
  10611						.DSABL	LSB
  10612
  10613	021356				SCPILS:
  10614	021356					ERROR$	ILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
	021356	012746 	035063 			 MOV	#^RILS,-(SP)
	021362	104400 				 TRAP	TC.ERR
  10615						;
  10616	021364				SCPSCF:
  10617	021364					ERROR$	SCF		; ERROR -- SET CLOCK FAILED
	021364	012746 	073476 			 MOV	#^RSCF,-(SP)
	021370	104400 				 TRAP	TC.ERR
  10618						;
  10619	021372				SCPSPF:
  10620	021372					ERROR$	SPF		; ERROR -- SET PARITY FAILED
	021372	012746 	074506 			 MOV	#^RSPF,-(SP)
	021376	104400 				 TRAP	TC.ERR
  10621						;
  10622
  10623	002414				.PSECT	DATA
  10624
  10625	002414				SCCLKT:
  10626	002414	004220'				.WORD	.SCCTB		; TABLE TO SCAN
  10627	002416	010704'				.WORD	.LDCLK		; LOAD ROUTINE
  10628	002420	000010'				.WORD	.CLKWD		; PARAMETER WORD
  10629	002422	021364'				.WORD	SCPSCF		; ERROR ROUTINE
  10630	002424	021662'				.WORD	.WHTCA		; DISPLAY ROUTINE
  10631	002426				SCPART:
  10632	002426	004374'				.WORD	.SCPTB		; TABLE TO SCAN
  10633	002430	010722'				.WORD	.LDPAR		; LOAD ROUTINE
  10634	002432	000116'				.WORD	.PSCWD		; PARAMETER WORD
  10635	002434	021372'				.WORD	SCPSPF		; ERROR ROUTINE
  10636	002436	022064'				.WORD	.WHTPA		; DISPLAY ROUTINE
  10637
  10638	021400				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 302
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  10640					.SBTTL	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
  10641
  10642						.ENABL	LSB
  10643
  10644	021400				.SCCLN::			; SET / CLEAR CLOCK "NORMAL"
  10645	021400	005001 				CLR	R1		; CLEAR THE PARAMETER WORD
  10646	021402				.SCCRF::			; SET / CLEAR CLOCK "FULL"
  10647	021402	005002 				CLR	R2		; "FULL" CLOCK RATE
  10648	021404	000410 				BR	10$		; DO COMMON CODE
  10649						;
  10650	021406				.SCCRH::			; SET / CLEAR CLOCK "HALF"
  10651	021406	012702 	000001 			MOV	#CR.HLF,R2	; "HALF" CLOCK RATE
  10652	021412	000405 				BR	10$		; DO COMMON CODE
  10653						;
  10654	021414				.SCCRQ::			; SET / CLEAR CLOCK "QUARTER"
  10655	021414	012702 	000002 			MOV	#CR.QTR,R2	; "QUARTER" CLOCK RATE
  10656	021420	000402 				BR	10$		; DO COMMON CODE
  10657						;
  10658	021422				.SCCRS::			; SET / CLEAR CLOCK "SLOW"
  10659	021422	012702 	000003 			MOV	#CR.SLO,R2	; "SLOW" CLOCK RATE
  10660	021426				10$:
  10661	021426	042701 	000003 			BIC	#CR.ALL,R1	; CLEAR OUT THE OLD CLOCK RATE
  10662	021432	000422 				BR	40$		; AND GO DO CLEAR CHECK
  10663						;
  10664	021434				.SCCSE::			; SET / CLEAR CLOCK "EXTERNAL"
  10665	021434	012700 	001623'			MOV	#CCEMSG,R0	; ASK "ARE YOU SURE"
  10666	021440					CALL	.TYMSG		; PRINT IT
	021440	004737 	026202'			 JSR	PC,.TYMSG
  10667	021444					CALL	.YESNO		; ASK "YES OR NO"
	021444	004737 	022224'			 JSR	PC,.YESNO
  10668	021450	103403 				BCS	20$		; SAID "NO" IF CC-C IS SET
  10669	021452	012702 	000010 			MOV	#CS.EXT,R2	; "EXTERNAL" CLOCK SOURCE
  10670	021456	000406 				BR	30$		; DO COMMNON CODE
  10671						;
  10672	021460				20$:
  10673	021460	000177 	000134'			JMP	@.STRTV		; RESTART THE PARSER
  10674						;
  10675	021464				.SCCSI::			; SET / CLEAR CLOCK "INTERNAL"
  10676	021464	005002 				CLR	R2		; "INTERNAL" CLOCK SOURCE
  10677	021466	000402 				BR	30$		; DO COMMON CODE
  10678						;
  10679	021470				.SCCSM::			; SET / CLEAR CLOCK "MARGIN"
  10680	021470	012702 	000004 			MOV	#CS.MGN,R2	; "MARGIN" CLOCK SOURCE
  10681	021474				30$:
  10682	021474	042701 	000014 			BIC	#CS.ALL,R1	; CLEAR OUT THE OLD CLOCK SOURCE
  10683	021500				40$:
  10684	021500	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10685	021504	001002 				BNE	50$		; YES -- JUST EXIT
  10686	021506	050201 				BIS	R2,R1		; NO -- SET THE NEW CLOCK PARAMETERS
  10687	021510	000401 				BR	60$		; AND EXIT
  10688						;
  10689	021512				50$:
  10690	021512	040201 				BIC	R2,R1		; CLEAR THE NEW CLOCK PARAMETERS
  10691	021514				60$:
  10692	021514					RETURN			; EXIT
	021514	000207 				 RTS	PC
  10693
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 302-1
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  10694						.DSABL	LSB
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 303
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  10696						.ENABL	LSB
  10697
  10698	021516				.SCCEC::			; SET / CLEAR CLOCK "CRAM"
  10699	021516	012702 	002000 			MOV	#CD.CRC,R2	; "CRAM" CLOCK ENABLE
  10700	021522	000405 				BR	10$		; DO COMMON CODE
  10701						;
  10702	021524				.SCCED::			; SET / CLEAR CLOCK "DATA-PATH"
  10703	021524	012702 	001000 			MOV	#CD.DPC,R2	; "DATA-PATH" CLOCK ENABLE
  10704	021530	000402 				BR	10$		; DO COMMON CODE
  10705						;
  10706	021532				.SCCEE::			; SET / CLEAR CLOCK "CONTROL"
  10707	021532	012702 	000400 			MOV	#CD.CLC,R2	; "CONTROL" CLOCK ENABLE
  10708	021536				10$:
  10709	021536	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10710	021542	001402 				BEQ	20$		; NO -- SET THE NEW CLOCK ENABLE
  10711	021544	050201 				BIS	R2,R1		; YES -- SET THE DISABLE
  10712	021546	000401 				BR	30$		; AND EXIT
  10713						;
  10714	021550				20$:
  10715	021550	040201 				BIC	R2,R1		; CLEAR THE DISABLE
  10716	021552				30$:
  10717	021552					RETURN			; AND EXIT
	021552	000207 				 RTS	PC
  10718
  10719						.DSABL	LSB
  10720
  10721	001623				.PSECT	MESSAG
  10722
  10723	001623				CCEMSG:
  10724	001623	   007 	   177 	   177 		.ASCII	<007><177><177><007><177><177><007><177><177>
	001626	   007 	   177 	   177
	001631	   007 	   177 	   177
  10725	001634	   040 	   103 	   117 		.ASCIZ	% CONFIRM EXTERNAL CLOCK SOURCE%
	001637	   116 	   106 	   111
	001642	   122 	   115 	   040
	001645	   105 	   130 	   124
	001650	   105 	   122 	   116
	001653	   101 	   114 	   040
	001656	   103 	   114 	   117
	001661	   103 	   113 	   040
	001664	   123 	   117 	   125
	001667	   122 	   103 	   105
	001672	   000
  10726
  10727	021554				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 304
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08

  10729					.SBTTL	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
  10730
  10731						.ENABL	LSB
  10732
  10733	021554				.SCPAL::			; SET CLEAR PARITY-STOP "ALL"
  10734	021554	012702 	001416 			MOV	#PS.NRM,R2	; NORMAL PARITY STOPS
  10735	021560	000421 				BR	10$		; DO COMMON CODE
  10736						;
  10737	021562				.SCPAR::			; SET / CLEAR PARITY-STOP "AR"
  10738	021562	012702 	001000 			MOV	#AP.ARP,R2	; AR / ARX PARITY STOP
  10739	021566	000416 				BR	10$		; DO COMMON CODE
  10740						;
  10741	021570				.SCPCR::			; SET / CLEAR PARITY-STOP "CRAM"
  10742	021570	012702 	000004 			MOV	#IP.CRP,R2	; CRAM PARITY STOP
  10743	021574	000413 				BR	10$		; DO COMMON CODE
  10744						;
  10745	021576				.SCPDR::			; SET / CLEAR PARITY-STOP "DRAM"
  10746	021576	012702 	000002 			MOV	#IP.DRP,R2	; DRAM PARITY STOP
  10747	021602	000410 				BR	10$		; DO COMMON CODE
  10748						;
  10749	021604				.SCPEN::			; SET / CLEAR PARITY-STOP "ENABLE"
  10750	021604	012702 	000400 			MOV	#AP.EIP,R2	; PARITY STOP ENABLE
  10751	021610	000405 				BR	10$		; DO COMMON CODE
  10752						;
  10753	021612				.SCPFM::			; SET / CLEAR PARITY-STOP "FM"
  10754	021612	012702 	000010 			MOV	#IP.FMP,R2	; FAST MEMORY PARITY STOP
  10755	021616	000402 				BR	10$		; DO COMMON CODE
  10756						;
  10757	021620				.SCPFS::			; SET / CLEAR PARITY-STOP "FS-STOP"
  10758	021620	012702 	000001 			MOV	#IP.FSS,R2	; FS STOP
  10759	021624				10$:
  10760	021624	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  10761	021630	001402 				BEQ	20$		; NO -- GO ON
  10762	021632	040201 				BIC	R2,R1		; YES -- CLEAR THE ENABLE
  10763	021634					RETURN			; EXIT
	021634	000207 				 RTS	PC
  10764	021636				20$:
  10765	021636	052701 	000400 			BIS	#AP.EIP,R1	; ENABLE THE ERROR STOPS
  10766	021642	050201 				BIS	R2,R1		; SET THE ENABLES
  10767	021644					RETURN			; TO CALLER
	021644	000207 				 RTS	PC
  10768
  10769						.DSABL	LSB
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 305
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  10771					.SBTTL	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
  10772
  10773	021646				.WHTCL::
  10774	021646					CALL	.STPKL		; STOP THE KL
	021646	004737 	012012'			 JSR	PC,.STPKL
  10775	021652					CALL	.RDCPP		; READ THE CLOCK BOARD
	021652	004737 	011264'			 JSR	PC,.RDCPP
  10776	021656					CALL	.RSTKL		; RESTART THE KL
	021656	004737 	011734'			 JSR	PC,.RSTKL
  10777	021662				.WHTCA::
  10778	021662					PUSH	.CLKWD		; SAVE THE WORD ON THE STACK
	021662	013746 	000010'			 MOV	.CLKWD,-(SP)
  10779	021666	012700 	001673'			MOV	#WCMSG0,R0	; .HEADER MESSAGE
  10780	021672					CALL	.TYLIN		; .TYPE IT
	021672	004737 	026166'			 JSR	PC,.TYLIN
  10781	021676	012700 	001717'			MOV	#WCMSG1,R0	; .ENABLES
  10782	021702					CALL	.TYMSG		; .TYPE IT
	021702	004737 	026202'			 JSR	PC,.TYMSG
  10783	021706	012701 	002440'			MOV	#CLDSTB,R1	; .TABLE POINTER TO R1
  10784	021712	012702 	000003 			MOV	#^D3,R2		; .ITERATION COUNT TO R2
  10785	021716	011603 				MOV	(SP),R3		; .CLOCK WORD TO R3
  10786	021720	042703 	174377 			BIC	#^C<CD.ALL>,R3	; .MASK OUT THE DISABLES
  10787	021724	001005 				BNE	10$		; .GO PRINT DISABLES
  10788	021726	012700 	001755'			MOV	#NONMSG,R0	; .NO DISABLES SET -- SAY SO
  10789	021732					CALL	.TYLIN		; .TYPE IT
	021732	004737 	026166'			 JSR	PC,.TYLIN
  10790	021736	000414 				BR	30$		; .AND GO ON
  10791						;
  10792	021740				10$:
  10793	021740	012100 				MOV	(R1)+,R0	; .MESSAGE POINTER TO R0
  10794	021742	032103 				BIT	(R1)+,R3	; .IS THE DISABLE ON??
  10795	021744	001406 				BEQ	20$		; .NO -- FORGET IT
  10796	021746					CALL	.TYMSG		; .YES -- SAY SO
	021746	004737 	026202'			 JSR	PC,.TYMSG
  10797	021752					CALL	.TYCOM		; .TYPE A COMMA
	021752	004737 	025424'			 JSR	PC,.TYCOM
  10798	021756					CALL	.TYSPC		; .TYPE A <SPACE>
	021756	004737 	025454'			 JSR	PC,.TYSPC
  10799	021762				20$:
  10800	021762	077212 				SOB	R2,10$		; .LOOP TILL DONE
  10801	021764					CALL	.TCRLF		; .END THE LINE
	021764	004737 	026272'			 JSR	PC,.TCRLF
  10802
  10803					;	[CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 306
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  10805					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10806
  10807	021770				30$:
  10808	021770	012700 	001733'			MOV	#WCMSG2,R0	; .SOURCE MESSAGE
  10809	021774					CALL	.TYMSG		; .PRINT IT
	021774	004737 	026202'			 JSR	PC,.TYMSG
  10810	022000	011601 				MOV	(SP),R1		; .CLOCK CONTROL WORD TO R1
  10811	022002	042701 	177763 			BIC	#^C<CS.ALL>,R1	; .FLUSH JUNK
  10812	022006	006201 				ASR	R1		; .MAKE AN INDEX OF IT
  10813	022010	016100 	002454'			MOV	CLSRTB(R1),R0	; .SOURCE NAME TO R0
  10814	022014					CALL	.TYLIN		; .PRINT IT
	022014	004737 	026166'			 JSR	PC,.TYLIN
  10815	022020	012700 	001745'			MOV	#WCMSG3,R0	; .RATE MESSAGE
  10816	022024					CALL	.TYMSG		; .PRINT IT
	022024	004737 	026202'			 JSR	PC,.TYMSG
  10817	022030					POP	R1		; .CLOCK CONTROL WORD TO R1
	022030	012601 				 MOV	(SP)+,R1
  10818	022032	042701 	177774 			BIC	#^C<CR.ALL>,R1	; FLUSH JUNK
  10819	022036	006301 				ASL	R1		; MAKE AN INDEX FROM IT
  10820	022040	016100 	002464'			MOV	CLRTTB(R1),R0	; RATE NAME TO R0
  10821	022044					CALLR	.TYLIN		; PRINT IT AND EXIT
	022044	000137 	026166'			 JMP	.TYLIN
  10822						;
  10823
  10824	002440				.PSECT	DATA
  10825
  10826	002440				CLDSTB:
  10827	002440	003025'				.WORD	CRMMSG
  10828	002442	002000 				.WORD	CD.CRC
  10829	002444	003032'				.WORD	DPTMSG
  10830	002446	001000 				.WORD	CD.DPC
  10831	002450	003044'				.WORD	CTLMSG
  10832	002452	000400 				.WORD	CD.CLC
  10833	002454				CLSRTB:
  10834	002454	003065'				.WORD	INTMSG
  10835	002456	003076'				.WORD	MGNMSG
  10836	002460	003054'				.WORD	EXTMSG
  10837	002462	003076'				.WORD	MGNMSG
  10838	002464				CLRTTB:
  10839	002464	003105'				.WORD	FULMSG
  10840	002466	003112'				.WORD	HLFMSG
  10841	002470	003117'				.WORD	QTRMSG
  10842	002472	003127'				.WORD	SLOMSG
  10843
  10844	022050				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 307
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  10846	001673				.PSECT	MESSAG
  10847
  10848	001673				WCMSG0:
  10849	001673	   113 	   114 	   040 		.ASCIZ	%KL CLOCK PARAMETERS%
	001676	   103 	   114 	   117
	001701	   103 	   113 	   040
	001704	   120 	   101 	   122
	001707	   101 	   115 	   105
	001712	   124 	   105 	   122
	001715	   123 	   000
  10850	001717				WCMSG1:
  10851	001717	   040 	   104 	   111 		.ASCIZ	% DISABLED: %
	001722	   123 	   101 	   102
	001725	   114 	   105 	   104
	001730	   072 	   040 	   000
  10852	001733				WCMSG2:
  10853	001733	   040 	   123 	   117 		.ASCIZ	% SOURCE: %
	001736	   125 	   122 	   103
	001741	   105 	   072 	   040
	001744	   000
  10854	001745				WCMSG3:
  10855	001745	   040 	   122 	   101 		.ASCIZ	% RATE: %
	001750	   124 	   105 	   072
	001753	   040 	   000
  10856	001755				NONMSG:
  10857	001755	   116 	   117 	   116 		.ASCIZ	%NONE%
	001760	   105 	   000
  10858
  10859	022050				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 308
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  10861					.SBTTL	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
  10862
  10863	022050				.WHTPS::
  10864	022050					CALL	.STPKL		; STOP THE KL
	022050	004737 	012012'			 JSR	PC,.STPKL
  10865	022054					CALL	.RDCPP		; READ THE CLOCK BOARD
	022054	004737 	011264'			 JSR	PC,.RDCPP
  10866	022060					CALL	.RSTKL		; RESTART THE KL
	022060	004737 	011734'			 JSR	PC,.RSTKL
  10867	022064				.WHTPA::
  10868	022064					PUSH	.PSCWD		; SAVE THE WORD ON THE STACK
	022064	013746 	000116'			 MOV	.PSCWD,-(SP)
  10869	022070	012700 	001762'			MOV	#WPMSG0,R0	; .HEADER MESSAGE
  10870	022074					CALL	.TYLIN		; .TYPE IT
	022074	004737 	026166'			 JSR	PC,.TYLIN
  10871	022100	012700 	002014'			MOV	#WPMSG1,R0	; .ENABLE MESSAGE
  10872	022104					CALL	.TYMSG		; .TYPE IT
	022104	004737 	026202'			 JSR	PC,.TYMSG
  10873	022110	012700 	000034'			MOV	#ONMSG,R0	; .ASSUME THAT IT IS ON
  10874	022114	032716 	000400 			BIT	#AP.EIP,(SP)	; .IS THE ENABLE BIT ON?
  10875	022120	001002 				BNE	10$		; .YES -- SAY SO
  10876	022122	012700 	000037'			MOV	#OFFMSG,R0	; .NO -- CHANGE MESSAGE
  10877	022126				10$:
  10878	022126					CALL	.TYLIN		; .TYPE IT
	022126	004737 	026166'			 JSR	PC,.TYLIN
  10879	022132	012700 	002042'			MOV	#WPMSG2,R0	; .PARITY STOPS
  10880	022136					CALL	.TYMSG		; .TYPE IT
	022136	004737 	026202'			 JSR	PC,.TYMSG
  10881	022142	042716 	000400 			BIC	#AP.EIP,(SP)	; .CLEAR THE ENABLE BIT
  10882	022146	001005 				BNE	20$		; .GO ON IF BITS ARE THERE
  10883	022150	012700 	001755'			MOV	#NONMSG,R0	; .NONE THERE -- SAY SO
  10884	022154					CALL	.TYMSG		; .TYPE IT
	022154	004737 	026202'			 JSR	PC,.TYMSG
  10885	022160	000416 				BR	50$		; .AND EXIT
  10886						;
  10887
  10888					;	[CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 309
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  10890					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10891
  10892	022162				20$:
  10893	022162	012701 	002474'			MOV	#PSENTB,R1	; .TABLE POINTER TO R1
  10894	022166	012702 	000005 			MOV	#^D5,R2		; .ITERATION COUNT TO R2
  10895	022172				30$:
  10896	022172	012100 				MOV	(R1)+,R0	; .MESSAGE POINTER TO R0
  10897	022174	032116 				BIT	(R1)+,(SP)	; .IS THE BIT ON?
  10898	022176	001406 				BEQ	40$		; .NO -- GO ON
  10899	022200					CALL	.TYMSG		; .YES -- SAY SO
	022200	004737 	026202'			 JSR	PC,.TYMSG
  10900	022204					CALL	.TYCOM		; .TYPE A COMMA
	022204	004737 	025424'			 JSR	PC,.TYCOM
  10901	022210					CALL	.TYSPC		; .PRINT A <SPACE>
	022210	004737 	025454'			 JSR	PC,.TYSPC
  10902	022214				40$:
  10903	022214	077212 				SOB	R2,30$		; .LOOP TILL DONE
  10904	022216				50$:
  10905	022216	005726 				TST	(SP)+		; .CLEAR THE STACK
  10906	022220					CALLR	.TCRLF		; END THE LINE AND EXIT
	022220	000137 	026272'			 JMP	.TCRLF
  10907						;
  10908
  10909	002474				.PSECT	DATA
  10910
  10911	002474				PSENTB:
  10912	002474	002402'				.WORD	ARMSG
  10913	002476	001000 				.WORD	AP.ARP
  10914	002500	003025'				.WORD	CRMMSG
  10915	002502	000004 				.WORD	IP.CRP
  10916	002504	003134'				.WORD	DRMMSG
  10917	002506	000002 				.WORD	IP.DRP
  10918	002510	002447'				.WORD	FMMSG
  10919	002512	000010 				.WORD	IP.FMP
  10920	002514	003150'				.WORD	FSSMSG
  10921	002516	000001 				.WORD	IP.FSS
  10922
  10923	022224				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 310
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  10925	001762				.PSECT	MESSAG
  10926
  10927	001762				WPMSG0:
  10928	001762	   113 	   114 	   040 		.ASCIZ	%KL PARITY STOP PARAMETERS%
	001765	   120 	   101 	   122
	001770	   111 	   124 	   131
	001773	   040 	   123 	   124
	001776	   117 	   120 	   040
	002001	   120 	   101 	   122
	002004	   101 	   115 	   105
	002007	   124 	   105 	   122
	002012	   123 	   000
  10929	002014				WPMSG1:
  10930	002014	   040 	   120 	   101 		.ASCIZ	% PARITY STOP ENABLE: %
	002017	   122 	   111 	   124
	002022	   131 	   040 	   123
	002025	   124 	   117 	   120
	002030	   040 	   105 	   116
	002033	   101 	   102 	   114
	002036	   105 	   072 	   040
	002041	   000
  10931	002042				WPMSG2:
  10932	002042	   040 	   120 	   101 		.ASCIZ	% PARITY STOPS: %
	002045	   122 	   111 	   124
	002050	   131 	   040 	   123
	002053	   124 	   117 	   120
	002056	   123 	   072 	   040
	002061	   000
  10933	022224				.PSECT
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 311
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  10935					.SBTTL	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
  10936
  10937					;+
  10938					; .YESNO -- SUBROUTINE TO ASK "YES OR NO".
  10939					;
  10940					; THIS SUBROUTINE WILL ASK FOR A CONFIMATION TO A QUESTION, AND RETURN
  10941					; THE STATE OF THE RESPONSE IN CC-C ON RETURN. IF THE RESPONSE IS OTHER
  10942					; THAN A "YES" OR A "NO", THE QUESTION IS REITERATED.
  10943					;
  10944					; INPUT ARGUMENTS:
  10945					;
  10946					;	NONE.
  10947					;
  10948					; OUTPUT ARGUMENTS:
  10949					;
  10950					;	IF THE RESPONSE WAS "YES" CC-C IS CLEAR.
  10951					;	IF THE RESPONSE WAS "NO" CC-C IS SET.
  10952					;
  10953					; ERROR CODES RETURNED:
  10954					;
  10955					;	NONE.
  10956					;-
  10957
  10958	022224				.YESNO::
  10959	022224					PUSH	<R0,R1,R5>	; SAVE CALLERS REGISTERS
	022224	010046 				 MOV	R0,-(SP)
	022226	010146 				 MOV	R1,-(SP)
	022230	010546 				 MOV	R5,-(SP)
  10960	022232				10$:
  10961	022232	012700 	002062'			MOV	#YONMSG,R0	; ...MESSAGE POINTER TO R0
  10962	022236					CALL	.TYMSG		; ...PRINT IT
	022236	004737 	026202'			 JSR	PC,.TYMSG
  10963	022242					CALL	.TYOUT		; ...FORCE IT OUT
	022242	004737 	026320'			 JSR	PC,.TYOUT
  10964	022246	012701 	000240'			MOV	#.CIBFR,R1	; ...POINT TO THE INPUT BUFFER
  10965	022252					CALL	.GTLIN		; ...READ THE RESPONSE
	022252	004737 	024044'			 JSR	PC,.GTLIN
  10966	022256	001765 				BEQ	10$		; ...TRY AGAIN IF NO REAL RESPONSE
  10967	022260	010105 				MOV	R1,R5		; ...BUFFER POINTER TO R5
  10968	022262	012700 	002101'			MOV	#YESMSG,R0	; ...EXPECT "YES"
  10969	022266					CALL	.SSCAN		; ...SCAN FOR IT
	022266	004737 	013134'			 JSR	PC,.SSCAN
  10970	022272	103012 				BCC	30$		; ...WE GOT IT -- EXIT
  10971	022274	010105 				MOV	R1,R5		; ...SET UP BUFFER POINTER
  10972	022276	012700 	002105'			MOV	#NOMSG,R0	; ...TRY FOR "NO"
  10973	022302					CALL	.SSCAN		; ...SCAN THE SYMBOL
	022302	004737 	013134'			 JSR	PC,.SSCAN
  10974	022306	103003 				BCC	20$		; ...WE GOT IT
  10975	022310					CALL	.TCRLF		; ...DID'NT GET EITHER
	022310	004737 	026272'			 JSR	PC,.TCRLF
  10976	022314	000746 				BR	10$		; ...SO TRY AGAIN
  10977						;
  10978
  10979					;	[CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1110  03-OCT-79 11:35  PAGE 312
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  10981					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10982
  10983	022316				20$:
  10984	022316	000261 				SEC			; ...SET CC-C TO SAY "NO"
  10985	022320				30$:
  10986	022320					POP	<R5,R1,R0>	; ...RESTORE REGISTERS
	022320	012605 				 MOV	(SP)+,R5
	022322	012601 				 MOV	(SP)+,R1
	022324	012600 				 MOV	(SP)+,R0
  10987	022326					RETURN			; ...TO CALLER
	022326	000207 				 RTS	PC
  10988
  10989	002062				.PSECT	MESSAG
  10990
  10991	002062				YONMSG:
  10992	002062	   040 	   050 	   131 		.ASCIZ	% (YES OR NO)? %
	002065	   105 	   123 	   040
	002070	   117 	   122 	   040
	002073	   116 	   117 	   051
	002076	   077 	   040 	   000
  10993	002101				YESMSG:
  10994	002101	   131 	   105 	   123 		.ASCIZ	%YES%
	002104	   000
  10995	002105				NOMSG:
  10996	002105	   116 	   117 	   000 		.ASCIZ	%NO%
  10997
  10998	022330				.PSECT
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 313
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  11000					.TITLE	TABLE -- COMMAND PARSER COMMAND TABLES 7812.20
  11001
  11002						.IDENT	"005000"
  11003
  11004					;
  11005					;                             COPYRIGHT (C) 1975, 1979 BY
  11006					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  11007					;
  11008					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  11009					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  11010					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  11011					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  11012					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  11013					;
  11014					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  11015					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  11016					;       CORPORATION.
  11017					;
  11018					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  11019					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  11020					;
  11021					;		MODULE: MAIN COMMAND PARSER TABLES
  11022					;
  11023					;		VERSION: 05-00
  11024					;
  11025					;		AUTHOR: R. BELANGER
  11026					;
  11027					;		DATE: 7812.20
  11028					;
  11029					;	THIS MODULE CONTAINS:
  11030					;
  11031					;	1) THE MAIN COMMAND TABLES
  11032					;
  11033					;  MODIFICATIONS:
  11034					;
  11035					;	NO.	DATE		PROGRAMMER	REASON
  11036					;	---	----		----------	------
  11037					;	001	28-FEB-77	R. BELANGER	ADD DISCONNECT COMMAND
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 314
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

  11039					.SBTTL	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
  11040
  11041	002520					.PSECT	DATA
  11042
  11043	002520				.CMDTB::
  11044	002520					COMND$	,<LG.OPR!LG.RPT>,.NULLC,NUL
	002110	   000 			NULMSG:: .ASCIZ	%%
	002520	002110'				 .WORD	NULMSG		; POINTER TO "" SYMBOL
	002522	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002524	012254'				 .WORD	.NULLC		; ROUTINE TO CALL OR DATA
  11045					;
  11046	002526					COMND$	ABORT,LG.OPR,.ABRTC,ABO
	002111	   101 	   102 	   117 	ABOMSG:: .ASCIZ	%ABORT%
	002114	   122 	   124 	   000
	002526	002111'				 .WORD	ABOMSG		; POINTER TO "ABORT" SYMBOL
	002530	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002532	000000'				 .WORD	.ABRTC		; ROUTINE TO CALL OR DATA
  11047					;
  11048	002534					COMND$	CLEAR,<LG.OPR!LG.RPT>,.CLRCM,CLR
	002117	   103 	   114 	   105 	CLRMSG:: .ASCIZ	%CLEAR%
	002122	   101 	   122 	   000
	002534	002117'				 .WORD	CLRMSG		; POINTER TO "CLEAR" SYMBOL
	002536	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002540	017502'				 .WORD	.CLRCM		; ROUTINE TO CALL OR DATA
  11049					;
  11050	002542					COMND$	CONTINUE,<LG.PRG!LG.RPT>,.CONTC,CNT
	002125	   103 	   117 	   116 	CNTMSG:: .ASCIZ	%CONTINUE%
	002130	   124 	   111 	   116
	002133	   125 	   105 	   000
	002542	002125'				 .WORD	CNTMSG		; POINTER TO "CONTINUE" SYMBOL
	002544	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002546	000504'				 .WORD	.CONTC		; ROUTINE TO CALL OR DATA
  11051					;
  11052	002550					COMND$	DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC,DEP
	002136	   104 	   105 	   120 	DEPMSG:: .ASCIZ	%DEPOSIT%
	002141	   117 	   123 	   111
	002144	   124 	   000
	002550	002136'				 .WORD	DEPMSG		; POINTER TO "DEPOSIT" SYMBOL
	002552	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002554	000606'				 .WORD	.DPOSC		; ROUTINE TO CALL OR DATA
  11053					;
  11054	002556					COMND$	DISCONNECT,LG.ALL,.DISCC,DIS
	002146	   104 	   111 	   123 	DISMSG:: .ASCIZ	%DISCONNECT%
	002151	   103 	   117 	   116
	002154	   116 	   105 	   103
	002157	   124 	   000
	002556	002146'				 .WORD	DISMSG		; POINTER TO "DISCONNECT" SYMBOL
	002560	000007 				 .WORD	LG.ALL		; LEGAL BITS
	002562	001572'				 .WORD	.DISCC		; ROUTINE TO CALL OR DATA
  11055					;
  11056	002564					COMND$	EXAMINE,<LG.OPR!LG.RPT>,.EXAMC,EXA
	002161	   105 	   130 	   101 	EXAMSG:: .ASCIZ	%EXAMINE%
	002164	   115 	   111 	   116
	002167	   105 	   000
	002564	002161'				 .WORD	EXAMSG		; POINTER TO "EXAMINE" SYMBOL
	002566	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002570	000650'				 .WORD	.EXAMC		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 314-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

  11057					;
  11058	002572					COMND$	FREAD,<LG.MNT!LG.RPT>,.DFRED,FRD
	002171	   106 	   122 	   105 	FRDMSG:: .ASCIZ	%FREAD%
	002174	   101 	   104 	   000
	002572	002171'				 .WORD	FRDMSG		; POINTER TO "FREAD" SYMBOL
	002574	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002576	001300'				 .WORD	.DFRED		; ROUTINE TO CALL OR DATA
  11059					;
  11060	002600					COMND$	FWRITE,<LG.MNT!LG.RPT>,.DFWRT,FWR
	002177	   106 	   127 	   122 	FWRMSG:: .ASCIZ	%FWRITE%
	002202	   111 	   124 	   105
	002205	   000
	002600	002177'				 .WORD	FWRMSG		; POINTER TO "FWRITE" SYMBOL
	002602	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002604	001404'				 .WORD	.DFWRT		; ROUTINE TO CALL OR DATA
  11061					;
  11062	002606					COMND$	FXCT,<LG.MNT!LG.RPT>,.DFXCT,FXC
	002206	   106 	   130 	   103 	FXCMSG:: .ASCIZ	%FXCT%
	002211	   124 	   000
	002606	002206'				 .WORD	FXCMSG		; POINTER TO "FXCT" SYMBOL
	002610	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002612	001464'				 .WORD	.DFXCT		; ROUTINE TO CALL OR DATA
  11063					;
  11064	002614					COMND$	HALT,<LG.PRG!LG.RPT>,.HALTC,HLT
	002213	   110 	   101 	   114 	HLTMSG:: .ASCIZ	%HALT%
	002216	   124 	   000
	002614	002213'				 .WORD	HLTMSG		; POINTER TO "HALT" SYMBOL
	002616	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002620	006062'				 .WORD	.HALTC		; ROUTINE TO CALL OR DATA
  11065					;
  11070	002622					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.INITC,INI
	002220	   111 	   116 	   111 	INIMSG:: .ASCIZ	%INITIALIZE%
	002223	   124 	   111 	   101
	002226	   114 	   111 	   132
	002231	   105 	   000
	002622	002220'				 .WORD	INIMSG		; POINTER TO "INITIALIZE" SYMBOL
	002624	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002626	006072'				 .WORD	.INITC		; ROUTINE TO CALL OR DATA
  11071					;
  11072	002630					COMND$	JUMP,LG.OPR,.JUMPC,JMP
	002233	   112 	   125 	   115 	JMPMSG:: .ASCIZ	%JUMP%
	002236	   120 	   000
	002630	002233'				 .WORD	JMPMSG		; POINTER TO "JUMP" SYMBOL
	002632	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002634	017726'				 .WORD	.JUMPC		; ROUTINE TO CALL OR DATA
  11073					;
  11074	002636					COMND$	MCR,LG.OPR,.RUNCM,MCR
	002240	   115 	   103 	   122 	MCRMSG:: .ASCIZ	%MCR%
	002243	   000
	002636	002240'				 .WORD	MCRMSG		; POINTER TO "MCR" SYMBOL
	002640	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002642	013622'				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
  11075					;
  11076	002644					COMND$	REPEAT,<LG.OPR!LG.RPT>,.REPTC,RPT
	002244	   122 	   105 	   120 	RPTMSG:: .ASCIZ	%REPEAT%
	002247	   105 	   101 	   124
	002252	   000
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 314-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	002644	002244'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	002646	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002650	013176'				 .WORD	.REPTC		; ROUTINE TO CALL OR DATA
  11077					;
  11078	002652					COMND$	RESET,<LG.PRG!LG.RPT>,.RESTC,RST
	002253	   122 	   105 	   123 	RSTMSG:: .ASCIZ	%RESET%
	002256	   105 	   124 	   000
	002652	002253'				 .WORD	RSTMSG		; POINTER TO "RESET" SYMBOL
	002654	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002656	013270'				 .WORD	.RESTC		; ROUTINE TO CALL OR DATA
  11079					;
  11080	002660					COMND$	RUN,LG.OPR,.RUNCM,RUN
	002261	   122 	   125 	   116 	RUNMSG:: .ASCIZ	%RUN%
	002264	   000
	002660	002261'				 .WORD	RUNMSG		; POINTER TO "RUN" SYMBOL
	002662	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002664	013622'				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
  11081					;
  11082	002666					COMND$	SET,<LG.OPR!LG.RPT>,.SETCM,SET
	002265	   123 	   105 	   124 	SETMSG:: .ASCIZ	%SET%
	002270	   000
	002666	002265'				 .WORD	SETMSG		; POINTER TO "SET" SYMBOL
	002670	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002672	017522'				 .WORD	.SETCM		; ROUTINE TO CALL OR DATA
  11083					;
  11084	002674					COMND$	SHUTDOWN,LG.OPR,.SHUTC,SHU
	002271	   123 	   110 	   125 	SHUMSG:: .ASCIZ	%SHUTDOWN%
	002274	   124 	   104 	   117
	002277	   127 	   116 	   000
	002674	002271'				 .WORD	SHUMSG		; POINTER TO "SHUTDOWN" SYMBOL
	002676	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002700	017614'				 .WORD	.SHUTC		; ROUTINE TO CALL OR DATA
  11085					;
  11086	002702					COMND$	START,<LG.PRG!LG.RPT>,.STRTC,STR
	002302	   123 	   124 	   101 	STRMSG:: .ASCIZ	%START%
	002305	   122 	   124 	   000
	002702	002302'				 .WORD	STRMSG		; POINTER TO "START" SYMBOL
	002704	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002706	017704'				 .WORD	.STRTC		; ROUTINE TO CALL OR DATA
  11087					;
  11088	002710					COMND$	QUIT,LG.OPR,.QUITC,QUT
	002310	   121 	   125 	   111 	QUTMSG:: .ASCIZ	%QUIT%
	002313	   124 	   000
	002710	002310'				 .WORD	QUTMSG		; POINTER TO "QUIT" SYMBOL
	002712	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002714	014036'				 .WORD	.QUITC		; ROUTINE TO CALL OR DATA
  11089					;
  11090	002716					COMND$	WHAT,LG.OPR,.WHATC,WHA
	002315	   127 	   110 	   101 	WHAMSG:: .ASCIZ	%WHAT%
	002320	   124 	   000
	002716	002315'				 .WORD	WHAMSG		; POINTER TO "WHAT" SYMBOL
	002720	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002722	017556'				 .WORD	.WHATC		; ROUTINE TO CALL OR DATA
  11091					;
  11092	002724					COMND$	XCT,<LG.PRG!LG.RPT>,.EXCTC,XCT
	002322	   130 	   103 	   124 	XCTMSG:: .ASCIZ	%XCT%
	002325	   000
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 314-3
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	002724	002322'				 .WORD	XCTMSG		; POINTER TO "XCT" SYMBOL
	002726	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002730	004222'				 .WORD	.EXCTC		; ROUTINE TO CALL OR DATA
  11093					;
  11094	002732					COMND$	ZERO,LG.PRG,.ZEROC,ZER
	002326	   132 	   105 	   122 	ZERMSG:: .ASCIZ	%ZERO%
	002331	   117 	   000
	002732	002326'				 .WORD	ZERMSG		; POINTER TO "ZERO" SYMBOL
	002734	000002 				 .WORD	LG.PRG		; LEGAL BITS
	002736	026456'				 .WORD	.ZEROC		; ROUTINE TO CALL OR DATA
  11095					;
  11096	002740	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 315
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23

  11098					.SBTTL	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
  11099
  11100	002742				.DPETB::
  11101	002742					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
	002333	   104 	   105 	   103 	DCRMSG:: .ASCIZ	%DECREMENT%
	002336	   122 	   105 	   115
	002341	   105 	   116 	   124
	002344	   000
	002742	002333'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	002744	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	002746	000624'				 .WORD	.DPOSD		; ROUTINE TO CALL OR DATA
  11102					;
  11103	002750					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
	002345	   111 	   116 	   103 	INCMSG:: .ASCIZ	%INCREMENT%
	002350	   122 	   105 	   115
	002353	   105 	   116 	   124
	002356	   000
	002750	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	002752	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	002754	000630'				 .WORD	.DPOSI		; ROUTINE TO CALL OR DATA
  11104					;
  11105	002756					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
	002357	   116 	   105 	   130 	NXTMSG:: .ASCIZ	%NEXT%
	002362	   124 	   000
	002756	002357'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	002760	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	002762	000634'				 .WORD	.DPOSN		; ROUTINE TO CALL OR DATA
  11106					;
  11107	002764					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
	002364	   120 	   122 	   105 	PRVMSG:: .ASCIZ	%PREVIOUS%
	002367	   126 	   111 	   117
	002372	   125 	   123 	   000
	002764	002364'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	002766	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	002770	000640'				 .WORD	.DPOSP		; ROUTINE TO CALL OR DATA
  11108					;
  11109	002772					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
	002375	   124 	   110 	   111 	THSMSG:: .ASCIZ	%THIS%
	002400	   123 	   000
	002772	002375'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	002774	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	002776	000644'				 .WORD	.DPOSZ		; ROUTINE TO CALL OR DATA
  11110					;
  11111	003000	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 316
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23

  11113					.SBTTL	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
  11114
  11115	003002				.DPOTB::
  11116	003002					COMND$	AR,<LG.PRG!LG.RPT>,.DEPAR,AR
	002402	   101 	   122 	   000 	ARMSG:: .ASCIZ	%AR%
	003002	002402'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	003004	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003006	002250'				 .WORD	.DEPAR		; ROUTINE TO CALL OR DATA
  11117					;
  11118	003010					COMND$	ELEVEN,<LG.PRG!LG.RPT>,.DPOEL,ELE
	002405	   105 	   114 	   105 	ELEMSG:: .ASCIZ	%ELEVEN%
	002410	   126 	   105 	   116
	002413	   000
	003010	002405'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	003012	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003014	000742'				 .WORD	.DPOEL		; ROUTINE TO CALL OR DATA
  11119					;
  11120	003016					COMND$	TEN,<LG.PRG!LG.RPT>,.DPOKL,TEN
	002414	   124 	   105 	   116 	TENMSG:: .ASCIZ	%TEN%
	002417	   000
	003016	002414'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	003020	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003022	000734'				 .WORD	.DPOKL		; ROUTINE TO CALL OR DATA
  11121					;
  11122	003024					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
	003024	002333'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	003026	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003030	000624'				 .WORD	.DPOSD		; ROUTINE TO CALL OR DATA
  11123					;
  11124	003032					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
	003032	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	003034	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003036	000630'				 .WORD	.DPOSI		; ROUTINE TO CALL OR DATA
  11125					;
  11126	003040					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
	003040	002357'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	003042	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003044	000634'				 .WORD	.DPOSN		; ROUTINE TO CALL OR DATA
  11127					;
  11128	003046					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
	003046	002364'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	003050	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003052	000640'				 .WORD	.DPOSP		; ROUTINE TO CALL OR DATA
  11129					;
  11130	003054					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
	003054	002375'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	003056	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003060	000644'				 .WORD	.DPOSZ		; ROUTINE TO CALL OR DATA
  11131					;
  11132	003062	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 317
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16

  11134					.SBTTL	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
  11135
  11136	003064				.EXETB::
  11137	003064					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
	003064	002333'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	003066	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003070	000666'				 .WORD	.EXAMD		; ROUTINE TO CALL OR DATA
  11138					;
  11139	003072					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
	003072	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	003074	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003076	000672'				 .WORD	.EXAMI		; ROUTINE TO CALL OR DATA
  11140					;
  11141	003100					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
	003100	002357'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	003102	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003104	000676'				 .WORD	.EXAMN		; ROUTINE TO CALL OR DATA
  11142					;
  11143	003106					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
	003106	002364'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	003110	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003112	000702'				 .WORD	.EXAMP		; ROUTINE TO CALL OR DATA
  11144					;
  11145	003114					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
	003114	002375'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	003116	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003120	000706'				 .WORD	.EXAMZ		; ROUTINE TO CALL OR DATA
  11146					;
  11147	003122	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 318
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

  11149					.SBTTL	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
  11150
  11151	003124				.EXMTB::
  11152	003124					COMND$	AD,<LG.PRG!LG.RPT>,.EXAD,AD
	002420	   101 	   104 	   000 	ADMSG:: .ASCIZ	%AD%
	003124	002420'				 .WORD	ADMSG		; POINTER TO "AD" SYMBOL
	003126	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003130	004276'				 .WORD	.EXAD		; ROUTINE TO CALL OR DATA
  11153					;
  11154	003132					COMND$	ADX,<LG.PRG!LG.RPT>,.EXADX,ADX
	002423	   101 	   104 	   130 	ADXMSG:: .ASCIZ	%ADX%
	002426	   000
	003132	002423'				 .WORD	ADXMSG		; POINTER TO "ADX" SYMBOL
	003134	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003136	004304'				 .WORD	.EXADX		; ROUTINE TO CALL OR DATA
  11155					;
  11156	003140					COMND$	AR,<LG.PRG!LG.RPT>,.EXARR,AR
	003140	002402'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	003142	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003144	004312'				 .WORD	.EXARR		; ROUTINE TO CALL OR DATA
  11157					;
  11158	003146					COMND$	ARX,<LG.PRG!LG.RPT>,.EXARX,ARX
	002427	   101 	   122 	   130 	ARXMSG:: .ASCIZ	%ARX%
	002432	   000
	003146	002427'				 .WORD	ARXMSG		; POINTER TO "ARX" SYMBOL
	003150	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003152	004320'				 .WORD	.EXARX		; ROUTINE TO CALL OR DATA
  11159					;
  11160	003154					COMND$	BR,<LG.PRG!LG.RPT>,.EXBRR,BR
	002433	   102 	   122 	   000 	BRMSG:: .ASCIZ	%BR%
	003154	002433'				 .WORD	BRMSG		; POINTER TO "BR" SYMBOL
	003156	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003160	004326'				 .WORD	.EXBRR		; ROUTINE TO CALL OR DATA
  11161					;
  11162	003162					COMND$	BRX,<LG.PRG!LG.RPT>,.EXBRX,BRX
	002436	   102 	   122 	   130 	BRXMSG:: .ASCIZ	%BRX%
	002441	   000
	003162	002436'				 .WORD	BRXMSG		; POINTER TO "BRX" SYMBOL
	003164	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003166	004334'				 .WORD	.EXBRX		; ROUTINE TO CALL OR DATA
  11163					;
  11164	003170					COMND$	EBUS,<LG.PRG!LG.RPT>,.EXEBS,EBS
	002442	   105 	   102 	   125 	EBSMSG:: .ASCIZ	%EBUS%
	002445	   123 	   000
	003170	002442'				 .WORD	EBSMSG		; POINTER TO "EBUS" SYMBOL
	003172	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003174	004342'				 .WORD	.EXEBS		; ROUTINE TO CALL OR DATA
  11165					;
  11166	003176					COMND$	FM,<LG.PRG!LG.RPT>,.EXFMR,FM
	002447	   106 	   115 	   000 	FMMSG:: .ASCIZ	%FM%
	003176	002447'				 .WORD	FMMSG		; POINTER TO "FM" SYMBOL
	003200	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003202	004350'				 .WORD	.EXFMR		; ROUTINE TO CALL OR DATA
  11167					;
  11168	003204					COMND$	MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
	002452	   115 	   121 	   000 	MQMSG:: .ASCIZ	%MQ%
	003204	002452'				 .WORD	MQMSG		; POINTER TO "MQ" SYMBOL
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 318-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	003206	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003210	004356'				 .WORD	.EXMQR		; ROUTINE TO CALL OR DATA
  11169					;
  11170	003212					COMND$	PC,<LG.ALL!LG.RPT>,.EXVPC,PC
	002455	   120 	   103 	   000 	PCMSG:: .ASCIZ	%PC%
	003212	002455'				 .WORD	PCMSG		; POINTER TO "PC" SYMBOL
	003214	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	003216	004406'				 .WORD	.EXVPC		; ROUTINE TO CALL OR DATA
  11171					;
  11172		000012 			EXRTBL==<.-.EXMTB>/6
  11173	003220					COMND$	AB,<LG.PRG!LG.RPT>,.EXVAB,AB
	002460	   101 	   102 	   000 	ABMSG:: .ASCIZ	%AB%
	003220	002460'				 .WORD	ABMSG		; POINTER TO "AB" SYMBOL
	003222	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003224	004364'				 .WORD	.EXVAB		; ROUTINE TO CALL OR DATA
  11174					;
  11175	003226					COMND$	CRADDR,<LG.PRG!LG.RPT>,.EXCRA,CRA
	002463	   103 	   122 	   101 	CRAMSG:: .ASCIZ	%CRADDR%
	002466	   104 	   104 	   122
	002471	   000
	003226	002463'				 .WORD	CRAMSG		; POINTER TO "CRADDR" SYMBOL
	003230	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003232	004662'				 .WORD	.EXCRA		; ROUTINE TO CALL OR DATA
  11176					;
  11177	003234					COMND$	CRLOC,<LG.PRG!LG.RPT>,.EXCRL,CRL
	002472	   103 	   122 	   114 	CRLMSG:: .ASCIZ	%CRLOC%
	002475	   117 	   103 	   000
	003234	002472'				 .WORD	CRLMSG		; POINTER TO "CRLOC" SYMBOL
	003236	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003240	004670'				 .WORD	.EXCRL		; ROUTINE TO CALL OR DATA
  11178					;
  11179	003242					COMND$	DRADDR,<LG.PRG!LG.RPT>,.EXDRA,DRA
	002500	   104 	   122 	   101 	DRAMSG:: .ASCIZ	%DRADDR%
	002503	   104 	   104 	   122
	002506	   000
	003242	002500'				 .WORD	DRAMSG		; POINTER TO "DRADDR" SYMBOL
	003244	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003246	004676'				 .WORD	.EXDRA		; ROUTINE TO CALL OR DATA
  11180					;
  11181	003250					COMND$	DTE-20,<LG.PRG!LG.RPT>,.EXDTE,DTE
	002507	   104 	   124 	   105 	DTEMSG:: .ASCIZ	%DTE-20%
	002512	   055 	   062 	   060
	002515	   000
	003250	002507'				 .WORD	DTEMSG		; POINTER TO "DTE-20" SYMBOL
	003252	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003254	004776'				 .WORD	.EXDTE		; ROUTINE TO CALL OR DATA
  11182					;
  11183	003256					COMND$	ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
	003256	002405'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	003260	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	003262	001000'				 .WORD	.EXMEL		; ROUTINE TO CALL OR DATA
  11184					;
  11185	003264					COMND$	FE,<LG.PRG!LG.RPT>,.EXFER,FER
	002516	   106 	   105 	   000 	FERMSG:: .ASCIZ	%FE%
	003264	002516'				 .WORD	FERMSG		; POINTER TO "FE" SYMBOL
	003266	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003270	004704'				 .WORD	.EXFER		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 318-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

  11186					;
  11187	003272					COMND$	FLAGS,<LG.PRG!LG.RPT>,.EXAMF,FLG
	002521	   106 	   114 	   101 	FLGMSG:: .ASCIZ	%FLAGS%
	002524	   107 	   123 	   000
	003272	002521'				 .WORD	FLGMSG		; POINTER TO "FLAGS" SYMBOL
	003274	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003276	004502'				 .WORD	.EXAMF		; ROUTINE TO CALL OR DATA
  11188					;
  11189	003300					COMND$	KL,<LG.ALL!LG.RPT>,.EXAMK,KL
	002527	   113 	   114 	   000 	KLMSG:: .ASCIZ	%KL%
	003300	002527'				 .WORD	KLMSG		; POINTER TO "KL" SYMBOL
	003302	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	003304	004606'				 .WORD	.EXAMK		; ROUTINE TO CALL OR DATA
  11190					;
  11191	003306					COMND$	PI,<LG.PRG!LG.RPT>,.EXMPI,PI
	002532	   120 	   111 	   000 	PIMSG:: .ASCIZ	%PI%
	003306	002532'				 .WORD	PIMSG		; POINTER TO "PI" SYMBOL
	003310	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003312	005074'				 .WORD	.EXMPI		; ROUTINE TO CALL OR DATA
  11192					;
  11193	003314					COMND$	REGISTERS,<LG.PRG!LG.RPT>,.EXREG,REG
	002535	   122 	   105 	   107 	REGMSG:: .ASCIZ	%REGISTERS%
	002540	   111 	   123 	   124
	002543	   105 	   122 	   123
	002546	   000
	003314	002535'				 .WORD	REGMSG		; POINTER TO "REGISTERS" SYMBOL
	003316	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003320	005246'				 .WORD	.EXREG		; ROUTINE TO CALL OR DATA
  11194					;
  11195	003322					COMND$	TEN,<LG.OPR!LG.RPT>,.EXMKL,TEN
	003322	002414'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	003324	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	003326	001010'				 .WORD	.EXMKL		; ROUTINE TO CALL OR DATA
  11196					;
  11197	003330					COMND$	VMA,<LG.PRG!LG.RPT>,.EXVMA,VMA
	002547	   126 	   115 	   101 	VMAMSG:: .ASCIZ	%VMA%
	002552	   000
	003330	002547'				 .WORD	VMAMSG		; POINTER TO "VMA" SYMBOL
	003332	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003334	004372'				 .WORD	.EXVMA		; ROUTINE TO CALL OR DATA
  11198					;
  11199	003336					COMND$	VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
	002553	   126 	   115 	   101 	VMHMSG:: .ASCIZ	%VMAH%
	002556	   110 	   000
	003336	002553'				 .WORD	VMHMSG		; POINTER TO "VMAH" SYMBOL
	003340	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003342	004400'				 .WORD	.EXVMH		; ROUTINE TO CALL OR DATA
  11200					;
  11201	003344					COMND$	SBR,<LG.PRG!LG.RPT>,.EXSBR,SBR
	002560	   123 	   102 	   122 	SBRMSG:: .ASCIZ	%SBR%
	002563	   000
	003344	002560'				 .WORD	SBRMSG		; POINTER TO "SBR" SYMBOL
	003346	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003350	004712'				 .WORD	.EXSBR		; ROUTINE TO CALL OR DATA
  11202					;
  11203	003352					COMND$	SC,<LG.PRG!LG.RPT>,.EXSCR,SCR
	002564	   123 	   103 	   000 	SCRMSG:: .ASCIZ	%SC%
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 318-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	003352	002564'				 .WORD	SCRMSG		; POINTER TO "SC" SYMBOL
	003354	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	003356	004720'				 .WORD	.EXSCR		; ROUTINE TO CALL OR DATA
  11204					;
  11205	003360					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
	003360	002333'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	003362	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003364	000666'				 .WORD	.EXAMD		; ROUTINE TO CALL OR DATA
  11206					;
  11207	003366					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
	003366	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	003370	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003372	000672'				 .WORD	.EXAMI		; ROUTINE TO CALL OR DATA
  11208					;
  11209	003374					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
	003374	002357'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	003376	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003400	000676'				 .WORD	.EXAMN		; ROUTINE TO CALL OR DATA
  11210					;
  11211	003402					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
	003402	002364'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	003404	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003406	000702'				 .WORD	.EXAMP		; ROUTINE TO CALL OR DATA
  11212					;
  11213	003410					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
	003410	002375'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	003412	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003414	000706'				 .WORD	.EXAMZ		; ROUTINE TO CALL OR DATA
  11214					;
  11215	003416	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 319
.KLMTB -- THE KLINIK MODE TABLE 7702.16

  11217					.SBTTL	.KLMTB -- THE KLINIK MODE TABLE 7702.16
  11218
  11219	003420				.KLMTB::
  11220	003420					COMND$	MAINTENANCE,LG.ALL,LG.ALL,MNT
	002567	   115 	   101 	   111 	MNTMSG:: .ASCIZ	%MAINTENANCE%
	002572	   116 	   124 	   105
	002575	   116 	   101 	   116
	002600	   103 	   105 	   000
	003420	002567'				 .WORD	MNTMSG		; POINTER TO "MAINTENANCE" SYMBOL
	003422	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003424	000007 				 .WORD	LG.ALL		; ROUTINE TO CALL OR DATA
  11221					;
  11222	003426					COMND$	OPERATOR,LG.ALL,LG.OPR,OPR
	002603	   117 	   120 	   105 	OPRMSG:: .ASCIZ	%OPERATOR%
	002606	   122 	   101 	   124
	002611	   117 	   122 	   000
	003426	002603'				 .WORD	OPRMSG		; POINTER TO "OPERATOR" SYMBOL
	003430	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003432	000001 				 .WORD	LG.OPR		; ROUTINE TO CALL OR DATA
  11223					;
  11224	003434					COMND$	PROGRAMMER,LG.ALL,LG.PRM,PRG
	002614	   120 	   122 	   117 	PRGMSG:: .ASCIZ	%PROGRAMMER%
	002617	   107 	   122 	   101
	002622	   115 	   115 	   105
	002625	   122 	   000
	003434	002614'				 .WORD	PRGMSG		; POINTER TO "PROGRAMMER" SYMBOL
	003436	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003440	000003 				 .WORD	LG.PRM		; ROUTINE TO CALL OR DATA
  11225					;
  11226	003442	000000 				.WORD	0		; END OF TABLE MARKER
  11227
  11228	003444				.KLMT1::
  11229	003444					COMND$	REMOTE,LG.ALL,1,REM
	002627	   122 	   105 	   115 	REMMSG:: .ASCIZ	%REMOTE%
	002632	   117 	   124 	   105
	002635	   000
	003444	002627'				 .WORD	REMMSG		; POINTER TO "REMOTE" SYMBOL
	003446	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003450	000001 				 .WORD	1		; ROUTINE TO CALL OR DATA
  11230					;
  11231	003452					COMND$	USER,LG.ALL,-1,USR
	002636	   125 	   123 	   105 	USRMSG:: .ASCIZ	%USER%
	002641	   122 	   000
	003452	002636'				 .WORD	USRMSG		; POINTER TO "USER" SYMBOL
	003454	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003456	177777 				 .WORD	-1		; ROUTINE TO CALL OR DATA
  11232					;
  11233	003460	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 320
.MONTB -- THE MONTH TABLE 7702.16

  11235					.SBTTL	.MONTB -- THE MONTH TABLE 7702.16
  11236
  11237
  11238	003462				.MONTB::
  11239	003462					COMND$	JANUARY,LG.ALL,1.,JAN
	002643	   112 	   101 	   116 	JANMSG:: .ASCIZ	%JANUARY%
	002646	   125 	   101 	   122
	002651	   131 	   000
	003462	002643'				 .WORD	JANMSG		; POINTER TO "JANUARY" SYMBOL
	003464	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003466	000001 				 .WORD	1.		; ROUTINE TO CALL OR DATA
  11240					;
  11241	003470					COMND$	FEBRUARY,LG.ALL,2.,FEB
	002653	   106 	   105 	   102 	FEBMSG:: .ASCIZ	%FEBRUARY%
	002656	   122 	   125 	   101
	002661	   122 	   131 	   000
	003470	002653'				 .WORD	FEBMSG		; POINTER TO "FEBRUARY" SYMBOL
	003472	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003474	000002 				 .WORD	2.		; ROUTINE TO CALL OR DATA
  11242					;
  11243	003476					COMND$	MARCH,LG.ALL,3.,MAR
	002664	   115 	   101 	   122 	MARMSG:: .ASCIZ	%MARCH%
	002667	   103 	   110 	   000
	003476	002664'				 .WORD	MARMSG		; POINTER TO "MARCH" SYMBOL
	003500	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003502	000003 				 .WORD	3.		; ROUTINE TO CALL OR DATA
  11244					;
  11245	003504					COMND$	APRIL,LG.ALL,4.,APR
	002672	   101 	   120 	   122 	APRMSG:: .ASCIZ	%APRIL%
	002675	   111 	   114 	   000
	003504	002672'				 .WORD	APRMSG		; POINTER TO "APRIL" SYMBOL
	003506	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003510	000004 				 .WORD	4.		; ROUTINE TO CALL OR DATA
  11246					;
  11247	003512					COMND$	MAY,LG.ALL,5.,MAY
	002700	   115 	   101 	   131 	MAYMSG:: .ASCIZ	%MAY%
	002703	   000
	003512	002700'				 .WORD	MAYMSG		; POINTER TO "MAY" SYMBOL
	003514	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003516	000005 				 .WORD	5.		; ROUTINE TO CALL OR DATA
  11248					;
  11249	003520					COMND$	JUNE,LG.ALL,6.,JUN
	002704	   112 	   125 	   116 	JUNMSG:: .ASCIZ	%JUNE%
	002707	   105 	   000
	003520	002704'				 .WORD	JUNMSG		; POINTER TO "JUNE" SYMBOL
	003522	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003524	000006 				 .WORD	6.		; ROUTINE TO CALL OR DATA
  11250					;
  11251	003526					COMND$	JULY,LG.ALL,7.,JUL
	002711	   112 	   125 	   114 	JULMSG:: .ASCIZ	%JULY%
	002714	   131 	   000
	003526	002711'				 .WORD	JULMSG		; POINTER TO "JULY" SYMBOL
	003530	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003532	000007 				 .WORD	7.		; ROUTINE TO CALL OR DATA
  11252					;
  11253	003534					COMND$	AUGUST,LG.ALL,8.,AUG
	002716	   101 	   125 	   107 	AUGMSG:: .ASCIZ	%AUGUST%
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 320-1
.MONTB -- THE MONTH TABLE 7702.16

	002721	   125 	   123 	   124
	002724	   000
	003534	002716'				 .WORD	AUGMSG		; POINTER TO "AUGUST" SYMBOL
	003536	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003540	000010 				 .WORD	8.		; ROUTINE TO CALL OR DATA
  11254					;
  11255	003542					COMND$	SEPTEMBER,LG.ALL,9.,SEP
	002725	   123 	   105 	   120 	SEPMSG:: .ASCIZ	%SEPTEMBER%
	002730	   124 	   105 	   115
	002733	   102 	   105 	   122
	002736	   000
	003542	002725'				 .WORD	SEPMSG		; POINTER TO "SEPTEMBER" SYMBOL
	003544	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003546	000011 				 .WORD	9.		; ROUTINE TO CALL OR DATA
  11256					;
  11257	003550					COMND$	OCTOBER,LG.ALL,10.,OCT
	002737	   117 	   103 	   124 	OCTMSG:: .ASCIZ	%OCTOBER%
	002742	   117 	   102 	   105
	002745	   122 	   000
	003550	002737'				 .WORD	OCTMSG		; POINTER TO "OCTOBER" SYMBOL
	003552	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003554	000012 				 .WORD	10.		; ROUTINE TO CALL OR DATA
  11258					;
  11259	003556					COMND$	NOVEMBER,LG.ALL,11.,NOV
	002747	   116 	   117 	   126 	NOVMSG:: .ASCIZ	%NOVEMBER%
	002752	   105 	   115 	   102
	002755	   105 	   122 	   000
	003556	002747'				 .WORD	NOVMSG		; POINTER TO "NOVEMBER" SYMBOL
	003560	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003562	000013 				 .WORD	11.		; ROUTINE TO CALL OR DATA
  11260					;
  11261	003564					COMND$	DECEMBER,LG.ALL,12.,DEC
	002760	   104 	   105 	   103 	DECMSG:: .ASCIZ	%DECEMBER%
	002763	   105 	   115 	   102
	002766	   105 	   122 	   000
	003564	002760'				 .WORD	DECMSG		; POINTER TO "DECEMBER" SYMBOL
	003566	000007 				 .WORD	LG.ALL		; LEGAL BITS
	003570	000014 				 .WORD	12.		; ROUTINE TO CALL OR DATA
  11262					;
  11263	003572	000000 				.WORD	0		; END OF TABLE MARKER
  11264
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

  11266					.SBTTL	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
  11267
  11268	003574				.NSETB::
  11269	003574					NSERR$	APE,<KL APR ERROR>
	000000	   101 	   120 	   105 	APEERM:	 .ASCIZ	%APE - KL APR ERROR%
	000003	   040 	   055 	   040
	000006	   113 	   114 	   040
	000011	   101 	   120 	   122
	000014	   040 	   105 	   122
	000017	   122 	   117 	   122
	000022	   000
	003574	004305 				 .RAD50	/APE/		; "APE" IN .RAD50
	003576	000000'				 .WORD	APEERM		; POINTER TO MESSAGE
  11270						;
  11271	003600					NSERR$	BAE,<BURST ARGUMENT ERROR>
	000023	   102 	   101 	   105 	BAEERM:	 .ASCIZ	%BAE - BURST ARGUMENT ERROR%
	000026	   040 	   055 	   040
	000031	   102 	   125 	   122
	000034	   123 	   124 	   040
	000037	   101 	   122 	   107
	000042	   125 	   115 	   105
	000045	   116 	   124 	   040
	000050	   105 	   122 	   122
	000053	   117 	   122 	   000
	003600	006255 				 .RAD50	/BAE/		; "BAE" IN .RAD50
	003602	000023'				 .WORD	BAEERM		; POINTER TO MESSAGE
  11272						;
  11273	003604					NSERR$	CAE,<KL CRAM ADDRESS ERROR>
	000056	   103 	   101 	   105 	CAEERM:	 .ASCIZ	%CAE - KL CRAM ADDRESS ERROR%
	000061	   040 	   055 	   040
	000064	   113 	   114 	   040
	000067	   103 	   122 	   101
	000072	   115 	   040 	   101
	000075	   104 	   104 	   122
	000100	   105 	   123 	   123
	000103	   040 	   105 	   122
	000106	   122 	   117 	   122
	000111	   000
	003604	011355 				 .RAD50	/CAE/		; "CAE" IN .RAD50
	003606	000056'				 .WORD	CAEERM		; POINTER TO MESSAGE
  11274	003610					NSERR$	CBO,<COMMAND BUFFER OVERFLOW>
	000112	   103 	   102 	   117 	CBOERM:	 .ASCIZ	%CBO - COMMAND BUFFER OVERFLOW%
	000115	   040 	   055 	   040
	000120	   103 	   117 	   115
	000123	   115 	   101 	   116
	000126	   104 	   040 	   102
	000131	   125 	   106 	   106
	000134	   105 	   122 	   040
	000137	   117 	   126 	   105
	000142	   122 	   106 	   114
	000145	   117 	   127 	   000
	003610	011437 				 .RAD50	/CBO/		; "CBO" IN .RAD50
	003612	000112'				 .WORD	CBOERM		; POINTER TO MESSAGE
  11275	003614					NSERR$	CDI,<SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL>
	000150	   103 	   104 	   111 	CDIERM:	 .ASCIZ	%CDI - SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL%
	000153	   040 	   055 	   040
	000156	   123 	   105 	   124
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000161	   057 	   103 	   114
	000164	   105 	   101 	   122
	000167	   040 	   104 	   101
	000172	   124 	   105 	   040
	000175	   111 	   114 	   114
	000200	   105 	   107 	   101
	000203	   114 	   040 	   111
	000206	   116 	   040 	   120
	000211	   122 	   111 	   115
	000214	   101 	   122 	   131
	000217	   040 	   120 	   122
	000222	   117 	   124 	   117
	000225	   103 	   117 	   114
	000230	   000
	003614	011551 				 .RAD50	/CDI/		; "CDI" IN .RAD50
	003616	000150'				 .WORD	CDIERM		; POINTER TO MESSAGE
  11276	003620					NSERR$	CFH,<CAN'T FIND KL HALT LOOP>
	000231	   103 	   106 	   110 	CFHERM:	 .ASCIZ	%CFH - CAN'T FIND KL HALT LOOP%
	000234	   040 	   055 	   040
	000237	   103 	   101 	   116
	000242	   047 	   124 	   040
	000245	   106 	   111 	   116
	000250	   104 	   040 	   113
	000253	   114 	   040 	   110
	000256	   101 	   114 	   124
	000261	   040 	   114 	   117
	000264	   117 	   120 	   000
	003620	011670 				 .RAD50	/CFH/		; "CFH" IN .RAD50
	003622	000231'				 .WORD	CFHERM		; POINTER TO MESSAGE
  11277	003624					NSERR$	CLE,<CONSOLE LIMIT EXCEEDED>
	000267	   103 	   114 	   105 	CLEERM:	 .ASCIZ	%CLE - CONSOLE LIMIT EXCEEDED%
	000272	   040 	   055 	   040
	000275	   103 	   117 	   116
	000300	   123 	   117 	   114
	000303	   105 	   040 	   114
	000306	   111 	   115 	   111
	000311	   124 	   040 	   105
	000314	   130 	   103 	   105
	000317	   105 	   104 	   105
	000322	   104 	   000
	003624	012245 				 .RAD50	/CLE/		; "CLE" IN .RAD50
	003626	000267'				 .WORD	CLEERM		; POINTER TO MESSAGE
  11278	003630					NSERR$	CNR,<COMMAND IS NOT REPEATABLE>
	000324	   103 	   116 	   122 	CNRERM:	 .ASCIZ	%CNR - COMMAND IS NOT REPEATABLE%
	000327	   040 	   055 	   040
	000332	   103 	   117 	   115
	000335	   115 	   101 	   116
	000340	   104 	   040 	   111
	000343	   123 	   040 	   116
	000346	   117 	   124 	   040
	000351	   122 	   105 	   120
	000354	   105 	   101 	   124
	000357	   101 	   102 	   114
	000362	   105 	   000
	003630	012402 				 .RAD50	/CNR/		; "CNR" IN .RAD50
	003632	000324'				 .WORD	CNRERM		; POINTER TO MESSAGE
  11279	003634					NSERR$	CPE,<CAN'T PHASE EBOX>
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000364	   103 	   120 	   105 	CPEERM:	 .ASCIZ	%CPE - CAN'T PHASE EBOX%
	000367	   040 	   055 	   040
	000372	   103 	   101 	   116
	000375	   047 	   124 	   040
	000400	   120 	   110 	   101
	000403	   123 	   105 	   040
	000406	   105 	   102 	   117
	000411	   130 	   000
	003634	012505 				 .RAD50	/CPE/		; "CPE" IN .RAD50
	003636	000364'				 .WORD	CPEERM		; POINTER TO MESSAGE
  11280						;
  11284	003640					NSERR$	DAV,<DATE ALREADY VALID>
	000413	   104 	   101 	   126 	DAVERM:	 .ASCIZ	%DAV - DATE ALREADY VALID%
	000416	   040 	   055 	   040
	000421	   104 	   101 	   124
	000424	   105 	   040 	   101
	000427	   114 	   122 	   105
	000432	   101 	   104 	   131
	000435	   040 	   126 	   101
	000440	   114 	   111 	   104
	000443	   000
	003640	014476 				 .RAD50	/DAV/		; "DAV" IN .RAD50
	003642	000413'				 .WORD	DAVERM		; POINTER TO MESSAGE
  11285	003644					NSERR$	DBT,<DATE BEFORE TODAY>
	000444	   104 	   102 	   124 	DBTERM:	 .ASCIZ	%DBT - DATE BEFORE TODAY%
	000447	   040 	   055 	   040
	000452	   104 	   101 	   124
	000455	   105 	   040 	   102
	000460	   105 	   106 	   117
	000463	   122 	   105 	   040
	000466	   124 	   117 	   104
	000471	   101 	   131 	   000
	003644	014544 				 .RAD50	/DBT/		; "DBT" IN .RAD50
	003646	000444'				 .WORD	DBTERM		; POINTER TO MESSAGE
  11286	003650					NSERR$	DCK,<DIVIDE CHECK>
	000474	   104 	   103 	   113 	DCKERM:	 .ASCIZ	%DCK - DIVIDE CHECK%
	000477	   040 	   055 	   040
	000502	   104 	   111 	   126
	000505	   111 	   104 	   105
	000510	   040 	   103 	   110
	000513	   105 	   103 	   113
	000516	   000
	003650	014603 				 .RAD50	/DCK/		; "DCK" IN .RAD50
	003652	000474'				 .WORD	DCKERM		; POINTER TO MESSAGE
  11287	003654					NSERR$	DMF,<DEPOSIT KL MEMORY FAILED>
	000517	   104 	   115 	   106 	DMFERM:	 .ASCIZ	%DMF - DEPOSIT KL MEMORY FAILED%
	000522	   040 	   055 	   040
	000525	   104 	   105 	   120
	000530	   117 	   123 	   111
	000533	   124 	   040 	   113
	000536	   114 	   040 	   115
	000541	   105 	   115 	   117
	000544	   122 	   131 	   040
	000547	   106 	   101 	   111
	000552	   114 	   105 	   104
	000555	   000
	003654	015416 				 .RAD50	/DMF/		; "DMF" IN .RAD50
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003656	000517'				 .WORD	DMFERM		; POINTER TO MESSAGE
  11288	003660					NSERR$	DOR,<DATE OUT OF RANGE>
	000556	   104 	   117 	   122 	DORERM:	 .ASCIZ	%DOR - DATE OUT OF RANGE%
	000561	   040 	   055 	   040
	000564	   104 	   101 	   124
	000567	   105 	   040 	   117
	000572	   125 	   124 	   040
	000575	   117 	   106 	   040
	000600	   122 	   101 	   116
	000603	   107 	   105 	   000
	003660	015552 				 .RAD50	/DOR/		; "DOR" IN .RAD50
	003662	000556'				 .WORD	DORERM		; POINTER TO MESSAGE
  11289	003664					NSERR$	DNP,<DTE-20 IS NOT PRIVILEGED>
	000606	   104 	   116 	   120 	DNPERM:	 .ASCIZ	%DNP - DTE-20 IS NOT PRIVILEGED%
	000611	   040 	   055 	   040
	000614	   104 	   124 	   105
	000617	   055 	   062 	   060
	000622	   040 	   111 	   123
	000625	   040 	   116 	   117
	000630	   124 	   040 	   120
	000633	   122 	   111 	   126
	000636	   111 	   114 	   105
	000641	   107 	   105 	   104
	000644	   000
	003664	015500 				 .RAD50	/DNP/		; "DNP" IN .RAD50
	003666	000606'				 .WORD	DNPERM		; POINTER TO MESSAGE
  11290	003670					NSERR$	DSF,<DTE-20 STATUS FAILED>
	000645	   104 	   123 	   106 	DSFERM:	 .ASCIZ	%DSF - DTE-20 STATUS FAILED%
	000650	   040 	   055 	   040
	000653	   104 	   124 	   105
	000656	   055 	   062 	   060
	000661	   040 	   123 	   124
	000664	   101 	   124 	   125
	000667	   123 	   040 	   106
	000672	   101 	   111 	   114
	000675	   105 	   104 	   000
	003670	015776 				 .RAD50	/DSF/		; "DSF" IN .RAD50
	003672	000645'				 .WORD	DSFERM		; POINTER TO MESSAGE
  11291	003674					NSERR$	DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
	000700	   104 	   124 	   103 	DTCERM:	 .ASCIZ	%DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
	000703	   040 	   055 	   040
	000706	   104 	   124 	   105
	000711	   055 	   062 	   060
	000714	   040 	   103 	   117
	000717	   116 	   106 	   125
	000722	   123 	   105 	   104
	000725	   040 	   055 	   040
	000730	   122 	   125 	   116
	000733	   040 	   101 	   116
	000736	   104 	   040 	   110
	000741	   101 	   114 	   124
	000744	   040 	   114 	   117
	000747	   117 	   120 	   000
	003674	016043 				 .RAD50	/DTC/		; "DTC" IN .RAD50
	003676	000700'				 .WORD	DTCERM		; POINTER TO MESSAGE
  11292						;
  11293	003700					NSERR$	ECT,<EBOX CLOCK TIMEOUT>
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000752	   105 	   103 	   124 	ECTERM:	 .ASCIZ	%ECT - EBOX CLOCK TIMEOUT%
	000755	   040 	   055 	   040
	000760	   105 	   102 	   117
	000763	   130 	   040 	   103
	000766	   114 	   117 	   103
	000771	   113 	   040 	   124
	000774	   111 	   115 	   105
	000777	   117 	   125 	   124
	001002	   000
	003700	017714 				 .RAD50	/ECT/		; "ECT" IN .RAD50
	003702	000752'				 .WORD	ECTERM		; POINTER TO MESSAGE
  11294	003704					NSERR$	EMF,<EXAMINE KL MEMORY FAILED>
	001003	   105 	   115 	   106 	EMFERM:	 .ASCIZ	%EMF - EXAMINE KL MEMORY FAILED%
	001006	   040 	   055 	   040
	001011	   105 	   130 	   101
	001014	   115 	   111 	   116
	001017	   105 	   040 	   113
	001022	   114 	   040 	   115
	001025	   105 	   115 	   117
	001030	   122 	   131 	   040
	001033	   106 	   101 	   111
	001036	   114 	   105 	   104
	001041	   000
	003704	020516 				 .RAD50	/EMF/		; "EMF" IN .RAD50
	003706	001003'				 .WORD	EMFERM		; POINTER TO MESSAGE
  11295	003710					NSERR$	EOC,<END OF COMMAND REQUIRED>
	001042	   105 	   117 	   103 	EOCERM:	 .ASCIZ	%EOC - END OF COMMAND REQUIRED%
	001045	   040 	   055 	   040
	001050	   105 	   116 	   104
	001053	   040 	   117 	   106
	001056	   040 	   103 	   117
	001061	   115 	   115 	   101
	001064	   116 	   104 	   040
	001067	   122 	   105 	   121
	001072	   125 	   111 	   122
	001075	   105 	   104 	   000
	003710	020633 				 .RAD50	/EOC/		; "EOC" IN .RAD50
	003712	001042'				 .WORD	EOCERM		; POINTER TO MESSAGE
  11296	003714					NSERR$	EPE,<EBUS PARITY ERROR>
	001100	   105 	   120 	   105 	EPEERM:	 .ASCIZ	%EPE - EBUS PARITY ERROR%
	001103	   040 	   055 	   040
	001106	   105 	   102 	   125
	001111	   123 	   040 	   120
	001114	   101 	   122 	   111
	001117	   124 	   131 	   040
	001122	   105 	   122 	   122
	001125	   117 	   122 	   000
	003714	020705 				 .RAD50	/EPE/		; "EPE" IN .RAD50
	003716	001100'				 .WORD	EPEERM		; POINTER TO MESSAGE
  11297	003720					NSERR$	ESD,<EBOX STOPPED - DEPOSIT>
	001130	   105 	   123 	   104 	ESDERM:	 .ASCIZ	%ESD - EBOX STOPPED - DEPOSIT%
	001133	   040 	   055 	   040
	001136	   105 	   102 	   117
	001141	   130 	   040 	   123
	001144	   124 	   117 	   120
	001147	   120 	   105 	   104
	001152	   040 	   055 	   040
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001155	   104 	   105 	   120
	001160	   117 	   123 	   111
	001163	   124 	   000
	003720	021074 				 .RAD50	/ESD/		; "ESD" IN .RAD50
	003722	001130'				 .WORD	ESDERM		; POINTER TO MESSAGE
  11298	003724					NSERR$	ESE,<EBOX STOPPED - EXAMINE>
	001165	   105 	   123 	   105 	ESEERM:	 .ASCIZ	%ESE - EBOX STOPPED - EXAMINE%
	001170	   040 	   055 	   040
	001173	   105 	   102 	   117
	001176	   130 	   040 	   123
	001201	   124 	   117 	   120
	001204	   120 	   105 	   104
	001207	   040 	   055 	   040
	001212	   105 	   130 	   101
	001215	   115 	   111 	   116
	001220	   105 	   000
	003724	021075 				 .RAD50	/ESE/		; "ESE" IN .RAD50
	003726	001165'				 .WORD	ESEERM		; POINTER TO MESSAGE
  11299						;
  11300	003730					NSERR$	IDF,<ILLEGAL DATE FORMAT>
	001222	   111 	   104 	   106 	IDFERM:	 .ASCIZ	%IDF - ILLEGAL DATE FORMAT%
	001225	   040 	   055 	   040
	001230	   111 	   114 	   114
	001233	   105 	   107 	   101
	001236	   114 	   040 	   104
	001241	   101 	   124 	   105
	001244	   040 	   106 	   117
	001247	   122 	   115 	   101
	001252	   124 	   000
	003730	034346 				 .RAD50	/IDF/		; "IDF" IN .RAD50
	003732	001222'				 .WORD	IDFERM		; POINTER TO MESSAGE
  11301	003734					NSERR$	IFC,<ILLEGAL FUNCTION CODE>
	001254	   111 	   106 	   103 	IFCERM:	 .ASCIZ	%IFC - ILLEGAL FUNCTION CODE%
	001257	   040 	   055 	   040
	001262	   111 	   114 	   114
	001265	   105 	   107 	   101
	001270	   114 	   040 	   106
	001273	   125 	   116 	   103
	001276	   124 	   111 	   117
	001301	   116 	   040 	   103
	001304	   117 	   104 	   105
	001307	   000
	003734	034463 				 .RAD50	/IFC/		; "IFC" IN .RAD50
	003736	001254'				 .WORD	IFCERM		; POINTER TO MESSAGE
  11302	003740					NSERR$	IOC,<ILLEGAL KL OPCODE>
	001310	   111 	   117 	   103 	IOCERM:	 .ASCIZ	%IOC - ILLEGAL KL OPCODE%
	001313	   040 	   055 	   040
	001316	   111 	   114 	   114
	001321	   105 	   107 	   101
	001324	   114 	   040 	   113
	001327	   114 	   040 	   117
	001332	   120 	   103 	   117
	001335	   104 	   105 	   000
	003740	035233 				 .RAD50	/IOC/		; "IOC" IN .RAD50
	003742	001310'				 .WORD	IOCERM		; POINTER TO MESSAGE
  11303	003744					NSERR$	IRC,<ILLEGAL REPEAT COUNT>
	001340	   111 	   122 	   103 	IRCERM:	 .ASCIZ	%IRC - ILLEGAL REPEAT COUNT%
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001343	   040 	   055 	   040
	001346	   111 	   114 	   114
	001351	   105 	   107 	   101
	001354	   114 	   040 	   122
	001357	   105 	   120 	   105
	001362	   101 	   124 	   040
	001365	   103 	   117 	   125
	001370	   116 	   124 	   000
	003744	035423 				 .RAD50	/IRC/		; "IRC" IN .RAD50
	003746	001340'				 .WORD	IRCERM		; POINTER TO MESSAGE
  11304	003750					NSERR$	ITF,<ILLEGAL TIME FORMAT>
	001373	   111 	   124 	   106 	ITFERM:	 .ASCIZ	%ITF - ILLEGAL TIME FORMAT%
	001376	   040 	   055 	   040
	001401	   111 	   114 	   114
	001404	   105 	   107 	   101
	001407	   114 	   040 	   124
	001412	   111 	   115 	   105
	001415	   040 	   106 	   117
	001420	   122 	   115 	   101
	001423	   124 	   000
	003750	035546 				 .RAD50	/ITF/		; "ITF" IN .RAD50
	003752	001373'				 .WORD	ITFERM		; POINTER TO MESSAGE
  11305	003754					NSERR$	ITN,<ILLEGAL TASK NAME>
	001425	   111 	   124 	   116 	ITNERM:	 .ASCIZ	%ITN - ILLEGAL TASK NAME%
	001430	   040 	   055 	   040
	001433	   111 	   114 	   114
	001436	   105 	   107 	   101
	001441	   114 	   040 	   124
	001444	   101 	   123 	   113
	001447	   040 	   116 	   101
	001452	   115 	   105 	   000
	003754	035556 				 .RAD50	/ITN/		; "ITN" IN .RAD50
	003756	001425'				 .WORD	ITNERM		; POINTER TO MESSAGE
  11306						;
  11307	003760					NSERR$	KCN,<KL CLOCK IS OFF>
	001455	   113 	   103 	   116 	KCNERM:	 .ASCIZ	%KCN - KL CLOCK IS OFF%
	001460	   040 	   055 	   040
	001463	   113 	   114 	   040
	001466	   103 	   114 	   117
	001471	   103 	   113 	   040
	001474	   111 	   123 	   040
	001477	   117 	   106 	   106
	001502	   000
	003760	042506 				 .RAD50	/KCN/		; "KCN" IN .RAD50
	003762	001455'				 .WORD	KCNERM		; POINTER TO MESSAGE
  11308	003764					NSERR$	KLA,<KL ADDRESS ERROR>
	001503	   113 	   114 	   101 	KLAERM:	 .ASCIZ	%KLA - KL ADDRESS ERROR%
	001506	   040 	   055 	   040
	001511	   113 	   114 	   040
	001514	   101 	   104 	   104
	001517	   122 	   105 	   123
	001522	   123 	   040 	   105
	001525	   122 	   122 	   117
	001530	   122 	   000
	003764	043241 				 .RAD50	/KLA/		; "KLA" IN .RAD50
	003766	001503'				 .WORD	KLAERM		; POINTER TO MESSAGE
  11309	003770					NSERR$	KLR,<ILLEGAL WHILE KL IS RUNNING>
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001532	   113 	   114 	   122 	KLRERM:	 .ASCIZ	%KLR - ILLEGAL WHILE KL IS RUNNING%
	001535	   040 	   055 	   040
	001540	   111 	   114 	   114
	001543	   105 	   107 	   101
	001546	   114 	   040 	   127
	001551	   110 	   111 	   114
	001554	   105 	   040 	   113
	001557	   114 	   040 	   111
	001562	   123 	   040 	   122
	001565	   125 	   116 	   116
	001570	   111 	   116 	   107
	001573	   000
	003770	043262 				 .RAD50	/KLR/		; "KLR" IN .RAD50
	003772	001532'				 .WORD	KLRERM		; POINTER TO MESSAGE
  11310	003774					NSERR$	KNC,<KL IS NOT CONTINUABLE>
	001574	   113 	   116 	   103 	KNCERM:	 .ASCIZ	%KNC - KL IS NOT CONTINUABLE%
	001577	   040 	   055 	   040
	001602	   113 	   114 	   040
	001605	   111 	   123 	   040
	001610	   116 	   117 	   124
	001613	   040 	   103 	   117
	001616	   116 	   124 	   111
	001621	   116 	   125 	   101
	001624	   102 	   114 	   105
	001627	   000
	003774	043363 				 .RAD50	/KNC/		; "KNC" IN .RAD50
	003776	001574'				 .WORD	KNCERM		; POINTER TO MESSAGE
  11311	004000					NSERR$	KWE,<KLINIK WINDOW ERROR>
	001630	   113 	   127 	   105 	KWEERM:	 .ASCIZ	%KWE - KLINIK WINDOW ERROR%
	001633	   040 	   055 	   040
	001636	   113 	   114 	   111
	001641	   116 	   111 	   113
	001644	   040 	   127 	   111
	001647	   116 	   104 	   117
	001652	   127 	   040 	   105
	001655	   122 	   122 	   117
	001660	   122 	   000
	004000	044135 				 .RAD50	/KWE/		; "KWE" IN .RAD50
	004002	001630'				 .WORD	KWEERM		; POINTER TO MESSAGE
  11312						;
  11313	004004					NSERR$	MRA,<MISSING REQUIRED ARGUMENT>
	001662	   115 	   122 	   101 	MRAERM:	 .ASCIZ	%MRA - MISSING REQUIRED ARGUMENT%
	001665	   040 	   055 	   040
	001670	   115 	   111 	   123
	001673	   123 	   111 	   116
	001676	   107 	   040 	   122
	001701	   105 	   121 	   125
	001704	   111 	   122 	   105
	001707	   104 	   040 	   101
	001712	   122 	   107 	   125
	001715	   115 	   105 	   116
	001720	   124 	   000
	004004	052021 				 .RAD50	/MRA/		; "MRA" IN .RAD50
	004006	001662'				 .WORD	MRAERM		; POINTER TO MESSAGE
  11314						;
  11315	004010					NSERR$	NDI,<NULL DATE ILLEGAL>
	001722	   116 	   104 	   111 	NDIERM:	 .ASCIZ	%NDI - NULL DATE ILLEGAL%
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001725	   040 	   055 	   040
	001730	   116 	   125 	   114
	001733	   114 	   040 	   104
	001736	   101 	   124 	   105
	001741	   040 	   111 	   114
	001744	   114 	   105 	   107
	001747	   101 	   114 	   000
	004010	054051 				 .RAD50	/NDI/		; "NDI" IN .RAD50
	004012	001722'				 .WORD	NDIERM		; POINTER TO MESSAGE
  11316	004014					NSERR$	NER,<NUMERIC EXPRESSION REQUIRED>
	001752	   116 	   105 	   122 	NERERM:	 .ASCIZ	%NER - NUMERIC EXPRESSION REQUIRED%
	001755	   040 	   055 	   040
	001760	   116 	   125 	   115
	001763	   105 	   122 	   111
	001766	   103 	   040 	   105
	001771	   130 	   120 	   122
	001774	   105 	   123 	   123
	001777	   111 	   117 	   116
	002002	   040 	   122 	   105
	002005	   121 	   125 	   111
	002010	   122 	   105 	   104
	002013	   000
	004014	054132 				 .RAD50	/NER/		; "NER" IN .RAD50
	004016	001752'				 .WORD	NERERM		; POINTER TO MESSAGE
  11317	004020					NSERR$	NOR,<INPUT NUMBER OUT OF RANGE>
	002014	   116 	   117 	   122 	NORERM:	 .ASCIZ	%NOR - INPUT NUMBER OUT OF RANGE%
	002017	   040 	   055 	   040
	002022	   111 	   116 	   120
	002025	   125 	   124 	   040
	002030	   116 	   125 	   115
	002033	   102 	   105 	   122
	002036	   040 	   117 	   125
	002041	   124 	   040 	   117
	002044	   106 	   040 	   122
	002047	   101 	   116 	   107
	002052	   105 	   000
	004020	054752 				 .RAD50	/NOR/		; "NOR" IN .RAD50
	004022	002014'				 .WORD	NORERM		; POINTER TO MESSAGE
  11318	004024					NSERR$	NPI,<NULL PASSWORD ILLEGAL>
	002054	   116 	   120 	   111 	NPIERM:	 .ASCIZ	%NPI - NULL PASSWORD ILLEGAL%
	002057	   040 	   055 	   040
	002062	   116 	   125 	   114
	002065	   114 	   040 	   120
	002070	   101 	   123 	   123
	002073	   127 	   117 	   122
	002076	   104 	   040 	   111
	002101	   114 	   114 	   105
	002104	   107 	   101 	   114
	002107	   000
	004024	055011 				 .RAD50	/NPI/		; "NPI" IN .RAD50
	004026	002054'				 .WORD	NPIERM		; POINTER TO MESSAGE
  11319	004030					NSERR$	NST,<NO SUCH TASK>
	002110	   116 	   123 	   124 	NSTERM:	 .ASCIZ	%NST - NO SUCH TASK%
	002113	   040 	   055 	   040
	002116	   116 	   117 	   040
	002121	   123 	   125 	   103
	002124	   110 	   040 	   124
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002127	   101 	   123 	   113
	002132	   000
	004030	055214 				 .RAD50	/NST/		; "NST" IN .RAD50
	004032	002110'				 .WORD	NSTERM		; POINTER TO MESSAGE
  11320	004034					NSERR$	NTI,<NULL TIME ILLEGAL>
	002133	   116 	   124 	   111 	NTIERM:	 .ASCIZ	%NTI - NULL TIME ILLEGAL%
	002136	   040 	   055 	   040
	002141	   116 	   125 	   114
	002144	   114 	   040 	   124
	002147	   111 	   115 	   105
	002152	   040 	   111 	   114
	002155	   114 	   105 	   107
	002160	   101 	   114 	   000
	004034	055251 				 .RAD50	/NTI/		; "NTI" IN .RAD50
	004036	002133'				 .WORD	NTIERM		; POINTER TO MESSAGE
  11321						;
  11322	004040					NSERR$	OAI,<ODD ADDRESS ILLEGAL>
	002163	   117 	   101 	   111 	OAIERM:	 .ASCIZ	%OAI - ODD ADDRESS ILLEGAL%
	002166	   040 	   055 	   040
	002171	   117 	   104 	   104
	002174	   040 	   101 	   104
	002177	   104 	   122 	   105
	002202	   123 	   123 	   040
	002205	   111 	   114 	   114
	002210	   105 	   107 	   101
	002213	   114 	   000
	004040	056761 				 .RAD50	/OAI/		; "OAI" IN .RAD50
	004042	002163'				 .WORD	OAIERM		; POINTER TO MESSAGE
  11323	004044					NSERR$	OFC,<ODD FUNCTION CODE>
	002215	   117 	   106 	   103 	OFCERM:	 .ASCIZ	%OFC - ODD FUNCTION CODE%
	002220	   040 	   055 	   040
	002223	   117 	   104 	   104
	002226	   040 	   106 	   125
	002231	   116 	   103 	   124
	002234	   111 	   117 	   116
	002237	   040 	   103 	   117
	002242	   104 	   105 	   000
	004044	057263 				 .RAD50	/OFC/		; "OFC" IN .RAD50
	004046	002215'				 .WORD	OFCERM		; POINTER TO MESSAGE
  11324						;
  11325	004050					NSERR$	PTL,<PASSWORD TOO LONG>
	002245	   120 	   124 	   114 	PTLERM:	 .ASCIZ	%PTL - PASSWORD TOO LONG%
	002250	   040 	   055 	   040
	002253	   120 	   101 	   123
	002256	   123 	   127 	   117
	002261	   122 	   104 	   040
	002264	   124 	   117 	   117
	002267	   040 	   114 	   117
	002272	   116 	   107 	   000
	004050	063454 				 .RAD50	/PTL/		; "PTL" IN .RAD50
	004052	002245'				 .WORD	PTLERM		; POINTER TO MESSAGE
  11326						;
  11327	004054					NSERR$	RPM,<RIGHT PARENTHESES MISSING>
	002275	   122 	   120 	   115 	RPMERM:	 .ASCIZ	%RPM - RIGHT PARENTHESES MISSING%
	002300	   040 	   055 	   040
	002303	   122 	   111 	   107
	002306	   110 	   124 	   040
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002311	   120 	   101 	   122
	002314	   105 	   116 	   124
	002317	   110 	   105 	   123
	002322	   105 	   123 	   040
	002325	   115 	   111 	   123
	002330	   123 	   111 	   116
	002333	   107 	   000
	004054	071415 				 .RAD50	/RPM/		; "RPM" IN .RAD50
	004056	002275'				 .WORD	RPMERM		; POINTER TO MESSAGE
  11328						;
  11329	004060					NSERR$	SCF,<SET CLOCK FAILED>
	002335	   123 	   103 	   106 	SCFERM:	 .ASCIZ	%SCF - SET CLOCK FAILED%
	002340	   040 	   055 	   040
	002343	   123 	   105 	   124
	002346	   040 	   103 	   114
	002351	   117 	   103 	   113
	002354	   040 	   106 	   101
	002357	   111 	   114 	   105
	002362	   104 	   000
	004060	073476 				 .RAD50	/SCF/		; "SCF" IN .RAD50
	004062	002335'				 .WORD	SCFERM		; POINTER TO MESSAGE
  11330	004064					NSERR$	SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
	002364	   123 	   113 	   111 	SKIERM:	 .ASCIZ	%SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
	002367	   040 	   055 	   040
	002372	   123 	   105 	   124
	002375	   040 	   113 	   114
	002400	   111 	   116 	   111
	002403	   113 	   040 	   111
	002406	   114 	   114 	   105
	002411	   107 	   101 	   114
	002414	   040 	   127 	   110
	002417	   111 	   114 	   105
	002422	   040 	   113 	   114
	002425	   111 	   116 	   111
	002430	   113 	   040 	   101
	002433	   103 	   124 	   111
	002436	   126 	   105 	   000
	004064	074201 				 .RAD50	/SKI/		; "SKI" IN .RAD50
	004066	002364'				 .WORD	SKIERM		; POINTER TO MESSAGE
  11331	004070					NSERR$	SPF,<SET PARITY FAILED>
	002441	   123 	   120 	   106 	SPFERM:	 .ASCIZ	%SPF - SET PARITY FAILED%
	002444	   040 	   055 	   040
	002447	   123 	   105 	   124
	002452	   040 	   120 	   101
	002455	   122 	   111 	   124
	002460	   131 	   040 	   106
	002463	   101 	   111 	   114
	002466	   105 	   104 	   000
	004070	074506 				 .RAD50	/SPF/		; "SPF" IN .RAD50
	004072	002441'				 .WORD	SPFERM		; POINTER TO MESSAGE
  11332	004074					NSERR$	SZI,<START AT ZERO ILLEGAL>
	002471	   123 	   132 	   111 	SZIERM:	 .ASCIZ	%SZI - START AT ZERO ILLEGAL%
	002474	   040 	   055 	   040
	002477	   123 	   124 	   101
	002502	   122 	   124 	   040
	002505	   101 	   124 	   040
	002510	   132 	   105 	   122
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002513	   117 	   040 	   111
	002516	   114 	   114 	   105
	002521	   107 	   101 	   114
	002524	   000
	004074	075331 				 .RAD50	/SZI/		; "SZI" IN .RAD50
	004076	002471'				 .WORD	SZIERM		; POINTER TO MESSAGE
  11333						;
  11334	004100					NSERR$	TAA,<TASK IS ALREADY ACTIVE>
	002525	   124 	   101 	   101 	TAAERM:	 .ASCIZ	%TAA - TASK IS ALREADY ACTIVE%
	002530	   040 	   055 	   040
	002533	   124 	   101 	   123
	002536	   113 	   040 	   111
	002541	   123 	   040 	   101
	002544	   114 	   122 	   105
	002547	   101 	   104 	   131
	002552	   040 	   101 	   103
	002555	   124 	   111 	   126
	002560	   105 	   000
	004100	076451 				 .RAD50	/TAA/		; "TAA" IN .RAD50
	004102	002525'				 .WORD	TAAERM		; POINTER TO MESSAGE
  11335	004104					NSERR$	TOR,<TIME OUT OF RANGE>
	002562	   124 	   117 	   122 	TORERM:	 .ASCIZ	%TOR - TIME OUT OF RANGE%
	002565	   040 	   055 	   040
	002570	   124 	   111 	   115
	002573	   105 	   040 	   117
	002576	   125 	   124 	   040
	002601	   117 	   106 	   040
	002604	   122 	   101 	   116
	002607	   107 	   105 	   000
	004104	077552 				 .RAD50	/TOR/		; "TOR" IN .RAD50
	004106	002562'				 .WORD	TORERM		; POINTER TO MESSAGE
  11336						;
  11337	004110					NSERR$	UNL,<KL MICROCODE NOT LOADED>
	002612	   125 	   116 	   114 	UNLERM:	 .ASCIZ	%UNL - KL MICROCODE NOT LOADED%
	002615	   040 	   055 	   040
	002620	   113 	   114 	   040
	002623	   115 	   111 	   103
	002626	   122 	   117 	   103
	002631	   117 	   104 	   105
	002634	   040 	   116 	   117
	002637	   124 	   040 	   114
	002642	   117 	   101 	   104
	002645	   105 	   104 	   000
	004110	102574 				 .RAD50	/UNL/		; "UNL" IN .RAD50
	004112	002612'				 .WORD	UNLERM		; POINTER TO MESSAGE
  11338						;
  11339	004114					NSERR$	VFY,<DEPOSIT VERIFY FAILED>
	002650	   126 	   106 	   131 	VFYERM:	 .ASCIZ	%VFY - DEPOSIT VERIFY FAILED%
	002653	   040 	   055 	   040
	002656	   104 	   105 	   120
	002661	   117 	   123 	   111
	002664	   124 	   040 	   126
	002667	   105 	   122 	   111
	002672	   106 	   131 	   040
	002675	   106 	   101 	   111
	002700	   114 	   105 	   104
	002703	   000
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 321-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	004114	105211 				 .RAD50	/VFY/		; "VFY" IN .RAD50
	004116	002650'				 .WORD	VFYERM		; POINTER TO MESSAGE
  11340						;
  11341	004120					NSERR$	WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
	002704	   127 	   122 	   115 	WRMERM:	 .ASCIZ	%WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
	002707	   040 	   055 	   040
	002712	   103 	   117 	   115
	002715	   115 	   101 	   116
	002720	   104 	   040 	   116
	002723	   117 	   124 	   040
	002726	   101 	   126 	   101
	002731	   111 	   114 	   101
	002734	   102 	   114 	   105
	002737	   040 	   111 	   116
	002742	   040 	   124 	   110
	002745	   111 	   123 	   040
	002750	   103 	   117 	   116
	002753	   123 	   117 	   114
	002756	   105 	   040 	   115
	002761	   117 	   104 	   105
	002764	   000
	004120	111235 				 .RAD50	/WRM/		; "WRM" IN .RAD50
	004122	002704'				 .WORD	WRMERM		; POINTER TO MESSAGE
  11342						;
  11343	004124					NSERR$	YOR,<YEAR OUT OF RANGE>
	002765	   131 	   117 	   122 	YORERM:	 .ASCIZ	%YOR - YEAR OUT OF RANGE%
	002770	   040 	   055 	   040
	002773	   131 	   105 	   101
	002776	   122 	   040 	   117
	003001	   125 	   124 	   040
	003004	   117 	   106 	   040
	003007	   122 	   101 	   116
	003012	   107 	   105 	   000
	004124	117252 				 .RAD50	/YOR/		; "YOR" IN .RAD50
	004126	002765'				 .WORD	YORERM		; POINTER TO MESSAGE
  11344						;
  11345	004130					NSERR$	XTO,<KL EXECUTE TIMED OUT>
	003015	   130 	   124 	   117 	XTOERM:	 .ASCIZ	%XTO - KL EXECUTE TIMED OUT%
	003020	   040 	   055 	   040
	003023	   113 	   114 	   040
	003026	   105 	   130 	   105
	003031	   103 	   125 	   124
	003034	   105 	   040 	   124
	003037	   111 	   115 	   105
	003042	   104 	   040 	   117
	003045	   125 	   124 	   000
	004130	114457 				 .RAD50	/XTO/		; "XTO" IN .RAD50
	004132	003015'				 .WORD	XTOERM		; POINTER TO MESSAGE
  11346						;
  11347	004134	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 322
.RESTB -- THE RESET COMMAND TABLE 7602.18

  11349					.SBTTL	.RESTB -- THE RESET COMMAND TABLE 7602.18
  11350
  11351	004136				.RESTB::
  11352	004136					COMND$	ALL,<LG.PRG!LG.RPT>,.RSALL,ALL
	002771	   101 	   114 	   114 	ALLMSG:: .ASCIZ	%ALL%
	002774	   000
	004136	002771'				 .WORD	ALLMSG		; POINTER TO "ALL" SYMBOL
	004140	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004142	013350'				 .WORD	.RSALL		; ROUTINE TO CALL OR DATA
  11353					;
  11354	004144					COMND$	APR,<LG.PRG!LG.RPT>,.RSAPR,CPU
	002775	   101 	   120 	   122 	CPUMSG:: .ASCIZ	%APR%
	003000	   000
	004144	002775'				 .WORD	CPUMSG		; POINTER TO "APR" SYMBOL
	004146	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004150	013444'				 .WORD	.RSAPR		; ROUTINE TO CALL OR DATA
  11355					;
  11356	004152					COMND$	DTE-20,<LG.PRG!LG.RPT>,.RSDTE,DTE
	004152	002507'				 .WORD	DTEMSG		; POINTER TO "DTE-20" SYMBOL
	004154	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004156	013416'				 .WORD	.RSDTE		; ROUTINE TO CALL OR DATA
  11357					;
  11358	004160					COMND$	ERROR,<LG.RPT!LG.PRG>,.RSERR,ERR
	003001	   105 	   122 	   122 	ERRMSG:: .ASCIZ	%ERROR%
	003004	   117 	   122 	   000
	004160	003001'				 .WORD	ERRMSG		; POINTER TO "ERROR" SYMBOL
	004162	000402 				 .WORD	LG.RPT!LG.PRG		; LEGAL BITS
	004164	013452'				 .WORD	.RSERR		; ROUTINE TO CALL OR DATA
  11359					;
  11360	004166					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN,INI
	004166	002220'				 .WORD	INIMSG		; POINTER TO "INITIALIZE" SYMBOL
	004170	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004172	013422'				 .WORD	.RSTIN		; ROUTINE TO CALL OR DATA
  11361					;
  11362	004174					COMND$	IO,<LG.PRG!LG.RPT>,.RSTIO,IO
	003007	   111 	   117 	   000 	IOMSG:: .ASCIZ	%IO%
	004174	003007'				 .WORD	IOMSG		; POINTER TO "IO" SYMBOL
	004176	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004200	013460'				 .WORD	.RSTIO		; ROUTINE TO CALL OR DATA
  11363					;
  11364	004202					COMND$	PAG,<LG.PRG!LG.RPT>,.RSPAG,PAG
	003012	   120 	   101 	   107 	PAGMSG:: .ASCIZ	%PAG%
	003015	   000
	004202	003012'				 .WORD	PAGMSG		; POINTER TO "PAG" SYMBOL
	004204	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004206	013476'				 .WORD	.RSPAG		; ROUTINE TO CALL OR DATA
  11365					;
  11366	004210					COMND$	PI,<LG.PRG!LG.RPT>,.RSTPI,PI
	004210	002532'				 .WORD	PIMSG		; POINTER TO "PI" SYMBOL
	004212	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004214	013466'				 .WORD	.RSTPI		; ROUTINE TO CALL OR DATA
  11367					;
  11368	004216	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 323
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

  11370					.SBTTL	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
  11371
  11372	004220				.SCCTB::
  11373	004220					COMND$	NORMAL,<LG.MNT!LG.RPT>,.SCCLN,NRM
	003016	   116 	   117 	   122 	NRMMSG:: .ASCIZ	%NORMAL%
	003021	   115 	   101 	   114
	003024	   000
	004220	003016'				 .WORD	NRMMSG		; POINTER TO "NORMAL" SYMBOL
	004222	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004224	021400'				 .WORD	.SCCLN		; ROUTINE TO CALL OR DATA
  11374					;
  11375	004226					COMND$	CRAM,<LG.MNT!LG.RPT>,.SCCEC,CRM
	003025	   103 	   122 	   101 	CRMMSG:: .ASCIZ	%CRAM%
	003030	   115 	   000
	004226	003025'				 .WORD	CRMMSG		; POINTER TO "CRAM" SYMBOL
	004230	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004232	021516'				 .WORD	.SCCEC		; ROUTINE TO CALL OR DATA
  11376					;
  11377	004234					COMND$	DATA-PATH,<LG.MNT!LG.RPT>,.SCCED,DPT
	003032	   104 	   101 	   124 	DPTMSG:: .ASCIZ	%DATA-PATH%
	003035	   101 	   055 	   120
	003040	   101 	   124 	   110
	003043	   000
	004234	003032'				 .WORD	DPTMSG		; POINTER TO "DATA-PATH" SYMBOL
	004236	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004240	021524'				 .WORD	.SCCED		; ROUTINE TO CALL OR DATA
  11378					;
  11379	004242					COMND$	CONTROL,<LG.MNT!LG.RPT>,.SCCEE,CTL
	003044	   103 	   117 	   116 	CTLMSG:: .ASCIZ	%CONTROL%
	003047	   124 	   122 	   117
	003052	   114 	   000
	004242	003044'				 .WORD	CTLMSG		; POINTER TO "CONTROL" SYMBOL
	004244	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004246	021532'				 .WORD	.SCCEE		; ROUTINE TO CALL OR DATA
  11380					;
  11381	004250					COMND$	EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE,EXT
	003054	   105 	   130 	   124 	EXTMSG:: .ASCIZ	%EXTERNAL%
	003057	   105 	   122 	   116
	003062	   101 	   114 	   000
	004250	003054'				 .WORD	EXTMSG		; POINTER TO "EXTERNAL" SYMBOL
	004252	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004254	021434'				 .WORD	.SCCSE		; ROUTINE TO CALL OR DATA
  11382					;
  11383	004256					COMND$	INTERNAL,<LG.MNT!LG.RPT>,.SCCSI,INT
	003065	   111 	   116 	   124 	INTMSG:: .ASCIZ	%INTERNAL%
	003070	   105 	   122 	   116
	003073	   101 	   114 	   000
	004256	003065'				 .WORD	INTMSG		; POINTER TO "INTERNAL" SYMBOL
	004260	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004262	021464'				 .WORD	.SCCSI		; ROUTINE TO CALL OR DATA
  11384					;
  11385	004264					COMND$	MARGIN,<LG.MNT!LG.RPT>,.SCCSM,MGN
	003076	   115 	   101 	   122 	MGNMSG:: .ASCIZ	%MARGIN%
	003101	   107 	   111 	   116
	003104	   000
	004264	003076'				 .WORD	MGNMSG		; POINTER TO "MARGIN" SYMBOL
	004266	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 323-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

	004270	021470'				 .WORD	.SCCSM		; ROUTINE TO CALL OR DATA
  11386					;
  11387	004272					COMND$	FULL,<LG.MNT!LG.RPT>,.SCCRF,FUL
	003105	   106 	   125 	   114 	FULMSG:: .ASCIZ	%FULL%
	003110	   114 	   000
	004272	003105'				 .WORD	FULMSG		; POINTER TO "FULL" SYMBOL
	004274	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004276	021402'				 .WORD	.SCCRF		; ROUTINE TO CALL OR DATA
  11388					;
  11389	004300					COMND$	HALF,<LG.MNT!LG.RPT>,.SCCRH,HLF
	003112	   110 	   101 	   114 	HLFMSG:: .ASCIZ	%HALF%
	003115	   106 	   000
	004300	003112'				 .WORD	HLFMSG		; POINTER TO "HALF" SYMBOL
	004302	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004304	021406'				 .WORD	.SCCRH		; ROUTINE TO CALL OR DATA
  11390					;
  11391	004306					COMND$	QUARTER,<LG.MNT!LG.RPT>,.SCCRQ,QTR
	003117	   121 	   125 	   101 	QTRMSG:: .ASCIZ	%QUARTER%
	003122	   122 	   124 	   105
	003125	   122 	   000
	004306	003117'				 .WORD	QTRMSG		; POINTER TO "QUARTER" SYMBOL
	004310	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004312	021414'				 .WORD	.SCCRQ		; ROUTINE TO CALL OR DATA
  11392					;
  11393	004314					COMND$	SLOW,<LG.MNT!LG.RPT>,.SCCRS,SLO
	003127	   123 	   114 	   117 	SLOMSG:: .ASCIZ	%SLOW%
	003132	   127 	   000
	004314	003127'				 .WORD	SLOMSG		; POINTER TO "SLOW" SYMBOL
	004316	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004320	021422'				 .WORD	.SCCRS		; ROUTINE TO CALL OR DATA
  11394					;
  11395	004322	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 324
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18

  11397					.SBTTL	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
  11398
  11399	004324				.SCMTB::
  11400	004324					COMND$	ELEVEN,LG.OPR,.SCMEL,ELE
	004324	002405'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	004326	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004330	020502'				 .WORD	.SCMEL		; ROUTINE TO CALL OR DATA
  11401					;
  11402	004332					COMND$	TEN,LG.OPR,.SCMKL,TEN
	004332	002414'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	004334	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004336	020514'				 .WORD	.SCMKL		; ROUTINE TO CALL OR DATA
  11403					;
  11404	004340	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 325
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12

  11406					.SBTTL	.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
  11407
  11408	004342				.SCCOT::
  11409	004342					COMND$	MAINTENANCE,LG.OPR,.SCCOM,MNT
	004342	002567'				 .WORD	MNTMSG		; POINTER TO "MAINTENANCE" SYMBOL
	004344	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004346	020174'				 .WORD	.SCCOM		; ROUTINE TO CALL OR DATA
  11410					;
  11411	004350					COMND$	OPERATOR,LG.OPR,.SCCOO,OPR
	004350	002603'				 .WORD	OPRMSG		; POINTER TO "OPERATOR" SYMBOL
	004352	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004354	020160'				 .WORD	.SCCOO		; ROUTINE TO CALL OR DATA
  11412					;
  11413	004356					COMND$	PROGRAMMER,LG.OPR,.SCCOP,PRG
	004356	002614'				 .WORD	PRGMSG		; POINTER TO "PROGRAMMER" SYMBOL
	004360	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004362	020166'				 .WORD	.SCCOP		; ROUTINE TO CALL OR DATA
  11414					;
  11415	004364					COMND$	USER,LG.OPR,.SCCOU,USR
	004364	002636'				 .WORD	USRMSG		; POINTER TO "USER" SYMBOL
	004366	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004370	020222'				 .WORD	.SCCOU		; ROUTINE TO CALL OR DATA
  11416					;
  11417	004372	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 326
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10

  11419					.SBTTL	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
  11420
  11421	004374				.SCPTB::
  11422	004374					COMND$	ALL,LG.MNT,.SCPAL,ALL
	004374	002771'				 .WORD	ALLMSG		; POINTER TO "ALL" SYMBOL
	004376	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004400	021554'				 .WORD	.SCPAL		; ROUTINE TO CALL OR DATA
  11423					;
  11424	004402					COMND$	AR,LG.MNT,.SCPAR,AR
	004402	002402'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	004404	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004406	021562'				 .WORD	.SCPAR		; ROUTINE TO CALL OR DATA
  11425					;
  11426	004410					COMND$	CRAM,LG.MNT,.SCPCR,CRM
	004410	003025'				 .WORD	CRMMSG		; POINTER TO "CRAM" SYMBOL
	004412	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004414	021570'				 .WORD	.SCPCR		; ROUTINE TO CALL OR DATA
  11427					;
  11428	004416					COMND$	DRAM,LG.MNT,.SCPDR,DRM
	003134	   104 	   122 	   101 	DRMMSG:: .ASCIZ	%DRAM%
	003137	   115 	   000
	004416	003134'				 .WORD	DRMMSG		; POINTER TO "DRAM" SYMBOL
	004420	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004422	021576'				 .WORD	.SCPDR		; ROUTINE TO CALL OR DATA
  11429					;
  11430	004424					COMND$	ENABLE,LG.MNT,.SCPEN,ENB
	003141	   105 	   116 	   101 	ENBMSG:: .ASCIZ	%ENABLE%
	003144	   102 	   114 	   105
	003147	   000
	004424	003141'				 .WORD	ENBMSG		; POINTER TO "ENABLE" SYMBOL
	004426	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004430	021604'				 .WORD	.SCPEN		; ROUTINE TO CALL OR DATA
  11431					;
  11432	004432					COMND$	FM,LG.MNT,.SCPFM,FM
	004432	002447'				 .WORD	FMMSG		; POINTER TO "FM" SYMBOL
	004434	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004436	021612'				 .WORD	.SCPFM		; ROUTINE TO CALL OR DATA
  11433					;
  11434	004440					COMND$	FS-STOP,LG.MNT,.SCPFS,FSS
	003150	   106 	   123 	   055 	FSSMSG:: .ASCIZ	%FS-STOP%
	003153	   123 	   124 	   117
	003156	   120 	   000
	004440	003150'				 .WORD	FSSMSG		; POINTER TO "FS-STOP" SYMBOL
	004442	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004444	021620'				 .WORD	.SCPFS		; ROUTINE TO CALL OR DATA
  11435					;
  11436	004446	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 327
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

  11438					.SBTTL	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
  11439
  11440	004450				.SETTB::
  11441	004450					COMND$	CLOCK,<LG.MNT!LG.RPT>,.SCCLK,CLK
	003160	   103 	   114 	   117 	CLKMSG:: .ASCIZ	%CLOCK%
	003163	   103 	   113 	   000
	004450	003160'				 .WORD	CLKMSG		; POINTER TO "CLOCK" SYMBOL
	004452	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004454	021156'				 .WORD	.SCCLK		; ROUTINE TO CALL OR DATA
  11442					;
  11443	004456					COMND$	CONSOLE,LG.OPR,.SCCON,CON
	003166	   103 	   117 	   116 	CONMSG:: .ASCIZ	%CONSOLE%
	003171	   123 	   117 	   114
	003174	   105 	   000
	004456	003166'				 .WORD	CONMSG		; POINTER TO "CONSOLE" SYMBOL
	004460	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004462	020112'				 .WORD	.SCCON		; ROUTINE TO CALL OR DATA
  11444					;
  11445	004464					COMND$	DATE,LG.PRG,.SCDAT,DAT
	003176	   104 	   101 	   124 	DATMSG:: .ASCIZ	%DATE%
	003201	   105 	   000
	004464	003176'				 .WORD	DATMSG		; POINTER TO "DATE" SYMBOL
	004466	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004470	014046'				 .WORD	.SCDAT		; ROUTINE TO CALL OR DATA
  11446					;
  11447	004472					COMND$	FS-STOP,<LG.MNT!LG.RPT>,.SCFSS,FSS
	004472	003150'				 .WORD	FSSMSG		; POINTER TO "FS-STOP" SYMBOL
	004474	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004476	021170'				 .WORD	.SCFSS		; ROUTINE TO CALL OR DATA
  11448					;
  11449	004500					COMND$	INCREMENT,LG.OPR,.SCINC,INC
	004500	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	004502	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004504	020304'				 .WORD	.SCINC		; ROUTINE TO CALL OR DATA
  11450					;
  11451	004506					COMND$	KLINIK,LG.ALL,.SCKLN,KLI
	003203	   113 	   114 	   111 	KLIMSG:: .ASCIZ	%KLINIK%
	003206	   116 	   111 	   113
	003211	   000
	004506	003203'				 .WORD	KLIMSG		; POINTER TO "KLINIK" SYMBOL
	004510	000007 				 .WORD	LG.ALL		; LEGAL BITS
	004512	014376'				 .WORD	.SCKLN		; ROUTINE TO CALL OR DATA
  11452					;
  11453	004514					COMND$	MEMORY,LG.OPR,.SCMEM,MEM
	003212	   115 	   105 	   115 	MEMMSG:: .ASCIZ	%MEMORY%
	003215	   117 	   122 	   131
	003220	   000
	004514	003212'				 .WORD	MEMMSG		; POINTER TO "MEMORY" SYMBOL
	004516	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004520	020450'				 .WORD	.SCMEM		; ROUTINE TO CALL OR DATA
  11454					;
  11455	004522					COMND$	NOT,<LG.OPR!LG.RPT>,.SCNOT,NOT
	003221	   116 	   117 	   124 	NOTMSG:: .ASCIZ	%NOT%
	003224	   000
	004522	003221'				 .WORD	NOTMSG		; POINTER TO "NOT" SYMBOL
	004524	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004526	017602'				 .WORD	.SCNOT		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 327-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

  11456					;
  11457	004530					COMND$	OFFSET,LG.PRG,.SCOFS,OFS
	003225	   117 	   106 	   106 	OFSMSG:: .ASCIZ	%OFFSET%
	003230	   123 	   105 	   124
	003233	   000
	004530	003225'				 .WORD	OFSMSG		; POINTER TO "OFFSET" SYMBOL
	004532	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004534	020554'				 .WORD	.SCOFS		; ROUTINE TO CALL OR DATA
  11458					;
  11459	004536					COMND$	PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST,PST
	003234	   120 	   101 	   122 	PSTMSG:: .ASCIZ	%PARITY-STOP%
	003237	   111 	   124 	   131
	003242	   055 	   123 	   124
	003245	   117 	   120 	   000
	004536	003234'				 .WORD	PSTMSG		; POINTER TO "PARITY-STOP" SYMBOL
	004540	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004542	021212'				 .WORD	.SCPST		; ROUTINE TO CALL OR DATA
  11460					;
  11461	004544					COMND$	RELOAD,LG.PRG,.SCRLD,RLD
	003250	   122 	   105 	   114 	RLDMSG:: .ASCIZ	%RELOAD%
	003253	   117 	   101 	   104
	003256	   000
	004544	003250'				 .WORD	RLDMSG		; POINTER TO "RELOAD" SYMBOL
	004546	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004550	020626'				 .WORD	.SCRLD		; ROUTINE TO CALL OR DATA
  11462					;
  11463	004552					COMND$	REPEAT,LG.OPR,.SCRPT,RPT
	004552	002244'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	004554	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004556	020746'				 .WORD	.SCRPT		; ROUTINE TO CALL OR DATA
  11464					;
  11465	004560					COMND$	RETRY,<LG.PRG!LG.MNT>,.SCRTY,RTY
	003257	   122 	   105 	   124 	RTYMSG:: .ASCIZ	%RETRY%
	003262	   122 	   131 	   000
	004560	003257'				 .WORD	RTYMSG		; POINTER TO "RETRY" SYMBOL
	004562	000006 				 .WORD	LG.PRG!LG.MNT		; LEGAL BITS
	004564	020642'				 .WORD	.SCRTY		; ROUTINE TO CALL OR DATA
  11466					;
  11468	004566					COMND$	TRACKS,LG.PRG,.SCTRK,TRK
	003265	   124 	   122 	   101 	TRKMSG:: .ASCIZ	%TRACKS%
	003270	   103 	   113 	   123
	003273	   000
	004566	003265'				 .WORD	TRKMSG		; POINTER TO "TRACKS" SYMBOL
	004570	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004572	021044'				 .WORD	.SCTRK		; ROUTINE TO CALL OR DATA
  11469					;
  11471	004574	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 328
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

  11473					.SBTTL	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
  11474
  11475	004576				.SPETB::
  11476	004576					SPERR$	AMB,<AMBIGUOUS KEYWORD ">
	003050	   101 	   115 	   102 		 .ASCIZ	%AMB - AMBIGUOUS KEYWORD "%
	003053	   040 	   055 	   040
	003056	   101 	   115 	   102
	003061	   111 	   107 	   125
	003064	   117 	   125 	   123
	003067	   040 	   113 	   105
	003072	   131 	   127 	   117
	003075	   122 	   104 	   040
	003100	   042 	   000
	004576	004112 				 .RAD50	/AMB/		; "AMB" IN .RAD50
	004600	003274'				 .WORD	.SEAMB		; DISPATCH TO HANDLER
	004602	003050'				 .WORD	AMBERM		; POINTER TO MESSAGE
  11477						;
  11478	004604					SPERR$	CES,<CLOCK ERROR STOP - >
	003102	   103 	   105 	   123 		 .ASCIZ	%CES - CLOCK ERROR STOP - %
	003105	   040 	   055 	   040
	003110	   103 	   114 	   117
	003113	   103 	   113 	   040
	003116	   105 	   122 	   122
	003121	   117 	   122 	   040
	003124	   123 	   124 	   117
	003127	   120 	   040 	   055
	003132	   040 	   000
	004604	011633 				 .RAD50	/CES/		; "CES" IN .RAD50
	004606	003532'				 .WORD	.SECES		; DISPATCH TO HANDLER
	004610	003102'				 .WORD	CESERM		; POINTER TO MESSAGE
  11479						;
  11480	004612					SPERR$	FRF,<FUNCTION READ >
	003134	   106 	   122 	   106 		 .ASCIZ	%FRF - FUNCTION READ %
	003137	   040 	   055 	   040
	003142	   106 	   125 	   116
	003145	   103 	   124 	   111
	003150	   117 	   116 	   040
	003153	   122 	   105 	   101
	003156	   104 	   040 	   000
	004612	024126 				 .RAD50	/FRF/		; "FRF" IN .RAD50
	004614	003362'				 .WORD	.SEFRF		; DISPATCH TO HANDLER
	004616	003134'				 .WORD	FRFERM		; POINTER TO MESSAGE
  11481	004620					SPERR$	FWF,<FUNCTION WRITE >
	003161	   106 	   127 	   106 		 .ASCIZ	%FWF - FUNCTION WRITE %
	003164	   040 	   055 	   040
	003167	   106 	   125 	   116
	003172	   103 	   124 	   111
	003175	   117 	   116 	   040
	003200	   127 	   122 	   111
	003203	   124 	   105 	   040
	003206	   000
	004620	024436 				 .RAD50	/FWF/		; "FWF" IN .RAD50
	004622	003370'				 .WORD	.SEFWF		; DISPATCH TO HANDLER
	004624	003161'				 .WORD	FWFERM		; POINTER TO MESSAGE
  11482	004626					SPERR$	FXF,<FUNCTION EXECUTE >
	003207	   106 	   130 	   106 		 .ASCIZ	%FXF - FUNCTION EXECUTE %
	003212	   040 	   055 	   040
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 328-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	003215	   106 	   125 	   116
	003220	   103 	   124 	   111
	003223	   117 	   116 	   040
	003226	   105 	   130 	   105
	003231	   103 	   125 	   124
	003234	   105 	   040 	   000
	004626	024506 				 .RAD50	/FXF/		; "FXF" IN .RAD50
	004630	003376'				 .WORD	.SEFXF		; DISPATCH TO HANDLER
	004632	003207'				 .WORD	FXFERM		; POINTER TO MESSAGE
  11483						;
  11484	004634					SPERR$	ILC,<ILLEGAL CHARACTER ">
	003237	   111 	   114 	   103 		 .ASCIZ	%ILC - ILLEGAL CHARACTER "%
	003242	   040 	   055 	   040
	003245	   111 	   114 	   114
	003250	   105 	   107 	   101
	003253	   114 	   040 	   103
	003256	   110 	   101 	   122
	003261	   101 	   103 	   124
	003264	   105 	   122 	   040
	003267	   042 	   000
	004634	035043 				 .RAD50	/ILC/		; "ILC" IN .RAD50
	004636	003320'				 .WORD	.SEILC		; DISPATCH TO HANDLER
	004640	003237'				 .WORD	ILCERM		; POINTER TO MESSAGE
  11485	004642					SPERR$	ILS,<ILLEGAL SEPARATOR CHARACTER ">
	003271	   111 	   114 	   123 		 .ASCIZ	%ILS - ILLEGAL SEPARATOR CHARACTER "%
	003274	   040 	   055 	   040
	003277	   111 	   114 	   114
	003302	   105 	   107 	   101
	003305	   114 	   040 	   123
	003310	   105 	   120 	   101
	003313	   122 	   101 	   124
	003316	   117 	   122 	   040
	003321	   103 	   110 	   101
	003324	   122 	   101 	   103
	003327	   124 	   105 	   122
	003332	   040 	   042 	   000
	004642	035063 				 .RAD50	/ILS/		; "ILS" IN .RAD50
	004644	003320'				 .WORD	.SEILS		; DISPATCH TO HANDLER
	004646	003271'				 .WORD	ILSERM		; POINTER TO MESSAGE
  11486	004650					SPERR$	IPC,<ILLEGAL PASSWORD CHARACTER ">
	003335	   111 	   120 	   103 		 .ASCIZ	%IPC - ILLEGAL PASSWORD CHARACTER "%
	003340	   040 	   055 	   040
	003343	   111 	   114 	   114
	003346	   105 	   107 	   101
	003351	   114 	   040 	   120
	003354	   101 	   123 	   123
	003357	   127 	   117 	   122
	003362	   104 	   040 	   103
	003365	   110 	   101 	   122
	003370	   101 	   103 	   124
	003373	   105 	   122 	   040
	003376	   042 	   000
	004650	035303 				 .RAD50	/IPC/		; "IPC" IN .RAD50
	004652	003320'				 .WORD	.SEIPC		; DISPATCH TO HANDLER
	004654	003335'				 .WORD	IPCERM		; POINTER TO MESSAGE
  11487						;
  11488	004656					SPERR$	NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 328-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	003400	   116 	   123 	   113 		 .ASCIZ	%NSK - NO SUCH KEYWORD "%
	003403	   040 	   055 	   040
	003406	   116 	   117 	   040
	003411	   123 	   125 	   103
	003414	   110 	   040 	   113
	003417	   105 	   131 	   127
	003422	   117 	   122 	   104
	003425	   040 	   042 	   000
	004656	055203 				 .RAD50	/NSK/		; "NSK" IN .RAD50
	004660	003274'				 .WORD	.SENSK		; DISPATCH TO HANDLER
	004662	003400'				 .WORD	NSKERM		; POINTER TO MESSAGE
  11489						;
  11490	004664	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 329
.STRTB -- THE START COMMAND TABLE 7602.26

  11492					.SBTTL	.STRTB -- THE START COMMAND TABLE 7602.26
  11493
  11494	004666				.STRTB::
  11495	004666					COMND$	TEN,<LG.PRG!LG.RPT>,.STRTT,TEN
	004666	002414'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	004670	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004672	017736'				 .WORD	.STRTT		; ROUTINE TO CALL OR DATA
  11496					;
  11497	004674					COMND$	MICROCODE,<LG.PRG!LG.RPT>,.STRTU,UCD
	003274	   115 	   111 	   103 	UCDMSG:: .ASCIZ	%MICROCODE%
	003277	   122 	   117 	   103
	003302	   117 	   104 	   105
	003305	   000
	004674	003274'				 .WORD	UCDMSG		; POINTER TO "MICROCODE" SYMBOL
	004676	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004700	020042'				 .WORD	.STRTU		; ROUTINE TO CALL OR DATA
  11498					;
  11499	004702	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 330
.WHATB -- THE WHAT COMMAND TABLE 7703.25

  11501					.SBTTL	.WHATB -- THE WHAT COMMAND TABLE 7703.25
  11502
  11503	004704				.WHATB::
  11504	004704					COMND$	CLOCK,<LG.PRG!LG.RPT>,.WHTCL,CLK
	004704	003160'				 .WORD	CLKMSG		; POINTER TO "CLOCK" SYMBOL
	004706	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004710	021646'				 .WORD	.WHTCL		; ROUTINE TO CALL OR DATA
  11505					;
  11506	004712					COMND$	CONSOLE,LG.OPR,.WHCON,CON
	004712	003166'				 .WORD	CONMSG		; POINTER TO "CONSOLE" SYMBOL
	004714	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004716	020234'				 .WORD	.WHCON		; ROUTINE TO CALL OR DATA
  11507					;
  11508	004720					COMND$	DATE,<LG.ALL!LG.RPT>,.WHDAT,DAT
	004720	003176'				 .WORD	DATMSG		; POINTER TO "DATE" SYMBOL
	004722	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	004724	015534'				 .WORD	.WHDAT		; ROUTINE TO CALL OR DATA
  11509					;
  11510	004726					COMND$	INCREMENT,LG.OPR,.WHINC,INC
	004726	002345'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	004730	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004732	020362'				 .WORD	.WHINC		; ROUTINE TO CALL OR DATA
  11511					;
  11512	004734					COMND$	KLINIK,LG.ALL,.WHKLN,KLI
	004734	003203'				 .WORD	KLIMSG		; POINTER TO "KLINIK" SYMBOL
	004736	000007 				 .WORD	LG.ALL		; LEGAL BITS
	004740	015710'				 .WORD	.WHKLN		; ROUTINE TO CALL OR DATA
  11513					;
  11514	004742					COMND$	MEMORY,LG.OPR,.WHMEM,MEM
	004742	003212'				 .WORD	MEMMSG		; POINTER TO "MEMORY" SYMBOL
	004744	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004746	020522'				 .WORD	.WHMEM		; ROUTINE TO CALL OR DATA
  11515					;
  11516	004750					COMND$	OFFSET,LG.PRG,.WHOFS,OFS
	004750	003225'				 .WORD	OFSMSG		; POINTER TO "OFFSET" SYMBOL
	004752	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004754	020602'				 .WORD	.WHOFS		; ROUTINE TO CALL OR DATA
  11517					;
  11518	004756					COMND$	PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS,PST
	004756	003234'				 .WORD	PSTMSG		; POINTER TO "PARITY-STOP" SYMBOL
	004760	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004762	022050'				 .WORD	.WHTPS		; ROUTINE TO CALL OR DATA
  11519					;
  11520	004764					COMND$	RELOAD,LG.PRG,.WHRLD,RLD
	004764	003250'				 .WORD	RLDMSG		; POINTER TO "RELOAD" SYMBOL
	004766	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004770	020670'				 .WORD	.WHRLD		; ROUTINE TO CALL OR DATA
  11521					;
  11522	004772					COMND$	REPEAT,LG.OPR,.WHRPT,RPT
	004772	002244'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	004774	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004776	020374'				 .WORD	.WHRPT		; ROUTINE TO CALL OR DATA
  11523					;
  11524	005000					COMND$	RETRY,<LG.PRG!LG.MNT>,.WHRTY,RTY
	005000	003257'				 .WORD	RTYMSG		; POINTER TO "RETRY" SYMBOL
	005002	000006 				 .WORD	LG.PRG!LG.MNT		; LEGAL BITS
	005004	020714'				 .WORD	.WHRTY		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 330-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25

  11525					;
  11527	005006					COMND$	TRACKS,LG.PRG,.WHTRK,TRK
	005006	003265'				 .WORD	TRKMSG		; POINTER TO "TRACKS" SYMBOL
	005010	000002 				 .WORD	LG.PRG		; LEGAL BITS
	005012	021066'				 .WORD	.WHTRK		; ROUTINE TO CALL OR DATA
  11528					;
  11530	005014					COMND$	VERSION,LG.OPR,.WHATV,VER
	003306	   126 	   105 	   122 	VERMSG:: .ASCIZ	%VERSION%
	003311	   123 	   111 	   117
	003314	   116 	   000
	005014	003306'				 .WORD	VERMSG		; POINTER TO "VERSION" SYMBOL
	005016	000001 				 .WORD	LG.OPR		; LEGAL BITS
	005020	021116'				 .WORD	.WHATV		; ROUTINE TO CALL OR DATA
  11531					;
  11532	005022	000000 				.WORD	0		; END OF TABLE MARKER
  11533	022330				.PSECT
  11534
  11535		000000 				$$PASS2=0
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 331
.WHATB -- THE WHAT COMMAND TABLE 7703.25

  11537					.TITLE	TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
  11538
  11539						.IDENT	"005000"
  11540
  11541					;
  11542					;                             COPYRIGHT (C) 1975, 1979 BY
  11543					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  11544					;
  11545					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  11546					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  11547					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  11548					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  11549					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  11550					;
  11551					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  11552					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  11553					;       CORPORATION.
  11554					;
  11555					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  11556					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  11557					;
  11558					;		MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
  11559					;
  11560					;		VERSION: 05-00
  11561					;
  11562					;		AUTHOR: R. BELANGER
  11563					;
  11564					;		DATE: 7603.30
  11565					;
  11566					;	THIS MODULE CONTAINS:
  11567					;
  11568					;	1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 332
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30

  11570					.SBTTL	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
  11571
  11572					;+
  11573					; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
  11574					;
  11575					; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
  11576					; COUNT IN R1.
  11577					;
  11578					; INPUT ARGUMENTS:
  11579					;
  11580					;	R0 HOLDS THE NUMBER TO BE SHIFTED
  11581					;	R1 HOLDS A 16 BIT SHIFT COUNT
  11582					;
  11583					; OUTPUT ARGUMENTS:
  11584					;
  11585					;	R0 HOLDS THE SHIFTED NUMBER
  11586					;	R1 HOLDS THE SHIFT COUNT
  11587					;
  11588					; ERROR CODES RETURNED:
  11589					;
  11590					;	NONE
  11591					;-
  11592
  11593	022330				.SHIFT::
  11594	022330					PUSH	R1		; SAVE R1 ON THE STACK
	022330	010146 				 MOV	R1,-(SP)
  11595	022332	001407 				BEQ	30$		; .EXIT IF .EQ. 0
  11596	022334	002403 				BLT	20$		; .SHIFT RIGHT IF NEGATIVE
  11597	022336				10$:
  11598	022336	006300 				ASL	R0		; .SHIFT IT LEFT
  11599	022340	077102 				SOB	R1,10$		; .TILL COUNT IS EXHAUSTED
  11600	022342	000403 				BR	30$		; .EXIT
  11601						;
  11602	022344				20$:
  11603	022344	006200 				ASR	R0		; .SHIFT IT RIGHT
  11604	022346	005201 				INC	R1		; .COUNT THE SHIFT
  11605	022350	001375 				BNE	20$		; .TILL COUNT EXHAUSTED
  11606	022352				30$:
  11607	022352					POP	R1		; .RESTORE R1 FROM THE STACK
	022352	012601 				 MOV	(SP)+,R1
  11608	022354	000241 				CLC			; CLEAR CC-C
  11609	022356					RETURN			; RETURN
	022356	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 333
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  11611					.SBTTL	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
  11612
  11613					;+
  11614					; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
  11615					;
  11616					; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
  11617					; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
  11618					; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
  11619					;
  11620					; INPUT ARGUMENTS:
  11621					;
  11622					;	R0 POINTS TO THE DIVIDEND
  11623					;	R1 POINTS TO THE DIVISOR
  11624					;
  11625					; OUTPUT ARGUMENTS:
  11626					;
  11627					;	R0 POINTS TO THE QUOTIENT
  11628					;	R1 POINTS TO THE REMAINDER
  11629					;	THE DIVISOR AND DIVIDEND ARE DESTROYED
  11630					;
  11631					; ERROR CODES RETURNED:
  11632					;
  11633					;	DCK -- DIVIDE CHECK.
  11634					;-
  11635
  11636	005024				.PSECT	DATA
  11637
  11638	005024				TPDRMN:
  11639	005024	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR  REMAINDER
  11640	005032				TPDDVS:
  11641	005032	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR DIVISOR
  11642	005040				TPDDVD:
  11643	005040	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR DIVIDEND / QUOTIENT
  11644
  11645	022360				.PSECT
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 334
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  11647						.ENABL	LSB
  11648
  11649	022360				.TPDIV::
  11650	022360					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	022360	010346 				 MOV	R3,-(SP)
	022362	010246 				 MOV	R2,-(SP)
	022364	010146 				 MOV	R1,-(SP)
	022366	010046 				 MOV	R0,-(SP)
  11651	022370					CALL	.TPXTN		; ....SIGN EXTEND THE DIVIDEND
	022370	004737 	022620'			 JSR	PC,.TPXTN
  11652	022374	010100 				MOV	R1,R0		; ....POINT TO THE DIVISOR
  11653	022376					CALL	.TPXTN		; ....AND SIGN EXTEND IT
	022376	004737 	022620'			 JSR	PC,.TPXTN
  11654	022402					CALL	.TPTST		; ....SEE IF IT IS ZERO OR NEGATIVE
	022402	004737 	022674'			 JSR	PC,.TPTST
  11655	022406	003466 				BLE	TPDDCK		; ....YES -- GIVE "DCK" ERROR
  11656	022410	011600 				MOV	(SP),R0		; ....NO -- RESTORE DIVIDEND POINTER
  11657	022412	012703 	000060 			MOV	#^D48,R3	; ....ITERATION COUNT TO R3
  11658	022416	012702 	005024'			MOV	#TPDRMN,R2	; ....DATA BLOCK POINTER TO R2
  11659	022422	005022 				CLR	(R2)+		; ....CLEAR THE REMAINDER
  11660	022424	005022 				CLR	(R2)+		; ....
  11661	022426	005022 				CLR	(R2)+		; ....
  11662	022430	012122 				MOV	(R1)+,(R2)+	; ....LOAD THE DIVISOR
  11663	022432	012122 				MOV	(R1)+,(R2)+	; ....
  11664	022434	012122 				MOV	(R1)+,(R2)+	; ....
  11665	022436	012022 				MOV	(R0)+,(R2)+	; ....LOAD THE DIVIDEND
  11666	022440	012022 				MOV	(R0)+,(R2)+	; ....
  11667	022442	012022 				MOV	(R0)+,(R2)+	; ....
  11668	022444	012700 	005024'			MOV	#TPDRMN,R0	; ....REMAINDER POINTER TO R0
  11669	022450	012701 	005032'			MOV	#TPDDVS,R1	; ....DIVISOR POINTER TO R1
  11670	022454	012702 	005040'			MOV	#TPDDVD,R2	; ....DIVIDEND POINTER TO R2
  11671
  11672					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 335
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  11674					;	[CONTINUED FROM THE PREVIOUS PAGE]
  11675
  11676	022460				10$:
  11677	022460	006312 				ASL	(R2)		; ....SHIFT THE DIVIDEND LEFT
  11678	022462	006162 	000002 			ROL	2(R2)		; ....
  11679	022466	006162 	000004 			ROL	4(R2)		; ....
  11680	022472	006110 				ROL	(R0)		; ....INTO THE REMAINDER
  11681	022474	006160 	000002 			ROL	2(R0)		; ....
  11682	022500	006160 	000004 			ROL	4(R0)		; ....
  11683	022504					CALL	.TPCMP		; ....SEE IF REMAINDER IS .GE. DIVISOR
	022504	004737 	022640'			 JSR	PC,.TPCMP
  11684	022510	103407 				BLO	20$		; ....NO -- JUST KEEP GOING
  11685	022512					CALL	.TPSUB		; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
	022512	004737 	022762'			 JSR	PC,.TPSUB
  11686	022516					PUSH	R0		; ....SAVE REMAINDER POINTER
	022516	010046 				 MOV	R0,-(SP)
  11687	022520	010200 				MOV	R2,R0		; .....QUOTIENT POINTER TO R0
  11688	022522					CALL	.TPINC		; .....INCREMENT THE QUOTIENT
	022522	004737 	022736'			 JSR	PC,.TPINC
  11689	022526					POP	R0		; .....RESTORE REMAINDER POINTER
	022526	012600 				 MOV	(SP)+,R0
  11690	022530				20$:
  11691	022530	077325 				SOB	R3,10$		; ....LOOP TILL COUNT IS EXHAUSTED
  11692	022532					POP	<R0,R1>		; ....GET R0 AND R1 FROM THE STACK
	022532	012600 				 MOV	(SP)+,R0
	022534	012601 				 MOV	(SP)+,R1
  11693	022536	012220 				MOV	(R2)+,(R0)+	; ..UNLOAD THE QUOTIENT
  11694	022540	012220 				MOV	(R2)+,(R0)+	; ..
  11695	022542	011210 				MOV	(R2),(R0)	; ..
  11696	022544	012702 	005024'			MOV	#TPDRMN,R2	; ..POINT TO THE REMAINDER
  11697	022550	012221 				MOV	(R2)+,(R1)+	; ..UNLOAD THE REMAINDER
  11698	022552	012221 				MOV	(R2)+,(R1)+	; ..
  11699	022554	011211 				MOV	(R2),(R1)	; ..
  11700	022556					POP	<R2,R3>		; ..RESTORE OTHER REGISTERS
	022556	012602 				 MOV	(SP)+,R2
	022560	012603 				 MOV	(SP)+,R3
  11701	022562	000506 				BR	50$		; AND GO AWAY
  11702						;
  11703	022564				TPDDCK:
  11704	022564					ERROR$	DCK		; ERROR -- DIVIDE CHECK
	022564	012746 	014603 			 MOV	#^RDCK,-(SP)
	022570	104400 				 TRAP	TC.ERR
  11705						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 336
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19

  11707					.SBTTL	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
  11708
  11709					;+
  11710					; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
  11711					; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
  11712					; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
  11713					; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
  11714					;
  11715					; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
  11716					; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
  11717					; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
  11718					; BY THESE ROUTINES.
  11719					;
  11720					; INPUT ARGUMENTS:
  11721					;
  11722					;	R0 POINTS TO THE DESTINATION OPERAND
  11723					;
  11724					; OUTPUT ARGUMENTS:
  11725					;
  11726					;	R0 POINTS TO THE DESINATION OPERAND
  11727					;
  11728					; ERROR CODES RETURNED:
  11729					;
  11730					;	NONE.
  11731					;-
  11732
  11733	022572				.TPCLR::			; CLEAR A 48 BIT WORD
  11734	022572	005020 				CLR	(R0)+		; SO
  11735	022574	005020 				CLR	(R0)+
  11736	022576	005010 				CLR	(R0)
  11737	022600	000500 				BR	60$		; RESET R0 AND RETURN
  11738						;
  11739
  11740	022602				.TPCOM::			; COMPLEMENT A 48 BIT NUMBER
  11741	022602	005120 				COM	(R0)+		; COMPLEMENT
  11742	022604	005120 				COM	(R0)+		; EACH WORD
  11743	022606	005110 				COM	(R0)		; IN THE TRIPLET
  11744	022610	000474 				BR	60$		; RESET R0 AND RETURN
  11745						;
  11746
  11747	022612				.TPNEG::			; NEGATE A 48 BIT NUMBER
  11748	022612					CALL	.TPCOM		; FIRST COMPLEMENT THE NUMBER
	022612	004737 	022602'			 JSR	PC,.TPCOM
  11749	022616	000447 				BR	.TPINC		; -0 + NOT(0)+1 AND RETURN
  11750						;
  11751
  11752	022620				.TPXTN::
  11753	022620	032760 	000010 	000004 		BIT	#10,4(R0)	; TEST THE SIGN BIT
  11754	022626	001466 				BEQ	70$		; EXIT IF POSITIVE
  11755	022630	052760 	177760 	000004 		BIS	#^C17,4(R0)	; SIGN EXTEND IF NEGATIVE
  11756	022636	000462 				BR	70$		; EXIT
  11757						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 337
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19

  11759					.SBTTL	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
  11760
  11761					;+
  11762					; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
  11763					;
  11764					; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
  11765					; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
  11766					;
  11767					; INPUT ARGUMENTS:
  11768					;
  11769					;	R0 POINTS TO THE FIRST NUMBER
  11770					;	R1 POINTS TO THE SECOND NUMBER
  11771					;
  11772					; OUTPUT ARGUMENTS:
  11773					;
  11774					;	R0 POINTS TO THE FIRST NUMBER
  11775					;	R1 POINTS TO THE SECOND NUMBER
  11776					;	CC-N IS SET IF (R0) .LT. (R1)
  11777					;	CC-Z IS SET IF (R0) .EQ. (R1)
  11778					;	CC-Z IS CLEAR IF (R0) .GT. (R1)
  11779					;
  11780					; ERROR CODES RETURNED:
  11781					;
  11782					;	NONE.
  11783					;-
  11784
  11785	022640				.TPCMP::			; COMPARE TWO 48 BIT NUMBERS
  11786	022640	026061 	000004 	000004 		CMP	4(R0),4(R1)	; COMPARE THE HIGH WORDS
  11787	022646	001056 				BNE	70$		; NOT EQUAL -- EXIT
  11788	022650	026061 	000002 	000002 		CMP	2(R0),2(R1)	; COMPARE THE MIDDLE WORDS
  11789	022656	001001 				BNE	30$		; NOT EQUAL -- EXIT
  11790	022660	021011 				CMP	(R0),(R1)	; COMPARE THE LOW WORDS
  11791	022662				30$:
  11792	022662	000250 				CLN			; CLEAR CC-N
  11793	022664	000242 				CLV			; CLEAR CC-V
  11794	022666	103046 				BCC	70$		; BRANCH IF NON-NEGATIVE
  11795	022670	000270 				SEN			; NEGATIVE -- SET CC-N
  11796	022672	000444 				BR	70$		; EXIT
  11797						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 338
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19

  11799					.SBTTL	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
  11800
  11801					;+
  11802					; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
  11803					;
  11804					; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
  11805					; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
  11806					; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
  11807					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
  11808					;
  11809					; INPUT ARGUMENTS:
  11810					;
  11811					;	R0 POINTS TO THE NUMBER TO BE TESTED
  11812					;
  11813					; OUTPUT ARGUMENTS:
  11814					;
  11815					;	R0 POINTS TO THE TESTED NUMBER
  11816					;	CC-Z IS SET IF THE NUMBER IS ZERO
  11817					;	CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
  11818					;
  11819					; ERROR CODES RETURNED:
  11820					;
  11821					;	NONE.
  11822					;-
  11823
  11824	022674				.TPTST::			; TEST A TRIPLE PRECISION NUMBER FOR ZERO
  11825	022674	005760 	000004 			TST	4(R0)		; TEST THE HIGH WORD
  11826	022700	001041 				BNE	70$		; NON ZERO?
  11827	022702	005760 	000002 			TST	2(R0)		; TEST THE MIDDLE WORD
  11828	022706	001001 				BNE	40$		; NON ZERO?
  11829	022710	005710 				TST	(R0)		; TEST THE LOW WORD
  11830	022712				40$:
  11831	022712	000250 				CLN			; CLEAR CC-N
  11832	022714	000433 				BR	70$		; EXIT
  11833						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 339
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15

  11835					.SBTTL	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
  11836
  11837					;+
  11838					; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
  11839					;
  11840					; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
  11841					; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
  11842					; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
  11843					;
  11844					; INPUT ARGUMENTS:
  11845					;
  11846					;	R0 POINTS TO THE FIRST ADDEND
  11847					;	R1 POINTS TO THE SECOND ADDEND
  11848					;
  11849					; OUTPUT ARGUMENTS:
  11850					;
  11851					;	R0 POINTS TO THE SUM
  11852					;	R1 POINTS TO THE SECOND ADDEND
  11853					;
  11854					; ERROR CODES RETURNED:
  11855					;
  11856					;	NONE.
  11857					;-
  11858
  11859	022716				.TPADD::
  11860	022716	062120 				ADD	(R1)+,(R0)+	; ADD LOW ORDER PARTS
  11861	022720	005510 				ADC	(R0)		; CARRY ANY OVERFLOW
  11862	022722	005560 	000002 			ADC	2(R0)		; AND ANY OVER FLOW FROM THAT
  11863	022726	062120 				ADD	(R1)+,(R0)+	; ADD MIDDLE WORD
  11864	022730	005510 				ADC	(R0)		; FIX CARRIES
  11865	022732	061110 				ADD	(R1),(R0)	; ADD HIGH ORDER PARTS
  11866	022734	000421 				BR	50$		; RESET REGISTERS ANS EXIT
  11867						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 340
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19

  11869					.SBTTL	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
  11870
  11871					;+
  11872					; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
  11873					; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
  11874					;
  11875					; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
  11876					; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
  11877					; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
  11878					;
  11879					; INPUT ARGUMENTS:
  11880					;
  11881					;	R0 POINTS TO THE OPERAND
  11882					;
  11883					; OUTPUT ARGUMENTS:
  11884					;
  11885					;	R0 POINTS TO THE OPERAND
  11886					;
  11887					; ERROR CODES RETURNED:
  11888					;
  11889					;	NONE.
  11890					;-
  11891
  11892	022736				.TPINC::			; INCREMENT A 48 BIT NUMBER
  11893	022736	062720 	000001 			ADD	#1,(R0)+	; DO THE INCREMENT
  11894	022742	005520 				ADC	(R0)+		; AND CARRY THE CARRIES
  11895	022744	005510 				ADC	(R0)
  11896	022746	000415 				BR	60$		; AND EXIT
  11897						;
  11898
  11899	022750				.TPDEC::			; DECREMENT A 48 BIT NUMBER
  11900	022750	162720 	000001 			SUB	#1,(R0)+	; DO THE DECREMENT
  11901	022754	005620 				SBC	(R0)+		; AND STRAIGHTEN OUT THE CARRIES
  11902	022756	005610 				SBC	(R0)
  11903	022760	000410 				BR	60$		; ADJUST R0 AND RETURN
  11904						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 341
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15

  11906					.SBTTL	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
  11907
  11908					;+
  11909					; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
  11910					;
  11911					; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
  11912					; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
  11913					; POINTER TO THE DIFFERENCE IN R0.
  11914					;
  11915					; INPUT ARGUMENTS:
  11916					;
  11917					;	R0 POINTS TO THE MINUEND
  11918					;	R1 POINTS TO THE SUBTRAHEND
  11919					;
  11920					; OUTPUT ARGUMENTS:
  11921					;
  11922					;	R0 POINTS TO THE DIFFERENCE
  11923					;	R1 POINTS TO THE SUBTRAHEND
  11924					;
  11925					; ERROR CODES RETURNED:
  11926					;
  11927					;	NONE.
  11928					;-
  11929
  11930	022762				.TPSUB::
  11931	022762	162120 				SUB	(R1)+,(R0)+	; SUBTRACT LOW ORDER PARTS
  11932	022764	005610 				SBC	(R0)		; CARRY ANY OVERFLOW
  11933	022766	005660 	000002 			SBC	2(R0)		; AND ANY OVERFLOWS FROM THAT
  11934	022772	162120 				SUB	(R1)+,(R0)+
  11935	022774	005610 				SBC	(R0)		; FIX CARRIES
  11936	022776	161110 				SUB	(R1),(R0)	; SUBTRACT HIGH ORDER PARTS
  11937	023000				50$:
  11938	023000	024141 				CMP	-(R1),-(R1)	; RESET R1
  11939	023002				60$:
  11940	023002	024040 				CMP	-(R0),-(R0)	; RESET R0
  11941	023004				70$:
  11942	023004					RETURN			; AND EXIT
	023004	000207 				 RTS	PC
  11943
  11944						.DSABL	LSB
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 342
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  11946					.SBTTL	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
  11947
  11948					;+
  11949					; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
  11950					;
  11951					; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
  11952					; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
  11953					; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
  11954					; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
  11955					;
  11956					; INPUT ARGUMENTS:
  11957					;
  11958					;	R0 POINTS TO THE MULTIPLICAND
  11959					;	R1 POINTS TO THE MULTIPLIER
  11960					;
  11961					; OUTPUT ARGUMENTS:
  11962					;
  11963					;	R0 POINTS TO THE PRODUCT
  11964					;	R1 POINTS TO THE MULTIPLIER
  11965					;
  11966					; ERROR CODES RETURNED:
  11967					;
  11968					;	NONE.
  11969					;-
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 343
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  11971	023006				.TPMUL::
  11972	023006					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	023006	010246 				 MOV	R2,-(SP)
	023010	010146 				 MOV	R1,-(SP)
	023012	010046 				 MOV	R0,-(SP)
  11973	023014					CALL	.TPTST		; ...SEE IF MULTIPLICAND .EQ. 0
	023014	004737 	022674'			 JSR	PC,.TPTST
  11974	023020	001460 				BEQ	50$		; ...YES -- QUIT NOW
  11975	023022	010100 				MOV	R1,R0		; ...NO -- POINT TO MULTIPLIER
  11976	023024					CALL	.TPTST		; ...SEE IF IT IS .EQ. 0
	023024	004737 	022674'			 JSR	PC,.TPTST
  11977	023030	001004 				BNE	10$		; ...NO -- ALL OK
  11978	023032	011600 				MOV	(SP),R0		; ...YES -- GET MULTIPLICAND POINTER
  11979	023034					CALL	.TPCLR		; ...AND MAKE IT .EQ. 0
	023034	004737 	022572'			 JSR	PC,.TPCLR
  11980	023040	000450 				BR	50$		; ...RETURN TO CALLER
  11981						;
  11982	023042				10$:
  11983	023042	011600 				MOV	(SP),R0		; ...R0 POINTS TO MULTIPLCAND
  11984	023044					PUSH	<(R1)+,(R1)+,(R1),R1>
	023044	012146 				 MOV	(R1)+,-(SP)
	023046	012146 				 MOV	(R1)+,-(SP)
	023050	011146 				 MOV	(R1),-(SP)
	023052	010146 				 MOV	R1,-(SP)
  11985	023054	024141 				CMP	-(R1),-(R1)	; .......CALLER'S MULTIPLIER SAVED
  11986	023056	010102 				MOV	R1,R2		; .......R2 POINTS TO THE MULTIPLIER
  11987	023060	010001 				MOV	R0,R1		; .......R1 POINTS TO THE MULTIPLICAND
  11988	023062	005046 				CLR	-(SP)		; .......CLEAR A BUFFER ON THE STACK
  11989	023064	005046 				CLR	-(SP)		; ........
  11990	023066	005046 				CLR	-(SP)		; .........
  11991	023070	010600 				MOV	SP,R0		; ..........R0 POINTS TO TEMPORARY RESULT
  11992	023072				20$:
  11993	023072	006062 	000004 			ROR	4(R2)		; ..........SHIFT THE MULTIPLIER RIGHT
  11994	023076	006062 	000002 			ROR	2(R2)		; ..........
  11995	023102	006012 				ROR	(R2)		; ..........
  11996	023104	103002 				BCC	30$		; ..........DID WE GET A CARRY?
  11997	023106					CALL	.TPADD		; ..........YES -- ADD THE MULTIPLICAND
	023106	004737 	022716'			 JSR	PC,.TPADD
  11998	023112				30$:
  11999	023112	006311 				ASL	(R1)		; ..........DOUBLE MULTIPLICAND IN ANY CASE
  12000	023114	006161 	000002 			ROL	2(R1)		; ..........
  12001	023120	006161 	000004 			ROL	4(R1)		; ..........
  12002	023124					PUSH	R0		; ..........SAVE RESULT POINTER
	023124	010046 				 MOV	R0,-(SP)
  12003	023126	010200 				MOV	R2,R0		; ...........POINT TO MULTIPLIER
  12004	023130					CALL	.TPTST		; ...........IS IT .EQ. 0?
	023130	004737 	022674'			 JSR	PC,.TPTST
  12005	023134	001402 				BEQ	40$		; ...........YES -- SET UP FOR RETURN
  12006	023136					POP	R0		; ...........NO -- RESTORE R0
	023136	012600 				 MOV	(SP)+,R0
  12007	023140	000754 				BR	20$		; ..........AND CONTINUE
  12008						;
  12009
  12010					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 344
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  12012					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12013
  12014					; HERE TO RETURN PRODUCT AND EXIT
  12015
  12016	023142				40$:
  12017	023142					POP	R0		; ...........GET RID OF MULTIPLIER POINTER
	023142	012600 				 MOV	(SP)+,R0
  12018	023144					POP	<(R1)+,(R1)+,(R1)>
	023144	012621 				 MOV	(SP)+,(R1)+
	023146	012621 				 MOV	(SP)+,(R1)+
	023150	012611 				 MOV	(SP)+,(R1)
  12019	023152					POP	<R1,(R1),-(R1),-(R1)>
	023152	012601 				 MOV	(SP)+,R1
	023154	012611 				 MOV	(SP)+,(R1)
	023156	012641 				 MOV	(SP)+,-(R1)
	023160	012641 				 MOV	(SP)+,-(R1)
  12020	023162				50$:
  12021	023162					POP	<R0,R1,R2>	; ...RESTORE REGISTERS
	023162	012600 				 MOV	(SP)+,R0
	023164	012601 				 MOV	(SP)+,R1
	023166	012602 				 MOV	(SP)+,R2
  12022	023170					RETURN			; TO CALLER
	023170	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 345
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19

  12024					.SBTTL	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
  12025
  12026					;+
  12027					; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
  12028					;
  12029					; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
  12030					; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
  12031					; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
  12032					; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
  12033					;
  12034					; INPUT ARGUMENTS:
  12035					;
  12036					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
  12037					;	R1 HOLDS THE 16 BIT SHIFT COUNT
  12038					;
  12039					; OUTPUT ARGUMENTS:
  12040					;
  12041					;	R0 POINTS TO THE SHIFTED NUMBER
  12042					;	R0 HOLDS THE 16 BIT SHIFT COUNT
  12043					;
  12044					; ERROR CODES RETURNED:
  12045					;
  12046					;	NONE.
  12047					;-
  12048
  12049	023172				.TPSHI::
  12050	023172					PUSH	R1		; SAVE R1 FROM DESTRUCTION
	023172	010146 				 MOV	R1,-(SP)
  12051	023174	001416 				BEQ	30$		; .ON ZERO DO NOTHING
  12052	023176	003002 				BGT	10$		; .REALLY MEANS LEFT
  12053	023200	005401 				NEG	R1		; .MEANS RIGHT, SO NEGATE
  12054	023202	000406 				BR	20$		; .AND GO RIGHT
  12055						;
  12056	023204				10$:
  12057	023204	006320 				ASL	(R0)+		; .CLEAR CC-C AND SHIFT
  12058	023206	006120 				ROL	(R0)+		; .USE CC-C AND SHIFT
  12059	023210	006110 				ROL	(R0)		; .
  12060	023212	024040 				CMP	-(R0),-(R0)	; .POINT BACK TO BEGINNING
  12061	023214	077105 				SOB	R1,10$		; .AND LOOP 'TILL DONE
  12062	023216	000405 				BR	30$		; .DONE -- EXIT
  12063						;
  12064	023220				20$:				; .HERE TO SHIFT RIGHT
  12065	023220	022020 				CMP	(R0)+,(R0)+	; .FIX POINTER TO POINT TO HIGH PART
  12066	023222	006210 				ASR	(R0)		; .SHIFT HIGH PART
  12067	023224	006040 				ROR	-(R0)		; .THEN MIDDLE PART
  12068	023226	006040 				ROR	-(R0)		; .THEN LOW PART
  12069	023230	077105 				SOB	R1,20$		; .UNTIL DONE
  12070	023232				30$:
  12071	023232					POP	R1		; .RESTORE R1
	023232	012601 				 MOV	(SP)+,R1
  12072	023234					RETURN			; AND RETURN TO CALLER
	023234	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 346
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  12074					.SBTTL	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
  12075
  12076					;+
  12077					; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
  12078					;
  12079					; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
  12080					; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
  12081					; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
  12082					; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
  12083					; OF THE 48 BIT NUMBER POINTED TO BY R1.
  12084					;
  12085					; INPUT ARGUMENTS:
  12086					;
  12087					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
  12088					;	R1 POINTS TO THE SHIFT COUNT
  12089					;
  12090					; OUTPUT ARGUMENTS:
  12091					;
  12092					;	R0 POINTS TO THE SHIFTED NUMBER
  12093					;	R1 POINTS TO THE SHIFT COUNT
  12094					;
  12095					; ERROR CODES RETURNED:
  12096					;
  12097					;	NONE.
  12098					;-
  12099
  12100	023236				.TPSHL::
  12101	023236					PUSH	<(R1)+,(R1)+,(R1),R1>
	023236	012146 				 MOV	(R1)+,-(SP)
	023240	012146 				 MOV	(R1)+,-(SP)
	023242	011146 				 MOV	(R1),-(SP)
	023244	010146 				 MOV	R1,-(SP)
  12102	023246	024141 				CMP	-(R1),-(R1)	; ....BACK THE POINTER UP
  12103	023250					PUSH	<R2,R0>		; ....SAVE R2 AND R0
	023250	010246 				 MOV	R2,-(SP)
	023252	010046 				 MOV	R0,-(SP)
  12104	023254	010100 				MOV	R1,R0		; ......POINT TO THE SHIFT COUNT
  12105	023256					CALL	.TPXTN		; ......DO THE SIGN EXTENSION
	023256	004737 	022620'			 JSR	PC,.TPXTN
  12106	023262					CALL	.TPTST		; ......SEE WHAT IT IS
	023262	004737 	022674'			 JSR	PC,.TPTST
  12107	023266	001432 				BEQ	30$		; ......EXIT IF .EQ. ZERO
  12108	023270	002415 				BLT	20$		; ......SHIFT RIGHT IF .LT. ZERO
  12109
  12110					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1110  03-OCT-79 11:35  PAGE 347
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  12112					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12113
  12114	023272				10$:				; ......HERE TO SHIFT LEFT
  12115	023272	010002 				MOV	R0,R2		; ......SHIFT COUNT POINTER TO R2
  12116	023274	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
  12117	023276	012701 	000001 			MOV	#^D1,R1		; ......SUBSTITUTE SHIFT COUNT
  12118	023302					CALL	.TPSHI		; ......SHIFT IT ONCE
	023302	004737 	023172'			 JSR	PC,.TPSHI
  12119	023306	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
  12120	023310					CALL	.TPDEC		; ......DECREMENT IT
	023310	004737 	022750'			 JSR	PC,.TPDEC
  12121	023314					CALL	.TPTST		; ......ARE WE DONE?
	023314	004737 	022674'			 JSR	PC,.TPTST
  12122	023320	001364 				BNE	10$		; ......NO -- KEEP GOING
  12123	023322	000414 				BR	30$		; ......YES -- EXIT
  12124						;
  12125	023324				20$:				; ......HERE TO SHIFT RIGHT
  12126	023324	010002 				MOV	R0,R2		; ......SHIFT COUNT TO R2
  12127	023326	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
  12128	023330	012701 	177777 			MOV	#-^D1,R1	; ......SUBSTITUTE SHIFT COUNT
  12129	023334					CALL	.TPSHI		; ......SHIFT IT
	023334	004737 	023172'			 JSR	PC,.TPSHI
  12130	023340	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
  12131	023342					CALL	.TPINC		; ......INCREMENT IT
	023342	004737 	022736'			 JSR	PC,.TPINC
  12132	023346					CALL	.TPTST		; ......ARE WE DONE?
	023346	004737 	022674'			 JSR	PC,.TPTST
  12133	023352	001364 				BNE	20$		; ......NO -- KEEP GOING
  12134	023354				30$:
  12135	023354					POP	<R0,R2>		; ......RESTORE R0 AND R2
	023354	012600 				 MOV	(SP)+,R0
	023356	012602 				 MOV	(SP)+,R2
  12136	023360					POP	<R1,(R1),-(R1),-(R1)>
	023360	012601 				 MOV	(SP)+,R1
	023362	012611 				 MOV	(SP)+,(R1)
	023364	012641 				 MOV	(SP)+,-(R1)
	023366	012641 				 MOV	(SP)+,-(R1)
  12137	023370					RETURN			; RETURN TO CALLER
	023370	000207 				 RTS	PC
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 348
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  12139					.TITLE	TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
  12140
  12141						.IDENT	"005000"
  12142
  12143					;
  12144					;                             COPYRIGHT (C) 1975, 1979 BY
  12145					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  12146					;
  12147					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  12148					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  12149					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  12150					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  12151					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  12152					;
  12153					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  12154					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  12155					;       CORPORATION.
  12156					;
  12157					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  12158					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  12159					;
  12160					;		MODULE: DAIGNOSTIC FUNCTION TRACK
  12161					;
  12162					;		VERSION: 05-00
  12163					;
  12164					;		AUTHOR: R. BELANGER
  12165					;
  12166					;		DATE: 7603.30
  12167					;
  12168					;	THIS MODULE CONTAINS:
  12169					;
  12170					;	1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 349
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

  12172					.SBTTL	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
  12173
  12174					;+
  12175					; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
  12176					; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
  12177					; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
  12178					;
  12179					; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
  12180					; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
  12181					; ON THE FRONT END OUTPUT DEVICE.
  12182					;
  12183					; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
  12184					; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
  12185					; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
  12186					;
  12187					; ERROR CODES RETURNED:
  12188					;
  12189					;	NONE.
  12190					;-
  12191
  12193
  12194						.ENABL	LSB
  12195
  12196	023372				.FRTRK::
  12197	023372					PUSH	R0		; SAVE R0 ON THE STACK
	023372	010046 				 MOV	R0,-(SP)
  12198	023374					PUSH	.KLDFR+2	; .SAVE THE FR CODE TOO
	023374	013746 	000110'			 MOV	.KLDFR+2,-(SP)
  12199	023400					PUSH	#.DFRB		; ..AND THE BUFFER ADDRESS
	023400	012746 	000222'			 MOV	#.DFRB,-(SP)
  12200	023404	012700 	003316'			MOV	#TFRMSG,R0	; ...MESSAGE POINTER TO R0
  12201	023410	000416 				BR	10$		; ...DO THE TRACKING
  12202						;
  12203	023412				.FWTRK::
  12204	023412					PUSH	R0		; SAVE R0 ON THE STACK
	023412	010046 				 MOV	R0,-(SP)
  12205	023414					PUSH	.KLDFW+2	; .SAVE THE FW CODE
	023414	013746 	000122'			 MOV	.KLDFW+2,-(SP)
  12206	023420					PUSH	#.DFWB		; ..AND THE BUFFER ADDRESS
	023420	012746 	000214'			 MOV	#.DFWB,-(SP)
  12207	023424	012700 	003333'			MOV	#TFWMSG,R0	; ...MESSAGE POINTER TO R0
  12208	023430	000406 				BR	10$		; ...GO TRACK IT
  12209						;
  12210	023432				.FXTRK::
  12211	023432					PUSH	R0		; SAVE R0 ON THE STACK
	023432	010046 				 MOV	R0,-(SP)
  12212	023434					PUSH	.KLDFX+2	; .SAVE THE FX CODE
	023434	013746 	000134'			 MOV	.KLDFX+2,-(SP)
  12213	023440	005046 				CLR	-(SP)		; ..NO BUFFER ADDRESS
  12214	023442	012700 	003350'			MOV	#TFXMSG,R0	; ...MESSAGE POINTER TO R0
  12215					;	BR	10$		; ...AND FALL INTO COMMON CODE
  12216						;
  12217
  12218					;	[CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 350
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

  12220					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12221
  12222	023446				10$:
  12223	023446	012737 	177777 	000100'		MOV	#-^D1,.LDZFL	; ...PRINT LEADING ZEROES
  12224	023454					CALL	.TYMSG		; ...PRINT THE MESSAGE
	023454	004737 	026202'			 JSR	PC,.TYMSG
  12225	023460	016600 	000002 			MOV	2(SP),R0	; ...GET THE FUNCTION CODE
  12226	023464	000300 				SWAB	R0		; ...SWAP THE BYTES
  12227	023466	042700 	177400 			BIC	#177400,R0	; ...FLUSH JUNK FROM HIGH BYTE
  12228	023472	006200 				ASR	R0		; ...DIVIDE IT BY 2
  12229	023474					CALL	.TYP3D		; ...TYPE THAT
	023474	004737 	025552'			 JSR	PC,.TYP3D
  12230	023500	011600 				MOV	(SP),R0		; ...BUFFER ADDRESS?
  12231	023502	001406 				BEQ	20$		; ...NO -- JUST EXIT
  12232	023504					CALL	.TYSLS		; ...YES --  TYPE A SLASH AND
	023504	004737 	025444'			 JSR	PC,.TYSLS
  12233	023510					CALL	.TYSPC		; ...TYPE A <SPACE> AND
	023510	004737 	025454'			 JSR	PC,.TYSPC
  12234	023514					CALL	.TYKLN		; ...TYPE ITS CONTENT
	023514	004737 	025676'			 JSR	PC,.TYKLN
  12235	023520				20$:
  12236	023520					CALL	.TCRLF		; ...NOW A <CRLF>
	023520	004737 	026272'			 JSR	PC,.TCRLF
  12237	023524	022626 				CMP	(SP)+,(SP)+	; ...GET RID OF BUFFER POINTER AND CODE
  12238	023526					POP	R0		; .RESTORE R0
	023526	012600 				 MOV	(SP)+,R0
  12239	023530					RETURN			; AND GO AWAY
	023530	000207 				 RTS	PC
  12240
  12241						.DSABL	LSB
  12242
  12243	003316				.PSECT	MESSAG
  12244
  12245	003316				TFRMSG:
  12246	003316	   011 	   124 	   122 		.ASCIZ	%	TRACK > FR %
	003321	   101 	   103 	   113
	003324	   040 	   076 	   040
	003327	   106 	   122 	   040
	003332	   000
  12247	003333				TFWMSG:
  12248	003333	   011 	   124 	   122 		.ASCIZ	%	TRACK > FW %
	003336	   101 	   103 	   113
	003341	   040 	   076 	   040
	003344	   106 	   127 	   040
	003347	   000
  12249	003350				TFXMSG:
  12250	003350	   011 	   124 	   122 		.ASCIZ	%	TRACK > FX %
	003353	   101 	   103 	   113
	003356	   040 	   076 	   040
	003361	   106 	   130 	   040
	003364	   000
  12251	023532				.PSECT
  12252
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 351
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

  12255					.SBTTL	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
  12256
  12257					;+
  12258					; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
  12259					;
  12260					; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
  12261					; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
  12262					; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
  12263					; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
  12264					;
  12265					; CALLING SEQUENCE IS:
  12266					;
  12267					;	CALL	.DTTRK		; TRACK THE DTE-20
  12268					;				; ONLY RETURN
  12269					;
  12270					; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
  12271					;
  12272					;	(A) DIAG 1 - DIAG WORD 1,
  12273					;	(B) DIAG 2 - DIAG WORD 2,
  12274					;	(C) STATUS - STATUS WORD,
  12275					;	(D) DIAG 3 - DIAG WORD 3.
  12276					;
  12277					; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
  12278					;
  12279					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
  12280					;
  12281					; ERROR CODES RETURNED:
  12282					;
  12283					;	NONE.
  12284					;-
  12285
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 352
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

  12288	023532				.DTTRK::
  12289	023532	012737 	177777 	000100'		MOV	#-^D1,.LDZFL	; PRINT LEADING ZEROES
  12290	023540					PUSH	R0		; SAVE R0
	023540	010046 				 MOV	R0,-(SP)
  12291	023542	012700 	003365'			MOV	#DTRMSG,R0	; .MESSAGE POINTER TO R0
  12292	023546					CALL	.TYMSG		; .PRINT IT
	023546	004737 	026202'			 JSR	PC,.TYMSG
  12293	023552	113700 	000053'			MOVB	.REGRW+3,R0	; .GET THE REGISTER OFFSET
  12294	023556	016000 	005046'			MOV	REGTAB(R0),R0	; .REGISTER MESSAGE POINTER TO R0
  12295	023562					CALL	.TYMSG		; .TYPE IT
	023562	004737 	026202'			 JSR	PC,.TYMSG
  12296	023566					CALL	.TYSPC		; .NOW A <SPACE>
	023566	004737 	025454'			 JSR	PC,.TYSPC
  12297	023572	005737 	000054'			TST	.REGRW+4	; .IS THIS A WRITE?
  12298	023576	001002 				BNE	10$		; .YES -- GO ON
  12299	023600	011600 				MOV	(SP),R0		; .NO -- DATA TO R0
  12300	023602	000402 				BR	20$		; .GO PRINT IT
  12301						;
  12302	023604				10$:
  12303	023604	017700 	000054'			MOV	@.REGRW+4,R0	; .GET WRITTEN DATA
  12304	023610				20$:
  12305	023610					CALL	.TYELN		; .PRINT THE DATA
	023610	004737 	025506'			 JSR	PC,.TYELN
  12306	023614	012700 	003446'			MOV	#DRDMSG,R0	; .READ MESSAGE POINTER TO R0
  12307	023620	005737 	000054'			TST	.REGRW+4	; .WAS IT A WRITE?
  12308	023624	001402 				BEQ	30$		; .YES -- GO ON
  12309	023626	012700 	003452'			MOV	#DWRMSG,R0	; .NO -- WRITE MESSAGE POINTER TO R0
  12310	023632				30$:
  12311	023632					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	023632	004737 	026166'			 JSR	PC,.TYLIN
  12312	023636					POP	R0		; .RESTORE R0
	023636	012600 				 MOV	(SP)+,R0
  12313	023640					RETURN			; TO CALLER
	023640	000207 				 RTS	PC
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 353
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

  12315	005046				.PSECT	DATA
  12316
  12317	005046				REGTAB:
  12318	005046	003406'				.WORD	DW1MSG		; MESSAGE POINTERS
  12319	005050	003416'				.WORD	DW2MSG
  12320	005052	003426'				.WORD	STAMSG
  12321	005054	003436'				.WORD	DW3MSG
  12322
  12323	003365				.PSECT	MESSAG
  12324	003365				DTRMSG:
  12325	003365	   011 	   124 	   122 		.ASCIZ	%	TRACK > DTE-20 %
	003370	   101 	   103 	   113
	003373	   040 	   076 	   040
	003376	   104 	   124 	   105
	003401	   055 	   062 	   060
	003404	   040 	   000
  12326
  12327	003406				DW1MSG:
  12328	003406	   104 	   111 	   101 		.ASCIZ	%DIAG 1/%
	003411	   107 	   040 	   061
	003414	   057 	   000
  12329	003416				DW2MSG:
  12330	003416	   104 	   111 	   101 		.ASCIZ	%DIAG 2/%
	003421	   107 	   040 	   062
	003424	   057 	   000
  12331	003426				STAMSG:
  12332	003426	   123 	   124 	   101 		.ASCIZ	%STATUS/%
	003431	   124 	   125 	   123
	003434	   057 	   000
  12333	003436				DW3MSG:
  12334	003436	   104 	   111 	   101 		.ASCIZ	%DIAG 3/%
	003441	   107 	   040 	   063
	003444	   057 	   000
  12335
  12336	003446				DRDMSG:
  12337	003446	   040 	   122 	   104 		.ASCIZ	% RD%
	003451	   000
  12338	003452				DWRMSG:
  12339	003452	   040 	   127 	   122 		.ASCIZ	% WR%
	003455	   000
  12340	023642				.PSECT
  12341
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 354
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

  12344					.SBTTL	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
  12345
  12346					;+
  12347					; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
  12348					; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
  12349					;
  12350					; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
  12351					; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
  12352					; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
  12353					;
  12354					; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
  12355					; THE TRACK CONTROL WORD ".TRKWD".
  12356					;
  12357					; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
  12358					; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
  12359					;
  12360					; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
  12361					;
  12362					; ERROR CODES RETURNED:
  12363					;
  12364					;	NONE.
  12365					;-
  12366
  12368
  12369						.ENABL	LSB
  12370
  12371	023642				.EXTRK::
  12372	023642					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	023642	004537 	012512'			 JSR	R5,.REGSV
  12373	023646	012705 	003502'			MOV	#ETRMSG,R5	; PREAMBLE TO TYPE
  12374	023652	000404 				BR	10$		; DO COMMON CODE
  12375						;
  12376	023654				.DPTRK::
  12377	023654					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	023654	004537 	012512'			 JSR	R5,.REGSV
  12378	023660	012705 	003517'			MOV	#DTKMSG,R5	; PREAMBLE TO TYPE
  12379									; AND FALL INTO COMMON CODE
  12380
  12381					;	[CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 355
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

  12383					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12384
  12385	023664				10$:
  12386	023664					PUSH	R0		; SAVE R0 ON THE STACK
	023664	010046 				 MOV	R0,-(SP)
  12387	023666	011100 				MOV	(R1),R0		; .GET ADDRESS POINTER
  12388	023670	012702 	005056'			MOV	#TRADDR,R2	; .POINT TO OUR BLOCK
  12389	023674	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
  12390	023676	012022 				MOV	(R0)+,(R2)+	; .
  12391	023700	005012 				CLR	(R2)		; .ZERO THE LAST WORD
  12392	023702	016100 	000002 			MOV	2(R1),R0	; .GET DATA POINTER
  12393	023706	012702 	005064'			MOV	#TRDATA,R2	; .POINT TO OUR BLOCK
  12394	023712	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
  12395	023714	012022 				MOV	(R0)+,(R2)+	; .
  12396	023716	011012 				MOV	(R0),(R2)	; .
  12397	023720	010500 				MOV	R5,R0		; .PREAMBLE POINTER TO R0
  12398	023722					CALL	.TYMSG		; .PRINT IT
	023722	004737 	026202'			 JSR	PC,.TYMSG
  12399	023726	012700 	005056'			MOV	#TRADDR,R0	; .POINT TO ADDRESS
  12400	023732					CALL	.TYKLA		; .PRINT IT
	023732	004737 	025626'			 JSR	PC,.TYKLA
  12401	023736					CALL	.TYSLS		; .TYPE A SLASH
	023736	004737 	025444'			 JSR	PC,.TYSLS
  12402	023742					CALL	.TYSPC		; .AND A <SPACE>
	023742	004737 	025454'			 JSR	PC,.TYSPC
  12403	023746	012700 	005064'			MOV	#TRDATA,R0	; .POINT TO DATA
  12404	023752					CALL	.TYKLN		; .PRINT IT
	023752	004737 	025676'			 JSR	PC,.TYKLN
  12405	023756					CALL	.TYSPC		; .AND A <SPACE>
	023756	004737 	025454'			 JSR	PC,.TYSPC
  12406	023762	011600 				MOV	(SP),R0		; .GET TYPE
  12407	023764	006200 				ASR	R0		; .DIVIDE BY 16
  12408	023766	006200 				ASR	R0		; .
  12409	023770	006200 				ASR	R0		; .
  12410	023772	006200 				ASR	R0		; .
  12411	023774	016000 	005072'			MOV	EDTYTB(R0),R0	; .GET TYPE POINTER
  12412	024000					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	024000	004737 	026166'			 JSR	PC,.TYLIN
  12413	024004					POP	R0		; .AND R0
	024004	012600 				 MOV	(SP)+,R0
  12414	024006					RETURN			; TO CALLER
	024006	000207 				 RTS	PC
  12415
  12416						.DSABL	LSB
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1110  03-OCT-79 11:35  PAGE 356
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

  12418	005056				.PSECT	DATA
  12419
  12420	005056				TRADDR:
  12421	005056	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR ADDRESS
  12422	005064				TRDATA:
  12423	005064	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DATA
  12424	005072				EDTYTB:				; POINTERS FOR TYPE MESSAGES
  12425	005072	003456'				.WORD	EDEPT		; EPT SPACE
  12426	005074	003462'				.WORD	EDEXV		; EXEC VIRTUAL SPACE
  12427	005076	003466'				.WORD	EDUPT		; UPT SPACE
  12428	005100	003472'				.WORD	EDUSV		; USER VIRTUAL
  12429	005102	003476'				.WORD	EDPHY		; PHYSICAL SPACE
  12430
  12431	003456				.PSECT	MESSAG
  12432	003456				EDEPT:
  12433	003456	   105 	   120 	   124 		.ASCIZ	%EPT%
	003461	   000
  12434	003462				EDEXV:
  12435	003462	   105 	   126 	   123 		.ASCIZ	%EVS%
	003465	   000
  12436	003466				EDUPT:
  12437	003466	   125 	   120 	   124 		.ASCIZ	%UPT%
	003471	   000
  12438	003472				EDUSV:
  12439	003472	   125 	   126 	   123 		.ASCIZ	%UVS%
	003475	   000
  12440	003476				EDPHY:
  12441	003476	   120 	   110 	   131 		.ASCIZ	%PHY%
	003501	   000
  12442	003502				ETRMSG:
  12443	003502	   011 	   124 	   122 		.ASCIZ	%	TRACK > EX %
	003505	   101 	   103 	   113
	003510	   040 	   076 	   040
	003513	   105 	   130 	   040
	003516	   000
  12444	003517				DTKMSG:
  12445	003517	   011 	   124 	   122 		.ASCIZ	%	TRACK > DP %
	003522	   101 	   103 	   113
	003525	   040 	   076 	   040
	003530	   104 	   120 	   040
	003533	   000
  12446	024010				.PSECT
  12447
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 357
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

  12450					.TITLE	TYINP -- COMMAND PARSER COMMAND INPUT MODULE 7603.30
  12451
  12452						.IDENT	"005000"
  12453
  12454					;
  12455					;                             COPYRIGHT (C) 1975, 1979 BY
  12456					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  12457					;
  12458					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  12459					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  12460					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  12461					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  12462					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  12463					;
  12464					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  12465					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  12466					;       CORPORATION.
  12467					;
  12468					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  12469					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  12470					;
  12471					;		MODULE: COMMAND PARSER COMMAND INPUT
  12472					;
  12473					;		VERSION: 05-00
  12474					;
  12475					;		AUTHOR: R. BELANGER
  12476					;
  12477					;		DATE: 7603.30
  12478					;
  12479					;	THIS MODULE CONTAINS:
  12480					;
  12481					;	1) COMMAND LINE INPUT CODE
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 358
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22

  12483					.SBTTL	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
  12484
  12485					;+
  12486					; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
  12487					;	    BUFFER.
  12488					;
  12489					; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
  12490					; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
  12491					;
  12492					; INPUT ARGUMENTS:
  12493					;
  12494					;	R5 POINTS TO THE DESTINATION BUFFER.
  12495					;
  12496					; OUTPUT ARGUMENTS:
  12497					;
  12498					;	R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
  12499					;	".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
  12500					;	THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
  12501					;
  12502					; ERROR CODES RETURNED:
  12503					;
  12504					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
  12505					;
  12506					;	CBO -- COMMAND BUFFER OVERFLOW.
  12507					;	ILC -- ILLEGAL CHARACTER.
  12508					;-
  12509
  12510	024010				.GTCMD::
  12511	024010	010501 				MOV	R5,R1		; COMMAND BUFFER POINTER TO R1
  12512	024012				10$:
  12513	024012					PUSH	R1		; SAVE R1 ON THE STACK
	024012	010146 				 MOV	R1,-(SP)
  12514	024014					CALL	.GTLIN		; .GO GET THE COMMAND LINE
	024014	004737 	024044'			 JSR	PC,.GTLIN
  12515	024020	022601 				CMP	(SP)+,R1	; .DID THE POINTER CHANGE?
  12516	024022	001407 				BEQ	20$		; NO -- JUST EXIT
  12517	024024	122741 	000055 			CMPB	#'-,-(R1)	; YES -- WAS LAST CHARACTER LINE CONTINUATION?
  12518	024030	001004 				BNE	20$		; NO -- EXIT
  12519	024032	111100 				MOVB	(R1),R0		; YES -- PROMPT FOR CONTINUATION
  12520	024034					CALL	.TFCHR		; FORCE PRINT THE PROMPT
	024034	004737 	026224'			 JSR	PC,.TFCHR
  12521	024040	000764 				BR	10$		; AND GO GET THE REST OF THE LINE
  12522						;
  12523	024042				20$:
  12524	024042					RETURN			; TO CALLER
	024042	000207 				 RTS	PC
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 359
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

  12526					.SBTTL	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
  12527
  12528					;+
  12529					; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
  12530					;
  12531					; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
  12532					; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
  12533					;
  12534					;	(A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
  12535					;	(B) "<TAB>" IS CONVERTED TO "<SPACE>"
  12536					;
  12537					; INPUT ARGUMENTS:
  12538					;
  12539					;	R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
  12540					;
  12541					; OUTPUT ARGUMENTS:
  12542					;
  12543					;	R1 POINTS TO THE END OF THE DESTINATION BUFFER
  12544					;
  12545					; ERROR CODES RETURNED:
  12546					;
  12547					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
  12548					;
  12549					;	CBO -- COMMAND BUFFER OVERFLOW.
  12550					;	ILC -- ILLEGAL CHARACTER.
  12551					;-
  12552
  12553						.MCALL	DIR$, QIOW$
  12554
  12555	024044				.GTLIN::
  12556	024044					PUSH	<R0,R3,R4>	; SAVE SOME REGISTERS
	024044	010046 				 MOV	R0,-(SP)
	024046	010346 				 MOV	R3,-(SP)
	024050	010446 				 MOV	R4,-(SP)
  12557	024052	012700 	000240'			MOV	#.CIBFR,R0	; ...INPUT BUFFER POINTER TO R0
  12558	024056	005037 	000064'			CLR	.INCHC		; ...CLEAR THE CHARACTER COUNTER
  12559	024062				10$:
  12560	024062					DIR$	#.CDINP		; ...READ THE LINE INTO INPUT BUFFER
	024062	012746 	000200'			MOV	#.CDINP,-(SP)
	024066	104375 				EMT	375
  12561	024070	103445 				BCS	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
  12562	024072	105737 	000004'			TSTB	.CISTS		; ...TEST THE STATUS BYTE
  12563	024076	002442 				BLT	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
  12564	024100					CALL	.TCRLF		; ...ACKNOWLEDGE THE LINE
	024100	004737 	026272'			 JSR	PC,.TCRLF
  12565	024104	013703 	000006'			MOV	.CISTS+2,R3	; ...INPUT BYTE COUNT TO R3
  12566	024110	001415 				BEQ	40$		; ...NULL LINE IF .EQ. 0
  12567	024112				20$:
  12568	024112	112004 				MOVB	(R0)+,R4	; ...GET THE CHARACTER INTO R4
  12569	024114	001440 				BEQ	GTLILC		; ...ILLEGAL IF <NULL>
  12570	024116	105764 	001360'			TSTB	.CHTAB(R4)	; ...SEE IF IT IS A LEGAL CHARACTER
  12571	024122	002417 				BLT	50$		; ...NO -- SEE IF IT IS REALLY ILLEGAL
  12572
  12573					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 360
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

  12575					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12576
  12577	024124				30$:
  12578	024124	110421 				MOVB	R4,(R1)+	; ...PUT IT INTO THE OUTPUT BUFFER
  12579	024126	005237 	000064'			INC	.INCHC		; ...INCREMENT THE CHARACTER COUNT
  12580	024132	023727 	000064'	000430 		CMP	.INCHC,#.CMNDL	; ...HAVE WE OVERFLOWED?
  12581	024140	003023 				BGT	GTLCBO		; ...YES -- GIVE ERROR
  12582	024142	077315 				SOB	R3,20$		; ...NO -- LOOP TILL DONE THIS LINE
  12583	024144				40$:
  12584	024144	105011 				CLRB	(R1)		; ...MARK THE END OF LINE
  12585	024146					POP	<R4,R3,R0>	; ...RESTORE THE REGISTERS
	024146	012604 				 MOV	(SP)+,R4
	024150	012603 				 MOV	(SP)+,R3
	024152	012600 				 MOV	(SP)+,R0
  12586	024154	005737 	000064'			TST	.INCHC		; TEST THE INPUT BYTE COUNT
  12587	024160					RETURN			; TO CALLER
	024160	000207 				 RTS	PC
  12588	024162				50$:				; ...HERE TO CHECK ILLEGAL CHARACTERS
  12589	024162	122704 	000041 			CMPB	#'!,R4		; ...WAS IT A COMMENT?
  12590	024166	001766 				BEQ	40$		; ...YES -- JUST EXIT
  12591	024170	122704 	000011 			CMPB	#11,R4		; ...NO -- WAS IT A <TAB>?
  12595	024174	001010 				BNE	GTLILC		; ...NO -- GIVE "ILC" ERROR
  12597	024176	112704 	000040 			MOVB	#.SPACE,R4	; ...YES -- MAKE IT A <SPACE>
  12598	024202	000750 				BR	30$		; ...AND PUT IT IN THE BUFFER
  12599						;
  12610	024204				70$:
  12611	024204					CALLR	.EXITP		; EXIT GRACEFULLY
	024204	000137 	012436'			 JMP	.EXITP
  12612						;
  12613	024210				GTLCBO:
  12614	024210					ERROR$	CBO		; ERROR -- COMMAND BUFFER OVERFLOW
	024210	012746 	011437 			 MOV	#^RCBO,-(SP)
	024214	104400 				 TRAP	TC.ERR
  12615						;
  12616	024216				GTLILC:
  12617	024216					ERROR$	ILC		; ERROR -- ILLEGAL CHARACTER
	024216	012746 	035043 			 MOV	#^RILC,-(SP)
	024222	104400 				 TRAP	TC.ERR
  12618						;
  12619					; THIS IS THE CONSOLE INPUT DPB
  12620
  12621	000200				.PSECT	DPBS
  12622
  12623	000200				.CDINP::
  12624	000200					QIOW$	IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
	000200	   003 	   010 			.BYTE	3,$$$ARG
	000202	000000G				.WORD	IO.RLB
	000204	000001 				.WORD	CIDLUN
	000206	   002 	   000 			.BYTE	E.FCID,0
	000210	000004'				.WORD	.CISTS
	000212	000000 				.WORD	0
	000214	000240'				.WORD	.CIBFR
	000216	000214 				.WORD	.CIBFL
  12625
  12626		000214'			.CDIBP=.CDINP+Q.IOPL		; CONSOLE INPUT BYTE POINTER
  12627		000216'			.CDIBC=.CDINP+Q.BYCT		; CONSOLE INPUT BYTE COUNT
  12628
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 360-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

  12629	024224				.PSECT
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 361
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01

  12631					.SBTTL	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
  12632
  12633					;+
  12634					; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
  12635					;
  12636					; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
  12637					; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
  12638					; ONLY 36 BIT NUMBERS.
  12639					;
  12640					; INPUT ARGUMENTS:
  12641					;
  12642					;	R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
  12643					;
  12644					; OUTPUT ARGUMENTS:
  12645					;
  12646					;	R0 POINTS TO THE PDP-11 NUMBER
  12647					;
  12648					; ERROR CODES RETURNED:
  12649					;
  12650					;	NOR -- INPUT NUMBER OUT OF RANGE.
  12651					;-
  12652
  12653	024224				.ELNCK::
  12654	024224	032760 	000010 	000004 		BIT	#10,4(R0)	; IS THIS A NEGATIVE NUMBER?
  12655	024232	001411 				BEQ	10$		; NO -- POSITIVE
  12656	024234	022760 	177777 	000004 		CMP	#-^D1,4(R0)	; YES -- ARE ALL THE BITS ON?
  12657	024242	001014 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
  12658	024244	022760 	177777 	000002 		CMP	#-^D1,2(R0)	; YES -- HOW ABOUT THE SECOND WORD?
  12659	024252	001010 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
  12660	024254	000406 				BR	20$		; YES -- ALL OK, EXIT
  12661						;
  12662	024256				10$:
  12663	024256	005760 	000004 			TST	4(R0)		; SEE IF HIGH WORD IS .EQ. ZERO
  12664	024262	001004 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
  12665	024264	005760 	000002 			TST	2(R0)		; IS SECOND WORD .EQ. ZERO?
  12666	024270	001001 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
  12667	024272				20$:
  12668	024272					RETURN			; TO CALLER
	024272	000207 				 RTS	PC
  12669	024274				ELNNOR:
  12670	024274	000137 	025406'			JMP	GTNNOR		; GIVE "NOR" ERROR
  12671						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 362
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05

  12673					.SBTTL	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
  12674
  12675					;+
  12676					; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
  12677					;
  12678					; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
  12679					;
  12680					; INPUT ARGUMENTS:
  12681					;
  12682					;	NONE.
  12683					;
  12684					; OUTPUT ARGUMENTS:
  12685					;
  12686					;	R0 HOLDS THE PDP-11 NUMBER.
  12687					;
  12688					; ERROR CODES RETURNED:
  12689					;
  12690					;	NOR -- INPUT NUMBER OUT OF RANGE.
  12691					;-
  12692
  12693	024300				.GTELN::
  12694	024300	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  12695	024302	005046 				CLR	-(SP)		; .
  12696	024304	005046 				CLR	-(SP)		; ..
  12697	024306	010600 				MOV	SP,R0		; ...
  12698	024310					CALL	.GTNUM		; ...GET A NUMBER
	024310	004737 	024362'			 JSR	PC,.GTNUM
  12699	024314					CALL	.ELNCK		; ...SEE IF IS REALLY A PDP-11 NUMBER
	024314	004737 	024224'			 JSR	PC,.ELNCK
  12700	024320	011000 				MOV	(R0),R0		; ...PUT THE NUMBER IN R0
  12701	024322	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
  12702	024326					RETURN			; TO CALLER
	024326	000207 				 RTS	PC
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 363
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05

  12704					.SBTTL	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
  12705
  12706					;+
  12707					; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
  12708					;
  12709					; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
  12710					; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
  12711					;
  12712					; INPUT ARGUMENTS:
  12713					;
  12714					;	R0 POINTS TO A THREE WORD BUFFER
  12715					;
  12716					; OUTPUT ARGUMENTS:
  12717					;
  12718					;	R0 POINTS TO THE 22 BIT KL ADDRESS
  12719					;
  12720					; ERROR CODES RETURNED:
  12721					;
  12722					;	KLA -- KL ADDRESS ERROR.
  12723					;	NOR -- NUMBER OUT OF RANGE
  12724					;-
  12725
  12726	024330				.GTKLA::
  12727	024330					CALL	.GTNUM		; GET A NUMBER
	024330	004737 	024362'			 JSR	PC,.GTNUM
  12728	024334	005760 	000004 			TST	4(R0)		; CHECK FOR A LEGAL ADDRESS
  12729	024340	001005 				BNE	GTKKLA		; BAD NEWS -- OUT OF RANGE
  12730	024342	032760 	177600 	000002 		BIT	#^C177,2(R0)	; LOOK AT SECOND WORD
  12731	024350	001001 				BNE	GTKKLA		; SAME HERE -- OUT OF RANGE
  12732	024352					RETURN			; TO CALLER
	024352	000207 				 RTS	PC
  12733	024354				GTKKLA:
  12734	024354					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	024354	012746 	043241 			 MOV	#^RKLA,-(SP)
	024360	104400 				 TRAP	TC.ERR
  12735						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 364
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

  12737					.SBTTL	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
  12738
  12739					;+
  12740					; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
  12741					; .GTKLN -- ".GTNUM" BY ANOTHER NAME
  12742					;
  12743					; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
  12744					; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
  12745					;
  12746					; INPUT ARGUMENTS:
  12747					;
  12748					;	R0 POINTS TO THE DESTINATION OF THE NUMBER
  12749					;	R5 POINTS TO THE INPUT STREAM
  12750					;
  12751					; OUTPUT ARGUMENTS:
  12752					;
  12753					;	R0 POINTS TO THE NUMBER
  12754					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
  12755					;
  12756					; ERROR CODES RETURNED:
  12757					;
  12758					;	ILC -- ILLEGAL CHARACTER.
  12759					;	NOR -- NUMBER OUT OF RANGE.
  12760					;-
  12761
  12762	024362				.GTNUM::
  12763	024362				.GTKLN::
  12764	024362					PUSH	R1		; SAVE R1
	024362	010146 				 MOV	R1,-(SP)
  12765	024364					CALL	.CKSYM		; .GET OVER LEADING BLANKS
	024364	004737 	000446'			 JSR	PC,.CKSYM
  12766	024370	122715 	000077 			CMPB	#'?,(R5)	; .IS THIS AN INQUIRY?
  12767	024374	001466 				BEQ	GTNNER		; .YES -- SAY SO
  12768	024376					CALL	.TPCLR		; .NO -- CLEAR CALLER'S NUMBER
	024376	004737 	022572'			 JSR	PC,.TPCLR
  12769	024402					CALL	.GTEXP		; .READ THIS EXPRESSION
	024402	004737 	024560'			 JSR	PC,.GTEXP
  12770	024406	122715 	000040 			CMPB	#.SPACE,(R5)	; .IS THE TERMINATOR A <SPACE>?
  12771	024412	001053 				BNE	30$		; .NO -- JUST EXIT
  12772	024414					CALL	.CKARG		; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
	024414	004737 	000140'			 JSR	PC,.CKARG
  12773	024420	001454 				BEQ	GTNNER		; .NOT NUMERIC -- GIVE "NER" ERROR
  12774	024422					CALL	.TPTST		; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
	024422	004737 	022674'			 JSR	PC,.TPTST
  12775	024426	002407 				BLT	10$		; .NEGATIVE -- DON'T DO RANGE CHECK
  12776	024430	032760 	177774 	000002 		BIT	#^C3,2(R0)	; .IS THE NUMBER IN RANGE?
  12777	024436	001043 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
  12778	024440	005760 	000004 			TST	4(R0)		; .IS IT REALLY IN RANGE?
  12779	024444	001040 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
  12780
  12781					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 365
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

  12783					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12784
  12785	024446				10$:
  12786	024446	012701 	000022 			MOV	#^D18,R1	; .SHIFT COUNT TO R1
  12787	024452					CALL	.TPSHI		; .SHIFT IT
	024452	004737 	023172'			 JSR	PC,.TPSHI
  12788	024456	010001 				MOV	R0,R1		; .SAVE THE POINTER TO THE CURRENT NUMBER
  12789	024460	005046 				CLR	-(SP)		; .CLEAR A NEW BUFFER
  12790	024462	005046 				CLR	-(SP)		; ..
  12791	024464	005046 				CLR	-(SP)		; ...
  12792	024466	010600 				MOV	SP,R0		; ....POINT TO THE BUFFER
  12793	024470					PUSH	R1		; ....SAVE THE OLD POINTER
	024470	010146 				 MOV	R1,-(SP)
  12794	024472					CALL	.GTEXP		; .....READ THE NEW EXPRESSION
	024472	004737 	024560'			 JSR	PC,.GTEXP
  12795	024476					CALL	.CKEOS		; .....MUST HAVE E-O-S AT THIS POINT
	024476	004737 	000326'			 JSR	PC,.CKEOS
  12796	024502					CALL	.TPTST		; .....SEE IF THIS NUMBER IS NEGATIVE
	024502	004737 	022674'			 JSR	PC,.TPTST
  12797	024506	003005 				BGT	20$		; .....YES -- GO ON
  12798	024510	005060 	000004 			CLR	4(R0)		; .....YES -- FIX IT UP
  12799	024514	042760 	177774 	000002 		BIC	#^C3,2(R0)	; .....SO
  12800	024522				20$:
  12801	024522					POP	R1		; .....GET THE POINTER TO THE FIRST PART
	024522	012601 				 MOV	(SP)+,R1
  12802	024524	052021 				BIS	(R0)+,(R1)+	; ....ASSEMBLE THE NEW NUMBER
  12803	024526	052021 				BIS	(R0)+,(R1)+	; ....FROM BOTH HALVES
  12804	024530	051011 				BIS	(R0),(R1)	; ....SO
  12805	024532	062706 	000006 			ADD	#^D6,SP		; ....RESET THE STACK
  12806	024536	024141 				CMP	-(R1),-(R1)	; .BACK THE POINTER UP
  12807	024540	010100 				MOV	R1,R0		; .PUT IT IN R0
  12808	024542				30$:
  12809	024542					POP	R1		; .RESTORE R1
	024542	012601 				 MOV	(SP)+,R1
  12810	024544					RETURN			; TO CALLER
	024544	000207 				 RTS	PC
  12811	024546				GTNORE:
  12812	024546	000137 	025406'			JMP	GTNNOR		; GIVE "NOR" ERROR
  12813						;
  12814	024552				GTNNER:
  12815	024552					ERROR$	NER		; ERROR -- NUMERIC EXPRESSION REQUIRED
	024552	012746 	054132 			 MOV	#^RNER,-(SP)
	024556	104400 				 TRAP	TC.ERR
  12816						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 366
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

  12818					.SBTTL	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
  12819
  12820					;+
  12821					; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
  12822					;
  12823					; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
  12824					;
  12825					; DEFINITION OF AN EXPRESSION:
  12826					;
  12827					; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
  12828					;
  12829					; INPUT ARGUMENTS:
  12830					;
  12831					;	R0 POINTS TO A THREE WORD BUFFER
  12832					;
  12833					; OUTPUT ARGUMENTS:
  12834					;
  12835					;	R0 POINTS TO THE EVALUATED EXPRESSION
  12836					;
  12837					; ERROR CODES RETURNED:
  12838					;
  12839					;	NONE.
  12840					;-
  12841
  12842	024560				.GTEXP::
  12843	024560					CALL	.GTTRM		; GET THE NEXT TERM
	024560	004737 	024654'			 JSR	PC,.GTTRM
  12844	024564				10$:
  12845	024564	122715 	000053 			CMPB	#'+,(R5)	; DID HE SAY ADD?
  12846	024570	001404 				BEQ	20$		; YES -- GO DO THE ADDITION
  12847	024572	122715 	000055 			CMPB	#'-,(R5)	; NO -- DID HE SAY SUBTRACT?
  12848	024576	001404 				BEQ	30$		; YES -- GO DO THE SUBTRACTION
  12849	024600					RETURN			; NO -- JUST RETURN
	024600	000207 				 RTS	PC
  12850
  12851					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 367
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

  12853					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12854
  12855	024602				20$:
  12856	024602	012702 	022716'			MOV	#.TPADD,R2	; DISPATCH ADDRESS TO R2
  12857	024606	000402 				BR	40$		; TO COMMON ROUTINE
  12858						;
  12859	024610				30$:
  12860	024610	012702 	022762'			MOV	#.TPSUB,R2	; DISPATCH ADDRESS TO R2
  12861	024614				40$:
  12862	024614	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
  12863	024616	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  12864	024620	005046 				CLR	-(SP)		; .
  12865	024622	005046 				CLR	-(SP)		; ..
  12866	024624	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
  12867	024626					PUSH	R2		; ...SAVE THE DISPATCH ADDRESS
	024626	010246 				 MOV	R2,-(SP)
  12868	024630					PUSH	R0		; ....AND PREVIOUS POINTER
	024630	010046 				 MOV	R0,-(SP)
  12869	024632	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
  12870	024634					CALL	.GTTRM		; .....GET THE NEXT TERM
	024634	004737 	024654'			 JSR	PC,.GTTRM
  12871	024640	010001 				MOV	R0,R1		; .....CURRENT POINTER TO R1
  12872	024642					POP	R0		; .....RESTORE PREVIOUS POINTER
	024642	012600 				 MOV	(SP)+,R0
  12873	024644					CALL	@(SP)+		; ....DO THE ADDITION OR SUBTRACTION
	024644	004736 				 JSR	PC,@(SP)+
  12874	024646	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
  12875	024652	000744 				BR	10$		; AND SEE IF THERE IS MORE
  12876						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 368
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

  12878					.SBTTL	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
  12879
  12880					;+
  12881					; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
  12882					;
  12883					; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
  12884					;
  12885					; DEFINITION OF A TERM:
  12886					;
  12887					; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
  12888					;
  12889					; INPUT ARGUMENTS:
  12890					;
  12891					;	R0 POINTS TO A THREE WORD BUFFER
  12892					;
  12893					; OUTPUT ARGUMENTS:
  12894					;
  12895					;	R0 POINTS TO THE EVALUATED TERM
  12896					;
  12897					; ERROR CODES RETURNED:
  12898					;
  12899					;	NONE.
  12900					;-
  12901
  12902	024654				.GTTRM::
  12903	024654					CALL	.GTFCT		; GET THE NEXT FACTOR
	024654	004737 	024766'			 JSR	PC,.GTFCT
  12904	024660	001411 				BEQ	20$		; EXIT IF NULL ARGUMENT
  12905	024662				10$:
  12906	024662	122715 	000137 			CMPB	#'_,(R5)	; DID HE SAY SHIFT?
  12907	024666	001407 				BEQ	30$		; YES -- GO DO THE SHIFT
  12908	024670	122715 	000052 			CMPB	#'*,(R5)	; NO -- DID HE SAY MULTIPLY?
  12909	024674	001412 				BEQ	50$		; YES -- GO DO THE MULTIPLICATION
  12910	024676	122715 	000057 			CMPB	#'/,(R5)	; NO -- DID HE SAY DIVIDE?
  12911	024702	001404 				BEQ	40$		; YES -- GO DO THE DIVISION
  12912	024704				20$:
  12913	024704					RETURN			; NO -- JUST RETURN
	024704	000207 				 RTS	PC
  12914
  12915					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 369
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

  12917					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12918
  12919	024706				30$:
  12920	024706	012702 	023236'			MOV	#.TPSHL,R2	; DISPATCH TO R2
  12921	024712	000405 				BR	60$		; TO COMMON CODE
  12922						;
  12923	024714				40$:
  12924	024714	012702 	022360'			MOV	#.TPDIV,R2	; DISPATCH TO R2
  12925	024720	000402 				BR	60$		; TO COMMON ROUTINE
  12926						;
  12927	024722				50$:
  12928	024722	012702 	023006'			MOV	#.TPMUL,R2	; DISPATCH TO R2
  12929	024726				60$:
  12930	024726	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
  12931	024730	005046 				CLR	-(SP)		; CREATE A SCRATCH BUFFER ON THE STACK
  12932	024732	005046 				CLR	-(SP)		; .
  12933	024734	005046 				CLR	-(SP)		; ..
  12934	024736	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
  12935	024740					PUSH	R2		; ...SAVE THE DISPATCH POINTER
	024740	010246 				 MOV	R2,-(SP)
  12936	024742					PUSH	R0		; ....SAVE PREVIOUS NUMBER POINTER
	024742	010046 				 MOV	R0,-(SP)
  12937	024744	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
  12938	024746					CALL	.GTFCT		; .....GET THE NEXT FACTOR
	024746	004737 	024766'			 JSR	PC,.GTFCT
  12939	024752	010001 				MOV	R0,R1		; .....POINTER TO R1
  12940	024754					POP	R0		; .....PREVIOUS POINTER TO R0
	024754	012600 				 MOV	(SP)+,R0
  12941	024756					CALL	@(SP)+		; ....DO DIVISION OR MULTIPLICATION
	024756	004736 				 JSR	PC,@(SP)+
  12942	024760	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
  12943	024764	000736 				BR	10$		; AND SEE IF THERE IS MORE
  12944						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 370
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

  12946					.SBTTL	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
  12947
  12948					;+
  12949					; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
  12950					;
  12951					; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
  12952					;
  12953					; DEFINITION OF AN FACTOR:
  12954					;
  12955					; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
  12956					;
  12957					; INPUT ARGUMENTS:
  12958					;
  12959					;	R0 POINTS TO A THREE WORD BUFFER
  12960					;
  12961					; OUTPUT ARGUMENTS:
  12962					;
  12963					;	R0 POINTS TO THE EVALUATED FACTOR
  12964					;
  12965					; ERROR CODES RETURNED:
  12966					;
  12967					;	NONE.
  12968					;-
  12969
  12970						.ENABL	LSB
  12971
  12972	024766				.GTFCT::
  12973	024766	122715 	000136 			CMPB	#'^,(R5)	; SPECIAL RADIX?
  12974	024772	001435 				BEQ	30$		; YES -- GO HANDLE IT
  12975	024774	122715 	000050 			CMPB	#'(,(R5)	; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
  12976	025000	001517 				BEQ	65$		; YES -- GO HANDLE IT
  12977	025002	122715 	000053 			CMPB	#'+,(R5)	; NO -- IS IT A <PLUS>?
  12978	025006	001503 				BEQ	60$		; YES -- GO HANDLE <PLUS>
  12979	025010	122715 	000055 			CMPB	#'-,(R5)	; NO -- IS IT A <MINUS>?
  12980	025014	001500 				BEQ	60$		; YES -- GO HANDLE <MINUS>
  12981	025016					CALL	.GTNBR		; NO -- GO GET A NUMBER
	025016	004737 	025262'			 JSR	PC,.GTNBR
  12982	025022				10$:
  12983	025022	122715 	000047 			CMPB	#'',(R5)	; RELOCATE?
  12984	025026	001404 				BEQ	20$		; YES -- DO IT
  12985	025030	122715 	000042 			CMPB	#'",(R5)	; NO -- UNRELOCATE?
  12986	025034	001401 				BEQ	20$		; YES -- DO IT
  12987	025036				15$:
  12988	025036					RETURN			; TO CALLER
	025036	000207 				 RTS	PC
  12989
  12990					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 371
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

  12992					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12993
  12994	025040				20$:
  12995	025040					PUSH	R1		; SAVE R1
	025040	010146 				 MOV	R1,-(SP)
  12996	025042	013701 	000122'			MOV	.RELWD,R1	; .RELOCATION TO R1
  12997	025046	122715 	000042 			CMPB	#'",(R5)	; .UNRELOCATE?
  12998	025052	001001 				BNE	25$		; .NO -- GO ON
  12999	025054	005401 				NEG	R1		; .YES -- NEGATE IT
  13000	025056				25$:
  13001	025056	060110 				ADD	R1,(R0)		; .COMPUTE THE FACTOR
  13002	025060	105725 				TSTB	(R5)+		; .GET OVER THE SYMBOL
  13003	025062					POP	R1		; .RESTORE R1
	025062	012601 				 MOV	(SP)+,R1
  13004	025064	000764 				BR	15$		; AND EXIT
  13005						;
  13006	025066				30$:
  13007	025066	105725 				TSTB	(R5)+		; GET OVER THE UP-ARROW
  13008	025070	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
  13009	025072					CALL	.CKARG		; .LOOK FOR A TRAILING ARGUMENT
	025072	004737 	000140'			 JSR	PC,.CKARG
  13010	025076	001417 				BEQ	GTFILC		; .ERROR IF CC-Z IS SET
  13011	025100					POP	R4		; .RESTORE THE CHARACTER
	025100	012604 				 MOV	(SP)+,R4
  13012	025102	122704 	000103 			CMPB	#'C,R4		; .COMPLEMENT?
  13013	025106	001436 				BEQ	55$		; .YES -- PROCESS COMPLEMENT
  13014	025110					PUSH	.IRADX		; .NO -- SAVE THE CURRENT RADIX
	025110	013746 	000066'			 MOV	.IRADX,-(SP)
  13015	025114	122704 	000104 			CMPB	#'D,R4		; .DECIMAL?
  13016	025120	001415 				BEQ	40$		; .YES -- PROCESS DECIMAL
  13017	025122	122704 	000102 			CMPB	#'B,R4		; .NO -- BINARY?
  13018	025126	001406 				BEQ	35$		; .YES -- PROCESS BINARY
  13019	025130	122704 	000117 			CMPB	#'O,R4		; .NO -- OCTAL?
  13020	025134	001413 				BEQ	45$		; .YES -- PROCESS OCTAL
  13021	025136				GTFILC:
  13022	025136					ERROR$	ILC		; .NO -- GIVE "ILC" ERROR
	025136	012746 	035043 			 MOV	#^RILC,-(SP)
	025142	104400 				 TRAP	TC.ERR
  13023						;
  13024
  13025					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 372
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

  13027					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13028
  13029	025144				35$:
  13030	025144	012737 	000002 	000066'		MOV	#^D2,.IRADX	; .SET THE RADIX TO BINARY
  13031	025152	000407 				BR	50$		; .TO COMMON CODE
  13032						;
  13033	025154				40$:
  13034	025154	012737 	000012 	000066'		MOV	#^D10,.IRADX	; .SET THE RADIX TO DECIMAL
  13035	025162	000403 				BR	50$		; .TO COMMON CODE
  13036						;
  13037	025164				45$:
  13038	025164	012737 	000010 	000066'		MOV	#^D8,.IRADX	; .SET THE RADIX TO OCTAL
  13039	025172				50$:
  13040	025172					CALL	.GTFCT		; .GET THE FACTOR
	025172	004737 	024766'			 JSR	PC,.GTFCT
  13041	025176					POP	.IRADX		; .RESTORE THE ORIGINAL RADIX
	025176	012637 	000066'			 MOV	(SP)+,.IRADX
  13042	025202	000707 				BR	10$		; AND EXIT
  13043						;
  13044	025204				55$:
  13045	025204					CALL	.GTFCT		; GET THE FACTOR
	025204	004737 	024766'			 JSR	PC,.GTFCT
  13046	025210					CALL	.TPCOM		; AND INVERT IT
	025210	004737 	022602'			 JSR	PC,.TPCOM
  13047	025214	000702 				BR	10$		; EXIT
  13048						;
  13049	025216				60$:
  13050	025216	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
  13051	025220					CALL	.GTFCT		; .GO LOOK FOR MORE
	025220	004737 	024766'			 JSR	PC,.GTFCT
  13052	025224	122726 	000055 			CMPB	#'-,(SP)+	; .WAS THE PREFIX A <MINUS>?
  13053	025230	001274 				BNE	10$		; NO -- JUST EXIT
  13054	025232					CALL	.TPNEG		; YES -- NEGATE IT
	025232	004737 	022612'			 JSR	PC,.TPNEG
  13055	025236	000671 				BR	10$		; AND EXIT
  13056						;
  13057	025240				65$:
  13058	025240	112504 				MOVB	(R5)+,R4	; GET OVER THE PAREN
  13059	025242					CALL	.GTEXP		; READ THIS EXPRESSION
	025242	004737 	024560'			 JSR	PC,.GTEXP
  13060	025246	122725 	000051 			CMPB	#'),(R5)+	; DID WE END IT PROPERLY?
  13061	025252	001663 				BEQ	10$		; YES -- JUST EXIT
  13062	025254					ERROR$	RPM		; NO -- ERROR -- RIGHT PARENTHESES MISSING
	025254	012746 	071415 			 MOV	#^RRPM,-(SP)
	025260	104400 				 TRAP	TC.ERR
  13063						;
  13064
  13065						.DSABL	LSB
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 373
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

  13067					.SBTTL	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
  13068
  13069					;+
  13070					; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
  13071					;
  13072					; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
  13073					;
  13074					; INPUT ARGUMENTS:
  13075					;
  13076					;	R0 POINTS TO A THREE WORD BUFFER
  13077					;
  13078					; OUTPUT ARGUMENTS:
  13079					;
  13080					;	R0 POINTS TO THE EVALUATED NUMBER
  13081					;
  13082					; ERROR CODES RETURNED:
  13083					;
  13084					;	NONE.
  13085					;-
  13086
  13087	025262				.GTNBR::
  13088	025262	005037 	000064'			CLR	.INCHC		; CLEAR THE CHARACTER COUNT
  13089	025266					PUSH	R1		; SAVE R1
	025266	010146 				 MOV	R1,-(SP)
  13090	025270	005046 				CLR	-(SP)		; .SET UP THE INPUT RADIX
  13091	025272	005046 				CLR	-(SP)		; ..
  13092	025274					PUSH	.IRADX		; ...SO
	025274	013746 	000066'			 MOV	.IRADX,-(SP)
  13093	025300	010601 				MOV	SP,R1		; ....POINT TO THE INPUT RADIX
  13094	025302				10$:
  13095	025302	112504 				MOVB	(R5)+,R4	; ....GET THE CHARACTER INTO R4
  13096	025304	132764 	000002 	001360'		BITB	#CH.NUM,.CHTAB(R4)
  13097	025312	001422 				BEQ	20$		; ....EXIT IF NON-NUMERIC
  13098	025314	005237 	000064'			INC	.INCHC		; ....INCREMENT THE CHARACTER COUNT
  13099	025320	142704 	177760 			BICB	#^C17,R4	; ....FLUSH ASCII
  13100	025324	120411 				CMPB	R4,(R1)		; ....DID WE EXCEED THE INPUT RADIX?
  13101	025326	002027 				BGE	GTNNOR		; ....YES -- GIVE "NOR" ERROR
  13102	025330					CALL	.TPMUL		; ....NO -- MAKE ROOM FOR THIS DIGIT
	025330	004737 	023006'			 JSR	PC,.TPMUL
  13103	025334					PUSH	(R1)		; ....SAVE THE RADIX
	025334	011146 				 MOV	(R1),-(SP)
  13104	025336	010411 				MOV	R4,(R1)		; .....SET UP TO ADD THIS DIGIT
  13105	025340					CALL	.TPADD		; .....TO THE CUMULATIVE RESULT
	025340	004737 	022716'			 JSR	PC,.TPADD
  13106	025344	032760 	177760 	000004 		BIT	#^C17,4(R0)	; .....HAVE WE OVERFLOWED THE NUMBER?
  13107	025352	001015 				BNE	GTNNOR		; .....YES -- GIVE "NOR" ERROR
  13108	025354					POP	(R1)		; .....NO -- RESTORE THE RADIX
	025354	012611 				 MOV	(SP)+,(R1)
  13109	025356	000751 				BR	10$		; ....AND CONTINUE
  13110						;
  13111
  13112					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1110  03-OCT-79 11:35  PAGE 374
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

  13114					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13115
  13116	025360				20$:
  13117	025360	062706 	000006 			ADD	#^D6,SP		; ....FLUSH THE STACK
  13118	025364					POP	R1		; .RESTORE R1
	025364	012601 				 MOV	(SP)+,R1
  13119	025366	105745 				TSTB	-(R5)		; BACK THE INPUT POINTER UP
  13120	025370	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
  13121	025374	001401 				BEQ	GTNMRA		; GIVE "MRA" ERROR IF NONE THERE
  13122	025376					RETURN			; TO CALLER
	025376	000207 				 RTS	PC
  13123	025400				GTNMRA:
  13124	025400					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	025400	012746 	052021 			 MOV	#^RMRA,-(SP)
	025404	104400 				 TRAP	TC.ERR
  13125						;
  13126	025406				GTNNOR:
  13127	025406					ERROR$	NOR		; ERROR -- NUMBER OUT OF RANGE
	025406	012746 	054752 			 MOV	#^RNOR,-(SP)
	025412	104400 				 TRAP	TC.ERR
  13128						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 375
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

  13130					.TITLE	TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
  13131
  13132						.IDENT	"005000"
  13133
  13134					;
  13135					;                             COPYRIGHT (C) 1975, 1979 BY
  13136					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  13137					;
  13138					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  13139					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  13140					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  13141					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  13142					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  13143					;
  13144					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  13145					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  13146					;       CORPORATION.
  13147					;
  13148					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  13149					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  13150					;
  13151					;		MODULE: GENERAL TERMINAL OUTPUT
  13152					;
  13153					;		VERSION: 05-00
  13154					;
  13155					;		AUTHOR: R. BELANGER
  13156					;
  13157					;		DATE: 7603.30
  13158					;
  13159					;	THIS MODULE CONTAINS:
  13160					;
  13161					;	1) GENERAL TERMINAL OUTPUT CODE
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 376
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

  13163					.SBTTL	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
  13164
  13165					;+
  13166					; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
  13167					; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
  13168					; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
  13169					; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
  13170					; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
  13171					; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
  13172					; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
  13173					;
  13174					; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
  13175					; OUTPUT DEVICE.
  13176					;
  13177					; INPUT ARGUMENTS:
  13178					;
  13179					;	NONE.
  13180					;
  13181					; OUTPUT ARGUMENTS:
  13182					;
  13183					;	NONE.
  13184					;
  13185					; ERROR CODES RETURNED:
  13186					;
  13187					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13188					;-
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 377
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

  13190						.ENABL	LSB
  13191
  13192	025414				.TYCOL::
  13193	025414					PUSH	R0		; SAVE R0
	025414	010046 				 MOV	R0,-(SP)
  13194	025416	012700 	000072 			MOV	#':,R0		; .<COLON> TO R0
  13195	025422	000423 				BR	10$		; .DO OUTPUT
  13196						;
  13197	025424				.TYCOM::
  13198	025424					PUSH	R0		; SAVE R0
	025424	010046 				 MOV	R0,-(SP)
  13199	025426	012700 	000054 			MOV	#',,R0		; .<COMMA> TO R0
  13200	025432	000417 				BR	10$		; .OUTPUT IT
  13201						;
  13202	025434				.TYMIN::
  13203	025434					PUSH	R0		; SAVE R0
	025434	010046 				 MOV	R0,-(SP)
  13204	025436	012700 	000055 			MOV	#'-,R0		; <HYPHEN> TO R0
  13205	025442	000413 				BR	10$		; .DO OUTPUT
  13206						;
  13207	025444				.TYSLS::
  13208	025444					PUSH	R0		; SAVE R0
	025444	010046 				 MOV	R0,-(SP)
  13209	025446	012700 	000057 			MOV	#'/,R0		; .<SLASH> TO R0
  13210	025452	000407 				BR	10$		; .OUTPUT IT
  13211						;
  13212	025454				.TYSPC::
  13213	025454					PUSH	R0		; SAVE R0
	025454	010046 				 MOV	R0,-(SP)
  13214	025456	012700 	000040 			MOV	#.SPACE,R0	; .<SPACE> TO R0
  13215	025462	000403 				BR	10$		; .OUTPUT IT
  13216						;
  13217	025464				.TYUPA::
  13218	025464					PUSH	R0		; SAVE R0
	025464	010046 				 MOV	R0,-(SP)
  13219	025466	012700 	000136 			MOV	#'^,R0		; .<UP-ARROW> TO R0
  13220	025472				10$:
  13221	025472					CALL	.TYCHR		; .OUTPUT IT
	025472	004737 	026240'			 JSR	PC,.TYCHR
  13222	025476					POP	R0		; .RESTORE R0
	025476	012600 				 MOV	(SP)+,R0
  13223	025500					RETURN			; TO CALLER
	025500	000207 				 RTS	PC
  13224
  13225						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 378
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23

  13227					.SBTTL	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
  13228
  13229					;+
  13230					; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
  13231					; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
  13232					;
  13233					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
  13234					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  13235					;
  13236					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  13237					;	(B) OCTAL:	6 DIGITS -- XXXXXX
  13238					;	(C) DECIMAL:	NO FORMATTING
  13239					;
  13240					; INPUT ARGUMENTS:
  13241					;
  13242					;	R0 HOLDS THE NUMBER TO BE PRINTED
  13243					;
  13244					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  13245					;
  13246					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  13247					;	R3 POINTS TO A FORMAT TABLE
  13248					;
  13249					; ERROR CODES RETURNED:
  13250					;
  13251					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13252					;-
  13253						.ENABL	LSB
  13254
  13255
  13256	025502				.TYELA::
  13257	025502	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  13258	025506				.TYELN::
  13259	025506					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	025506	010346 				 MOV	R3,-(SP)
	025510	010246 				 MOV	R2,-(SP)
	025512	010146 				 MOV	R1,-(SP)
	025514	010046 				 MOV	R0,-(SP)
  13260	025516	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  13261	025520	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  13262	025526	001002 				BNE	10$		; ....NO
  13263	025530	012703 	005120'			MOV	#ELNBIN,R3	; ....BINARY FORMAT TABLE TO R3
  13264	025534				10$:
  13265	025534	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  13266	025542	001424 				BEQ	30$		; ....YES
  13267	025544	012703 	005136'			MOV	#ELNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  13268	025550	000421 				BR	30$		; ....SET UP POINTERS AND EXIT
  13269						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 379
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23

  13271					.SBTTL	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
  13272
  13273					;+
  13274					; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
  13275					;
  13276					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
  13277					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  13278					;
  13279					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  13280					;	(B) OCTAL:	3 DIGITS -- XXX
  13281					;	(C) DECIMAL:	NO FORMATTING
  13282					;
  13283					; INPUT ARGUMENTS:
  13284					;
  13285					;	R0 HOLDS THE NUMBER TO BE PRINTED
  13286					;
  13287					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  13288					;
  13289					;	R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
  13290					;	R3 POINTS TO A FORMAT TABLE
  13291					;
  13292					; ERROR CODES RETURNED:
  13293					;
  13294					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13295					;-
  13296
  13297	025552				.TYP3D::
  13298	025552					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	025552	010346 				 MOV	R3,-(SP)
	025554	010246 				 MOV	R2,-(SP)
	025556	010146 				 MOV	R1,-(SP)
	025560	010046 				 MOV	R0,-(SP)
  13299	025562	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  13300	025564	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  13301	025572	001002 				BNE	20$		; ....NO
  13302	025574	012703 	005126'			MOV	#ELBBIN,R3	; ....BINARY FORMAT TABLE TO R3
  13303	025600				20$:
  13304	025600	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  13305	025606	001402 				BEQ	30$		; ....YES
  13306	025610	012703 	005132'			MOV	#ELBOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  13307	025614				30$:
  13308	025614	005046 				CLR	-(SP)		; ....SET UP BUFFERS ON THE STACK
  13309	025616	005046 				CLR	-(SP)		; .....
  13310	025620					PUSH	R0		; ......NUMBER TO BE TYPED
	025620	010046 				 MOV	R0,-(SP)
  13311	025622	010600 				MOV	SP,R0		; .......POINT TO IT
  13312	025624	000455 				BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
  13313						;
  13314
  13315						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 380
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02

  13317					.SBTTL	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
  13318
  13319					;+
  13320					; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
  13321					;
  13322					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
  13323					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  13324					;
  13325					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  13326					;	(B) OCTAL:	HALFWORD FORMAT -- XX<SP>XXXXXX
  13327					;	(C) DECIMAL:	NO FORMATTING
  13328					;
  13329					; INPUT ARGUMENTS:
  13330					;
  13331					;	R0 POINTS TO THE KL ADDRESS TO BE PRINTED
  13332					;
  13333					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  13334					;
  13335					;	R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
  13336					;	R3 POINTS TO A FORMAT TABLE
  13337					;
  13338					; ERROR CODES RETURNED:
  13339					;
  13340					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13341					;-
  13342
  13343						.ENABL	LSB
  13344
  13345	025626				.TYKLA::
  13346	025626	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  13347	025632					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	025632	010346 				 MOV	R3,-(SP)
	025634	010246 				 MOV	R2,-(SP)
	025636	010146 				 MOV	R1,-(SP)
	025640	010046 				 MOV	R0,-(SP)
  13348	025642	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  13349	025644	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  13350	025652	001002 				BNE	10$		; ....NO
  13351	025654	012703 	005114'			MOV	#KLABIN,R3	; ....BINARY FORMAT TABLE TO R3
  13352	025660				10$:
  13353	025660	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  13354	025666	001424 				BEQ	30$		; ....YES
  13355	025670	012703 	005140'			MOV	#KLAOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  13356	025674	000421 				BR	30$		; ....GO DO COMMON CODE
  13357						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 381
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02

  13359					.SBTTL	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
  13360
  13361					;+
  13362					; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
  13363					;
  13364					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
  13365					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  13366					;
  13367					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  13368					;	(B) OCTAL:	6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
  13369					;	(C) DECIMAL:	NO FORMATTING
  13370					;
  13371					; INPUT ARGUMENTS:
  13372					;
  13373					;	R0 POINTS TO THE NUMBER TO BE PRINTED
  13374					;
  13375					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  13376					;
  13377					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  13378					;	R3 POINTS TO A FORMAT TABLE
  13379					;
  13380					; ERROR CODES RETURNED:
  13381					;
  13382					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13383					;-
  13384
  13385	025676				.TYKLN::
  13386	025676					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	025676	010346 				 MOV	R3,-(SP)
	025700	010246 				 MOV	R2,-(SP)
	025702	010146 				 MOV	R1,-(SP)
	025704	010046 				 MOV	R0,-(SP)
  13387	025706	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  13388	025710	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  13389	025716	001002 				BNE	20$		; ....NO
  13390	025720	012703 	005104'			MOV	#KLNBIN,R3	; ....BINARY FORMAT TABLE TO R3
  13391	025724				20$:
  13392	025724	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  13393	025732	001402 				BEQ	30$		; ....YES
  13394	025734	012703 	005134'			MOV	#KLNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  13395	025740				30$:
  13396	025740	062700 	000006 			ADD	#^D6,R0		; ....POINT TO THE END OF THE NUMBER
  13397	025744					PUSH	-(R0)		; ....SET IT ON THE STACK
	025744	014046 				 MOV	-(R0),-(SP)
  13398	025746	042710 	177760 			BIC	#^C17,(R0)	; .....TRUNCATE TO 36 BITS
  13399	025752					PUSH	<-(R0),-(R0)>	; .....PUT THE REST ON THE STACK
	025752	014046 				 MOV	-(R0),-(SP)
	025754	014046 				 MOV	-(R0),-(SP)
  13400	025756	010600 				MOV	SP,R0		; .......POINT TO THE STACKED NUMBER
  13401					;	BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
  13402						;
  13403
  13404						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 382
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

  13406					.SBTTL	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
  13407
  13408					;+
  13409					; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
  13410					;
  13411					; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
  13412					; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
  13413					;
  13414					; INPUT ARGUMENTS:
  13415					;
  13416					;	R1, R2, AND R3 ARE ON THE STACK
  13417					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  13418					;	R3 POINTS TO A FORMAT TABLE
  13419					;
  13420					; OUTPUT ARGUMENTS:
  13421					;
  13422					;	R0 POINTS TO THE ORIGINAL NUMBER
  13423					;
  13424					; ERROR CODES RETURNED:
  13425					;
  13426					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13427					;-
  13428
  13429	025760				.TYNCM::
  13430	025760	005046 				CLR	-(SP)		; .......SPACE FOR DIVISOR
  13431	025762	005046 				CLR	-(SP)		; ........
  13432	025764	005046 				CLR	-(SP)		; .........
  13433	025766	010601 				MOV	SP,R1		; ..........POINT TO IT
  13434	025770	005002 				CLR	R2		; ..........CLEAR R2
  13435	025772	005737 	000100'			TST	.LDZFL		; ..........ARE WE PRINTING LEADING ZEROS/
  13436	025776	001006 				BNE	10$		; ..........YES -- GO ON
  13437	026000					CALL	.TPTST		; ..........NO -- IS THIS NUMBER .EQ. 0?
	026000	004737 	022674'			 JSR	PC,.TPTST
  13438	026004	001003 				BNE	10$		; ..........NO -- JUST PRINT IT
  13439	026006	005003 				CLR	R3		; ..........YES -- CALL IT UNFORMATTED
  13440	026010	005337 	000100'			DEC	.LDZFL		; ..........AND SAY WE PRINT ZEROES
  13441	026014				10$:
  13442	026014					CALL	.TYNUM		; ..........FORMAT AND PRINT THE NUMBER
	026014	004737 	026036'			 JSR	PC,.TYNUM
  13443	026020	062706 	000014 			ADD	#^D12,SP	; ..........FLUSH THE STACK
  13444	026024					POP	<R0,R1,R2,R3>	; ....RESTORE THE REGISTERS
	026024	012600 				 MOV	(SP)+,R0
	026026	012601 				 MOV	(SP)+,R1
	026030	012602 				 MOV	(SP)+,R2
	026032	012603 				 MOV	(SP)+,R3
  13445	026034					RETURN			; TO CALLER
	026034	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 383
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

  13447					; THESE ARE THE FORMAT TABLES
  13448
  13449	005104				.PSECT	DATA
  13450
  13451	005104				KLNBIN::		 	; KL BINARY TABLE
  13452	005104	   003 	   040 			.BYTE	3,.SPACE	; 3 DIGITS AND A SPACE
  13453	005106	   003 	   040 			.BYTE	3,.SPACE
  13454	005110	   003 	   040 			.BYTE	3,.SPACE
  13455	005112	   003 	   040 			.BYTE	3,.SPACE
  13456	005114				KLABIN::			; KL ADDRESS BINARY
  13457	005114	   003 	   040 			.BYTE	3,.SPACE
  13458	005116	   003 	   040 			.BYTE	3,.SPACE
  13459	005120				ELNBIN::			; ELEVEN BINARY TABLE
  13460	005120	   003 	   040 			.BYTE	3,.SPACE
  13461	005122	   003 	   040 			.BYTE	3,.SPACE
  13462	005124	   003 	   040 			.BYTE	3,.SPACE
  13463	005126				ELBBIN::			; PDP-11 BYTE BINARY TABLE
  13464	005126	   003 	   040 			.BYTE	3,.SPACE
  13465	005130	   003 	   040 			.BYTE	3,.SPACE
  13466	005132				ELBOCT::			; PDP-11 BYTE OCTAL TABLE
  13467	005132	   003 	   000 			.BYTE	3,0		; END OF TABLE
  13468
  13469	005134				KLNOCT::			; KL OCTAL TABLE
  13470	005134	   006 	   040 			.BYTE	6,.SPACE	; 6 DIGITS AND A SPACE
  13471	005136				ELNOCT::			; PDP-11 OCTAL TABLE
  13472	005136	   006 	   000 			.BYTE	6,0		; END OF TABLE
  13473	005140				KLAOCT::			; KL ADDRESS OCTAL
  13474	005140	   006 	   040 			.BYTE	6,.SPACE
  13475	005142	   002 	   000 			.BYTE	2,0
  13476					.EVEN
  13477	026036				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 384
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

  13479					.SBTTL	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
  13480
  13481					;+
  13482					; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
  13483					;	    CONSOLE OUTPUT DEVICE.
  13484					;
  13485					; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
  13486					; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
  13487					;
  13488					; INPUT ARGUMENTS:
  13489					;
  13490					;	R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
  13491					;	R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
  13492					;	R2 IS CLEAR
  13493					;	R3 POINTS TO A FORMAT CONTROL TABLE
  13494					;
  13495					; OUTPUT ARGUMENTS:
  13496					;
  13497					;	R0, R1, R2, AND R3 ARE CLOBBERED
  13498					;	THE NUMBER POINTED TO BY R0 IS CLOBBERED
  13499					;	THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
  13500					;
  13501					; ERROR CODES RETURNED:
  13502					;
  13503					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13504					;-
  13505
  13506	026036				.TYNUM::
  13507	026036	005703 				TST	R3		; CHECK THE FORMAT POINTER
  13508	026040	001422 				BEQ	50$		; UNFORMATTED IF .EQ. 0
  13509	026042	112302 				MOVB	(R3)+,R2	; ITERATION COUNT TO R2
  13510	026044	001410 				BEQ	40$		; JUST A FORMAT CHARACTER IF .EQ. 0
  13511	026046				10$:
  13512	026046	000417 				BR	50$		; CONVERT ONE DIGIT
  13513						;
  13514	026050				20$:
  13515	026050	005702 				TST	R2		; TEST ITERATION COUNT
  13516	026052	001004 				BNE	30$		; FORMATTED NUMBER -- DO ITERATION COUNT
  13517	026054					CALL	.TPTST		; HAS THE QUOTIENT GONE TO ZERO?
	026054	004737 	022674'			 JSR	PC,.TPTST
  13518	026060	001441 				BEQ	80$		; YES -- PRINT THE NUMBER
  13519	026062	000411 				BR	50$		; NO -- KEEP GOING UNTIL IT DOES
  13520						;
  13521	026064				30$:
  13522	026064	077210 				SOB	R2,10$		; LOOP THRU THIS SET OF ITERATIONS
  13523
  13524					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 385
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

  13526					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13527
  13528	026066				40$:
  13529	026066	112302 				MOVB	(R3)+,R2	; FORMAT CONTROL CHARACTER TO R2
  13530	026070	001435 				BEQ	80$		; DONE IF .EQ. 0
  13531	026072	162702 	000060 			SUB	#60,R2		; SINCE OUTPUT ROUTINE WILL ADD 60
  13532	026076					PUSH	R2		; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
	026076	010246 				 MOV	R2,-(SP)
  13533	026100					PUSH	#60$		; <PUSH>FAKE THE PRINT ROUTINE OUT
	026100	012746 	026136'			 MOV	#60$,-(SP)
  13534	026104	000754 				BR	.TYNUM		; AND DO THE NEXT PART
  13535						;
  13536	026106				50$:				; HERE TO CONVERT ONE DIGIT
  13537	026106					PUSH	R0		; SAVE R0
	026106	010046 				 MOV	R0,-(SP)
  13538	026110	010100 				MOV	R1,R0		; MOVE R1 TO R0
  13539	026112					CALL	.TPCLR		; .CLEAR REMAINDER OUT
	026112	004737 	022572'			 JSR	PC,.TPCLR
  13540	026116					POP	R0		; .RESTORE R0
	026116	012600 				 MOV	(SP)+,R0
  13541	026120	013711 	000106'			MOV	.ORADX,(R1)	; OUTPUT RADIX AS DIVISOR
  13542	026124					CALL	.TPDIV		; DO THE DIVISION
	026124	004737 	022360'			 JSR	PC,.TPDIV
  13543	026130					PUSH	(R1)		; <PUSH> SAVE THE DIGIT
	026130	011146 				 MOV	(R1),-(SP)
  13544	026132					CALL	20$		; AND GO GET MORE
	026132	004737 	026050'			 JSR	PC,20$
  13545						;
  13546	026136				60$:				; HERE TO UNSTACK THE NUMBER
  13547	026136					POP	R0		; <POP>GET THE NUMBER OFF THE STACK
	026136	012600 				 MOV	(SP)+,R0
  13548	026140	005737 	000100'			TST	.LDZFL		; PRINT LEADING ZEROES?
  13549	026144	001004 				BNE	70$		; YES -- DO IT
  13550	026146	005700 				TST	R0		; NO -- SEE IF .EQ. 0 OR FORMAT
  13551	026150	003405 				BLE	80$		; YES -- DON'T PRINT IT
  13552	026152	005337 	000100'			DEC	.LDZFL		; NO -- SET THE FLAG AND PRINT
  13553	026156				70$:
  13554	026156	062700 	000060 			ADD	#60,R0		; ASCIIZE IT
  13555	026162	000426 				BR	.TYCHR		; PRINT IT
  13556						;
  13557	026164				80$:
  13558	026164					RETURN			; FOR NEXT NUMBER OR TO CALLER
	026164	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 386
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>

  13560					.SBTTL	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
  13561
  13562					;+
  13563					; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
  13564					; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
  13565					;	    OUTPUT DEVICE.
  13566					;
  13567					; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
  13568					; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
  13569					; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
  13570					;
  13571					; INPUT ARGUMENTS:
  13572					;
  13573					;	R0 POINTS TO THE .ASCIZ MESSAGE
  13574					;
  13575					; OUTPUT ARGUMENTS:
  13576					;
  13577					;	NONE.
  13578					;
  13579					; ERROR CODES RETURNED:
  13580					;
  13581					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13582					;-
  13583
  13584						.ENABL	LSB
  13585
  13586	026166				.TYLIN::
  13587	026166					CALL	.TYMSG		; OUTPUT THE MESSAGE
	026166	004737 	026202'			 JSR	PC,.TYMSG
  13588	026172	000437 				BR	.TCRLF		; OUTPUT A <CRLF> AND EXIT
  13589						;
  13590	026174				.TYMSF::
  13591	026174					CALL	.TYMSG		; PRINT THE MESSAGE
	026174	004737 	026202'			 JSR	PC,.TYMSG
  13592	026200	000413 				BR	30$		; FORCE IT AND EXIT
  13593						;
  13594	026202				.TYMSG::
  13595	026202					PUSH	R1		; SAVE R1
	026202	010146 				 MOV	R1,-(SP)
  13596	026204	010001 				MOV	R0,R1		; .MESSAGE POINTER TO R1
  13597	026206				10$:
  13598	026206	112100 				MOVB	(R1)+,R0	; .GET THE CHARACTER INTO R0
  13599	026210	001403 				BEQ	20$		; .EXIT IF <NULL>
  13600	026212					CALL	.TYCHR		; .OUTPUT THE CHARACTER
	026212	004737 	026240'			 JSR	PC,.TYCHR
  13601	026216	000773 				BR	10$		; .AND GO GET THE NEXT CHARACTER
  13602						;
  13603	026220				20$:
  13604	026220					POP	R1		; .RESTORE R1
	026220	012601 				 MOV	(SP)+,R1
  13605	026222					RETURN			; TO CALLER
	026222	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 387
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC

  13607					.SBTTL	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
  13608
  13609					;+
  13610					; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
  13611					;
  13612					; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
  13613					; OUTPUT DEVICE.
  13614					;
  13615					; INPUT ARGUMENTS:
  13616					;
  13617					;	R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
  13618					;
  13619					; OUTPUT ARGUMENTS:
  13620					;
  13621					;	THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
  13622					;
  13623					; ERROR CODES RETURNED:
  13624					;
  13625					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13626					;-
  13627
  13628	026224				.TFCHR::
  13629	026224					CALL	.TYCHR		; LOAD THE CHARACTER INTO THE BUFFER
	026224	004737 	026240'			 JSR	PC,.TYCHR
  13630	026230				30$:
  13631	026230	005737 	000236'			TST	.CDOBC		; WAS THE BUFFER DUMPED?
  13632	026234	001430 				BEQ	40$		; YES -- JUST EXIT
  13633	026236	000430 				BR	.TYOUT		; NO -- FORCE THE BUFFER OUT
  13634						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 388
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

  13636					.SBTTL	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
  13637
  13638					;+
  13639					; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
  13640					; .TCRLF -- OUTPUT A <CRLF>
  13641					;
  13642					; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
  13643					; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
  13644					; OUTPUT DEVICE ON:
  13645					;
  13646					;	(A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
  13647					;
  13648					;	(B) OUTPUT BUFFER OVERFLOW
  13649					;
  13650					; INPUT ARGUMENTS:
  13651					;
  13652					;	R0 CONTAINS THE CHARACTER TO BE OUTPUT.
  13653					;
  13654					; OUTPUT ARGUMENTS:
  13655					;
  13656					;	THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
  13657					;	OR REINITIALIZED IF THE BUFFER WAS DUMPED.
  13658					;
  13659					; ERROR CODES RETURNED:
  13660					;
  13661					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  13662					;-
  13663
  13664	026240				.TYCHR::
  13665	026240	110077 	000164'			MOVB	R0,@.TYOBP	; PUT THE CHARACTER IN THE BUFFER
  13666	026244	005237 	000164'			INC	.TYOBP		; POINT TO THE NEXT BYTE
  13667	026250	005237 	000236'			INC	.CDOBC		; INCREMENT THE OUTPUT BYTE COUNT
  13668	026254	005337 	000162'			DEC	.TYOBC		; DECREMENT THE LINE CONTROL COUNTER
  13669	026260	001404 				BEQ	.TCRLF		; END-OF-LINE -- FORCE OUTPUT
  13670	026262	122700 	000012 			CMPB	#12,R0		; WAS IT A "<NEW-LINE>"?
  13671	026266	001013 				BNE	40$		; NO -- JUST EXIT
  13672	026270	000413 				BR	.TYOUT		; YES -- OUTPUT THE LINE AND RETURN
  13673						;
  13674
  13675					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 389
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

  13677					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13678
  13679	026272				.TCRLF::			; HERE ON OUTPUT BUFFER END
  13680	026272					PUSH	R0		; SAVE R0
	026272	010046 				 MOV	R0,-(SP)
  13681	026274	012700 	000015 			MOV	#15,R0		; .<CARRIAGE-RETURN>
  13682	026300					CALL	.TYCHR		; .TO BUFFER
	026300	004737 	026240'			 JSR	PC,.TYCHR
  13683	026304	012700 	000012 			MOV	#12,R0		; .<NEW-LINE>
  13684	026310					CALL	.TYCHR		; .TO BUFFER
	026310	004737 	026240'			 JSR	PC,.TYCHR
  13685	026314					POP	R0		; .RESTORE R0
	026314	012600 				 MOV	(SP)+,R0
  13686	026316				40$:
  13687	026316					RETURN			; AND EXIT
	026316	000207 				 RTS	PC
  13688
  13689						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 390
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  13691					.SBTTL	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
  13692
  13693					;+
  13694					; .TYINI -- CONSOLE DEVICE INITIALIZATION
  13695					; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
  13696					;
  13697					; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
  13698					;
  13699					; INPUT ARGUMENTS:
  13700					;
  13701					;	NONE.
  13702					;
  13703					; OUTPUT ARGUMENTS:
  13704					;
  13705					;	THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
  13706					;
  13707					; ERROR CODES RETURNED:
  13708					;
  13709					;	IF THE OUTPUT FAILS THE PARSER EXITS.
  13710					;-
  13711
  13712
  13713						.MCALL	DIR$, QIOW$
  13714
  13715	026320				.TYOUT::
  13716	026320					DIR$	#.ATCID		; ATTACH THE CONSOLE DEVICE
	026320	012746 	000242'			MOV	#.ATCID,-(SP)
	026324	104375 				EMT	375
  13717	026326	103424 				BCS	TYODIE		; ERROR IF CC-C IS SET
  13718	026330					DIR$	#.CDOUT		; OUTPUT THE BUFFER
	026330	012746 	000220'			MOV	#.CDOUT,-(SP)
	026334	104375 				EMT	375
  13719	026336	103420 				BCS	TYODIE		; ERROR IF CC-C IS SET
  13720	026340	105737 	000012'			TSTB	.COSTS		; DID WE REALLY SUCCEED?
  13721	026344	002415 				BLT	TYODIE		; NO -- COMPLAIN BITTERLY
  13722	026346					DIR$	#.DTCID		; YES -- DETACH CONSOLE
	026346	012746 	000256'			MOV	#.DTCID,-(SP)
	026352	104375 				EMT	375
  13723	026354	103411 				BCS	TYODIE		; ERROR IF CC-C IS SET
  13724
  13725					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 391
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  13727					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13728
  13729	026356				.TYINI::			; HERE TO INIT OUTPUT POINTERS
  13730	026356	005037 	000236'			CLR	.CDOBC		; RESET BUFFER BYTE COUNT
  13731	026362	012737 	000204 	000162'		MOV	#.COBFL,.TYOBC	; RESET OUTPUT LINE CONTROL
  13732	026370	012737 	000454'	000164'		MOV	#.COBFR,.TYOBP	; RESET OUTPUT BYTE POINTER
  13733	026376					RETURN			; AND EXIT
	026376	000207 				 RTS	PC
  13734	026400				TYODIE:
  13735	026400					CALLR	.EXITP		; EXIT GRACEFULLY
	026400	000137 	012436'			 JMP	.EXITP
  13736						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 392
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  13738					.SBTTL	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
  13739
  13740					;+
  13741					; .TYR50 -- TYPE A .RAD50 SYMBOL
  13742					;
  13743					; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
  13744					; AND PRINT IT ON THE CONSOLE DEVICE.
  13745					;
  13746					; INPUT ARGUMENTS:
  13747					;
  13748					;	R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
  13749					;
  13750					; OUTPUT ARGUMENTS:
  13751					;
  13752					;	NONE.
  13753					;
  13754					; ERROR CODES RETURNED:
  13755					;
  13756					;	NONE.
  13757					;-
  13758
  13759	026404				.TYR50::
  13760	026404					PUSH	<R1,R2>		; SAVE REGISTERS
	026404	010146 				 MOV	R1,-(SP)
	026406	010246 				 MOV	R2,-(SP)
  13761	026410	012702 	001350'			MOV	#.T50TB,R2	; ..TABLE OF DIVISORS TO R2
  13762	026414				10$:
  13763	026414	012201 				MOV	(R2)+,R1	; ..CURRENT DIVISOR TO R1
  13764	026416	001414 				BEQ	30$		; ..DONE IF .EQ. 0
  13765	026420					CALL	$DIV		; ..DO THE DIVISION
	026420	004737 	000000G			 JSR	PC,$DIV
  13766	026424					PUSH	R1		; ..SAVE THE REMAINDER
	026424	010146 				 MOV	R1,-(SP)
  13767	026426	012701 	001320'			MOV	#.R50TB,R1	; ...CONVERSION TABLE POINTER TO R1
  13768	026432				20$:
  13769	026432	062100 				ADD	(R1)+,R0	; ...CONVERT THIS CHARACTER
  13770	026434	020021 				CMP	R0,(R1)+	; ...FOUND IT YET?
  13771	026436	103775 				BLO	20$		; ...NO -- KEEP TRYING
  13772	026440					CALL	.TYCHR		; ...YES -- PUT IT IN THE BUFFER
	026440	004737 	026240'			 JSR	PC,.TYCHR
  13773	026444					POP	R0		; ...LAST REMAINDER IS NEW DIVIDEND
	026444	012600 				 MOV	(SP)+,R0
  13774	026446	000762 				BR	10$		; ..DO THE NEXT CHARACTER
  13775						;
  13776	026450				30$:
  13777	026450					POP	<R2,R1>		; ..RESTORE REGISTERS
	026450	012602 				 MOV	(SP)+,R2
	026452	012601 				 MOV	(SP)+,R1
  13778	026454					RETURN			; TO CALLER
	026454	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1110  03-OCT-79 11:35  PAGE 393
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  13780					; THIS IS THE CONSOLE OUTPUT DPB
  13781
  13782	000220				.PSECT	DPBS
  13783
  13784	000220				.CDOUT::
  13785	000220					QIOW$	IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
	000220	   003 	   011 			.BYTE	3,$$$ARG
	000222	000000G				.WORD	IO.WLB
	000224	000002 				.WORD	CODLUN
	000226	   003 	   000 			.BYTE	E.FCOD,0
	000230	000012'				.WORD	.COSTS
	000232	000000 				.WORD	0
	000234	000454'				.WORD	.COBFR
	000236	000000 				.WORD	0
	000240	000000 				.WORD	VF.INT
  13786
  13787		000234'			.CDOBP==.CDOUT+Q.IOPL		; CONSOLE OUTPUT BYTE POINTER
  13788		000236'			.CDOBC==.CDOUT+Q.BYCT		; CONSOLE OUTPUT BYTE COUNT
  13789		000240'			.CDOFC==.CDOUT+Q.OVFC		; CONSOLE OUTPUT FORMAT CHARACTER
  13790
  13791					; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
  13792
  13793	000242				.ATCID::
  13794	000242					QIOW$	IO.ATT,CIDLUN,E.FCID,0,0,0
	000242	   003 	   006 			.BYTE	3,$$$ARG
	000244	000000G				.WORD	IO.ATT
	000246	000001 				.WORD	CIDLUN
	000250	   002 	   000 			.BYTE	E.FCID,0
	000252	000000 				.WORD	0
	000254	000000 				.WORD	0
  13795
  13796					; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
  13797
  13798	000256				.DTCID::
  13799	000256					QIOW$	IO.DET,CIDLUN,E.FCOD,0,0,0
	000256	   003 	   006 			.BYTE	3,$$$ARG
	000260	000000G				.WORD	IO.DET
	000262	000001 				.WORD	CIDLUN
	000264	   003 	   000 			.BYTE	E.FCOD,0
	000266	000000 				.WORD	0
	000270	000000 				.WORD	0
  13800
  13801	026456				.PSECT
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 394
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  13803					.TITLE	ZEROC -- ZERO COMMAND MODULE 7609.15
  13804
  13805						.IDENT	"005000"
  13806
  13807					;
  13808					;                             COPYRIGHT (C) 1975, 1979 BY
  13809					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
  13810					;
  13811					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
  13812					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
  13813					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
  13814					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
  13815					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
  13816					;
  13817					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
  13818					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
  13819					;       CORPORATION.
  13820					;
  13821					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
  13822					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
  13823					;
  13824					;		MODULE: ZERO COMMAND
  13825					;
  13826					;		VERSION: 05-00
  13827					;
  13828					;		AUTHOR: R. BELANGER
  13829					;
  13830					;		DATE: 7609.15
  13831					;
  13832					;	THIS MODULE CONTAINS:
  13833					;
  13834					;	1) ZERO COMMAND CODE
  13835					;
  13836
  13837						.MCALL	$DEF, DIR$, PRDP$
  13838
  13839	026456					$DEF
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 395
.ZEROC -- THE "ZERO" COMMAND 7609.15

  13841					.SBTTL	.ZEROC -- THE "ZERO" COMMAND 7609.15
  13842
  13843					;+
  13844					; .ZEROC -- THE "ZERO" COMMAND.
  13845					;
  13846					; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
  13847					; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
  13848					; BLT POINTER, AND THUS IS NOT ZEROED.
  13849					;
  13850					; INPUT ARGUMENTS:
  13851					;
  13852					;	NONE.
  13853					;
  13854					; OUTPUT ARGUMENTS:
  13855					;
  13856					;	NONE
  13857					;
  13858					; ERROR CODES RETURNED:
  13859					;
  13860					;	NONE.
  13861					;-
  13862
  13863	026456				.ZEROC::
  13864	026456					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	026456	004737 	000376'			 JSR	PC,.CKRUN
  13865	026462	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  13866	026464	005046 				CLR	-(SP)		; .
  13867	026466	005046 				CLR	-(SP)		; ..
  13868	026470	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  13869	026472					CALL	.GTKLA		; ...READ THE FIRST ADDRESS
	026472	004737 	024330'			 JSR	PC,.GTKLA
  13870	026476	010001 				MOV	R0,R1		; ...SAVE POINTER TO FIRST ADDRESS
  13871	026500	122704 	000076 			CMPB	#'>,R4		; ...IS LAST CHARACTER A BRACKET?
  13872	026504	001403 				BEQ	10$		; ...YES -- GO ON
  13873	026506	162706 	000006 			SUB	#^D6,SP		; ...NO -- FUDGE THE STACK POINTER
  13874	026512	000407 				BR	20$		; ......AND ASSUME IT IS E-O-C
  13875						;
  13876
  13877					;	[CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 396
.ZEROC -- THE "ZERO" COMMAND 7609.15

  13879					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13880
  13881	026514				10$:
  13882	026514	105725 				TSTB	(R5)+		; ...GET OVER THE SEPARATOR
  13883	026516	005046 				CLR	-(SP)		; ...CLEAR ANOTHER BUFFER
  13884	026520	005046 				CLR	-(SP)		; ....
  13885	026522	005046 				CLR	-(SP)		; .....
  13886	026524	010600 				MOV	SP,R0		; ......GET SECOND BUFFER POINTER
  13887	026526					CALL	.GTKLA		; ......READ THE SECOND ADDRESS
	026526	004737 	024330'			 JSR	PC,.GTKLA
  13888	026532				20$:
  13889	026532					CALL	.CKEOC		; ......MUST BE E-O-C
	026532	004737 	000264'			 JSR	PC,.CKEOC
  13890	026536					PUSH	<R0,R1>		; ......SAVE THE POINTERS
	026536	010046 				 MOV	R0,-(SP)
	026540	010146 				 MOV	R1,-(SP)
  13891	026542					CALL	.STPKL		; ........STOP THE KL
	026542	004737 	012012'			 JSR	PC,.STPKL
  13892	026546	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ........IS THE CLOCK RUNNING?
  13893	026554	001002 				BNE	30$		; ........YES -- GO ON
  13894	026556					CALL	.STCLK		; ........NO -- START IT
	026556	004737 	011762'			 JSR	PC,.STCLK
  13895	026562				30$:
  13896	026562					POP	<R1,R0>		; ........RESTORE THE POINTERS
	026562	012601 				 MOV	(SP)+,R1
	026564	012600 				 MOV	(SP)+,R0
  13897	026566	012702 	022750'			MOV	#.TPDEC,R2	; ......DISPATCH FOR DECREMENT
  13898	026572					CALL	.TPCMP		; ......COMPARE ADDRESSES
	026572	004737 	022640'			 JSR	PC,.TPCMP
  13899	026576	002402 				BLT	40$		; ......ALL OK IF (R1) .GT. (R0)
  13900	026600	012702 	022736'			MOV	#.TPINC,R2	; ......SET UP FOR FORWARD
  13901	026604				40$:
  13902	026604	010003 				MOV	R0,R3		; ......END ADDRESS TO R3
  13903	026606	010100 				MOV	R1,R0		; ......BEGINNING ADDESSS TO R0
  13904	026610	010301 				MOV	R3,R1		; ......END ADDRESS TO R1
  13905	026612	005046 				CLR	-(SP)		; ......CLEAR A DATA BUFFER
  13906	026614	005046 				CLR	-(SP)		; .......
  13907	026616	005046 				CLR	-(SP)		; ........
  13908	026620	010603 				MOV	SP,R3		; .........POINT TO IT
  13909	026622	010337 	000300'			MOV	R3,ZERDPB+6	; .........SET UP THE DEPOSIT DPB
  13910	026626	010037 	000276'			MOV	R0,ZERDPB+4	; .........SO
  13911
  13912					;	[CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 397
.ZEROC -- THE "ZERO" COMMAND 7609.15

  13914					;	[CONTINUED FROM THE PREVIOUS PAGE]
  13915
  13916	026632				50$:
  13917	026632	012703 	000144 			MOV	#^D100,R3	; .........LOOP COUNT TO R4
  13918	026636				60$:
  13919	026636					DIR$	#ZERDPB		; .........DO THE DEPOSIT
	026636	012746 	000272'			MOV	#ZERDPB,-(SP)
	026642	104375 				EMT	375
  13920	026644	103415 				BCS	80$		; .........ERROR IF CC-C IS SET
  13921	026646					CALL	.TPCMP		; .........ARE WE DONE?
	026646	004737 	022640'			 JSR	PC,.TPCMP
  13922	026652	001405 				BEQ	70$		; .........YES -- EXIT
  13923	026654					CALL	(R2)		; .........NO -- COMPUTE NEXT ADDRESS
	026654	004712 				 JSR	PC,(R2)
  13924	026656	077311 				SOB	R3,60$		; .........LOOP THRU THIS SET
  13925	026660					CALL	.CKCTC		; .........LOOK FOR CONTROL-C
	026660	004737 	000236'			 JSR	PC,.CKCTC
  13926	026664	000762 				BR	50$		; .........AND GO ON
  13927						;
  13928	026666				70$:
  13929	026666	062706 	000022 			ADD	#^D18,SP	; .........CLEAR THE STACK
  13930	026672	005037 	000140'			CLR	.SVKLF		; CLEAR ".SVKLF"
  13931	026676					RETURN			; TO CALLER
	026676	000207 				 RTS	PC
  13932	026700				80$:
  13933	026700	022737 	000000G	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
  13934	026706	001403 				BEQ	ZERESD		; YES -- SAY SO
  13935	026710					ERROR$	DMF		; NO -- ERROR -- DEPOSIT MEMORY FAILED
	026710	012746 	015416 			 MOV	#^RDMF,-(SP)
	026714	104400 				 TRAP	TC.ERR
  13936						;
  13937	026716				ZERESD:
  13938	026716					ERROR$	ESD		; ERROR -- EBOX STOPPED - DEPOSIT
	026716	012746 	021074 			 MOV	#^RESD,-(SP)
	026722	104400 				 TRAP	TC.ERR
  13939						;
  13940
  13941	000272				.PSECT	DPBS
  13942
  13943	000272				ZERDPB:
  13944	000272					PRDP$	0,0,0,ED.PHY
	000272	   011 	   005 			.BYTE	DR.DTE,5
	000274	   016 	   200 			.BYTE	DF.PDP,ED.PHY
	000276	000000 				.WORD	0
	000300	000000 				.WORD	0
	000302	000000 				.WORD	0
  13945
  13946	026724				.PSECT
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398
.ZEROC -- THE "ZERO" COMMAND 7609.15

  13948		000001 			FTLCMN==1
  13949
  13950		000170'			.END	DATABX
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-1
SYMBOL TABLE

ABMSG   002460RG    003	AP.NXM= 000040   	CALL  = 000040   	CODLUN= 000002   	DFMP  = 000112
ABOMSG  002111RG    003	AP.PWF= 000001   	CALLI = 000047   	CONI  = 000005   	DFN   = 000131
ABTAB   001772R     002	AP.SAP= 000002   	CAM   = 000310   	CONKNC  000600R  	DFRMSG  000043R     003
ADD   = 000270   	AP.SBE= 000100   	CAMA  = 000314   	CONMSG  003166RG    003	DFSB  = 000111
ADDB  = 000273   	ARMSG   002402RG    003	CAME  = 000312   	CONO  = 000004   	DFUNC = 000200
ADDI  = 000271   	ARXMSG  002427RG    003	CAMG  = 000317   	CONSO = 000007   	DF.DMG= 000004
ADDM  = 000272   	ASH   = 000240   	CAMGE = 000315   	CONSZ = 000006   	DF.DMN= 000007
ADH   = 000000   	ASHC  = 000244   	CAML  = 000311   	CPEERM  000364R     005	DF.DOR= 000001
ADL   = 000100   	AUGMSG  002716RG    003	CAMLE = 000313   	CPUMSG  002775RG    003	DF.EHG= 000010
ADMSG   002420RG    003	A.LULU= 000002   	CAMN  = 000316   	CPVMSG  000000RG    003	DF.EHM= 000011
ADXMSG  002423RG    003	A.LUNA= 000004   	CBOERM  000112R     005	CRAMSG  002463RG    003	DF.EMG= 000005
ALLMSG  002771RG    003	A.LUNU= 000006   	CCA   = 000014   	CRATAB  001654R     002	DF.EMN= 000006
AMBERM  003050R     005	BAEERM  000023R     005	CCEMSG  001623R     003	CRLMSG  002472RG    003	DF.KLR= 000012
AND   = 000404   	BCCTER  006516R  	CC.ALL= 003417   	CRLTAB  001670R     002	DF.KLW= 000013
ANDB  = 000407   	BC.HDS= ****** GX	CC.NRM= 000000   	CRMMSG  003025RG    003	DF.KLX= 000014
ANDCA = 000410   	BC.SKP= ****** GX	CDD   = 000020   	CR.ALL= 000003   	DF.OFF= 000002
ANDCAB= 000413   	BIT0  = 000001   	CDIERM  000150R     005	CR.CR1= 000001   	DF.ON = 000003
ANDCAI= 000411   	BIT00 = 000001   	CDMTB   002224R     002	CR.CR2= 000002   	DF.PDP= 000016
ANDCAM= 000412   	BIT01 = 000002   	CD.ALL= 003400   	CR.FUL= 000000   	DF.PEX= 000015
ANDCB = 000440   	BIT02 = 000004   	CD.CLC= 000400   	CR.HLF= 000001   	DIAG1 = 174430
ANDCBB= 000443   	BIT03 = 000010   	CD.CRC= 002000   	CR.NRM= 000000   	DIAG2 = 174432
ANDCBI= 000441   	BIT04 = 000020   	CD.DPC= 001000   	CR.QTR= 000002   	DIAG3 = 174436
ANDCBM= 000442   	BIT05 = 000040   	CD.NRM= 000000   	CR.SLO= 000003   	DIKL10= 000010
ANDCM = 000420   	BIT06 = 000100   	CESCES  000072R  	CS.ALL= 000014   	DISMSG  002146RG    003
ANDCMB= 000423   	BIT07 = 000200   	CESERM  003102R     005	CS.CS1= 000004   	DIV   = 000234
ANDCMI= 000421   	BIT08 = 000400   	CFHERM  000231R     005	CS.CS2= 000010   	DIVB  = 000237
ANDCMM= 000422   	BIT09 = 001000   	CHNPNT= 000001   	CS.EXP= 177670   	DIVI  = 000235
ANDI  = 000405   	BIT1  = 000002   	CH.ALP= 000001   	CS.EXT= 000010   	DIVM  = 000236
ANDM  = 000406   	BIT10 = 002000   	CH.ANM= 000003   	CS.FST= 000004   	DLYCNT= 174400
AOBJN = 000253   	BIT11 = 004000   	CH.AOP= 000100   	CS.MGN= 000004   	DMFERM  000517R     005
AOBJP = 000252   	BIT12 = 010000   	CH.END= 000034   	CS.NRM= 000000   	DMOVE = 000120
AOJ   = 000340   	BIT13 = 020000   	CH.EOC= 000010   	CS.UDF= 000014   	DMOVEM= 000124
AOJA  = 000344   	BIT14 = 040000   	CH.EOL= 000004   	CTLMSG  003044RG    003	DMOVN = 000121
AOJE  = 000342   	BIT15 = 100000   	CH.EOS= 000020   	CYCLS = 000002   	DMOVNM= 000125
AOJG  = 000347   	BIT2  = 000004   	CH.ILL= 000200   	DATABX  000170RG    002	DNPERM  000606R     005
AOJGE = 000345   	BIT3  = 000010   	CH.NUL= 000000   	DATAI = 000001   	DOCCNR  012430R
AOJL  = 000341   	BIT4  = 000020   	CH.NUM= 000002   	DATAO = 000003   	DON10C= 040000
AOJLE = 000343   	BIT5  = 000040   	CH.PFX= 000040   	DATBUF  002324R     002	DON10S= 100000
AOJN  = 000346   	BIT6  = 000100   	CIDLUN= 000001   	DATE  = 000004   	DON11C= 000100
AOS   = 000350   	BIT7  = 000200   	CKCILS  000222R  	DATMSG  003176RG    003	DON11S= 000200
AOSA  = 000354   	BIT8  = 000400   	CKCMRA  000230R  	DAVERM  000413R     005	DORERM  000556R     005
AOSE  = 000352   	BIT9  = 001000   	CKEEOC  000320R  	DBTERM  000444R     005	DOWMTB  002306R     002
AOSG  = 000357   	BLKI  = 000000   	CKRKLR  000440R  	DCKERM  000474R     005	DOWTAB  002214R     002
AOSGE = 000355   	BLKO  = 000002   	CLDSTB  002440R     002	DCOMST= 000001   	DPB   = 000137
AOSL  = 000351   	BLT   = 000251   	CLEAR = 000400   	DCRMSG  002333RG    003	DPDTEN= 000072RG    004
AOSLE = 000353   	BPARER= 000020   	CLEARB= 000403   	DECMSG  002760RG    003	DPOAPE  002636R
AOSN  = 000356   	BRMSG   002433RG    003	CLEARI= 000401   	DEP   = 010000   	DPOATB  001522R     002
APEERM  000000R     005	BRXMSG  002436RG    003	CLEARM= 000402   	DEPMSG  002136RG    003	DPODTB  001526R     002
APR   = 000000   	CAEERM  000056R     005	CLEERM  000267R     005	DEX   = 000400   	DPOITB  001532R     002
APRMSG  002672RG    003	CAI   = 000300   	CLKMSG  003160RG    003	DEXDON= 000004   	DPOKCN  002644R
AP.ALL= 000177   	CAIA  = 000304   	CLOSE = 000070   	DEXWD1= 174406   	DPONTB  001536R     002
AP.ARP= 001000   	CAIE  = 000302   	CLRMSG  002117RG    003	DEXWD2= 174404   	DPOOAI  001772R
AP.CDP= 000004   	CAIG  = 000307   	CLRTTB  002464R     002	DEXWD3= 174402   	DPOPTB  001542R     002
AP.EIP= 000400   	CAIGE = 000305   	CLSRTB  002454R     002	DFAD  = 000110   	DPOVFE  002652R
AP.IPF= 000020   	CAIL  = 000301   	CNRERM  000324R     005	DFBEND= 000240RG    002	DPOZTB  001546R     002
AP.MPE= 000010   	CAILE = 000303   	CNTMSG  002125RG    003	DFCIFC  001272R  	DPS4  = 040000
AP.NRM= 001400   	CAIN  = 000306   	CNUPE = 000002   	DFDV  = 000113   	DPTMSG  003032RG    003
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-2
SYMBOL TABLE

DRAMSG  002500RG    003	D2.MS2= 000004   	EQV   = 000444   	FDVR  = 000174   	FR.SC2= 000260
DRATAB  001704R     002	D2.MS4= 000010   	EQVB  = 000447   	FDVRB = 000177   	FR.SR1= 000306
DRDMSG  003446R     003	D2.MS8= 000020   	EQVI  = 000445   	FDVRI = 000175   	FR.SR2= 000304
DRESET= 000100   	D2.RA0= 100000   	EQVM  = 000446   	FDVRM = 000176   	FR.VM0= 000320
DRMMSG  003134RG    003	D2.RA1= 040000   	ERRMSG  003001RG    003	FEBMSG  002653RG    003	FR.VM1= 000322
DR.DTE= 000011   	D2.RA2= 020000   	ERR10C= 010000   	FERMSG  002516RG    003	FR.VM2= 000324
DSEND = 000004   	D2.RST= 000100   	ERR10S= 020000   	FERTAB  001720R     002	FR.VM3= 000326
DSFERM  000645R     005	D3RST   002146R     002	ERR11C= 000001   	FIX   = 000122   	FR.VM4= 000330
DS04  = 004000   	D3.CDD= 000020   	ERR11S= 000002   	FIXR  = 000126   	FR.VM5= 000332
DS05  = 002000   	D3.MBZ= 177704   	ERSMSG  000106R     003	FLDMSG  000047R     003	FR.VM6= 000334
DS06  = 001000   	D3.NPE= 000002   	ESDERM  001130R     005	FLGMSG  002521RG    003	FR.VM7= 000336
DTCERM  000700R     005	D3.PAR= 040000   	ESEERM  001165R     005	FLTR  = 000127   	FR.100= 000200
DTECMD= 000451   	D3.RST= 000001   	ETRMSG  003502R     003	FMMSG   002447RG    003	FR.101= 000202
DTEDSF  006762R  	D3.SCD= 000040   	EXADTB  001556R     002	FMP   = 000160   	FR.102= 000204
DTEFLG= 000444   	D3.SSL= 100000   	EXAITB  001562R     002	FMPB  = 000163   	FR.103= 000206
DTEF11= 000450   	D3.TXB= 000001   	EXAMSG  002161RG    003	FMPL  = 000161   	FR.104= 000210
DTEMSG  002507RG    003	D3.UPE= 000020   	EXANTB  001566R     002	FMPM  = 000162   	FR.105= 000212
DTEMTD= 000455   	D3.URE= 000004   	EXAOAI  002204R  	FMPR  = 000164   	FR.106= 000214
DTEMTI= 000456   	D3.WEP= 000010   	EXAPTB  001572R     002	FMPRB = 000167   	FR.107= 000216
DTKMSG  003517R     003	EBCECT  007056R  	EXAZTB  001576R     002	FMPRI = 000165   	FR.110= 000220
DTRMSG  003365R     003	EBPEPE  000476R  	EXCH  = 000250   	FMPRM = 000166   	FR.111= 000222
DUPE  = 000020   	EBSEL = 000100   	EXCIOC  004270R  	FNCIFC  001556R  	FR.112= 000224
DURE  = 000004   	EBSMSG  002442RG    003	EXDDMF  007264R  	FNCOFC  001564R  	FR.113= 000226
DV.LOG= ****** GX	EBUSPC= 000020   	EXDEMF  007272R  	FOFMSG  000371R     003	FR.114= 000230
DWRMSG  003452R     003	EBUSPS= 000004   	EXDESD  007234R  	FONMSG  000363R     003	FR.115= 000232
DW1MSG  003406R     003	ECTERM  000752R     005	EXDESE  007250R  	FORPRO= 000020   	FR.116= 000234
DW2MSG  003416R     003	EDEPT   003456R     003	EXDMS1  000500R     003	FRDFRF  007566R  	FR.117= 000236
DW3MSG  003436R     003	EDEXV   003462R     003	EXDMS2  000507R     003	FRDMSG  002171RG    003	FR.120= 000240
DXWRD1= 002000   	EDNKLA  001162R  	EXDMS3  000516R     003	FRDTEN= 000116RG    004	FR.121= 000242
D.CCPU= ****** GX	EDONES= 040000   	EXDMS4  000525R     003	FRFERM  003134R     005	FR.122= 000244
D.CKLN= ****** GX	EDPHY   003476R     003	EXDTEN= 000104RG    004	FRIMSG  001101R     003	FR.123= 000246
D1.CES= 004000   	EDTYTB  005072R     002	EXDTET  001616R     002	FR.ADX= 000254   	FR.124= 000250
D1.DCS= 000001   	EDUPT   003466R     003	EXECTO  007504R  	FR.APR= 000220   	FR.125= 000252
D1.DDT= 000040   	EDUSV   003472R     003	EXFMSG  000377R     003	FR.ARX= 000252   	FR.126= 000254
D1.DEX= 000400   	ED.EPT= 000000   	EXMDTB  001552R     002	FR.BRX= 000250   	FR.127= 000256
D1.DFM= 000010   	ED.EXV= 000040   	EXRTBL= 000012 G 	FR.CA1= 000312   	FR.130= 000260
D1.DS0= 100000   	ED.PHY= 000200   	EXTEND= 000123   	FR.CA2= 000310   	FR.131= 000262
D1.DS1= 040000   	ED.UPT= 000100   	EXTKCN  003100R  	FR.CL1= 000316   	FR.132= 000264
D1.DS2= 020000   	ED.USV= 000140   	EXTMSG  003054RG    003	FR.CL2= 000314   	FR.133= 000266
D1.DS3= 010000   	EF.CRI= ****** GX	E.FCID= 000002   	FR.CRD= 000302   	FR.134= 000270
D1.DS4= 004000   	EF.PR1= ****** GX	E.FCOD= 000003   	FR.CR1= 000316   	FR.135= 000272
D1.DS5= 002000   	ELBBIN  005126RG    002	E.FCTC= ****** GX	FR.CR2= 000314   	FR.136= 000274
D1.DS6= 001000   	ELBOCT  005132RG    002	E.FHTO= 000001   	FR.CR3= 000312   	FR.137= 000276
D1.HLP= 001000   	ELEMSG  002405RG    003	E.FKLN= 000004   	FR.CR4= 000310   	FR.140= 000300
D1.LBK= 000200   	ELNBIN  005120RG    002	E.FPR1= ****** GX	FR.DA1= 000260   	FR.141= 000302
D1.MBZ= 000442   	ELNNOR  024274R  	FAD   = 000140   	FR.DA2= 000262   	FR.142= 000304
D1.PLS= 000020   	ELNOCT  005136RG    002	FADB  = 000143   	FR.EBS= 000356   	FR.143= 000306
D1.RUN= 002000   	EMFERM  001003R     005	FADL  = 000141   	FR.FE1= 000266   	FR.144= 000310
D1.T10= 000200   	ENBMSG  003141RG    003	FADM  = 000142   	FR.FE2= 000264   	FR.145= 000312
D1.T11= 000100   	ENTER = 000077   	FADR  = 000144   	FR.PI0= 000200   	FR.146= 000314
D1.V04= 000020   	EOCERM  001042R     005	FADRB = 000147   	FR.PI1= 000202   	FR.147= 000316
D1.XFR= 000004   	EPEERM  001100R     005	FADRI = 000145   	FR.RAD= 000256   	FR.150= 000320
D1011 = 000040   	EPMSG0  000534R     003	FADRM = 000146   	FR.RAR= 000240   	FR.151= 000322
D2RST   002144R     002	EPMSG1  000550R     003	FDV   = 000170   	FR.RBR= 000242   	FR.152= 000324
D2.EBD= 040000   	EPMSG2  000562R     003	FDVB  = 000173   	FR.RFM= 000246   	FR.153= 000326
D2.MBZ= 177641   	EPMSG3  000576R     003	FDVL  = 000171   	FR.RMQ= 000244   	FR.154= 000330
D2.MS1= 000002   	EPTR  = 000000   	FDVM  = 000172   	FR.SC1= 000262   	FR.155= 000332
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-3
SYMBOL TABLE

FR.156= 000334   	FW.CHN= 000160   	FXFERM  003207R     005	GTNNER  024552R  	HRLOS = 000567
FR.157= 000336   	FW.CRD= 000126   	FX.BMC= 000012   	GTNNOR  025406R  	HRLS  = 000507
FR.160= 000340   	FW.CR1= 000136   	FX.CMR= 000014   	GTNORE  024546R  	HRLZ  = 000514
FR.161= 000342   	FW.CR2= 000134   	FX.CON= 000024   	GTTITF  017214R  	HRLZI = 000515
FR.162= 000344   	FW.CR3= 000132   	FX.CRF= 000020   	GTTMS0  001354R     003	HRLZM = 000516
FR.163= 000346   	FW.CR4= 000130   	FX.CSP= 000000   	GTTTOR  017222R  	HRLZS = 000517
FR.164= 000350   	FW.CSR= 000110   	FX.CST= 000002   	G.TICP= 000016   	HRR   = 000540
FR.165= 000352   	FW.DJE= 000146   	FX.EBC= 000006   	G.TICT= 000014   	HRRE  = 000570
FR.166= 000354   	FW.DJO= 000150   	FX.MBC= 000004   	G.TIDA= 000004   	HRREI = 000571
FR.167= 000356   	FW.DR1= 000140   	FX.SMR= 000016   	G.TIHR= 000006   	HRREM = 000572
FR.170= 000360   	FW.DR2= 000142   	FX.SRF= 000022   	G.TIMI= 000010   	HRRES = 000573
FR.171= 000362   	FW.DR3= 000144   	FX.SYC= 000010   	G.TIMO= 000002   	HRRI  = 000541
FR.172= 000364   	FW.EBL= 000174   	FX.UDR= 000032   	G.TISC= 000012   	HRRM  = 000542
FR.173= 000366   	FW.IAC= 000154   	FX.UIR= 000030   	G.TIYR= 000000   	HRRO  = 000560
FR.174= 000370   	FW.IOJ= 000152   	FX.000= 000000   	HIBYTE= 177400   	HRROI = 000561
FR.175= 000372   	FW.IPE= 000114   	FX.001= 000002   	HLFMSG  003112RG    003	HRROM = 000562
FR.176= 000374   	FW.KLO= 000156   	FX.002= 000004   	HLL   = 000500   	HRROS = 000563
FR.177= 000376   	FW.LAR= 000176   	FX.003= 000006   	HLLE  = 000530   	HRRS  = 000543
FSB   = 000150   	FW.LBL= 000106   	FX.004= 000010   	HLLEI = 000531   	HRRZ  = 000550
FSBB  = 000153   	FW.LBR= 000104   	FX.005= 000012   	HLLEM = 000532   	HRRZI = 000551
FSBL  = 000151   	FW.MBX= 000162   	FX.006= 000014   	HLLES = 000533   	HRRZM = 000552
FSBM  = 000152   	FW.SBR= 000174   	FX.007= 000016   	HLLI  = 000501   	HRRZS = 000553
FSBR  = 000154   	FW.040= 000100   	FX.010= 000020   	HLLM  = 000502   	I     = 000000
FSBRB = 000157   	FW.041= 000102   	FX.011= 000022   	HLLO  = 000520   	IBP   = 000133
FSBRI = 000155   	FW.042= 000104   	FX.012= 000024   	HLLOI = 000521   	IDFERM  001222R     005
FSBRM = 000156   	FW.043= 000106   	FX.013= 000026   	HLLOM = 000522   	IDIV  = 000230
FSC   = 000132   	FW.044= 000110   	FX.014= 000030   	HLLOS = 000523   	IDIVB = 000233
FSSMSG  003150RG    003	FW.045= 000112   	FX.015= 000032   	HLLS  = 000503   	IDIVI = 000231
FTBYTE= 000000   	FW.046= 000114   	FX.016= 000034   	HLLZ  = 000510   	IDIVM = 000232
FTCRAM= 000000   	FW.047= 000116   	FX.017= 000036   	HLLZI = 000511   	IDPB  = 000136
FTDEBU= 000001   	FW.050= 000120   	FX.020= 000040   	HLLZM = 000512   	IE.ACT= ****** GX
FTDISP= 000000   	FW.051= 000122   	FX.021= 000042   	HLLZS = 000513   	IE.EBX= ****** GX
FTDRAM= 000000   	FW.052= 000124   	FX.022= 000044   	HLR   = 000544   	IE.INS= ****** GX
FTHELP= 000000   	FW.053= 000126   	FX.023= 000046   	HLRE  = 000574   	IFCERM  001254R     005
FTKLER= 000000   	FW.054= 000130   	FX.024= 000050   	HLREI = 000575   	IFLOP = 100000
FTLCMN= 000001 G 	FW.055= 000132   	FX.025= 000052   	HLREM = 000576   	ILCERM  003237R     005
FTLCVT= 000000   	FW.056= 000134   	FX.026= 000054   	HLRES = 000577   	ILDB  = 000134
FTLIST= 000000   	FW.057= 000136   	FX.027= 000056   	HLRO  = 000564   	ILSERM  003271R     005
FTTRAK= 000001   	FW.060= 000140   	FX.030= 000060   	HLROI = 000565   	IMUL  = 000220
FTTRP4= 000001   	FW.061= 000142   	FX.031= 000062   	HLROM = 000566   	IMULB = 000223
FTUCVR= 000130   	FW.062= 000144   	FX.032= 000064   	HLROS = 000567   	IMULI = 000221
FT1105= 000001   	FW.063= 000146   	FX.033= 000066   	HLRS  = 000547   	IMULM = 000222
FT1110= 000001   	FW.064= 000150   	FX.034= 000070   	HLRZ  = 000554   	IN    = 000056
FT1115= 000001   	FW.065= 000152   	FX.035= 000072   	HLRZI = 000555   	INBUF = 000064
FT1120= 000001   	FW.066= 000154   	FX.036= 000074   	HLRZM = 000556   	INCMSG  002345RG    003
FT1135= 000001   	FW.067= 000156   	FX.037= 000076   	HLRZS = 000557   	INIDNP  006304R
FT1140= 000001   	FW.070= 000160   	GETSTS= 000062   	HLTMSG  002213RG    003	INIDTC  006312R
FT1145= 000000   	FW.071= 000162   	GTDDBT  016632R  	HRL   = 000504   	INIMSG  002220RG    003
FULMSG  003105RG    003	FW.072= 000164   	GTDDOR  016640R  	HRLE  = 000534   	INIT  = 000041
FWDTEN= 000130RG    004	FW.073= 000166   	GTDIDF  016646R  	HRLEI = 000535   	INPUT = 000066
FWFERM  003161R     005	FW.074= 000170   	GTDMS0  001345R     003	HRLEM = 000536   	INTMSG  003065RG    003
FWRFWF  007710R  	FW.075= 000172   	GTDYOR  016654R  	HRLES = 000537   	INTROF= 000010
FWRMSG  002177RG    003	FW.076= 000174   	GTFILC  025136R  	HRLI  = 000505   	INTRON= 000040
FW.APE= 000116   	FW.077= 000176   	GTKKLA  024354R  	HRLM  = 000506   	INTSON= 000001
FW.CA1= 000122   	FXCFXF  010060R  	GTLCBO  024210R  	HRLO  = 000564   	INT10S= 000400
FW.CA2= 000124   	FXCMSG  002206RG    003	GTLILC  024216R  	HRLOI = 000565   	INT11C= 002000
FW.CDR= 000112   	FXDTEN= 000142RG    004	GTNMRA  025400R  	HRLOM = 000566   	INT11S= 004000
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-4
SYMBOL TABLE

IOCERM  001310R     005	KLIMSG  003203RG    003	MOVSS = 000207   	PAG   = 000010   	PSWW11= 000015
IOMSG   003007RG    003	KLIOT = 000700   	MPE11 = 001000   	PAGMSG  003012RG    003	PSWW12= 000016
IOR   = 000434   	KLMSG   002527RG    003	MQMSG   002452RG    003	PARERC  003436R  	PSWW13= 000017
IORB  = 000437   	KLNBIN  005104RG    002	MRAERM  001662R     005	PARERX  003262R  	PSWW2 = 000006
IORI  = 000435   	KLNLGE= 002300R     002	MUL   = 000224   	PARMSG  000011RG    003	PSWW3 = 000007
IORM  = 000436   	KLNLGL= ****** GX	MULB  = 000227   	PARNAM  000021RG    003	PSWW4 = 000010
IO.ATT= ****** GX	KLNLOG  002254R     002	MULI  = 000225   	PARUEC  003510R  	PSWW5 = 000011
IO.DET= ****** GX	KLNOCT  005134RG    002	MULM  = 000226   	PAR$$E= 000001   	PSWW6 = 000012
IO.RLB= ****** GX	KLNPLN= ****** GX	M.KTAE= 000010   	PAR$$K= 000126   	PSWW7 = 000013
IO.WLB= ****** GX	KLNPWD  002300R     002	M.KTEF= 000002   	PAR$$V= 000005   	PS.NRM= 001416
IPCERM  003335R     005	KLPWRF= 000010   	M.KTMG= 000004   	PCMSG   002455RG    003	PTLERM  002245R     005
IP.ALL= 000017   	KLRERM  001532R     005	M.KTUN= 000006   	PCTAB   001764R     002	PTOATM  000267R     003
IP.CRP= 000004   	KLSCFH  010416R  	NDIERM  001722R     005	PC.AFI= 000020   	PTRTEM  000150R     003
IP.DRP= 000002   	KNCERM  001574R     005	NEBMSG  000121R     003	PC.AT0= 000004   	PTRTHM  000220R     003
IP.FMP= 000010   	KWEERM  001630R     005	NERERM  001752R     005	PC.AT1= 000010   	PULSE = 000020
IP.FSS= 000001   	K.LSCK= ****** GX	NOFMSG  000334R     003	PC.BIS= 000400   	PUSH  = 000261
IP.NRM= 000016   	LDB   = 000135   	NOMSG   002105R     003	PC.CY0= 004000   	PUSHJ = 000260
IRCERM  001340R     005	LG.ALL= 000007   	NONMSG  001755R     003	PC.CY1= 002000   	QSIZE = 000023
IS.SET= ****** GX	LG.ARG= 000010   	NORERM  002014R     005	PC.FOV= 001000   	QTRMSG  003117RG    003
ITFERM  001373R     005	LG.MAR= 000020   	NOTMSG  003221RG    003	PC.FUF= 000002   	QUTMSG  002310RG    003
ITNERM  001425R     005	LG.MNT= 000004   	NOVMSG  002747RG    003	PC.LIP= 000040   	Q.BYCT= 000016
JANMSG  002643RG    003	LG.MOD= 000040   	NPIERM  002054R     005	PC.NDV= 000001   	Q.IBUF= 000014
JFCL  = 000255   	LG.NUL= 000000   	NRMMSG  003016RG    003	PC.OVF= 010000   	Q.IOAE= 000012
JFFO  = 000243   	LG.OPR= 000001   	NSKERM  003400R     005	PC.UIO= 000100   	Q.IOEF= 000006
JMPMSG  002233RG    003	LG.PRG= 000002   	NSTERM  002110R     005	PC.USR= 000200   	Q.IOFN= 000002
JRA   = 000267   	LG.PRM= 000003   	NTIERM  002133R     005	PERCLR= 001000   	Q.IOLU= 000004
JRST  = 000254   	LG.RNG= 000100   	NULMSG  002110RG    003	PE.ALL= 000037   	Q.IOPL= 000014
JSA   = 000266   	LG.RPT= 000400   	NULSTP= 000040   	PE.CES= 000001   	Q.IOPR= 000007
JSP   = 000265   	LG.STR= 000200   	NUPE  = 000002   	PE.CRM= 000004   	Q.IOSB= 000010
JSR   = 000264   	LOAD11= 000004   	NXTMSG  002357RG    003	PE.DRM= 000002   	Q.OBUF= 000014
JSYS  = 000104   	LOOKUP= 000076   	OAIERM  002163R     005	PE.FMP= 000010   	Q.OVFC= 000020
JULMSG  002711RG    003	LSH   = 000242   	OCTMSG  002737RG    003	PE.FSS= 000020   	RAMIS0= 010000
JUMP  = 000320   	LSHC  = 000246   	OFCERM  002215R     005	PHYS  = 100000   	RDCPT1  002070R     002
JUMPA = 000324   	MAP   = 000257   	OFFMSG  000037RG    003	PI    = 000004   	RDCPT2  002050R     002
JUMPE = 000322   	MARMSG  002664RG    003	OFSMSG  003225RG    003	PIDENT= 000000   	RDCPT3  002060R     002
JUMPG = 000327   	MAYMSG  002700RG    003	ONMSG   000034RG    003	PIMSG   002532RG    003	RDPITB  001636R     002
JUMPGE= 000325   	MBZTAB  002020R     002	OPEN  = 000050   	POP   = 000262   	RDPITE= 001652R     002
JUMPL = 000321   	MCRMSG  002240RG    003	OPRMSG  002603RG    003	POPJ  = 000263   	REGMSG  002535RG    003
JUMPLE= 000323   	MEMMSG  003212RG    003	OR    = 000434   	PRGMSG  002614RG    003	REGTAB  005046R     002
JUMPN = 000326   	MGNMSG  003076RG    003	ORB   = 000437   	PRI7  = 000340   	RELEAS= 000071
JUNMSG  002704RG    003	MNTMSG  002567RG    003	ORCA  = 000454   	PROMPT  000030RG    003	REMMSG  002627RG    003
KCNERM  001455R     005	MONMSG  001033R     003	ORCAB = 000457   	PROPNT= 000021   	RENAME= 000055
KF.BRM= 001000   	MOVE  = 000200   	ORCAI = 000455   	PRTOFF= 004000   	REPIRC  013262R
KF.CES= 000100   	MOVEI = 000201   	ORCAM = 000456   	PRVMSG  002364RG    003	REQKLD  000162R     004
KF.CLK= 100000   	MOVEM = 000202   	ORCB  = 000470   	PR0   = 000000   	RESETT  002134R     002
KF.CON= 000200   	MOVES = 000203   	ORCBB = 000473   	PR1   = 000040   	RFMAD0= 100000
KF.DEF= 000200   	MOVM  = 000214   	ORCBI = 000471   	PR2   = 000100   	RFMAD1= 040000
KF.KLO= 000400   	MOVMI = 000215   	ORCBM = 000472   	PR3   = 000140   	RFMAD2= 020000
KF.MRS= 020000   	MOVMM = 000216   	ORCM  = 000464   	PR4   = 000200   	RFMAD3= 010000
KF.RUN= 040000   	MOVMS = 000217   	ORCMB = 000467   	PR5   = 000240   	RGDTEN= 000060RG    004
KF.SIM= 010000   	MOVN  = 000210   	ORCMI = 000465   	PR6   = 000300   	RLDMSG  003250RG    003
KF.SMC= 004000   	MOVNI = 000211   	ORCMM = 000466   	PR7   = 000340   	RM    = 000010
KF.SPM= 002000   	MOVNM = 000212   	ORI   = 000435   	PS    = 177776   	ROT   = 000241
KLABIN  005114RG    002	MOVNS = 000213   	ORM   = 000436   	PSENTB  002474R     002	ROTC  = 000245
KLAERM  001503R     005	MOVS  = 000204   	OUT   = 000057   	PSTMSG  003234RG    003	RPMERM  002275R     005
KLAOCT  005140RG    002	MOVSI = 000205   	OUTBUF= 000065   	PSWW1 = 000005   	RPTMSG  002244RG    003
KLHCFH  010306R  	MOVSM = 000206   	OUTPUT= 000067   	PSWW10= 000014   	RQSKLD  000000R     004
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-5
SYMBOL TABLE

RSAKCN  013436R  	SETCMB= 000463   	ST.CED= 000100   	TENAD2= 174412   	TRNE  = 000602
RSAPRI  002150R     002	SETCMI= 000461   	ST.CLE= 000001   	TENMSG  002414RG    003	TRNN  = 000606
RSERRI  002156R     002	SETCMM= 000462   	ST.CTD= 040000   	TFRMSG  003316R     003	TRO   = 000660
RSPGI0  002200R     002	SETM  = 000414   	ST.CTE= 010000   	TFWMSG  003333R     003	TROA  = 000664
RSPGI1  002206R     002	SETMB = 000417   	ST.DW1= 002000   	TFXMSG  003350R     003	TROE  = 000662
RSPKCN  013614R  	SETMI = 000415   	ST.DXD= 000004   	THSMSG  002375RG    003	TRON  = 000666
RSTEND= 002142R     002	SETMM = 000416   	ST.EBS= 000100   	THUMSG  001067R     003	TRZ   = 000620
RSTIOI  002164R     002	SETMSG  002265RG    003	ST.EDB= 004000   	TLC   = 000641   	TRZA  = 000624
RSTMSG  002253RG    003	SETO  = 000474   	ST.EPE= 000020   	TLCA  = 000645   	TRZE  = 000622
RSTPII  002172R     002	SETOB = 000477   	ST.IDS= 000010   	TLCE  = 000643   	TRZN  = 000626
RTYMSG  003257RG    003	SETOI = 000475   	ST.IEN= 000040   	TLCN  = 000647   	TR.ALL= 000077
RUNITN  013706R  	SETOM = 000476   	ST.ION= 000001   	TLN   = 000601   	TR.DEP= 000020
RUNMSG  002261RG    003	SETSTS= 000060   	ST.MBZ= 000000   	TLNA  = 000605   	TR.DTE= 000040
RUNNST  013714R  	SETZ  = 000400   	ST.MOD= 000010   	TLNE  = 000603   	TR.EXM= 000010
RUNTAA  013722R  	SETZB = 000403   	ST.MPE= 001000   	TLNN  = 000607   	TR.FRD= 000002
R.QSGC= 000015   	SETZI = 000401   	ST.NST= 000040   	TLO   = 000661   	TR.FWR= 000004
R.QSPC= 000014   	SETZM = 000402   	ST.RIZ= 010000   	TLOA  = 000665   	TR.FXC= 000001
R.QSPN= 000006   	SHUMSG  002271RG    003	ST.RST= 011121   	TLOE  = 000663   	TSC   = 000651
R.QSPR= 000012   	SKIERM  002364R     005	ST.SEP= 000004   	TLON  = 000667   	TSCA  = 000655
R.QSTN= 000002   	SKIP  = 000330   	ST.STE= 000002   	TLZ   = 000621   	TSCAMB  013106R
SATMSG  001111R     003	SKIPA = 000334   	ST.TED= 000200   	TLZA  = 000625   	TSCE  = 000653
SBRMSG  002560RG    003	SKIPE = 000332   	ST.TER= 000002   	TLZE  = 000623   	TSCN  = 000657
SBRTAB  001734R     002	SKIPG = 000337   	ST.TXD= 100000   	TLZN  = 000627   	TSCNSK  013120R
SCCCLE  020226R  	SKIPGE= 000335   	ST.TXE= 020000   	TOBM  = 000004   	TSCWRM  013126R
SCCLKT  002414R     002	SKIPL = 000331   	ST.XDB= 000400   	TOD   = 000003   	TSN   = 000611
SCD   = 000040   	SKIPLE= 000333   	SUB   = 000274   	TOIP  = 000002   	TSNA  = 000615
SCDCDI  014346R  	SKIPN = 000336   	SUBB  = 000277   	TOIT  = 000001   	TSNE  = 000613
SCDDAV  014354R  	SLOMSG  003127RG    003	SUBI  = 000275   	TORERM  002562R     005	TSNN  = 000617
SCDNDI  014362R  	SOJ   = 000360   	SUBM  = 000276   	TO10  = 000200   	TSO   = 000671
SCDNTI  014370R  	SOJA  = 000364   	SUNMSG  001123R     003	TO10AD= 174420   	TSOA  = 000675
SCFERM  002335R     005	SOJE  = 000362   	SWR   = 177570   	TO10BC= 174414   	TSOE  = 000673
SCKIPC  014562R  	SOJG  = 000367   	SWSLLT= 100000   	TO10BM= 000001   	TSON  = 000677
SCKKWE  015126R  	SOJGE = 000365   	SXCT  = 000106   	TO10DB= 000400   	TSZ   = 000631
SCKMS0  000630R     003	SOJL  = 000361   	SZIERM  002471R     005	TO10DN= 100000   	TSZA  = 000635
SCKMS1  000643R     003	SOJLE = 000363   	TAAERM  002525R     005	TO10DT= 174424   	TSZE  = 000633
SCKMS2  000667R     003	SOJN  = 000366   	TC.CON= 000377   	TO10ER= 020000   	TSZN  = 000637
SCKMS3  000714R     003	SOS   = 000370   	TC.CTC= 000002   	TO11  = 000100   	TTCALL= 000051
SCKMS4  000743R     003	SOSA  = 000374   	TC.ERR= 000000   	TO11AD= 174422   	TUEMSG  001043R     003
SCKNPI  014540R  	SOSE  = 000372   	TC.RST= 000001   	TO11BC= 174416   	TYDMTB  002364R     002
SCKPTL  014546R  	SOSG  = 000377   	TDC   = 000650   	TO11BM= 020000   	TYODIE  026400R
SCKSKI  014554R  	SOSGE = 000375   	TDCA  = 000654   	TO11DB= 004000   	UCDMSG  003274RG    003
SCPART  002426R     002	SOSL  = 000371   	TDCE  = 000652   	TO11DN= 000200   	UECMSG  000057R     003
SCPILS  021356R  	SOSLE = 000373   	TDCN  = 000656   	TO11DT= 174426   	UECMSP  001602R     002
SCPSCF  021364R  	SOSN  = 000376   	TDMSG0  000611R     003	TO11ER= 000002   	UGETF = 000073
SCPSPF  021372R  	SPCEST  001604R     002	TDN   = 000610   	TPDDCK  022564R  	UJEN  = 000100
SCRMSG  002564RG    003	SPFERM  002441R     005	TDNA  = 000614   	TPDDVD  005040R     002	UNASG1= 000032
SCRTAB  001750R     002	SSTLEN= 000010 G 	TDNE  = 000612   	TPDDVS  005032R     002	UNASG2= 000033
SEPMSG  002725RG    003	SSTTBE= 000212RG    002	TDNN  = 000616   	TPDRMN  005024R     002	UNASG3= 000034
SETA  = 000424   	STAMSG  003426R     003	TDO   = 000670   	TRADDR  005056R     002	UNASG4= 000035
SETAB = 000427   	STASZI  020034R  	TDOA  = 000674   	TRC   = 000640   	UNASG5= 000036
SETAI = 000425   	STAT  = 174434   	TDOE  = 000672   	TRCA  = 000644   	UNASG6= 000037
SETAM = 000426   	STATO = 000061   	TDON  = 000676   	TRCE  = 000642   	UNLERM  002612R     005
SETCA = 000450   	STATUS= 000022   	TDZ   = 000630   	TRCN  = 000646   	USETI = 000074
SETCAB= 000453   	STATZ = 000063   	TDZA  = 000634   	TRDATA  005064R     002	USETO = 000075
SETCAI= 000451   	STRMSG  002302RG    003	TDZE  = 000632   	TRKMSG  003265RG    003	USRMSG  002636RG    003
SETCAM= 000452   	STUCAE  012174R  	TDZN  = 000636   	TRN   = 000600   	VERMSG  003306RG    003
SETCM = 000460   	STUUNL  012202R  	TENAD1= 174410   	TRNA  = 000604   	VFYERM  002650R     005
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-6
SYMBOL TABLE

VF.DSP= 000060   	$DIV  = ****** GX	$$$HLT= 000001   	$$$VMH= 000001   	.DATE3= ****** GX
VF.FFD= 000061   	$DSW  = ****** GX	$$$INC= 000006   	$$$WHA= 000001   	.DAY  = ****** GX
VF.INT= 000000   	$MUL  = ****** GX	$$$INI= 000002   	$$$XCT= 000001   	.DBGSW  000016RG    002
VF.OVR= 000053   	$$    = 000037   	$$$INT= 000001   	$$$ZER= 000001   	.DEPAR  002250RG
VF.PRM= 000044   	$$A   = 000100   	$$$IO = 000001   	.ABORT  000004RG 	.DFBLK  000214RG    002
VF.SSP= 000040   	$$B   = 000000   	$$$JAN= 000001   	.ABRTC  000000RG 	.DFCOM  001170RG
VMAMSG  002547RG    003	$$C   = 000200   	$$$JMP= 000001   	.ABRT0  000032RG 	.DFRB   000222RG    002
VMATB   002000R     002	$$D   = 000011   	$$$JUL= 000001   	.APRWD  000000RG    002	.DFRED  001300RG
VMHMSG  002553RG    003	$$E   = 000016   	$$$JUN= 000001   	.ASCID  000016RG    004	.DFWB   000214RG    002
VMHTB   002006R     002	$$F   = 000000   	$$$KL = 000001   	.ASCOD  000026RG    004	.DFWRT  001404RG
WCMMSG  001363R     003	$$PASS= 000000   	$$$KLI= 000002   	.ATCID  000242RG    004	.DFXCT  001464RG
WCMSG0  001673R     003	$$$AB = 000001   	$$$MAR= 000001   	.ATLMD= 000033   	.DIAG1= 000000
WCMSG1  001717R     003	$$$ABO= 000001   	$$$MAY= 000001   	.BRCLK= 005000   	.DIAG2= 000002
WCMSG2  001733R     003	$$$AD = 000001   	$$$MCR= 000001   	.BRMBC  006470RG 	.DIAG3= 000006
WCMSG3  001745R     003	$$$ADX= 000001   	$$$MEM= 000002   	.BURST  006474RG 	.DISCC  001572RG
WEDMSG  001054R     003	$$$ALL= 000002   	$$$MGN= 000001   	.CCMDN  000002RG    002	.DOCMD  012266RG
WEP   = 000010   	$$$APR= 000001   	$$$MNT= 000002   	.CDIBC= 000216R     004	.DOW  = ****** GX
WHAMSG  002315RG    003	$$$AR = 000003   	$$$MQ = 000001   	.CDIBP= 000214R     004	.DPBFR  000020RG    002
WHDMS0  000761R     003	$$$ARG= 000006   	$$$NOT= 000001   	.CDINP  000200RG    004	.DPBFX  000026RG    002
WHDMS1  001007R     003	$$$ARX= 000001   	$$$NOV= 000001   	.CDOBC= 000236RG    004	.DPDPB  000062RG    004
WHIMSG  001403R     003	$$$AUG= 000001   	$$$NRM= 000001   	.CDOBP= 000234RG    004	.DPETB  002742RG    002
WHKMRB  001272R     003	$$$BR = 000001   	$$$NUL= 000001   	.CDOFC= 000240RG    004	.DPEWD  002006RG
WHKMSA  001263R     003	$$$BRX= 000001   	$$$NXT= 000004   	.CDOUT  000220RG    004	.DPEWI  002014RG
WHKMSI  001315R     003	$$$CLK= 000002   	$$$OCT= 000001   	.CECLK= 004000   	.DPEWN  002022RG
WHKMSK  001326R     003	$$$CLR= 000001   	$$$OFS= 000002   	.CESCK  000056RG 	.DPEWP  002030RG
WHKMS0  001133R     003	$$$CNT= 000001   	$$$OPR= 000002   	.CHTAB  001360RG    002	.DPEWT  002000RG
WHKMS1  001144R     003	$$$CON= 000002   	$$$OST= 000014   	.CIBFL= 000214 G 	.DPKLD  002666RG
WHKMS2  001155R     003	$$$CPU= 000001   	$$$PAG= 000001   	.CIBFR  000240RG    002	.DPKLI  002674RG
WHKMS3  001203R     003	$$$CRA= 000001   	$$$PC = 000001   	.CISTS  000004RG    002	.DPKLM  007116RG
WHKMS4  001233R     003	$$$CRL= 000001   	$$$PI = 000002   	.CKARG  000140RG 	.DPKLN  002702RG
WHMMSG  001443R     003	$$$CRM= 000002   	$$$PRG= 000002   	.CKCOL  000200RG 	.DPKLP  002710RG
WHOMSG  001455R     003	$$$CTL= 000001   	$$$PRV= 000004   	.CKCTC  000236RG 	.DPKLT  002660RG
WHRMSG  001423R     003	$$$DAT= 000002   	$$$PST= 000002   	.CKEOC  000264RG 	.DPOBJ  000712RG
WHTMSG  001537R     003	$$$DCR= 000004   	$$$QTR= 000001   	.CKEOS  000326RG 	.DPOEL  000742RG
WPMSG0  001762R     003	$$$DEC= 000001   	$$$QUT= 000001   	.CKOBJ  000350RG 	.DPOKL  000734RG
WPMSG1  002014R     003	$$$DEP= 000001   	$$$REG= 000001   	.CKRNP  000366RG 	.DPOSA  000620RG
WPMSG2  002042R     003	$$$DIS= 000001   	$$$REM= 000001   	.CKRUN  000376RG 	.DPOSC  000606RG
WRLMSG  001476R     003	$$$DPT= 000001   	$$$RLD= 000002   	.CKSYM  000446RG 	.DPOSD  000624RG
WRMERM  002704R     005	$$$DRA= 000001   	$$$RPT= 000003   	.CLDFB  006524RG 	.DPOSE  001616RG
WRTMSG  001517R     003	$$$DRM= 000001   	$$$RST= 000001   	.CLDFR  006530RG 	.DPOSI  000630RG
WVMSG1  001557R     003	$$$DTE= 000002   	$$$RTY= 000002   	.CLDFW  006540RG 	.DPOSN  000634RG
WVMSG2  001601R     003	$$$EBS= 000001   	$$$RUN= 000001   	.CLKWD  000010RG    002	.DPOSP  000640RG
XCT   = 000256   	$$$ELE= 000003   	$$$SBR= 000001   	.CLRCM  017502RG 	.DPOST  002340RG
XCTMSG  002322RG    003	$$$ENB= 000001   	$$$SCR= 000001   	.CLRFF  006554RG 	.DPOSZ  000644RG
XOR   = 000430   	$$$ERR= 000001   	$$$SEP= 000001   	.CLRMR= 006000   	.DPOTB  003002RG    002
XORB  = 000433   	$$$EXA= 000001   	$$$SET= 000001   	.CLRUN= 010000   	.DPSEE  001670RG
XORI  = 000431   	$$$EXT= 000001   	$$$SHU= 000001   	.CMDTB  002520RG    002	.DPSTE  002410RG
XORM  = 000432   	$$$FEB= 000001   	$$$SLO= 000001   	.CMNDL= 000430 G 	.DPTRK  023654RG
XR    = 000000   	$$$FER= 000001   	$$$STR= 000001   	.COBFL= 000204 G 	.DREG   000230RG    002
XTOERM  003015R     005	$$$FLG= 000001   	$$$TEN= 000004   	.COBFR  000454RG    002	.DRLTC= 015000
YESMSG  002101R     003	$$$FM = 000002   	$$$THS= 000004   	.COMEF= ****** GX	.DSACF= 066000
YONMSG  002062R     003	$$$FRD= 000001   	$$$TRK= 000002   	.COMMA= 000054   	.DSIOJ= 065000
YORERM  002765R     005	$$$FSS= 000002   	$$$T1 = 000000   	.COMND  000670RG    002	.DTAB   002040R     002
ZERDPB  000272R     004	$$$FUL= 000001   	$$$UCD= 000001   	.CONBT= 012000   	.DTBUF  002344RG    002
ZERESD  026716R  	$$$FWR= 000001   	$$$USR= 000002   	.CONTC  000504RG 	.DTCID  000256RG    004
ZERMSG  002326RG    003	$$$FXC= 000001   	$$$VER= 000001   	.COSTS  000012RG    002	.DTDI1  000230RG    002
ZSTOP = 040000   	$$$HLF= 000001   	$$$VMA= 000001   	.CSHRG= 164000   	.DTDI2  000232RG    002
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-7
SYMBOL TABLE

.DTDI3  000236RG    002	.EXEBS  004342RG 	.INICL= 070000   	.LDSEL= 044000   	.RDVMH  005754RG
.DTDW1  006664RG 	.EXECT  007356RG 	.INICP  006320RG 	.LDZFL  000100RG    002	.RDVPC  005732RG
.DTDW2  006672RG 	.EXETB  003064RG    002	.INIC0  006076RG 	.LGLWD  000076RG    002	.RDXSV  000120RG    002
.DTDW3  006712RG 	.EXEWD  002220RG 	.INIT   006100RG 	.MEMFL  000102RG    002	.REGRW  000050RG    004
.DTSTA  006702RG 	.EXEWI  002226RG 	.INITC  006072RG 	.MEMRS= 076000   	.REGSV  012512RG
.DTSTS  000234RG    002	.EXEWN  002234RG 	.INKLF  006130RG 	.MON  = ****** GX	.RELWD  000122RG    002
.DTSTW= 000004   	.EXEWP  002242RG 	.IRADX  000066RG    002	.MONTB  003462RG    002	.REPTC  013176RG
.DTTRK  023532RG 	.EXEWT  002212RG 	.IRLTC= 014000   	.MRCLR  011116RG 	.RESET  011502RG
.DWDW1  006610RG 	.EXFER  004704RG 	.JUMPC  017726RG 	.MTDPB  000036RG    004	.RESTB  004136RG    002
.DWDW2  006616RG 	.EXFMR  004350RG 	.KACFL= ****** GX	.NOERR= ****** GX	.RESTC  013270RG
.DWDW3  006636RG 	.EXITP  012436RG 	.KLCON  010066RG 	.NOHLT= ****** GX	.RESTD  011616RG
.DWSTA  006626RG 	.EXKLD  003114RG 	.KLDFR  000106RG    004	.NOTSW  000104RG    002	.RESTI  011636RG
.EBCLK  006770RG 	.EXKLI  003122RG 	.KLDFW  000120RG    004	.NSETB  003574RG    002	.RESTP  011662RG
.EBPCK  000462RG 	.EXKLM  007064RG 	.KLDFX  000132RG    004	.NULLC  012254RG 	.RNDPB  000144RG    004
.EDELA  000034RG    002	.EXKLN  003130RG 	.KLFLG= ****** GX	.ORADX  000106RG    002	.RPTCT  000124RG    002
.EDEWD  001016RG 	.EXKLP  003136RG 	.KLGO   010074RG 	.PARER  003206RG 	.RPTPT  000132RG    002
.EDEWI  001030RG 	.EXKLT  003106RG 	.KLHLT  010164RG 	.PCAB1= 150000   	.RSALL  013350RG
.EDEWN  001030RG 	.EXMEE  002114RG 	.KLINC  000070RG    002	.PCAB2= 151000   	.RSAPR  013444RG
.EDEWP  001016RG 	.EXMEL  001000RG 	.KLMTB  003420RG    002	.PCAB3= 152000   	.RSDTE  013416RG
.EDKLA  000036RG    002	.EXMKL  001010RG 	.KLMT1  003444RG    002	.PCAB4= 153000   	.RSERR  013452RG
.EDKLC  001140RG 	.EXMPI  005074RG 	.KLNFD= ****** GX	.PEWRD  000110RG    002	.RSPAG  013476RG
.EDKLD  001066RG 	.EXMQR  004356RG 	.KLNFT= ****** GX	.PITAB  000112RG    002	.RSTIN  013422RG
.EDKLI  001104RG 	.EXMTB  003124RG    002	.KLNMD= ****** GX	.PSCWD  000116RG    002	.RSTIO  013460RG
.EDKLN  001054RG 	.EXMTE  003000RG 	.KLNPB= ****** GX	.PTDIE  003622RG 	.RSTKL  011734RG
.EDKLP  001042RG 	.EXOBJ  000752RG 	.KLNPE= ****** GX	.PTOAT  004122RG 	.RSTPI  013466RG
.EDKLX  000044RG    002	.EXREG  005246RG 	.KLNPW= ****** GX	.PTTRP  003700RG 	.RUNCM  013622RG
.EIOJA= 067000   	.EXSBR  004712RG 	.KLNSW= ****** GX	.QUITC  014036RG 	.R50TB  001320RG    002
.ELDDW  000052RG    002	.EXSCR  004720RG 	.KLNTD= ****** GX	.RCRM1= 147000   	.SCCEC  021516RG
.ELEDW  000054RG    002	.EXTRK  023642RG 	.KLNTT= ****** GX	.RCRM2= 146000   	.SCCED  021524RG
.ELNCK  024224RG 	.EXVAB  004364RG 	.KLRLD= ****** GX	.RCRM3= 145000   	.SCCEE  021532RG
.ETAB   002030R     002	.EXVMA  004372RG 	.KLRST  010424RG 	.RCRM4= 144000   	.SCCLK  021156RG
.EXAD   004276RG 	.EXVMH  004400RG 	.KLST   010314RG 	.RCSPF= 141000   	.SCCLN  021400RG
.EXADX  004304RG 	.EXVPC  004406RG 	.KLSTP  010342RG 	.RDADR  005310RG 	.SCCOM  020174RG
.EXAMA  000662RG 	.FEMOD= ****** GX	.KLXCT  010556RG 	.RDADX  005316RG 	.SCCON  020112RG
.EXAMC  000650RG 	.FREAD  007512RG 	.LCRDL= 052000   	.RDAPR  003144RG 	.SCCOO  020160RG
.EXAMD  000666RG 	.FRTRK  023372RG 	.LCRDR= 051000   	.RDARR  005324RG 	.SCCOP  020166RG
.EXAME  002066RG 	.FWRIT  007574RG 	.LCRM1= 057000   	.RDARX  005332RG 	.SCCOT  004342RG    002
.EXAMF  004502RG 	.FWTRK  023412RG 	.LCRM2= 056000   	.RDBRR  005340RG 	.SCCOU  020222RG
.EXAMI  000672RG 	.FXCT   007716RG 	.LCRM3= 055000   	.RDBRX  005346RG 	.SCCRF  021402RG
.EXAMK  004606RG 	.FXTRK  023432RG 	.LCRM4= 054000   	.RDCPP  011264RG 	.SCCRH  021406RG
.EXAMN  000676RG 	.GFNR = 102000   	.LCRM5= 053000   	.RDCRA  005604RG 	.SCCRQ  021414RG
.EXAMP  000702RG 	.GTCMD  024010RG 	.LDAR = 077000   	.RDCRL  005612RG 	.SCCRS  021422RG
.EXAMT  002746RG 	.GTDAT  016216RG 	.LDBRC  010602RG 	.RDDRA  005620RG 	.SCCSE  021434RG
.EXAMZ  000706RG 	.GTELN  024300RG 	.LDBRG  010606RG 	.RDEBS  005354RG 	.SCCSI  021464RG
.EXARR  004312RG 	.GTEXP  024560RG 	.LDBRL= 043000   	.RDFER  005626RG 	.SCCSM  021470RG
.EXARX  004320RG 	.GTFCT  024766RG 	.LDBRR= 042000   	.RDFLG  005400RG 	.SCCTB  004220RG    002
.EXBFR  000056RG    002	.GTKLA  024330RG 	.LDCK1= 046000   	.RDFMR  005362RG 	.SCDAT  014046RG
.EXBRR  004326RG 	.GTKLN  024362RG 	.LDCK2= 047000   	.RDIPE  011420RG 	.SCFSS  021170RG
.EXBRX  004334RG 	.GTLIN  024044RG 	.LDCLK  010704RG 	.RDJ14= 134000   	.SCINC  020304RG
.EXCRA  004662RG 	.GTNBR  025262RG 	.LDCRA  011002RG 	.RDJ71= 135000   	.SCKLN  014376RG
.EXCRL  004670RG 	.GTNUM  024362RG 	.LDDIS= 045000   	.RDMAB= 133000   	.SCMEL  020502RG
.EXCTC  004222RG 	.GTR50  013730RG 	.LDPAR  010722RG 	.RDMQR  005370RG 	.SCMEM  020450RG
.EXCTF  007300RG 	.GTTIM  016662RG 	.LDRJD= 064000   	.RDPI   005524RG 	.SCMKL  020514RG
.EXDPB  000074RG    004	.GTTRM  024654RG 	.LDRJV= 063000   	.RDSBR  005634RG 	.SCMTB  004324RG    002
.EXDPM  007154RG 	.HALTC  006062RG 	.LDRM1= 060000   	.RDSCR  005642RG 	.SCNOT  017602RG
.EXDRA  004676RG 	.INCHC  000064RG    002	.LDRM2= 061000   	.RDVAB  005740RG 	.SCOFS  020554RG
.EXDTE  004776RG 	.INEXT  002014R     002	.LDRM3= 062000   	.RDVMA  005746RG 	.SCPAL  021554RG
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1110  03-OCT-79 11:35  PAGE 398-8
SYMBOL TABLE

.SCPAR  021562RG 	.SHIFT  022330RG 	.TPADD  022716RG 	.TYDAT  017230RG 	.WHATV  021116RG
.SCPCR  021570RG 	.SHUTC  017614RG 	.TPCLR  022572RG 	.TYELA  025502RG 	.WHCON  020234RG
.SCPDR  021576RG 	.SPACE= 000040   	.TPCMP  022640RG 	.TYELN  025506RG 	.WHDAT  015534RG
.SCPEN  021604RG 	.SPETB  004576RG    002	.TPCOM  022602RG 	.TYINI  026356RG 	.WHINC  020362RG
.SCPFM  021612RG 	.SSCAN  013134RG 	.TPDEC  022750RG 	.TYKLA  025626RG 	.WHKLN  015710RG
.SCPFS  021620RG 	.SSCLK= 002000   	.TPDIV  022360RG 	.TYKLN  025676RG 	.WHMEM  020522RG
.SCPST  021212RG 	.SSM  = ****** GX	.TPINC  022736RG 	.TYLIN  026166RG 	.WHOFS  020602RG
.SCPTB  004374RG    002	.SSTTB  000174RG    002	.TPMUL  023006RG 	.TYMIN  025434RG 	.WHRLD  020670RG
.SCRLD  020626RG 	.START  012550RG 	.TPNEG  022612RG 	.TYMSF  026174RG 	.WHRPT  020374RG
.SCRPT  020746RG 	.STCLF  011770RG 	.TPSHI  023172RG 	.TYMSG  026202RG 	.WHRTY  020714RG
.SCRTY  020642RG 	.STCLK  011762RG 	.TPSHL  023236RG 	.TYNCM  025760RG 	.WHTCA  021662RG
.SCTRK  021044RG 	.STPCL= 000000   	.TPSUB  022762RG 	.TYNUM  026036RG 	.WHTCL  021646RG
.SEAMB  003274RG 	.STPKL  012012RG 	.TPTST  022674RG 	.TYOBC  000162RG    002	.WHTPA  022064RG
.SECES  003532RG 	.STPXC  012036RG 	.TPXTN  022620RG 	.TYOBP  000164RG    002	.WHTPS  022050RG
.SECLK= 003000   	.STRCL= 001000   	.TRKWD  000142RG    002	.TYOUT  026320RG 	.WHTRK  021066RG
.SEFRF  003362RG 	.STRTB  004666RG    002	.TRPEC  000146RG    002	.TYP3D  025552RG 	.WRAR1  012232RG
.SEFWF  003370RG 	.STRTC  017704RG 	.TRPIP  000150RG    002	.TYR50  026404RG 	.WRMBX= 071000
.SEFXF  003376RG 	.STRTT  017736RG 	.TRPPC  000152RG    002	.TYSLS  025444RG 	.WRTAR  012226RG
.SEILC  003320RG 	.STRTU  020042RG 	.TRPPS  000154RG    002	.TYSPC  025454RG 	.XFRCK  001504RG
.SEILS  003320RG 	.STRTV  000134RG    002	.TRPSB  000156RG    002	.TYTIM  017344RG 	.XFWCK  001522RG
.SEIPC  003320RG 	.STRUN  012066RG 	.TRPTV  000160RG    002	.TYUPA  025464RG 	.XFXCK  001540RG
.SENSK  003274RG 	.STUCD  012106RG 	.TRP4V  000144RG    002	.T50TB  001350RG    002	.YEAR = ****** GX
.SETCM  017522RG 	.SVESP  000136RG    002	.TSCAN  012672RG 	.VERNO= ****** GX	.YESNO  022224RG
.SETC0  017532RG 	.SVKLF  000140RG    002	.TYCHR  026240RG 	.VFYFL  000166RG    002	.ZEROC  026456RG
.SETMR= 007000   	.SYNXC  012210RG 	.TYCOL  025414RG 	.WHATB  004704RG    002	..DTP2= ****** GX
.SETRN= 011000   	.TCRLF  026272RG 	.TYCOM  025424RG 	.WHATC  017556RG 	..STIN= ****** GX
.SETTB  004450RG    002	.TFCHR  026224RG

. ABS.	000000	   000
      	026724	   001
DATA  	005144	   002
MESSAG	003534	   003
DPBS  	000304	   004
ERRMSG	003430	   005
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  18497 WORDS  ( 73 PAGES)
DYNAMIC MEMORY:  19876 WORDS  ( 76 PAGES)
ELAPSED TIME:  00:13:16
,[51,20]PARSER.LST/CR/-SP=[51,30]PARSER.TMP
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ABMSG 	  002460 RG	 318-11173 #318-11173  318-11173 
ABOMSG	  002111 RG	 314-11046 #314-11046  314-11046 
ABTAB 	  001772 R	 135-5183  #136-5236  
ADD   	= 000270	#23-876    
ADDB  	= 000273	#23-877    
ADDI  	= 000271	#23-878    
ADDM  	= 000272	#23-879    
ADH   	= 000000	#229-8389  #229-8389   229-8389   229-8389  #229-8391   229-8391   229-8391  #229-8393  #229-8393  
                         229-8393   229-8393  #229-8395   229-8395   229-8395  #231-8436   231-8436   231-8436  #231-8438  
                         231-8438   231-8438  
ADL   	= 000100	#229-8389   229-8389   229-8389  #229-8389   229-8389   229-8389  #229-8389   229-8389   229-8389  
                        #229-8389   229-8389   229-8389  #229-8389   229-8389   229-8389  #229-8389   229-8389   229-8389  
                         229-8389  #229-8389   229-8389   229-8389  #229-8391   229-8391   229-8391  #229-8391   229-8391  
                         229-8391  #229-8391   229-8391   229-8391  #229-8391   229-8391   229-8391  #229-8391   229-8391  
                         229-8391  #229-8391   229-8391   229-8391  #229-8393   229-8393   229-8393  #229-8393   229-8393  
                         229-8393  #229-8393   229-8393   229-8393  #229-8393   229-8393   229-8393  #229-8393   229-8393  
                         229-8393  #229-8393   229-8393   229-8393   229-8393  #229-8393   229-8393   229-8393  #229-8395  
                         229-8395   229-8395  #229-8395   229-8395   229-8395  #229-8395   229-8395   229-8395  #229-8395  
                         229-8395   229-8395  #229-8395   229-8395   229-8395  #229-8395   229-8395   229-8395  #231-8436  
                         231-8436   231-8436  #231-8436   231-8436   231-8436  #231-8438   231-8438   231-8438  #231-8438  
                         231-8438   231-8438  #231-8438   231-8438   231-8438  #231-8438   231-8438   231-8438  
ADMSG 	  002420 RG	 318-11152 #318-11152  318-11152 
ADXMSG	  002423 RG	 318-11154 #318-11154  318-11154 
ALLMSG	  002771 RG	 322-11352 #322-11352  322-11352  326-11422  326-11422 
AMBERM	  003050 R	#328-11476  328-11476 
AND   	= 000404	#23-881    
ANDB  	= 000407	#23-882    
ANDCA 	= 000410	#23-883    
ANDCAB	= 000413	#23-884    
ANDCAI	= 000411	#23-885    
ANDCAM	= 000412	#23-886    
ANDCB 	= 000440	#23-887    
ANDCBB	= 000443	#23-888    
ANDCBI	= 000441	#23-889    
ANDCBM	= 000442	#23-890    
ANDCM 	= 000420	#23-891    
ANDCMB	= 000423	#23-892    
ANDCMI	= 000421	#23-893    
ANDCMM	= 000422	#23-894    
ANDI  	= 000405	#23-895    
ANDM  	= 000406	#23-896    
AOBJN 	= 000253	#23-898    
AOBJP 	= 000252	#23-899    
AOJ   	= 000340	#23-901    
AOJA  	= 000344	#23-902    
AOJE  	= 000342	#23-903    
AOJG  	= 000347	#23-904    
AOJGE 	= 000345	#23-905    
AOJL  	= 000341	#23-906    
AOJLE 	= 000343	#23-907    
AOJN  	= 000346	#23-908    
AOS   	= 000350	#23-910    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

AOSA  	= 000354	#23-911    
AOSE  	= 000352	#23-912    
AOSG  	= 000357	#23-913    
AOSGE 	= 000355	#23-914    
AOSL  	= 000351	#23-915    
AOSLE 	= 000353	#23-916    
AOSN  	= 000356	#23-917    
APEERM	  000000 R	#321-11269  321-11269 
APR   	= 000000	#7-242      229-8389   229-8389   229-8391   229-8391   229-8393   229-8393  
APRMSG	  002672 RG	 267-9688   320-11245 #320-11245  320-11245 
AP.ALL	= 000177	#9-346     
AP.ARP	= 001000	#16-631     16-635     192-7180   304-10738  309-10913 
AP.CDP	= 000004	#9-341      9-346     
AP.EIP	= 000400	#16-633     16-635     192-7188   304-10750  304-10765  308-10874  308-10881 
AP.IPF	= 000020	#9-343      9-346     
AP.MPE	= 000010	#9-342      9-346     
AP.NRM	= 001400	#16-635     16-637    
AP.NXM	= 000040	#9-344      9-346     
AP.PWF	= 000001	#9-339      9-346     
AP.SAP	= 000002	#9-340      9-346     
AP.SBE	= 000100	#9-345      9-346     
ARMSG 	  002402 RG	 309-10912  316-11116 #316-11116  316-11116  318-11156  318-11156  326-11424  326-11424 
ARXMSG	  002427 RG	 318-11158 #318-11158  318-11158 
ASH   	= 000240	#23-919    
ASHC  	= 000244	#23-920    
AUGMSG	  002716 RG	 267-9692   320-11253 #320-11253  320-11253 
A.LULU	= 000002	#147-5580  #147-5585  
A.LUNA	= 000004	#147-5580  #147-5585  
A.LUNU	= 000006	#147-5580  #147-5585  
BAEERM	  000023 R	#321-11271  321-11271 
BCCTER	  006516 R	 149-5657  #149-5662  
BC.HDS	= ******  GX	 250-9079  
BC.SKP	= ******  GX	 249-9055  
BIT0  	= 000001	#148-5624  #278-10037 #394-13839 
BIT00 	= 000001	#9-303      10-381     11-407     11-427     12-464     12-465     13-488     13-511     22-841    
                         22-855     77-3172    81-3319    82-3333    85-3434    103-4060   129-4947   191-7141   193-7225  
BIT01 	= 000002	#9-304      10-384     11-403     11-425     12-462     12-463     13-489     13-510     22-842    
                         22-856     191-7140  
BIT02 	= 000004	#9-305      10-376     11-402     11-424     11-429     12-460     12-461     13-490     13-509    
                         22-843     22-857     158-5944   191-7139  
BIT03 	= 000010	#9-306      10-375     11-401     11-421     12-457     12-459     13-491     13-508     22-844    
                         22-858     189-7049   191-7138  
BIT04 	= 000020	#9-307      10-373     10-374     11-400     11-419     11-420     12-455     13-492     13-507    
                         22-845     22-859    
BIT05 	= 000040	#9-308      10-371     11-407     11-418     12-453     12-454     13-493     13-506     22-846    
                         22-860     193-7222  
BIT06 	= 000100	#9-309      10-370     11-396     11-429     12-451     12-452     13-482     13-505     22-847    
                         22-861    
BIT07 	= 000200	#9-310      10-368     10-369     11-407     11-429     12-449     13-481     13-504     22-848    
                         22-862    
BIT08 	= 000400	#9-311      10-367     11-407     11-429     12-447     13-480     13-503     22-863    
BIT09 	= 001000	#9-312      10-363     10-366     11-407     11-429     12-445     13-479     13-502    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BIT1  	= 000002	#148-5624  #278-10037 #394-13839 
BIT10 	= 002000	#9-313      10-362     10-365     11-407     11-429     12-444     13-478     13-501    #148-5624  
                        #278-10037 #394-13839 
BIT11 	= 004000	#9-314      10-361     10-364     11-407     11-429     12-442     13-477     13-500    #148-5624  
                        #278-10037 #394-13839 
BIT12 	= 010000	#9-315      10-360     11-407     11-429     12-440     12-441     13-476     13-499     116-4534  
                         116-4539  #148-5624  #278-10037 #394-13839 
BIT13 	= 020000	#9-316      10-359     11-392     11-407     11-429     12-438     13-475    #148-5624  #278-10037 
                        #394-13839 
BIT14 	= 040000	#9-317      10-358     11-389     11-390     11-407     11-412     11-429     12-437     13-474    
                        #148-5624  #278-10037 #394-13839 
BIT15 	= 100000	#9-318      10-357     11-388     11-407     11-411     11-429     12-435     13-473     53-2073   
                         53-2141    131-5010  #148-5624  #278-10037 #394-13839 
BIT2  	= 000004	#148-5624  #278-10037 #394-13839 
BIT3  	= 000010	#148-5624  #278-10037 #394-13839 
BIT4  	= 000020	#148-5624  #278-10037 #394-13839 
BIT5  	= 000040	#148-5624  #278-10037 #394-13839 
BIT6  	= 000100	#148-5624  #278-10037 #394-13839 
BIT7  	= 000200	#148-5624  #278-10037 #394-13839 
BIT8  	= 000400	#148-5624  #278-10037 #394-13839 
BIT9  	= 001000	#148-5624  #278-10037 #394-13839 
BLKI  	= 000000	#7-231     
BLKO  	= 000002	#7-233     
BLT   	= 000251	#23-922    
BPARER	= 000020	#148-5624  #278-10037 #394-13839 
BRMSG 	  002433 RG	 318-11160 #318-11160  318-11160 
BRXMSG	  002436 RG	 318-11162 #318-11162  318-11162 
CAEERM	  000056 R	#321-11273  321-11273 
CAI   	= 000300	#24-924    
CAIA  	= 000304	#24-925    
CAIE  	= 000302	#24-926    
CAIG  	= 000307	#24-927    
CAIGE 	= 000305	#24-928    
CAIL  	= 000301	#24-929    
CAILE 	= 000303	#24-930    
CAIN  	= 000306	#24-931    
CALL  	= 000040	#24-933    
CALLI 	= 000047	#24-934    
CAM   	= 000310	#24-936    
CAMA  	= 000314	#24-937    
CAME  	= 000312	#24-938    
CAMG  	= 000317	#24-939    
CAMGE 	= 000315	#24-940    
CAML  	= 000311	#24-941    
CAMLE 	= 000313	#24-942    
CAMN  	= 000316	#24-943    
CBOERM	  000112 R	#321-11274  321-11274 
CCA   	= 000014	#7-245     
CCEMSG	  001623 R	 302-10665 #303-10723 
CC.ALL	= 003417	#15-609    
CC.NRM	= 000000	#15-608     197-7395  
CDD   	= 000020	#148-5624  #278-10037 #394-13839 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CDIERM	  000150 R	#321-11275  321-11275 
CDMTB 	  002224 R	 241-8737  #242-8796  
CD.ALL	= 003400	#15-606     15-609     305-10786 
CD.CLC	= 000400	#15-604     192-7184   303-10707  306-10832 
CD.CRC	= 002000	#15-602     192-7169   303-10699  306-10828 
CD.DPC	= 001000	#15-603     192-7176   303-10703  306-10830 
CD.NRM	= 000000	#15-605    
CESCES	  000072 R	 39-1602   #39-1604   
CESERM	  003102 R	#328-11478  328-11478 
CFHERM	  000231 R	#321-11276  321-11276 
CHNPNT	= 000001	#148-5624  #278-10037 #394-13839 
CH.ALP	= 000001	#22-841     22-850     40-1639    61-2477    62-2480    62-2481    62-2482    62-2483    62-2484   
                         62-2485    62-2486    62-2487    62-2488    62-2489    62-2490    62-2491    62-2492    62-2493   
                         62-2494    62-2495    62-2496    62-2497    62-2498    62-2499    62-2500    62-2501    62-2502   
                         62-2503    62-2504    62-2505   
CH.ANM	= 000003	#22-850    
CH.AOP	= 000100	#22-847     61-2452    61-2453    61-2454    61-2455    61-2457    61-2459    62-2481    62-2482   
                         62-2483    62-2494    62-2510    62-2511   
CH.END	= 000034	#22-849     100-3965   223-8179  
CH.EOC	= 000010	#22-844     22-849     41-1676    43-1741    45-1807    60-2411    61-2473    227-8319   260-9426  
                         264-9552   280-10098  282-10155  300-10573 
CH.EOL	= 000004	#22-843     22-849     60-2411   
CH.EOS	= 000020	#22-845     22-849     44-1778    60-2411    61-2444    61-2446    61-2451    61-2454    61-2455   
                         61-2456    61-2457    61-2459    61-2472    61-2473    61-2476    62-2511   
CH.ILL	= 000200	#22-848     60-2412    60-2413    60-2414    60-2415    60-2416    60-2417    60-2418    60-2419   
                         60-2420    60-2421    60-2422    60-2423    60-2424    60-2425    60-2426    60-2427    60-2428   
                         60-2429    60-2430    60-2431    60-2432    60-2433    60-2434    61-2436    61-2437    61-2438   
                         61-2439    61-2440    61-2441    61-2442    61-2443    61-2445    61-2447    61-2448    61-2449   
                         61-2450    61-2458    61-2474    61-2475    61-2478    62-2507    62-2508    62-2509    62-2512   
CH.NUL	= 000000	#22-840    
CH.NUM	= 000002	#22-842     22-850     40-1646    61-2461    61-2462    61-2463    61-2464    61-2465    61-2466   
                         61-2467    61-2468    61-2469    61-2470    373-13096 
CH.PFX	= 000040	#22-846     40-1646    61-2452    61-2455    61-2457    61-2477    62-2510   
CIDLUN	= 000001	#21-817     147-5580   214-7925   360-12624  393-13794  393-13799 
CKCILS	  000222 R	 41-1679   #41-1681    43-1750    44-1779    44-1781   
CKCMRA	  000230 R	 40-1647    41-1677   #41-1684    45-1808   
CKEEOC	  000320 R	 43-1748   #43-1752   
CKRKLR	  000440 R	 46-1850   #46-1858   
CLDSTB	  002440 R	 305-10783 #306-10826 
CLEAR 	= 000400	#24-945    
CLEARB	= 000403	#24-946    
CLEARI	= 000401	#24-947    
CLEARM	= 000402	#24-948    
CLEERM	  000267 R	#321-11277  321-11277 
CLKMSG	  003160 RG	 327-11441 #327-11441  327-11441  330-11504  330-11504 
CLOSE 	= 000070	#24-950    
CLRMSG	  002117 RG	 314-11048 #314-11048  314-11048 
CLRTTB	  002464 R	 306-10820 #306-10838 
CLSRTB	  002454 R	 306-10813 #306-10833 
CNRERM	  000324 R	#321-11278  321-11278 
CNTMSG	  002125 RG	 314-11050 #314-11050  314-11050 
CNUPE 	= 000002	#148-5624  #278-10037 #394-13839 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CODLUN	= 000002	#21-818     147-5585   393-13785 
CONI  	= 000005	#7-236     
CONKNC	  000600 R	 50-1977   #50-1998   
CONMSG	  003166 RG	 327-11443 #327-11443  327-11443  330-11506  330-11506 
CONO  	= 000004	#7-235      229-8389   229-8389   229-8391   229-8391   229-8393   229-8393   229-8395   229-8395  
                         231-8436   231-8436  
CONSO 	= 000007	#7-238     
CONSZ 	= 000006	#7-237     
CPEERM	  000364 R	#321-11279  321-11279 
CPUMSG	  002775 RG	 322-11354 #322-11354  322-11354 
CPVMSG	  000000 RG	#59-2366    297-10463 
CRAMSG	  002463 RG	 318-11175 #318-11175  318-11175 
CRATAB	  001654 R	 132-5049  #134-5102  
CRLMSG	  002472 RG	 318-11177 #318-11177  318-11177 
CRLTAB	  001670 R	 132-5053  #134-5110  
CRMMSG	  003025 RG	 103-4085   306-10827  309-10914  323-11375 #323-11375  323-11375  326-11426  326-11426 
CR.ALL	= 000003	#15-594     15-609     302-10661  306-10818 
CR.CR1	= 000001	#15-588     15-594     192-7182  
CR.CR2	= 000002	#15-589     15-594     192-7174  
CR.FUL	= 000000	#15-590    
CR.HLF	= 000001	#15-591     302-10651 
CR.NRM	= 000000	#15-587    
CR.QTR	= 000002	#15-592     302-10655 
CR.SLO	= 000003	#15-593     302-10659 
CS.ALL	= 000014	#15-585     15-609     302-10682  306-10811 
CS.CS1	= 000004	#15-579     15-585     192-7167  
CS.CS2	= 000010	#15-580     15-585     192-7161  
CS.EXP	= 177670	#148-5624  #278-10037 #394-13839 
CS.EXT	= 000010	#15-583     302-10669 
CS.FST	= 000004	#15-581     15-582    
CS.MGN	= 000004	#15-582     302-10680 
CS.NRM	= 000000	#15-578    
CS.UDF	= 000014	#15-584    
CTLMSG	  003044 RG	 306-10831  323-11379 #323-11379  323-11379 
CYCLS 	= 000002	#148-5624  #278-10037 #394-13839 
DATABX	  000170 RG	#53-2180    398-13950 
DATAI 	= 000001	#7-232     
DATAO 	= 000003	#7-234      231-8438   231-8438  
DATBUF	  002324 R	 252-9143  #252-9188  
DATE  	= 000004	#148-5624  #278-10037 #394-13839 
DATMSG	  003176 RG	 327-11445 #327-11445  327-11445  330-11508  330-11508 
DAVERM	  000413 R	#321-11284  321-11284 
DBTERM	  000444 R	#321-11285  321-11285 
DCKERM	  000474 R	#321-11286  321-11286 
DCOMST	= 000001	#148-5624  #278-10037 #394-13839 
DCRMSG	  002333 RG	 315-11101 #315-11101  315-11101  316-11122  316-11122  317-11137  317-11137  318-11205  318-11205 
DECMSG	  002760 RG	 267-9696   320-11261 #320-11261  320-11261 
DEP   	= 010000	#148-5624  #278-10037 #394-13839 
DEPMSG	  002136 RG	 314-11052 #314-11052  314-11052 
DEX   	= 000400	#148-5624  #278-10037 #394-13839 
DEXDON	= 000004	#148-5624  #278-10037 #394-13839 
DEXWD1	= 174406	#148-5624  #278-10037 #394-13839 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DEXWD2	= 174404	#148-5624  #278-10037 #394-13839 
DEXWD3	= 174402	#148-5624  #278-10037 #394-13839 
DFAD  	= 000110	#24-952    
DFBEND	= 000240 RG	#55-2251    141-5407  
DFCIFC	  001272 R	 73-2989    73-2991    73-2993   #73-3005   
DFDV  	= 000113	#24-953    
DFMP  	= 000112	#24-954    
DFN   	= 000131	#24-955    
DFRMSG	  000043 R	 74-3041   #74-3056   
DFSB  	= 000111	#24-956    
DFUNC 	= 000200	#148-5624  #278-10037 #394-13839 
DF.DMG	= 000004	#148-5624  #278-10037 #394-13839 
DF.DMN	= 000007	#148-5624  #278-10037 #394-13839 
DF.DOR	= 000001	#148-5624  #278-10037 #394-13839 
DF.EHG	= 000010	#148-5624  #278-10037 #394-13839 
DF.EHM	= 000011	#148-5624  #278-10037 #394-13839 
DF.EMG	= 000005	#148-5624  #278-10037 #394-13839 
DF.EMN	= 000006	#148-5624  #278-10037 #394-13839 
DF.KLR	= 000012	#148-5624   167-6282  #278-10037 #394-13839 
DF.KLW	= 000013	#148-5624   169-6375  #278-10037 #394-13839 
DF.KLX	= 000014	#148-5624   172-6473  #278-10037 #394-13839 
DF.OFF	= 000002	#148-5624  #278-10037 #394-13839 
DF.ON 	= 000003	#148-5624  #278-10037 #394-13839 
DF.PDP	= 000016	#148-5624   163-6106  #278-10037 #394-13839  397-13944 
DF.PEX	= 000015	#148-5624   163-6124  #278-10037 #394-13839 
DIAG1 	= 174430	#148-5624  #278-10037 #394-13839 
DIAG2 	= 174432	#148-5624  #278-10037 #394-13839 
DIAG3 	= 174436	#148-5624  #278-10037 #394-13839 
DIKL10	= 000010	#148-5624  #278-10037 #394-13839 
DISMSG	  002146 RG	 314-11054 #314-11054  314-11054 
DIV   	= 000234	#24-958    
DIVB  	= 000237	#24-959    
DIVI  	= 000235	#24-960    
DIVM  	= 000236	#24-961    
DLYCNT	= 174400	#148-5624  #278-10037 #394-13839 
DMFERM	  000517 R	#321-11287  321-11287 
DMOVE 	= 000120	#24-963    
DMOVEM	= 000124	#24-964    
DMOVN 	= 000121	#24-965    
DMOVNM	= 000125	#24-966    
DNPERM	  000606 R	#321-11289  321-11289 
DOCCNR	  012430 R	 213-7876  #213-7894  
DON10C	= 040000	#148-5624  #278-10037 #394-13839 
DON10S	= 100000	#148-5624  #278-10037 #394-13839 
DON11C	= 000100	#148-5624  #278-10037 #394-13839 
DON11S	= 000200	#148-5624  #278-10037 #394-13839 
DORERM	  000556 R	#321-11288  321-11288 
DOWMTB	  002306 R	 252-9157  #252-9179  
DOWTAB	  002214 R	 241-8758  #242-8789  
DPB   	= 000137	#24-968    
DPDTEN	= 000072 RG	#163-6107  
DPOAPE	  002636 R	 91-3654   #91-3658   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 7

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DPOATB	  001522 R	 64-2612   #64-2617   
DPODTB	  001526 R	 65-2627   #65-2632   
DPOITB	  001532 R	 65-2639   #65-2644   
DPOKCN	  002644 R	 90-3605   #91-3661   
DPONTB	  001536 R	 65-2651   #65-2656   
DPOOAI	  001772 R	 81-3320    82-3334   #82-3353   
DPOPTB	  001542 R	 65-2663   #65-2668   
DPOVFE	  002652 R	 91-3649   #91-3664   
DPOZTB	  001546 R	 65-2675   #65-2680   
DPS4  	= 040000	#148-5624  #278-10037 #394-13839 
DPTMSG	  003032 RG	 306-10829  323-11377 #323-11377  323-11377 
DRAMSG	  002500 RG	 318-11179 #318-11179  318-11179 
DRATAB	  001704 R	 132-5057  #134-5118  
DRDMSG	  003446 R	 352-12306 #353-12336 
DRESET	= 000100	#148-5624  #278-10037 #394-13839 
DRMMSG	  003134 RG	 103-4084   309-10916  326-11428 #326-11428  326-11428 
DR.DTE	= 000011	#148-5624   163-6106   163-6124   167-6282   169-6375   172-6473  #278-10037 #394-13839  397-13944 
DSEND 	= 000004	#148-5624  #278-10037 #394-13839 
DSFERM	  000645 R	#321-11290  321-11290 
DS04  	= 004000	#148-5624  #278-10037 #394-13839 
DS05  	= 002000	#148-5624  #278-10037 #394-13839 
DS06  	= 001000	#148-5624  #278-10037 #394-13839 
DTCERM	  000700 R	#321-11291  321-11291 
DTECMD	= 000451	#148-5624  #278-10037 #394-13839 
DTEDSF	  006762 R	 155-5841  #155-5854  
DTEFLG	= 000444	#148-5624  #278-10037 #394-13839 
DTEF11	= 000450	#148-5624  #278-10037 #394-13839 
DTEMSG	  002507 RG	 121-4683   318-11181 #318-11181  318-11181  322-11356  322-11356 
DTEMTD	= 000455	#148-5624  #278-10037 #394-13839 
DTEMTI	= 000456	#148-5624  #278-10037 #394-13839 
DTKMSG	  003517 R	 354-12378 #356-12444 
DTRMSG	  003365 R	 352-12291 #353-12324 
DUPE  	= 000020	#148-5624  #278-10037 #394-13839 
DURE  	= 000004	#148-5624  #278-10037 #394-13839 
DV.LOG	= ******  GX	 251-9094  
DWRMSG	  003452 R	 352-12309 #353-12338 
DW1MSG	  003406 R	 353-12318 #353-12327 
DW2MSG	  003416 R	 353-12319 #353-12329 
DW3MSG	  003436 R	 353-12321 #353-12333 
DXWRD1	= 002000	#148-5624  #278-10037 #394-13839 
D.CCPU	= ******  GX	 249-9057  
D.CKLN	= ******  GX	 250-9081  
D1.CES	= 004000	#10-364     39-1601    175-6581  
D1.DCS	= 000001	#10-381    
D1.DDT	= 000040	#10-371     10-384    
D1.DEX	= 000400	#10-367     10-384    
D1.DFM	= 000010	#10-375    
D1.DS0	= 100000	#10-357    
D1.DS1	= 040000	#10-358    
D1.DS2	= 020000	#10-359    
D1.DS3	= 010000	#10-360    
D1.DS4	= 004000	#10-361    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 8

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

D1.DS5	= 002000	#10-362    
D1.DS6	= 001000	#10-363    
D1.HLP	= 001000	#10-366     144-5479   165-6181   165-6187   176-6592   176-6618   178-6704   206-7662  
D1.LBK	= 000200	#10-369    
D1.MBZ	= 000442	#10-384     155-5863  
D1.PLS	= 000020	#10-374    
D1.RUN	= 002000	#10-365     143-5468  
D1.T10	= 000200	#10-368    
D1.T11	= 000100	#10-370    
D1.V04	= 000020	#10-373    
D1.XFR	= 000004	#10-376    
D1011 	= 000040	#148-5624  #278-10037 #394-13839 
D2RST 	  002144 R	 196-7342  #196-7350  
D2.EBD	= 040000	#11-390    
D2.MBZ	= 177641	#11-407     155-5864  
D2.MS1	= 000002	#11-403    
D2.MS2	= 000004	#11-402    
D2.MS4	= 000010	#11-401    
D2.MS8	= 000020	#11-400    
D2.RA0	= 100000	#11-388    
D2.RA1	= 040000	#11-389    
D2.RA2	= 020000	#11-392    
D2.RST	= 000100	#11-396     196-7351  
D3RST 	  002146 R	 196-7344  #196-7352  
D3.CDD	= 000020	#11-420    
D3.MBZ	= 177704	#11-429     155-5866  
D3.NPE	= 000002	#11-425    
D3.PAR	= 040000	#11-412    
D3.RST	= 000001	#11-431     196-7353  
D3.SCD	= 000040	#11-418    
D3.SSL	= 100000	#11-411    
D3.TXB	= 000001	#11-427     11-431    
D3.UPE	= 000020	#11-419    
D3.URE	= 000004	#11-424    
D3.WEP	= 000010	#11-421    
EBCECT	  007056 R	 158-5949  #158-5953  
EBPEPE	  000476 R	 48-1916   #48-1918   
EBSEL 	= 000100	#148-5624  #278-10037 #394-13839 
EBSMSG	  002442 RG	 318-11164 #318-11164  318-11164 
EBUSPC	= 000020	#148-5624  #278-10037 #394-13839 
EBUSPS	= 000004	#148-5624  #278-10037 #394-13839 
ECTERM	  000752 R	#321-11293  321-11293 
EDEPT 	  003456 R	 356-12425 #356-12432 
EDEXV 	  003462 R	 356-12426 #356-12434 
EDNKLA	  001162 R	 71-2905    71-2907   #71-2922   
EDONES	= 040000	#148-5624  #278-10037 #394-13839 
EDPHY 	  003476 R	 356-12429 #356-12440 
EDTYTB	  005072 R	 355-12411 #356-12424 
EDUPT 	  003466 R	 356-12427 #356-12436 
EDUSV 	  003472 R	 356-12428 #356-12438 
ED.EPT	= 000000	#9-322     
ED.EXV	= 000040	#9-323      230-8417   275-9941  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 9

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ED.PHY	= 000200	#9-326      90-3624    91-3639    91-3644    94-3758    143-5460   163-6106   163-6124   397-13944 
ED.UPT	= 000100	#9-324     
ED.USV	= 000140	#9-325     
EF.CRI	= ******  GX	 37-1519    195-7294   279-10064 
EF.PR1	= ******  GX	 240-8702   249-9050  
ELBBIN	  005126 RG	 379-13302 #383-13463 
ELBOCT	  005132 RG	 379-13306 #383-13466 
ELEMSG	  002405 RG	 287-10310  316-11118 #316-11118  316-11118  318-11183  318-11183  324-11400  324-11400 
ELNBIN	  005120 RG	 378-13263 #383-13459 
ELNNOR	  024274 R	 361-12657  361-12659  361-12664  361-12666 #361-12669 
ELNOCT	  005136 RG	 378-13267 #383-13471 
EMFERM	  001003 R	#321-11294  321-11294 
ENBMSG	  003141 RG	 326-11430 #326-11430  326-11430 
ENTER 	= 000077	#25-970    
EOCERM	  001042 R	#321-11295  321-11295 
EPEERM	  001100 R	#321-11296  321-11296 
EPMSG0	  000534 R	 123-4756  #124-4789  
EPMSG1	  000550 R	 124-4770  #124-4791  
EPMSG2	  000562 R	 124-4775  #124-4793  
EPMSG3	  000576 R	 124-4780  #124-4795  
EPTR  	= 000000	#148-5624  #278-10037 #394-13839 
EQV   	= 000444	#25-972    
EQVB  	= 000447	#25-973    
EQVI  	= 000445	#25-974    
EQVM  	= 000446	#25-975    
ERRMSG	  003001 RG	 322-11358 #322-11358  322-11358 
ERR10C	= 010000	#148-5624  #278-10037 #394-13839 
ERR10S	= 020000	#148-5624  #278-10037 #394-13839 
ERR11C	= 000001	#148-5624  #278-10037 #394-13839 
ERR11S	= 000002	#148-5624  #278-10037 #394-13839 
ERSMSG	  000106 R	 103-4083  #104-4093  
ESDERM	  001130 R	#321-11297  321-11297 
ESEERM	  001165 R	#321-11298  321-11298 
ETRMSG	  003502 R	 354-12373 #356-12442 
EXADTB	  001556 R	 67-2730   #67-2735   
EXAITB	  001562 R	 67-2742   #67-2747   
EXAMSG	  002161 RG	 314-11056 #314-11056  314-11056 
EXANTB	  001566 R	 67-2754   #67-2759   
EXAOAI	  002204 R	 85-3435   #85-3449   
EXAPTB	  001572 R	 67-2766   #67-2771   
EXAZTB	  001576 R	 67-2778   #67-2783   
EXCH  	= 000250	#25-977    
EXCIOC	  004270 R	 111-4375  #111-4380  
EXDDMF	  007264 R	 162-6070  #162-6082  
EXDEMF	  007272 R	 162-6064  #162-6085  
EXDESD	  007234 R	 162-6069  #162-6074  
EXDESE	  007250 R	 162-6063  #162-6078  
EXDMS1	  000500 R	 122-4710  #122-4717  
EXDMS2	  000507 R	 122-4711  #122-4719  
EXDMS3	  000516 R	 122-4712  #122-4721  
EXDMS4	  000525 R	 122-4713  #122-4723  
EXDTEN	= 000104 RG	#163-6125  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 10

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

EXDTET	  001616 R	 121-4677  #122-4705  
EXECTO	  007504 R	 165-6190  #165-6210  
EXFMSG	  000377 R	 116-4530  #117-4558  
EXMDTB	  001552 R	 66-2715   #66-2720   
EXRTBL	= 000012  G	 125-4805  #318-11172 
EXTEND	= 000123	#25-978    
EXTKCN	  003100 R	 94-3749   #94-3768   
EXTMSG	  003054 RG	 306-10836  323-11381 #323-11381  323-11381 
E.FCID	= 000002	#21-800     146-5562   214-7925   360-12624  393-13794 
E.FCOD	= 000003	#21-801     146-5563   393-13785  393-13799 
E.FCTC	= ******  GX	 42-1710    146-5560  
E.FHTO	= 000001	#21-799     143-5448   146-5561   152-5756   203-7569  
E.FKLN	= 000004	#21-802     249-9052   250-9080   250-9083  
E.FPR1	= ******  GX	 39-1605   
FAD   	= 000140	#25-980    
FADB  	= 000143	#25-981    
FADL  	= 000141	#25-982    
FADM  	= 000142	#25-983    
FADR  	= 000144	#25-985    
FADRB 	= 000147	#25-986    
FADRI 	= 000145	#25-987    
FADRM 	= 000146	#25-988    
FDV   	= 000170	#25-990    
FDVB  	= 000173	#25-991    
FDVL  	= 000171	#25-992    
FDVM  	= 000172	#25-993    
FDVR  	= 000174	#25-995    
FDVRB 	= 000177	#25-996    
FDVRI 	= 000175	#25-997    
FDVRM 	= 000176	#25-998    
FEBMSG	  002653 RG	 267-9686   320-11241 #320-11241  320-11241 
FERMSG	  002516 RG	 318-11185 #318-11185  318-11185 
FERTAB	  001720 R	 132-5061  #134-5126  
FIX   	= 000122	#25-1000   
FIXR  	= 000126	#25-1001   
FLDMSG	  000047 R	 101-4004  #101-4011  
FLGMSG	  002521 RG	 318-11187 #318-11187  318-11187 
FLTR  	= 000127	#25-1003   
FMMSG 	  002447 RG	 103-4086   309-10918  318-11166 #318-11166  318-11166  326-11432  326-11432 
FMP   	= 000160	#25-1005   
FMPB  	= 000163	#25-1006   
FMPL  	= 000161	#25-1007   
FMPM  	= 000162	#25-1008   
FMPR  	= 000164	#25-1010   
FMPRB 	= 000167	#25-1011   
FMPRI 	= 000165	#25-1012   
FMPRM 	= 000166	#25-1013   
FNCIFC	  001556 R	 77-3156    77-3158    77-3163    77-3165    77-3170   #77-3175   
FNCOFC	  001564 R	 77-3173   #77-3178   
FOFMSG	  000371 R	 116-4536  #117-4556  
FONMSG	  000363 R	 116-4533  #117-4554  
FORPRO	= 000020	#148-5624  #278-10037 #394-13839 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 11

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FRDFRF	  007566 R	 167-6244  #167-6261  
FRDMSG	  002171 RG	 314-11058 #314-11058  314-11058 
FRDTEN	= 000116 RG	#167-6283  
FRFERM	  003134 R	#328-11480  328-11480 
FRIMSG	  001101 R	 252-9184  #253-9208  
FR.ADX	= 000254	#18-722     127-4852  
FR.APR	= 000220	#18-700     96-3834   
FR.ARX	= 000252	#18-720     127-4860  
FR.BRX	= 000250	#18-718     127-4868  
FR.CA1	= 000312	#19-752     19-753     134-5103  
FR.CA2	= 000310	#19-749     19-750     134-5106  
FR.CL1	= 000316	#19-759     134-5111  
FR.CL2	= 000314	#19-756     134-5114  
FR.CRD	= 000302	#19-743    
FR.CR1	= 000316	#19-758     19-759    
FR.CR2	= 000314	#19-755     19-756    
FR.CR3	= 000312	#19-753    
FR.CR4	= 000310	#19-750    
FR.DA1	= 000260	#18-728     134-5119  
FR.DA2	= 000262	#18-731     134-5122  
FR.EBS	= 000356	#20-786     127-4872  
FR.FE1	= 000266	#18-735     134-5127  
FR.FE2	= 000264	#18-733     134-5130  
FR.PI0	= 000200	#18-689     131-5008  
FR.PI1	= 000202	#18-691     131-5011  
FR.RAD	= 000256	#18-724     127-4848  
FR.RAR	= 000240	#18-710     127-4856  
FR.RBR	= 000242	#18-712     127-4864  
FR.RFM	= 000246	#18-716     127-4876  
FR.RMQ	= 000244	#18-714     127-4880  
FR.SC1	= 000262	#18-730     134-5143  
FR.SC2	= 000260	#18-727     134-5146  
FR.SR1	= 000306	#19-747     134-5135  
FR.SR2	= 000304	#19-745     134-5138  
FR.VM0	= 000320	#19-762    
FR.VM1	= 000322	#19-764    
FR.VM2	= 000324	#19-766    
FR.VM3	= 000326	#19-768    
FR.VM4	= 000330	#19-770    
FR.VM5	= 000332	#19-772    
FR.VM6	= 000334	#19-774    
FR.VM7	= 000336	#19-776    
FR.100	= 000200	#18-688     18-689     77-3155    129-4938  
FR.101	= 000202	#18-690     18-691     129-4931  
FR.102	= 000204	#18-692     193-7221  
FR.103	= 000206	#18-693    
FR.104	= 000210	#18-694     158-5942   192-7157  
FR.105	= 000212	#18-695     192-7158  
FR.106	= 000214	#18-696     192-7159  
FR.107	= 000216	#18-697     192-7160  
FR.110	= 000220	#18-699     18-700    
FR.111	= 000222	#18-701    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 12

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.112	= 000224	#18-702    
FR.113	= 000226	#18-703    
FR.114	= 000230	#18-704    
FR.115	= 000232	#18-705    
FR.116	= 000234	#18-706    
FR.117	= 000236	#18-707    
FR.120	= 000240	#18-709     18-710    
FR.121	= 000242	#18-711     18-712    
FR.122	= 000244	#18-713     18-714    
FR.123	= 000246	#18-715     18-716    
FR.124	= 000250	#18-717     18-718    
FR.125	= 000252	#18-719     18-720    
FR.126	= 000254	#18-721     18-722    
FR.127	= 000256	#18-723     18-724    
FR.130	= 000260	#18-726     18-727     18-728    
FR.131	= 000262	#18-729     18-730     18-731    
FR.132	= 000264	#18-732     18-733     129-4945  
FR.133	= 000266	#18-734     18-735    
FR.134	= 000270	#18-736    
FR.135	= 000272	#18-737    
FR.136	= 000274	#18-738    
FR.137	= 000276	#18-739    
FR.140	= 000300	#19-741    
FR.141	= 000302	#19-742     19-743    
FR.142	= 000304	#19-744     19-745    
FR.143	= 000306	#19-746     19-747    
FR.144	= 000310	#19-748     19-749    
FR.145	= 000312	#19-751     19-752    
FR.146	= 000314	#19-754     19-755    
FR.147	= 000316	#19-757     19-758    
FR.150	= 000320	#19-761     19-762     136-5233   136-5237  
FR.151	= 000322	#19-763     19-764    
FR.152	= 000324	#19-765     19-766    
FR.153	= 000326	#19-767     19-768    
FR.154	= 000330	#19-769     19-770     136-5241   136-5245  
FR.155	= 000332	#19-771     19-772    
FR.156	= 000334	#19-773     19-774    
FR.157	= 000336	#19-775     19-776    
FR.160	= 000340	#20-778    
FR.161	= 000342	#20-779    
FR.162	= 000344	#20-780     189-7047  
FR.163	= 000346	#20-781    
FR.164	= 000350	#20-782    
FR.165	= 000352	#20-783    
FR.166	= 000354	#20-784    
FR.167	= 000356	#20-785     20-786    
FR.170	= 000360	#20-788    
FR.171	= 000362	#20-789    
FR.172	= 000364	#20-790    
FR.173	= 000366	#20-791    
FR.174	= 000370	#20-792    
FR.175	= 000372	#20-793    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 13

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.176	= 000374	#20-794    
FR.177	= 000376	#20-795     77-3157   
FSB   	= 000150	#25-1015   
FSBB  	= 000153	#25-1016   
FSBL  	= 000151	#25-1017   
FSBM  	= 000152	#25-1018   
FSBR  	= 000154	#26-1020   
FSBRB 	= 000157	#26-1021   
FSBRI 	= 000155	#26-1022   
FSBRM 	= 000156	#26-1023   
FSC   	= 000132	#26-1025   
FSSMSG	  003150 RG	 103-4087   309-10920  326-11434 #326-11434  326-11434  327-11447  327-11447 
FTBYTE	= 000000	#2-65      
FTCRAM	= 000000	#2-66       53-2076   
FTDEBU	= 000001	#2-67       53-2088    109-4292   214-7919  
FTDISP	= 000000	#2-68      
FTDRAM	= 000000	#2-69       53-2096    321-11281 
FTHELP	= 000000	#2-70       314-11066 
FTKLER	= 000000	#2-71      
FTLCMN	= 000001  G	 1-1        33-1407   #398-13948 
FTLCVT	= 000000	#2-72       62-2513    360-12592 
FTLIST	= 000000	#2-73       21-803     21-819     53-2122    56-2265    57-2276    58-2308    146-5564  
FTTRAK	= 000001	#2-74       13-487     53-2156    155-5843   160-6011   167-6254   169-6345   172-6443   327-11467 
                         330-11526  349-12192  351-12286  354-12367 
FTTRP4	= 000001	#2-75      
FTUCVR	= 000130	#2-76      
FT1105	= 000001	#2-64      #2-99      
FT1110	= 000001	#2-63      #2-95       2-98      
FT1115	= 000001	#2-62      #2-91       2-94      
FT1120	= 000001	#2-61      #2-87       2-90      
FT1135	= 000001	#2-60      #2-83       2-86      
FT1140	= 000001	#2-59       2-82       3-108     
FT1145	= 000000	#2-58       2-78      
FULMSG	  003105 RG	 306-10839  323-11387 #323-11387  323-11387 
FWDTEN	= 000130 RG	#169-6376  
FWFERM	  003161 R	#328-11481  328-11481 
FWRFWF	  007710 R	 169-6336  #169-6354  
FWRMSG	  002177 RG	 314-11060 #314-11060  314-11060 
FW.APE	= 000116	#16-625    
FW.CA1	= 000122	#16-641     187-6989   195-7305  
FW.CA2	= 000124	#16-643     187-6982   195-7304  
FW.CDR	= 000112	#15-597    
FW.CHN	= 000160	#17-673     189-7042  
FW.CRD	= 000126	#16-645    
FW.CR1	= 000136	#16-653    
FW.CR2	= 000134	#16-651    
FW.CR3	= 000132	#16-649    
FW.CR4	= 000130	#16-647    
FW.CSR	= 000110	#15-573     185-6915  
FW.DJE	= 000146	#17-662    
FW.DJO	= 000150	#17-664    
FW.DR1	= 000140	#17-656    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 14

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FW.DR2	= 000142	#17-658    
FW.DR3	= 000144	#17-660    
FW.EBL	= 000174	#17-681     195-7307  
FW.IAC	= 000154	#17-668    
FW.IOJ	= 000152	#17-666    
FW.IPE	= 000114	#16-612     185-6921  
FW.KLO	= 000156	#17-670     195-7306  
FW.LAR	= 000176	#17-684     77-3164    177-6664   181-6808   208-7746  
FW.LBL	= 000106	#15-571     183-6855   195-7303  
FW.LBR	= 000104	#15-569     183-6846   195-7302  
FW.MBX	= 000162	#17-675     195-7310  
FW.SBR	= 000174	#17-682    
FW.040	= 000100	#15-566     77-3162   
FW.041	= 000102	#15-567    
FW.042	= 000104	#15-568     15-569    
FW.043	= 000106	#15-570     15-571    
FW.044	= 000110	#15-572     15-573     169-6339  
FW.045	= 000112	#15-596     15-597    
FW.046	= 000114	#16-611     16-612    
FW.047	= 000116	#16-624     16-625     169-6341  
FW.050	= 000120	#16-639    
FW.051	= 000122	#16-640     16-641    
FW.052	= 000124	#16-642     16-643    
FW.053	= 000126	#16-644     16-645    
FW.054	= 000130	#16-646     16-647    
FW.055	= 000132	#16-648     16-649    
FW.056	= 000134	#16-650     16-651    
FW.057	= 000136	#16-652     16-653    
FW.060	= 000140	#17-655     17-656    
FW.061	= 000142	#17-657     17-658    
FW.062	= 000144	#17-659     17-660    
FW.063	= 000146	#17-661     17-662    
FW.064	= 000150	#17-663     17-664    
FW.065	= 000152	#17-665     17-666    
FW.066	= 000154	#17-667     17-668    
FW.067	= 000156	#17-669     17-670    
FW.070	= 000160	#17-672     17-673    
FW.071	= 000162	#17-674     17-675    
FW.072	= 000164	#17-676    
FW.073	= 000166	#17-677    
FW.074	= 000170	#17-678    
FW.075	= 000172	#17-679    
FW.076	= 000174	#17-680     17-681     17-682    
FW.077	= 000176	#17-683     17-684    
FXCFXF	  010060 R	 171-6408  #172-6451  
FXCMSG	  002206 RG	 314-11062 #314-11062  314-11062 
FXDTEN	= 000142 RG	#172-6474  
FXFERM	  003207 R	#328-11482  328-11482 
FX.BMC	= 000012	#14-526     149-5659  
FX.CMR	= 000014	#14-528     189-7056  
FX.CON	= 000024	#14-537     50-1984    174-6527   180-6750   181-6810  
FX.CRF	= 000020	#14-533     151-5731   171-6434  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 15

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FX.CSP	= 000000	#14-516    
FX.CST	= 000002	#14-518     171-6411   201-7509  
FX.EBC	= 000006	#14-522    
FX.MBC	= 000004	#14-520     158-5940   189-7051  
FX.SMR	= 000016	#14-530     171-6413   188-7028  
FX.SRF	= 000022	#14-535     171-6428   204-7601  
FX.SYC	= 000010	#14-524     207-7703  
FX.UDR	= 000032	#14-542    
FX.UIR	= 000030	#14-540    
FX.000	= 000000	#14-515     14-516    
FX.001	= 000002	#14-517     14-518    
FX.002	= 000004	#14-519     14-520    
FX.003	= 000006	#14-521     14-522    
FX.004	= 000010	#14-523     14-524    
FX.005	= 000012	#14-525     14-526    
FX.006	= 000014	#14-527     14-528    
FX.007	= 000016	#14-529     14-530    
FX.010	= 000020	#14-532     14-533    
FX.011	= 000022	#14-534     14-535    
FX.012	= 000024	#14-536     14-537    
FX.013	= 000026	#14-538    
FX.014	= 000030	#14-539     14-540    
FX.015	= 000032	#14-541     14-542    
FX.016	= 000034	#14-543    
FX.017	= 000036	#14-544    
FX.020	= 000040	#14-546    
FX.021	= 000042	#14-547    
FX.022	= 000044	#14-548    
FX.023	= 000046	#14-549    
FX.024	= 000050	#14-550    
FX.025	= 000052	#14-551    
FX.026	= 000054	#14-552    
FX.027	= 000056	#14-553    
FX.030	= 000060	#14-555    
FX.031	= 000062	#14-556    
FX.032	= 000064	#14-557    
FX.033	= 000066	#14-558    
FX.034	= 000070	#14-559    
FX.035	= 000072	#14-560    
FX.036	= 000074	#14-561    
FX.037	= 000076	#14-562     77-3169   
GETSTS	= 000062	#26-1027   
GTDDBT	  016632 R	 261-9470   261-9474   261-9478  #262-9485  
GTDDOR	  016640 R	 261-9453   261-9459   261-9463   261-9466  #262-9488  
GTDIDF	  016646 R	 259-9393   260-9420   260-9430  #262-9491  
GTDMS0	  001345 R	 259-9388  #262-9505  
GTDYOR	  016654 R	 260-9435  #262-9494  
GTFILC	  025136 R	 371-13010 #371-13021 
GTKKLA	  024354 R	 363-12729  363-12731 #363-12733 
GTLCBO	  024210 R	 360-12581 #360-12613 
GTLILC	  024216 R	 359-12569  360-12595 #360-12616 
GTNMRA	  025400 R	 374-13121 #374-13123 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 16

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

GTNNER	  024552 R	 364-12767  364-12773 #365-12814 
GTNNOR	  025406 R	 361-12670  365-12812  373-13101  373-13107 #374-13126 
GTNORE	  024546 R	 364-12777  364-12779 #365-12811 
GTTITF	  017214 R	 264-9555  #265-9617  
GTTMS0	  001354 R	 263-9540  #265-9626  
GTTTOR	  017222 R	 264-9570   264-9573   265-9594   265-9603  #265-9620  
G.TICP	= 000016	#252-9144  #258-9374  
G.TICT	= 000014	#252-9144  #258-9374  
G.TIDA	= 000004	#252-9144  #258-9374  
G.TIHR	= 000006	#252-9144  #258-9374  
G.TIMI	= 000010	#252-9144  #258-9374  
G.TIMO	= 000002	#252-9144  #258-9374  
G.TISC	= 000012	#252-9144  #258-9374  
G.TIYR	= 000000	#252-9144  #258-9374  
HIBYTE	= 177400	#148-5624  #278-10037 #394-13839 
HLFMSG	  003112 RG	 306-10840  323-11389 #323-11389  323-11389 
HLL   	= 000500	#26-1029   
HLLE  	= 000530	#26-1030   
HLLEI 	= 000531	#26-1031   
HLLEM 	= 000532	#26-1032   
HLLES 	= 000533	#26-1033   
HLLI  	= 000501	#26-1035   
HLLM  	= 000502	#26-1036   
HLLO  	= 000520	#26-1038   
HLLOI 	= 000521	#26-1039   
HLLOM 	= 000522	#26-1040   
HLLOS 	= 000523	#26-1041   
HLLS  	= 000503	#26-1043   
HLLZ  	= 000510	#26-1045   
HLLZI 	= 000511	#26-1046   
HLLZM 	= 000512	#26-1047   
HLLZS 	= 000513	#26-1048   
HLR   	= 000544	#26-1050   
HLRE  	= 000574	#26-1052   
HLREI 	= 000575	#26-1053   
HLREM 	= 000576	#26-1054   
HLRES 	= 000577	#26-1055   
HLRO  	= 000564	#26-1057   
HLROI 	= 000565	#26-1058   
HLROM 	= 000566	#26-1059   
HLROS 	= 000567	#26-1060   
HLRS  	= 000547	#26-1062   
HLRZ  	= 000554	#26-1064   
HLRZI 	= 000555	#26-1065   
HLRZM 	= 000556	#26-1066   
HLRZS 	= 000557	#26-1067   
HLTMSG	  002213 RG	 314-11064 #314-11064  314-11064 
HRL   	= 000504	#27-1069   
HRLE  	= 000534	#27-1071   
HRLEI 	= 000535	#27-1072   
HRLEM 	= 000536	#27-1073   
HRLES 	= 000537	#27-1074   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 17

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

HRLI  	= 000505	#27-1076   
HRLM  	= 000506	#27-1077   
HRLO  	= 000564	#27-1079   
HRLOI 	= 000565	#27-1080   
HRLOM 	= 000566	#27-1081   
HRLOS 	= 000567	#27-1082   
HRLS  	= 000507	#27-1084   
HRLZ  	= 000514	#27-1086   
HRLZI 	= 000515	#27-1087   
HRLZM 	= 000516	#27-1088   
HRLZS 	= 000517	#27-1089   
HRR   	= 000540	#27-1091   
HRRE  	= 000570	#27-1093   
HRREI 	= 000571	#27-1094   
HRREM 	= 000572	#27-1095   
HRRES 	= 000573	#27-1096   
HRRI  	= 000541	#27-1098   
HRRM  	= 000542	#27-1099   
HRRO  	= 000560	#27-1101   
HRROI 	= 000561	#27-1102   
HRROM 	= 000562	#27-1103   
HRROS 	= 000563	#27-1104   
HRRS  	= 000543	#27-1106   
HRRZ  	= 000550	#27-1108   
HRRZI 	= 000551	#27-1109   
HRRZM 	= 000552	#27-1110   
HRRZS 	= 000553	#27-1111   
I     	= 000000	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
IBP   	= 000133	#28-1113   
IDFERM	  001222 R	#321-11300  321-11300 
IDIV  	= 000230	#28-1115   
IDIVB 	= 000233	#28-1116   
IDIVI 	= 000231	#28-1117   
IDIVM 	= 000232	#28-1118   
IDPB  	= 000136	#28-1120   
IE.ACT	= ******  GX	 234-8522  
IE.EBX	= ******  GX	 161-6047   397-13933 
IE.INS	= ******  GX	 234-8520  
IFCERM	  001254 R	#321-11301  321-11301 
IFLOP 	= 100000	#148-5624  #278-10037 #394-13839 
ILCERM	  003237 R	#328-11484  328-11484 
ILDB  	= 000134	#28-1122   
ILSERM	  003271 R	#328-11485  328-11485 
IMUL  	= 000220	#28-1124   
IMULB 	= 000223	#28-1125   
IMULI 	= 000221	#28-1126   
IMULM 	= 000222	#28-1127   
IN    	= 000056	#28-1129   
INBUF 	= 000064	#28-1130   
INCMSG	  002345 RG	 315-11103 #315-11103  315-11103  316-11124  316-11124  317-11139  317-11139  318-11207  318-11207 
                         327-11449  327-11449  330-11510  330-11510 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 18

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

INIDNP	  006304 R	 143-5453  #144-5501  
INIDTC	  006312 R	 144-5480  #144-5504  
INIMSG	  002220 RG	 314-11070 #314-11070  314-11070  322-11360  322-11360 
INIT  	= 000041	#28-1131   
INPUT 	= 000066	#28-1132   
INTMSG	  003065 RG	 306-10834  323-11383 #323-11383  323-11383 
INTROF	= 000010	#148-5624  #278-10037 #394-13839 
INTRON	= 000040	#148-5624  #278-10037 #394-13839 
INTSON	= 000001	#148-5624  #278-10037 #394-13839 
INT10S	= 000400	#148-5624  #278-10037 #394-13839 
INT11C	= 002000	#148-5624  #278-10037 #394-13839 
INT11S	= 004000	#148-5624  #278-10037 #394-13839 
IOCERM	  001310 R	#321-11302  321-11302 
IOMSG 	  003007 RG	 322-11362 #322-11362  322-11362 
IOR   	= 000434	#28-1134    29-1202   
IORB  	= 000437	#28-1135    29-1203   
IORI  	= 000435	#28-1136    30-1220   
IORM  	= 000436	#28-1137    30-1221   
IO.ATT	= ******  GX	 393-13794 
IO.DET	= ******  GX	 214-7925   393-13799 
IO.RLB	= ******  GX	 360-12624 
IO.WLB	= ******  GX	 393-13785 
IPCERM	  003335 R	#328-11486  328-11486 
IP.ALL	= 000017	#16-622    
IP.CRP	= 000004	#16-618     16-621     192-7171   304-10742  309-10915 
IP.DRP	= 000002	#16-619     16-621     192-7178   304-10746  309-10917 
IP.FMP	= 000010	#16-617     16-621     192-7164   304-10754  309-10919 
IP.FSS	= 000001	#16-620     16-622     192-7186   304-10758  309-10921 
IP.NRM	= 000016	#16-621     16-622     16-637    
IRCERM	  001340 R	#321-11303  321-11303 
IS.SET	= ******  GX	 42-1711   
ITFERM	  001373 R	#321-11304  321-11304 
ITNERM	  001425 R	#321-11305  321-11305 
JANMSG	  002643 RG	 267-9685   320-11239 #320-11239  320-11239 
JFCL  	= 000255	#28-1139   
JFFO  	= 000243	#28-1141   
JMPMSG	  002233 RG	 314-11072 #314-11072  314-11072 
JRA   	= 000267	#28-1143   
JRST  	= 000254	#28-1145   
JSA   	= 000266	#28-1147   
JSP   	= 000265	#28-1149   
JSR   	= 000264	#28-1151   
JSYS  	= 000104	#28-1153   
JULMSG	  002711 RG	 267-9691   320-11251 #320-11251  320-11251 
JUMP  	= 000320	#28-1155   
JUMPA 	= 000324	#28-1156   
JUMPE 	= 000322	#28-1157   
JUMPG 	= 000327	#28-1158   
JUMPGE	= 000325	#28-1159   
JUMPL 	= 000321	#28-1160   
JUMPLE	= 000323	#28-1161   
JUMPN 	= 000326	#28-1162   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 19

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

JUNMSG	  002704 RG	 267-9690   320-11249 #320-11249  320-11249 
KCNERM	  001455 R	#321-11307  321-11307 
KF.BRM	= 001000	#13-479     180-6744  
KF.CES	= 000100	#13-482     39-1610    189-7058  
KF.CLK	= 100000	#13-473     39-1608    46-1847    50-1980    88-3543    90-3604    94-3748    143-5456   143-5463  
                         162-6075   162-6079   164-6154   165-6194   165-6200   169-6343   171-6410   174-6529   174-6535  
                         178-6694   180-6747   180-6762   180-6764   217-7997   228-8340   230-8403   280-10103  396-13892 
KF.CON	= 000200	#13-481     13-483     39-1608    50-1976    143-5463   174-6537   189-7058  
KF.DEF	= 000200	#13-483     141-5409  
KF.KLO	= 000400	#13-480     143-5463  
KF.MRS	= 020000	#13-475     188-7030   189-7058  
KF.RUN	= 040000	#13-474     39-1608    46-1847    50-1990    73-2996    143-5456   144-5481   164-6154   165-6194  
                         165-6204   171-6427   174-6535   180-6747   180-6758   180-6767   200-7475   202-7538   217-7999  
KF.SIM	= 010000	#13-476     50-1978    174-6523   180-6744  
KF.SMC	= 004000	#13-477    
KF.SPM	= 002000	#13-478     174-6521   180-6744  
KLABIN	  005114 RG	 380-13351 #383-13456 
KLAERM	  001503 R	#321-11308  321-11308 
KLAOCT	  005140 RG	 380-13355 #383-13473 
KLHCFH	  010306 R	#176-6621  
KLIMSG	  003203 RG	 327-11451 #327-11451  327-11451  330-11512  330-11512 
KLIOT 	= 000700	#28-1164   
KLMSG 	  002527 RG	 318-11189 #318-11189  318-11189 
KLNBIN	  005104 RG	 381-13390 #383-13451 
KLNLGE	= 002300 R	 249-9061  #251-9099  
KLNLGL	= ******  GX	 249-9059  
KLNLOG	  002254 R	#251-9092  
KLNOCT	  005134 RG	 381-13394 #383-13469 
KLNPLN	= ******  GX	 249-9054  
KLNPWD	  002300 R	 244-8874   248-9027  #251-9101  
KLPWRF	= 000010	#148-5624  #278-10037 #394-13839 
KLRERM	  001532 R	#321-11309  321-11309 
KLSCFH	  010416 R	 178-6709  #178-6712  
KNCERM	  001574 R	#321-11310  321-11310 
KWEERM	  001630 R	#321-11311  321-11311 
K.LSCK	= ******  GX	 251-9095  
LDB   	= 000135	#29-1166   
LG.ALL	= 000007	#22-865     255-9290   282-10174  314-11054  318-11170  318-11189  319-11220  319-11220  319-11222 
                         319-11224  319-11229  319-11231  320-11239  320-11241  320-11243  320-11245  320-11247  320-11249 
                         320-11251  320-11253  320-11255  320-11257  320-11259  320-11261  327-11451  330-11508  330-11512 
LG.ARG	= 000010	#22-858    
LG.MAR	= 000020	#22-859    
LG.MNT	= 000004	#22-857     22-865     46-1844    46-1849    283-10200  314-11058  314-11060  314-11062  323-11373 
                         323-11375  323-11377  323-11379  323-11381  323-11383  323-11385  323-11387  323-11389  323-11391 
                         323-11393  326-11422  326-11424  326-11426  326-11428  326-11430  326-11432  326-11434  327-11441 
                         327-11447  327-11459  327-11465  330-11524 
LG.MOD	= 000040	#22-860    
LG.NUL	= 000000	#22-854    
LG.OPR	= 000001	#22-855     22-864     282-10166  314-11044  314-11046  314-11048  314-11056  314-11072  314-11074 
                         314-11076  314-11080  314-11082  314-11084  314-11088  314-11090  315-11101  315-11103  315-11105 
                         315-11107  315-11109  316-11122  316-11124  316-11126  316-11128  316-11130  317-11137  317-11139 
                         317-11141  317-11143  317-11145  318-11183  318-11195  318-11205  318-11207  318-11209  318-11211 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 20

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         318-11213  319-11222  324-11400  324-11402  325-11409  325-11411  325-11413  325-11415  327-11443 
                         327-11449  327-11453  327-11455  327-11463  330-11506  330-11510  330-11514  330-11522  330-11530 
LG.PRG	= 000002	#22-856     22-864     46-1837    279-10056  283-10203  314-11050  314-11052  314-11064  314-11070 
                         314-11078  314-11086  314-11092  314-11094  316-11116  316-11118  316-11120  318-11152  318-11154 
                         318-11156  318-11158  318-11160  318-11162  318-11164  318-11166  318-11168  318-11173  318-11175 
                         318-11177  318-11179  318-11181  318-11185  318-11187  318-11191  318-11193  318-11197  318-11199 
                         318-11201  318-11203  322-11352  322-11354  322-11356  322-11358  322-11360  322-11362  322-11364 
                         322-11366  327-11445  327-11457  327-11461  327-11465  327-11468  329-11495  329-11497  330-11504 
                         330-11516  330-11518  330-11520  330-11524  330-11527 
LG.PRM	= 000003	#22-864     22-865     255-9293   282-10170  319-11224 
LG.RNG	= 000100	#22-861    
LG.RPT	= 000400	#22-863     213-7875   314-11044  314-11048  314-11050  314-11052  314-11056  314-11058  314-11060 
                         314-11062  314-11064  314-11070  314-11076  314-11078  314-11082  314-11086  314-11092  315-11101 
                         315-11103  315-11105  315-11107  315-11109  316-11116  316-11118  316-11120  316-11122  316-11124 
                         316-11126  316-11128  316-11130  317-11137  317-11139  317-11141  317-11143  317-11145  318-11152 
                         318-11154  318-11156  318-11158  318-11160  318-11162  318-11164  318-11166  318-11168  318-11170 
                         318-11173  318-11175  318-11177  318-11179  318-11181  318-11183  318-11185  318-11187  318-11189 
                         318-11191  318-11193  318-11195  318-11197  318-11199  318-11201  318-11203  318-11205  318-11207 
                         318-11209  318-11211  318-11213  322-11352  322-11354  322-11356  322-11358  322-11360  322-11362 
                         322-11364  322-11366  323-11373  323-11375  323-11377  323-11379  323-11381  323-11383  323-11385 
                         323-11387  323-11389  323-11391  323-11393  327-11441  327-11447  327-11455  327-11459  329-11495 
                         329-11497  330-11504  330-11508  330-11518 
LG.STR	= 000200	#22-862    
LOAD11	= 000004	#148-5624  #278-10037 #394-13839 
LOOKUP	= 000076	#29-1168   
LSH   	= 000242	#29-1170   
LSHC  	= 000246	#29-1171   
MAP   	= 000257	#29-1173   
MARMSG	  002664 RG	 267-9687   320-11243 #320-11243  320-11243 
MAYMSG	  002700 RG	 267-9689   320-11247 #320-11247  320-11247 
MBZTAB	  002020 R	 154-5813  #155-5862  
MCRMSG	  002240 RG	 314-11074 #314-11074  314-11074 
MEMMSG	  003212 RG	 327-11453 #327-11453  327-11453  330-11514  330-11514 
MGNMSG	  003076 RG	 306-10835  306-10837  323-11385 #323-11385  323-11385 
MNTMSG	  002567 RG	 255-9289   283-10199  319-11220 #319-11220  319-11220  325-11409  325-11409 
MONMSG	  001033 R	 252-9180  #253-9200  
MOVE  	= 000200	#29-1175   
MOVEI 	= 000201	#29-1176   
MOVEM 	= 000202	#29-1177   
MOVES 	= 000203	#29-1178   
MOVM  	= 000214	#29-1180   
MOVMI 	= 000215	#29-1181   
MOVMM 	= 000216	#29-1182   
MOVMS 	= 000217	#29-1183   
MOVN  	= 000210	#29-1185   
MOVNI 	= 000211	#29-1186   
MOVNM 	= 000212	#29-1187   
MOVNS 	= 000213	#29-1188   
MOVS  	= 000204	#29-1190   
MOVSI 	= 000205	#29-1191   
MOVSM 	= 000206	#29-1192   
MOVSS 	= 000207	#29-1193   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 21

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

MPE11 	= 001000	#148-5624  #278-10037 #394-13839 
MQMSG 	  002452 RG	 318-11168 #318-11168  318-11168 
MRAERM	  001662 R	#321-11313  321-11313 
MUL   	= 000224	#29-1195   
MULB  	= 000227	#29-1196   
MULI  	= 000225	#29-1197   
MULM  	= 000226	#29-1198   
M.KTAE	= 000010	#152-5756  
M.KTEF	= 000002	#152-5756  
M.KTMG	= 000004	#152-5756  
M.KTUN	= 000006	#152-5756  
NDIERM	  001722 R	#321-11315  321-11315 
NEBMSG	  000121 R	 103-4073  #104-4095  
NERERM	  001752 R	#321-11316  321-11316 
NOFMSG	  000334 R	 116-4544  #117-4552  
NOMSG 	  002105 R	 311-10972 #312-10995 
NONMSG	  001755 R	 305-10788 #307-10856  308-10883 
NORERM	  002014 R	#321-11317  321-11317 
NOTMSG	  003221 RG	 327-11455 #327-11455  327-11455 
NOVMSG	  002747 RG	 267-9695   320-11259 #320-11259  320-11259 
NPIERM	  002054 R	#321-11318  321-11318 
NRMMSG	  003016 RG	 323-11373 #323-11373  323-11373 
NSKERM	  003400 R	#328-11488  328-11488 
NSTERM	  002110 R	#321-11319  321-11319 
NTIERM	  002133 R	#321-11320  321-11320 
NULMSG	  002110 RG	 314-11044 #314-11044  314-11044 
NULSTP	= 000040	#148-5624  #278-10037 #394-13839 
NUPE  	= 000002	#148-5624  #278-10037 #394-13839 
NXTMSG	  002357 RG	 315-11105 #315-11105  315-11105  316-11126  316-11126  317-11141  317-11141  318-11209  318-11209 
OAIERM	  002163 R	#321-11322  321-11322 
OCTMSG	  002737 RG	 267-9694   320-11257 #320-11257  320-11257 
OFCERM	  002215 R	#321-11323  321-11323 
OFFMSG	  000037 RG	#59-2376    123-4762   252-9171   292-10378  293-10389  296-10453  308-10876 
OFSMSG	  003225 RG	 327-11457 #327-11457  327-11457  330-11516  330-11516 
ONMSG 	  000034 RG	#59-2374    123-4758   252-9168   293-10393  296-10450  308-10873 
OPEN  	= 000050	#29-1200   
OPRMSG	  002603 RG	 255-9295   283-10205  319-11222 #319-11222  319-11222  325-11411  325-11411 
OR    	= 000434	#29-1202   
ORB   	= 000437	#29-1203   
ORCA  	= 000454	#29-1205   
ORCAB 	= 000457	#29-1206   
ORCAI 	= 000455	#29-1207   
ORCAM 	= 000456	#29-1208   
ORCB  	= 000470	#30-1210   
ORCBB 	= 000473	#30-1211   
ORCBI 	= 000471	#30-1212   
ORCBM 	= 000472	#30-1213   
ORCM  	= 000464	#30-1215   
ORCMB 	= 000467	#30-1216   
ORCMI 	= 000465	#30-1217   
ORCMM 	= 000466	#30-1218   
ORI   	= 000435	#30-1220   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 22

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ORM   	= 000436	#30-1221   
OUT   	= 000057	#30-1223   
OUTBUF	= 000065	#30-1224   
OUTPUT	= 000067	#30-1225   
PAG   	= 000010	#7-244      231-8436   231-8436   231-8438   231-8438  
PAGMSG	  003012 RG	 322-11364 #322-11364  322-11364 
PARERC	  003436 R	 99-3950    99-3950    100-3962   100-3962   100-3973   100-3973   101-3998   101-3998  #102-4017  
                         102-4033   102-4033   103-4054   103-4054  
PARERX	  003262 R	#99-3951    100-3984   101-4006   103-4077  
PARMSG	  000011 RG	#59-2368    102-4018  
PARNAM	  000021 RG	 53-2069   #59-2370    210-7790   212-7861   217-7991  
PARUEC	  003510 R	 99-3943   #102-4030  
PAR$$E	= 000001	#1-50       59-2367   
PAR$$K	= 000126	#1-54       59-2367   
PAR$$V	= 000005	#1-49       59-2367   
PCMSG 	  002455 RG	 118-4593   318-11170 #318-11170  318-11170 
PCTAB 	  001764 R	 135-5179  #136-5232  
PC.AFI	= 000020	#13-507    
PC.AT0	= 000004	#13-509    
PC.AT1	= 000010	#13-508    
PC.BIS	= 000400	#13-503    
PC.CY0	= 004000	#13-500    
PC.CY1	= 002000	#13-501    
PC.FOV	= 001000	#13-502    
PC.FUF	= 000002	#13-510    
PC.LIP	= 000040	#13-506    
PC.NDV	= 000001	#13-511    
PC.OVF	= 010000	#13-499     129-4949  
PC.UIO	= 000100	#13-505    
PC.USR	= 000200	#13-504    
PERCLR	= 001000	#148-5624  #278-10037 #394-13839 
PE.ALL	= 000037	#9-335     
PE.CES	= 000001	#9-330      9-335     
PE.CRM	= 000004	#9-332      9-335     
PE.DRM	= 000002	#9-331      9-335     
PE.FMP	= 000010	#9-333      9-335     
PE.FSS	= 000020	#9-334      9-335     
PHYS  	= 100000	#148-5624  #278-10037 #394-13839 
PI    	= 000004	#7-243      229-8395   229-8395  
PIDENT	= 000000	#148-5624  #278-10037 #394-13839 
PIMSG 	  002532 RG	 318-11191 #318-11191  318-11191  322-11366  322-11366 
POP   	= 000262	#30-1227   
POPJ  	= 000263	#30-1228   
PRGMSG	  002614 RG	 255-9292   283-10202  319-11224 #319-11224  319-11224  325-11413  325-11413 
PRI7  	= 000340	#148-5624  #278-10037 #394-13839 
PROMPT	  000030 RG	#59-2372    217-7994  
PROPNT	= 000021	#148-5624  #278-10037 #394-13839 
PRTOFF	= 004000	#148-5624  #278-10037 #394-13839 
PRVMSG	  002364 RG	 315-11107 #315-11107  315-11107  316-11128  316-11128  317-11143  317-11143  318-11211  318-11211 
PR0   	= 000000	#148-5624  #278-10037 #394-13839 
PR1   	= 000040	#148-5624  #278-10037 #394-13839 
PR2   	= 000100	#148-5624  #278-10037 #394-13839 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 23

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PR3   	= 000140	#148-5624  #278-10037 #394-13839 
PR4   	= 000200	#148-5624  #278-10037 #394-13839 
PR5   	= 000240	#148-5624  #278-10037 #394-13839 
PR6   	= 000300	#148-5624  #278-10037 #394-13839 
PR7   	= 000340	#148-5624  #278-10037 #394-13839 
PS    	= 177776	#148-5624   241-8757   241-8757   241-8768   248-9014   248-9014   249-9037   249-9044   249-9044  
                         249-9048  #278-10037 #394-13839 
PSENTB	  002474 R	 309-10893 #309-10911 
PSTMSG	  003234 RG	 327-11459 #327-11459  327-11459  330-11518  330-11518 
PSWW1 	= 000005	#148-5624  #278-10037 #394-13839 
PSWW10	= 000014	#148-5624  #278-10037 #394-13839 
PSWW11	= 000015	#148-5624  #278-10037 #394-13839 
PSWW12	= 000016	#148-5624  #278-10037 #394-13839 
PSWW13	= 000017	#148-5624  #278-10037 #394-13839 
PSWW2 	= 000006	#148-5624  #278-10037 #394-13839 
PSWW3 	= 000007	#148-5624  #278-10037 #394-13839 
PSWW4 	= 000010	#148-5624  #278-10037 #394-13839 
PSWW5 	= 000011	#148-5624  #278-10037 #394-13839 
PSWW6 	= 000012	#148-5624  #278-10037 #394-13839 
PSWW7 	= 000013	#148-5624  #278-10037 #394-13839 
PS.NRM	= 001416	#16-637     197-7399   304-10734 
PTLERM	  002245 R	#321-11325  321-11325 
PTOATM	  000267 R	 109-4287  #109-4306  
PTRTEM	  000150 R	 105-4128  #108-4249  
PTRTHM	  000220 R	 108-4234  #108-4251  
PULSE 	= 000020	#148-5624  #278-10037 #394-13839 
PUSH  	= 000261	#30-1230   
PUSHJ 	= 000260	#30-1231   
QSIZE 	= 000023	#148-5624  #278-10037 #394-13839 
QTRMSG	  003117 RG	 306-10841  323-11391 #323-11391  323-11391 
QUTMSG	  002310 RG	 314-11088 #314-11088  314-11088 
Q.BYCT	= 000016	#21-812     360-12627  393-13788 
Q.IBUF	= 000014	#21-810    
Q.IOAE	= 000012	#360-12624 #393-13785 #393-13794 #393-13799 
Q.IOEF	= 000006	#360-12624 #393-13785 #393-13794 #393-13799 
Q.IOFN	= 000002	#360-12624 #393-13785 #393-13794 #393-13799 
Q.IOLU	= 000004	#360-12624 #393-13785 #393-13794 #393-13799 
Q.IOPL	= 000014	#21-809     21-810     21-811     21-812     21-813    #360-12624  360-12626 #393-13785  393-13787 
                        #393-13794 #393-13799 
Q.IOPR	= 000007	#360-12624 #393-13785 #393-13794 #393-13799 
Q.IOSB	= 000010	#360-12624 #393-13785 #393-13794 #393-13799 
Q.OBUF	= 000014	#21-811    
Q.OVFC	= 000020	#21-813     393-13789 
RAMIS0	= 010000	#148-5624  #278-10037 #394-13839 
RDCPT1	  002070 R	 190-7091  #192-7156  
RDCPT2	  002050 R	 191-7110  #191-7137  
RDCPT3	  002060 R	 190-7092   191-7107  #191-7145  
RDPITB	  001636 R	 131-4989  #131-5007  
RDPITE	= 001652 R	 131-4999  #131-5014  
REGMSG	  002535 RG	 318-11193 #318-11193  318-11193 
REGTAB	  005046 R	 352-12294 #353-12317 
RELEAS	= 000071	#30-1233   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 24

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

REMMSG	  002627 RG	 255-9285   319-11229 #319-11229  319-11229 
RENAME	= 000055	#30-1234   
REPIRC	  013262 R	 225-8254  #225-8260  
REQKLD	  000162 R	 256-9305  #256-9314  
RESETT	  002134 R	 195-7275  #195-7301  
RFMAD0	= 100000	#148-5624  #278-10037 #394-13839 
RFMAD1	= 040000	#148-5624  #278-10037 #394-13839 
RFMAD2	= 020000	#148-5624  #278-10037 #394-13839 
RFMAD3	= 010000	#148-5624  #278-10037 #394-13839 
RGDTEN	= 000060 RG	#156-5892  
RLDMSG	  003250 RG	 327-11461 #327-11461  327-11461  330-11520  330-11520 
RM    	= 000010	#148-5624  #278-10037 #394-13839 
ROT   	= 000241	#30-1236   
ROTC  	= 000245	#30-1237   
RPMERM	  002275 R	#321-11327  321-11327 
RPTMSG	  002244 RG	 314-11076 #314-11076  314-11076  327-11463  327-11463  330-11522  330-11522 
RQSKLD	  000000 R	 79-3244   #79-3250   
RSAKCN	  013436 R	 228-8341  #228-8358  
RSAPRI	  002150 R	 229-8367  #229-8388  
RSERRI	  002156 R	 229-8371  #229-8390  
RSPGI0	  002200 R	 230-8420  #231-8435  
RSPGI1	  002206 R	 230-8422  #231-8437  
RSPKCN	  013614 R	 230-8404  #231-8429  
RSTEND	= 002142 R	 195-7287  #195-7308  
RSTIOI	  002164 R	 229-8375  #229-8392  
RSTMSG	  002253 RG	 314-11078 #314-11078  314-11078 
RSTPII	  002172 R	 229-8379  #229-8394  
RTYMSG	  003257 RG	 327-11465 #327-11465  327-11465  330-11524  330-11524 
RUNITN	  013706 R	 233-8504  #234-8524  
RUNMSG	  002261 RG	 314-11080 #314-11080  314-11080 
RUNNST	  013714 R	 234-8521  #234-8527  
RUNTAA	  013722 R	 234-8523  #234-8530  
R.QSGC	= 000015	#79-3251   #235-8555  #256-9315  
R.QSPC	= 000014	#79-3251   #235-8555  #256-9315  
R.QSPN	= 000006	#79-3251   #235-8555  #256-9315  
R.QSPR	= 000012	#79-3251   #235-8555  #256-9315  
R.QSTN	= 000002	#79-3251   #235-8555  #256-9315  
SATMSG	  001111 R	 252-9185  #253-9210  
SBRMSG	  002560 RG	 318-11201 #318-11201  318-11201 
SBRTAB	  001734 R	 132-5065  #134-5134  
SCCCLE	  020226 R	 282-10179 #282-10187 
SCCLKT	  002414 R	 299-10547 #301-10625 
SCD   	= 000040	#148-5624  #278-10037 #394-13839 
SCDCDI	  014346 R	 240-8703  #242-8774  
SCDDAV	  014354 R	 240-8710  #242-8777  
SCDNDI	  014362 R	 240-8716  #242-8780  
SCDNTI	  014370 R	 240-8720  #242-8783  
SCFERM	  002335 R	#321-11329  321-11329 
SCKIPC	  014562 R	#245-8895   246-8907   246-8911   246-8913  
SCKKWE	  015126 R	 247-8982   247-8985   247-8988  #247-8992  
SCKMS0	  000630 R	 244-8865  #251-9105  
SCKMS1	  000643 R	 246-8918   246-8924  #251-9107  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 25

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SCKMS2	  000667 R	 246-8932   247-8973  #251-9109  
SCKMS3	  000714 R	 248-9003  #251-9111  
SCKMS4	  000743 R	 244-8856  #251-9113  
SCKNPI	  014540 R	 244-8869  #245-8886  
SCKPTL	  014546 R	 244-8872  #245-8889  
SCKSKI	  014554 R	 244-8854  #245-8892  
SCPART	  002426 R	 299-10552  299-10559 #301-10631 
SCPILS	  021356 R	 300-10576 #301-10613 
SCPSCF	  021364 R	#301-10616  301-10629 
SCPSPF	  021372 R	#301-10619  301-10635 
SCRMSG	  002564 RG	 318-11203 #318-11203  318-11203 
SCRTAB	  001750 R	 132-5069  #134-5142  
SEPMSG	  002725 RG	 267-9693   320-11255 #320-11255  320-11255 
SETA  	= 000424	#30-1239   
SETAB 	= 000427	#30-1240   
SETAI 	= 000425	#30-1241   
SETAM 	= 000426	#30-1242   
SETCA 	= 000450	#30-1244   
SETCAB	= 000453	#30-1245   
SETCAI	= 000451	#30-1246   
SETCAM	= 000452	#30-1247   
SETCM 	= 000460	#30-1249   
SETCMB	= 000463	#30-1250   
SETCMI	= 000461	#30-1251   
SETCMM	= 000462	#30-1252   
SETM  	= 000414	#31-1254   
SETMB 	= 000417	#31-1255   
SETMI 	= 000415	#31-1256   
SETMM 	= 000416	#31-1257   
SETMSG	  002265 RG	 314-11082 #314-11082  314-11082 
SETO  	= 000474	#31-1259   
SETOB 	= 000477	#31-1260   
SETOI 	= 000475	#31-1261   
SETOM 	= 000476	#31-1262   
SETSTS	= 000060	#31-1264   
SETZ  	= 000400	#31-1266   
SETZB 	= 000403	#31-1267   
SETZI 	= 000401	#31-1268   
SETZM 	= 000402	#31-1269   
SHUMSG	  002271 RG	 314-11084 #314-11084  314-11084 
SKIERM	  002364 R	#321-11330  321-11330 
SKIP  	= 000330	#31-1271   
SKIPA 	= 000334	#31-1272   
SKIPE 	= 000332	#31-1273   
SKIPG 	= 000337	#31-1274   
SKIPGE	= 000335	#31-1275   
SKIPL 	= 000331	#31-1276   
SKIPLE	= 000333	#31-1277   
SKIPN 	= 000336	#31-1278   
SLOMSG	  003127 RG	 306-10842  323-11393 #323-11393  323-11393 
SOJ   	= 000360	#31-1280   
SOJA  	= 000364	#31-1281   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 26

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SOJE  	= 000362	#31-1282   
SOJG  	= 000367	#31-1283   
SOJGE 	= 000365	#31-1284   
SOJL  	= 000361	#31-1285   
SOJLE 	= 000363	#31-1286   
SOJN  	= 000366	#31-1287   
SOS   	= 000370	#31-1289   
SOSA  	= 000374	#31-1290   
SOSE  	= 000372	#31-1291   
SOSG  	= 000377	#31-1292   
SOSGE 	= 000375	#31-1293   
SOSL  	= 000371	#31-1294   
SOSLE 	= 000373	#31-1295   
SOSN  	= 000376	#31-1296   
SPCEST	  001604 R	 103-4058  #103-4082  
SPFERM	  002441 R	#321-11331  321-11331 
SSTLEN	= 000010  G	#54-2231    145-5549  
SSTTBE	= 000212 RG	#54-2232    105-4125  
STAMSG	  003426 R	 353-12320 #353-12331 
STASZI	  020034 R	 279-10054 #279-10067 
STAT  	= 174434	#148-5624  #278-10037 #394-13839 
STATO 	= 000061	#31-1298   
STATUS	= 000022	#31-1299   #148-5624  #278-10037 #394-13839 
STATZ 	= 000063	#31-1300   
STRMSG	  002302 RG	 314-11086 #314-11086  314-11086 
STUCAE	  012174 R	 206-7652  #206-7670  
STUUNL	  012202 R	 206-7667  #206-7673  
ST.CED	= 000100	#12-452     12-467    
ST.CLE	= 000001	#12-465     12-467    
ST.CTD	= 040000	#12-437    
ST.CTE	= 010000	#12-441     12-467    
ST.DW1	= 002000	#12-444    
ST.DXD	= 000004	#12-460    
ST.EBS	= 000100	#12-451    
ST.EDB	= 004000	#12-442    
ST.EPE	= 000020	#12-455     12-467     48-1915   
ST.IDS	= 000010	#12-459    
ST.IEN	= 000040	#12-454    
ST.ION	= 000001	#12-464    
ST.MBZ	= 000000	#12-469     155-5865  
ST.MOD	= 000010	#12-457     143-5452  
ST.MPE	= 001000	#12-445     12-467    
ST.NST	= 000040	#12-453    
ST.RIZ	= 010000	#12-440    
ST.RST	= 011121	#12-467    
ST.SEP	= 000004	#12-461    
ST.STE	= 000002	#12-463    
ST.TED	= 000200	#12-449    
ST.TER	= 000002	#12-462    
ST.TXD	= 100000	#12-435    
ST.TXE	= 020000	#12-438    
ST.XDB	= 000400	#12-447    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 27

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SUB   	= 000274	#32-1302   
SUBB  	= 000277	#32-1303   
SUBI  	= 000275	#32-1304   
SUBM  	= 000276	#32-1305   
SUNMSG	  001123 R	 252-9186  #253-9212  
SWR   	= 177570	#148-5624  #278-10037 #394-13839 
SWSLLT	= 100000	#148-5624  #278-10037 #394-13839 
SXCT  	= 000106	#32-1307   
SZIERM	  002471 R	#321-11332  321-11332 
TAAERM	  002525 R	#321-11334  321-11334 
TC.CON	= 000377	#22-872    
TC.CTC	= 000002	#22-869     42-1715    107-4207  
TC.ERR	= 000000	#22-871     39-1611    41-1682    41-1685    43-1753    46-1859    48-1919    50-1999    71-2923   
                         73-3006    77-3176    77-3179    82-3354    85-3450    91-3659    91-3662    91-3665    94-3769   
                         111-4381   144-5502   144-5505   149-5663   155-5855   158-5954   162-6076   162-6080   162-6083  
                         162-6086   165-6211   167-6262   169-6355   172-6452   176-6622   178-6713   206-7671   206-7674  
                         213-7895   221-8116   221-8119   221-8122   225-8261   228-8359   231-8430   234-8525   234-8528  
                         234-8531   242-8775   242-8778   242-8781   242-8784   245-8887   245-8890   245-8893   245-8897  
                         247-8993   262-9486   262-9489   262-9492   262-9495   265-9618   265-9621   279-10068  282-10188 
                         301-10614  301-10617  301-10620  335-11704  360-12614  360-12617  363-12734  365-12815  371-13022 
                         372-13062  374-13124  374-13127  397-13935  397-13938 
TC.RST	= 000001	#22-870    
TDC   	= 000650	#32-1309   
TDCA  	= 000654	#32-1310   
TDCE  	= 000652	#32-1311   
TDCN  	= 000656	#32-1312   
TDMSG0	  000611 R	 220-8096  #221-8127  
TDN   	= 000610	#32-1314   
TDNA  	= 000614	#32-1315   
TDNE  	= 000612	#32-1316   
TDNN  	= 000616	#32-1317   
TDO   	= 000670	#32-1319   
TDOA  	= 000674	#32-1320   
TDOE  	= 000672	#32-1321   
TDON  	= 000676	#32-1322   
TDZ   	= 000630	#32-1324   
TDZA  	= 000634	#32-1325   
TDZE  	= 000632	#32-1326   
TDZN  	= 000636	#32-1327   
TENAD1	= 174410	#148-5624  #278-10037 #394-13839 
TENAD2	= 174412	#148-5624  #278-10037 #394-13839 
TENMSG	  002414 RG	 287-10307  316-11120 #316-11120  316-11120  318-11195  318-11195  324-11402  324-11402  329-11495 
                         329-11495 
TFRMSG	  003316 R	 349-12200 #350-12245 
TFWMSG	  003333 R	 349-12207 #350-12247 
TFXMSG	  003350 R	 349-12214 #350-12249 
THSMSG	  002375 RG	 315-11109 #315-11109  315-11109  316-11130  316-11130  317-11145  317-11145  318-11213  318-11213 
THUMSG	  001067 R	 252-9183  #253-9206  
TLC   	= 000641	#32-1329   
TLCA  	= 000645	#32-1330   
TLCE  	= 000643	#32-1331   
TLCN  	= 000647	#32-1332   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 28

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TLN   	= 000601	#32-1334   
TLNA  	= 000605	#32-1335   
TLNE  	= 000603	#32-1336   
TLNN  	= 000607	#32-1337   
TLO   	= 000661	#32-1339   
TLOA  	= 000665	#32-1340   
TLOE  	= 000663	#32-1341   
TLON  	= 000667	#32-1342   
TLZ   	= 000621	#32-1344   
TLZA  	= 000625	#32-1345   
TLZE  	= 000623	#32-1346   
TLZN  	= 000627	#32-1347   
TOBM  	= 000004	#148-5624  #278-10037 #394-13839 
TOD   	= 000003	#148-5624  #278-10037 #394-13839 
TOIP  	= 000002	#148-5624  #278-10037 #394-13839 
TOIT  	= 000001	#148-5624  #278-10037 #394-13839 
TORERM	  002562 R	#321-11335  321-11335 
TO10  	= 000200	#148-5624  #278-10037 #394-13839 
TO10AD	= 174420	#148-5624  #278-10037 #394-13839 
TO10BC	= 174414	#148-5624  #278-10037 #394-13839 
TO10BM	= 000001	#148-5624  #278-10037 #394-13839 
TO10DB	= 000400	#148-5624  #278-10037 #394-13839 
TO10DN	= 100000	#148-5624  #278-10037 #394-13839 
TO10DT	= 174424	#148-5624  #278-10037 #394-13839 
TO10ER	= 020000	#148-5624  #278-10037 #394-13839 
TO11  	= 000100	#148-5624  #278-10037 #394-13839 
TO11AD	= 174422	#148-5624  #278-10037 #394-13839 
TO11BC	= 174416	#148-5624  #278-10037 #394-13839 
TO11BM	= 020000	#148-5624  #278-10037 #394-13839 
TO11DB	= 004000	#148-5624  #278-10037 #394-13839 
TO11DN	= 000200	#148-5624  #278-10037 #394-13839 
TO11DT	= 174426	#148-5624  #278-10037 #394-13839 
TO11ER	= 000002	#148-5624  #278-10037 #394-13839 
TPDDCK	  022564 R	 334-11655 #335-11703 
TPDDVD	  005040 R	#333-11642  334-11670 
TPDDVS	  005032 R	#333-11640  334-11669 
TPDRMN	  005024 R	#333-11638  334-11658  334-11668  335-11696 
TRADDR	  005056 R	 355-12388  355-12399 #356-12420 
TRC   	= 000640	#32-1349   
TRCA  	= 000644	#32-1350   
TRCE  	= 000642	#32-1351   
TRCN  	= 000646	#32-1352   
TRDATA	  005064 R	 355-12393  355-12403 #356-12422 
TRKMSG	  003265 RG	 327-11468 #327-11468  327-11468  330-11527  330-11527 
TRN   	= 000600	#33-1354   
TRNA  	= 000604	#33-1355   
TRNE  	= 000602	#33-1356   
TRNN  	= 000606	#33-1357   
TRO   	= 000660	#33-1359   
TROA  	= 000664	#33-1360   
TROE  	= 000662	#33-1361   
TRON  	= 000666	#33-1362   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 29

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TRZ   	= 000620	#33-1364   
TRZA  	= 000624	#33-1365   
TRZE  	= 000622	#33-1366   
TRZN  	= 000626	#33-1367   
TR.ALL	= 000077	#13-494    
TR.DEP	= 000020	#13-492     13-494     160-6023  
TR.DTE	= 000040	#13-493     13-494     155-5844  
TR.EXM	= 000010	#13-491     13-494     160-6012  
TR.FRD	= 000002	#13-489     13-494     167-6255  
TR.FWR	= 000004	#13-490     13-494     169-6346  
TR.FXC	= 000001	#13-488     13-494     172-6444  
TSC   	= 000651	#33-1369   
TSCA  	= 000655	#33-1370   
TSCAMB	  013106 R	 219-8070  #221-8114  
TSCE  	= 000653	#33-1371   
TSCN  	= 000657	#33-1372   
TSCNSK	  013120 R	 219-8079  #221-8118  
TSCWRM	  013126 R	 219-8082  #221-8121  
TSN   	= 000611	#33-1374   
TSNA  	= 000615	#33-1375   
TSNE  	= 000613	#33-1376   
TSNN  	= 000617	#33-1377   
TSO   	= 000671	#33-1379   
TSOA  	= 000675	#33-1380   
TSOE  	= 000673	#33-1381   
TSON  	= 000677	#33-1382   
TSZ   	= 000631	#33-1384   
TSZA  	= 000635	#33-1385   
TSZE  	= 000633	#33-1386   
TSZN  	= 000637	#33-1387   
TTCALL	= 000051	#33-1389   
TUEMSG	  001043 R	 252-9181  #253-9202  
TYDMTB	  002364 R	 266-9663  #267-9684  
TYODIE	  026400 R	 390-13717  390-13719  390-13721  390-13723 #391-13734 
UCDMSG	  003274 RG	 329-11497 #329-11497  329-11497 
UECMSG	  000057 R	 102-4044  #102-4048  
UECMSP	  001602 R	 102-4032  #102-4043  
UGETF 	= 000073	#33-1391   
UJEN  	= 000100	#33-1393   
UNASG1	= 000032	#148-5624  #278-10037 #394-13839 
UNASG2	= 000033	#148-5624  #278-10037 #394-13839 
UNASG3	= 000034	#148-5624  #278-10037 #394-13839 
UNASG4	= 000035	#148-5624  #278-10037 #394-13839 
UNASG5	= 000036	#148-5624  #278-10037 #394-13839 
UNASG6	= 000037	#148-5624  #278-10037 #394-13839 
UNLERM	  002612 R	#321-11337  321-11337 
USETI 	= 000074	#33-1395   
USETO 	= 000075	#33-1396   
USRMSG	  002636 RG	 255-9282   319-11231 #319-11231  319-11231  325-11415  325-11415 
VERMSG	  003306 RG	 330-11530 #330-11530  330-11530 
VFYERM	  002650 R	#321-11339  321-11339 
VF.DSP	= 000060	#21-827    
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 30

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

VF.FFD	= 000061	#21-828    
VF.INT	= 000000	#21-825     393-13785 
VF.OVR	= 000053	#21-829    
VF.PRM	= 000044	#21-830    
VF.SSP	= 000040	#21-826    
VMAMSG	  002547 RG	 118-4595   318-11197 #318-11197  318-11197 
VMATB 	  002000 R	 135-5187  #136-5240  
VMHMSG	  002553 RG	 318-11199 #318-11199  318-11199 
VMHTB 	  002006 R	 135-5191  #136-5244  
WCMMSG	  001363 R	 283-10196 #283-10212 
WCMSG0	  001673 R	 305-10779 #307-10848 
WCMSG1	  001717 R	 305-10781 #307-10850 
WCMSG2	  001733 R	 306-10808 #307-10852 
WCMSG3	  001745 R	 306-10815 #307-10854 
WEDMSG	  001054 R	 252-9182  #253-9204  
WEP   	= 000010	#148-5624  #278-10037 #394-13839 
WHAMSG	  002315 RG	 314-11090 #314-11090  314-11090 
WHDMS0	  000761 R	 252-9153  #253-9195  
WHDMS1	  001007 R	 252-9166  #253-9197  
WHIMSG	  001403 R	 285-10247 #285-10269 
WHKMRB	  001272 R	 254-9254  #257-9333  
WHKMSA	  001263 R	 254-9247  #257-9331  
WHKMSI	  001315 R	 254-9250  #257-9335  
WHKMSK	  001326 R	 255-9280  #257-9337  
WHKMS0	  001133 R	 254-9242  #257-9321  
WHKMS1	  001144 R	 254-9244  #257-9323  
WHKMS2	  001155 R	 255-9265  #257-9325  
WHKMS3	  001203 R	 255-9272  #257-9327  
WHKMS4	  001233 R	 255-9287  #257-9329  
WHMMSG	  001443 R	 287-10305 #287-10317 
WHOMSG	  001455 R	 289-10338 #289-10347 
WHRMSG	  001423 R	 285-10254 #285-10271 
WHTMSG	  001537 R	 296-10448 #297-10474 
WPMSG0	  001762 R	 308-10869 #310-10927 
WPMSG1	  002014 R	 308-10871 #310-10929 
WPMSG2	  002042 R	 308-10879 #310-10931 
WRLMSG	  001476 R	 292-10376 #293-10402 
WRMERM	  002704 R	#321-11341  321-11341 
WRTMSG	  001517 R	 293-10387 #293-10404 
WVMSG1	  001557 R	 297-10461 #297-10476 
WVMSG2	  001601 R	 297-10465 #297-10478 
XCT   	= 000256	#33-1398   
XCTMSG	  002322 RG	 314-11092 #314-11092  314-11092 
XOR   	= 000430	#33-1400   
XORB  	= 000433	#33-1401   
XORI  	= 000431	#33-1402   
XORM  	= 000432	#33-1403   
XR    	= 000000	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
XTOERM	  003015 R	#321-11345  321-11345 
YESMSG	  002101 R	 311-10968 #312-10993 
YONMSG	  002062 R	 311-10961 #312-10991 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 31

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

YORERM	  002765 R	#321-11343  321-11343 
ZERDPB	  000272 R	*396-13909 *396-13910  397-13919 #397-13943 
ZERESD	  026716 R	 397-13934 #397-13937 
ZERMSG	  002326 RG	 314-11094 #314-11094  314-11094 
ZSTOP 	= 040000	#148-5624  #278-10037 #394-13839 
$DIV  	= ******  GX	 241-8754   241-8754   268-9728   268-9728   268-9732   268-9732   392-13765  392-13765 
$DSW  	= ******  GX	 42-1711    161-6047   234-8519   397-13933 
$MUL  	= ******  GX	 237-8601   237-8601   240-8726   240-8726   264-9576   264-9576   264-9580   264-9580   265-9596  
                         265-9596   265-9606   265-9606  
$$    	= 000037	#35-1462    35-1462   #37-1511    37-1511   #37-1518    37-1518   #37-1520    37-1520   #39-1600   
                         39-1600   #40-1638    40-1638   #43-1746    43-1746   #45-1806    45-1806   #48-1914    48-1914   
                        #50-1974    50-1974   #50-1982    50-1982   #50-1985    50-1985   #50-1989    50-1989   #64-2609   
                         64-2609   #66-2711    66-2711   #68-2813    68-2813   #69-2850    69-2850   #71-2884    71-2884   
                        #71-2885    71-2885   #71-2889    71-2889   #71-2890    71-2890   #71-2894    71-2894   #71-2896   
                         71-2896   #71-2900    71-2900   #71-2902    71-2902   #73-2982    73-2982   #73-2987    73-2987   
                        #73-2999    73-2999   #74-3032    74-3032   #74-3033    74-3033   #74-3034    74-3034   #74-3040   
                         74-3040   #74-3042    74-3042   #74-3045    74-3045   #74-3046    74-3046   #74-3047    74-3047   
                        #74-3049    74-3049   #74-3050    74-3050   #75-3082    75-3082   #75-3083    75-3083   #75-3084   
                         75-3084   #75-3091    75-3091   #75-3092    75-3092   #75-3095    75-3095   #76-3122    76-3122   
                        #76-3123    76-3123   #76-3124    76-3124   #79-3242    79-3242   #81-3311    81-3311   #81-3314   
                         81-3314   #81-3318    81-3318   #81-3322    81-3322   #81-3323    81-3323   #82-3332    82-3332   
                        #82-3341    82-3341   #82-3343    82-3343   #82-3344    82-3344   #82-3346    82-3346   #83-3366   
                         83-3366   #83-3370    83-3370   #83-3374    83-3374   #83-3378    83-3378   #83-3388    83-3388   
                        #84-3419    84-3419   #84-3422    84-3422   #84-3426    84-3426   #85-3433    85-3433   #85-3441   
                         85-3441   #85-3443    85-3443   #85-3444    85-3444   #85-3446    85-3446   #86-3462    86-3462   
                        #86-3466    86-3466   #86-3470    86-3470   #86-3474    86-3474   #88-3534    88-3534   #88-3535   
                         88-3535   #88-3540    88-3540   #88-3541    88-3541   #88-3545    88-3545   #88-3548    88-3548   
                        #89-3584    89-3584   #89-3587    89-3587   #89-3592    89-3592   #89-3593    89-3593   #89-3596   
                         89-3596   #90-3603    90-3603   #90-3625    90-3625   #90-3627    90-3627   #90-3628    90-3628   
                        #90-3629    90-3629   #90-3631    90-3631   #90-3632    90-3632   #91-3640    91-3640   #91-3645   
                         91-3645   #91-3648    91-3648   #91-3650    91-3650   #91-3651    91-3651   #91-3652    91-3652   
                        #92-3677    92-3677   #92-3681    92-3681   #92-3685    92-3685   #92-3689    92-3689   #92-3700   
                         92-3700   #93-3732    93-3732   #93-3735    93-3735   #93-3740    93-3740   #94-3747    94-3747   
                        #94-3759    94-3759   #94-3761    94-3761   #94-3762    94-3762   #94-3763    94-3763   #94-3765   
                         94-3765   #95-3781    95-3781   #95-3785    95-3785   #95-3789    95-3789   #95-3793    95-3793   
                        #96-3835    96-3835   #96-3837    96-3837   #99-3950    99-3950   #100-3962   100-3962  #100-3967  
                         100-3967  #100-3973   100-3973  #100-3977   100-3977  #100-3980   100-3980  #100-3983   100-3983  
                        #101-3998   101-3998  #101-4003   101-4003  #101-4005   101-4005  #102-4019   102-4019  #102-4021  
                         102-4021  #102-4023   102-4023  #102-4025   102-4025  #102-4026   102-4026  #102-4033   102-4033  
                        #102-4035   102-4035  #103-4054   103-4054  #103-4055   103-4055  #103-4063   103-4063  #103-4064  
                         103-4064  #103-4065   103-4065  #103-4074   103-4074  #105-4127   105-4127  #105-4129   105-4129  
                        #105-4131   105-4131  #105-4132   105-4132  #107-4197   107-4197  #107-4203   107-4203  #107-4217  
                         107-4217  #107-4219   107-4219  #108-4235   108-4235  #108-4236   108-4236  #108-4242   108-4242  
                        #109-4283   109-4283  #109-4286   109-4286  #109-4288   109-4288  #109-4290   109-4290  #109-4291  
                         109-4291  #109-4296   109-4296  #111-4370   111-4370  #111-4371   111-4371  #115-4481   115-4481  
                        #115-4487   115-4487  #115-4488   115-4488  #115-4489   115-4489  #115-4491   115-4491  #115-4492  
                         115-4492  #115-4493   115-4493  #115-4495   115-4495  #116-4524   116-4524  #116-4525   116-4525  
                        #116-4526   116-4526  #116-4527   116-4527  #116-4531   116-4531  #116-4538   116-4538  #116-4545  
                         116-4545  #118-4590   118-4590  #118-4592   118-4592  #118-4594   118-4594  #118-4596   118-4596  
                        #118-4597   118-4597  #118-4598   118-4598  #120-4637   120-4637  #120-4639   120-4639  #120-4640  
                         120-4640  #120-4642   120-4642  #120-4644   120-4644  #120-4645   120-4645  #120-4646   120-4646  
                        #120-4648   120-4648  #121-4676   121-4676  #121-4680   121-4680  #121-4684   121-4684  #122-4692  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 32

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         122-4692  #122-4694   122-4694  #122-4695   122-4695  #122-4696   122-4696  #122-4698   122-4698  
                        #122-4699   122-4699  #123-4750   123-4750  #123-4752   123-4752  #123-4753   123-4753  #123-4754  
                         123-4754  #123-4757   123-4757  #124-4769   124-4769  #124-4771   124-4771  #124-4774   124-4774  
                        #124-4776   124-4776  #124-4779   124-4779  #124-4781   124-4781  #124-4784   124-4784  #125-4802  
                         125-4802  #125-4803   125-4803  #125-4809   125-4809  #129-4932   129-4932  #129-4934   129-4934  
                        #129-4939   129-4939  #129-4941   129-4941  #129-4946   129-4946  #131-4994   131-4994  #131-4996  
                         131-4996  #133-5081   133-5081  #133-5083   133-5083  #133-5088   133-5088  #133-5090   133-5090  
                        #135-5193   135-5193  #135-5201   135-5201  #136-5211   136-5211  #136-5216   136-5216  #138-5305  
                         138-5305  #140-5367   140-5367  #143-5451   143-5451  #143-5454   143-5454  #143-5462   143-5462  
                        #143-5467   143-5467  #146-5567   146-5567  #146-5568   146-5568  #149-5654   149-5654  #149-5658  
                         149-5658  #150-5691   150-5691  #150-5701   150-5701  #151-5732   151-5732  #158-5936   158-5936  
                        #158-5941   158-5941  #158-5943   158-5943  #160-6010   160-6010  #160-6014   160-6014  #160-6021  
                         160-6021  #160-6025   160-6025  #161-6051   161-6051  #161-6052   161-6052  #164-6158   164-6158  
                        #164-6160   164-6160  #165-6177   165-6177  #165-6179   165-6179  #165-6180   165-6180  #165-6183  
                         165-6183  #165-6186   165-6186  #165-6196   165-6196  #165-6202   165-6202  #165-6206   165-6206  
                        #167-6257   167-6257  #169-6348   169-6348  #172-6446   172-6446  #174-6525   174-6525  #174-6528  
                         174-6528  #174-6531   174-6531  #175-6580   175-6580  #175-6583   175-6583  #176-6591   176-6591  
                        #176-6599   176-6599  #176-6612   176-6612  #176-6616   176-6616  #176-6617   176-6617  #177-6662  
                         177-6662  #177-6665   177-6665  #178-6701   178-6701  #178-6703   178-6703  #180-6749   180-6749  
                        #180-6751   180-6751  #180-6760   180-6760  #180-6766   180-6766  #181-6807   181-6807  #181-6809  
                         181-6809  #183-6839   183-6839  #183-6842   183-6842  #183-6848   183-6848  #183-6851   183-6851  
                        #183-6856   183-6856  #185-6913   185-6913  #185-6919   185-6919  #185-6925   185-6925  #185-6929  
                         185-6929  #185-6934   185-6934  #187-6972   187-6972  #187-6974   187-6974  #187-6980   187-6980  
                        #187-6983   187-6983  #187-6987   187-6987  #187-6990   187-6990  #188-7029   188-7029  #188-7031  
                         188-7031  #189-7040   189-7040  #189-7041   189-7041  #189-7043   189-7043  #189-7048   189-7048  
                        #189-7052   189-7052  #189-7055   189-7055  #189-7057   189-7057  #190-7088   190-7088  #190-7096  
                         190-7096  #193-7220   193-7220  #193-7229   193-7229  #195-7274   195-7274  #195-7276   195-7276  
                        #195-7279   195-7279  #195-7280   195-7280  #195-7281   195-7281  #195-7282   195-7282  #195-7286  
                         195-7286  #195-7291   195-7291  #196-7343   196-7343  #197-7393   197-7393  #197-7398   197-7398  
                        #199-7436   199-7436  #199-7437   199-7437  #199-7440   199-7440  #199-7442   199-7442  #199-7446  
                         199-7446  #200-7477   200-7477  #201-7506   201-7506  #201-7510   201-7510  #202-7541   202-7541  
                        #204-7603   204-7603  #206-7654   206-7654  #206-7655   206-7655  #206-7657   206-7657  #206-7658  
                         206-7658  #206-7661   206-7661  #207-7704   207-7704  #208-7742   208-7742  #208-7744   208-7744  
                        #208-7747   208-7747  #212-7862   212-7862  #213-7871   213-7871  #213-7873   213-7873  #213-7881  
                         213-7881  #213-7882   213-7882  #213-7891   213-7891  #216-7980   216-7980  #217-7992   217-7992  
                        #217-7995   217-7995  #217-8007   217-8007  #217-8009   217-8009  #217-8012   217-8012  #219-8050  
                         219-8050  #219-8051   219-8051  #219-8061   219-8061  #220-8091   220-8091  #220-8093   220-8093  
                        #220-8095   220-8095  #220-8097   220-8097  #220-8103   220-8103  #220-8104   220-8104  #225-8251  
                         225-8251  #225-8253   225-8253  #225-8255   225-8255  #225-8257   225-8257  #227-8321   227-8321  
                        #227-8323   227-8323  #227-8327   227-8327  #227-8331   227-8331  #227-8332   227-8332  #228-8342  
                         228-8342  #228-8343   228-8343  #228-8344   228-8344  #228-8345   228-8345  #228-8346   228-8346  
                        #228-8354   228-8354  #228-8355   228-8355  #230-8405   230-8405  #230-8418   230-8418  #230-8421  
                         230-8421  #230-8423   230-8423  #233-8502   233-8502  #233-8503   233-8503  #233-8506   233-8506  
                        #233-8507   233-8507  #237-8601   237-8601  #238-8635   238-8635  #240-8711   240-8711  #240-8715  
                         240-8715  #240-8719   240-8719  #240-8726   240-8726  #241-8754   241-8754  #244-8847   244-8847  
                        #244-8857   244-8857  #244-8860   244-8860  #244-8862   244-8862  #244-8866   244-8866  #244-8868  
                         244-8868  #246-8919   246-8919  #246-8923   246-8923  #246-8925   246-8925  #246-8928   246-8928  
                        #246-8933   246-8933  #246-8937   246-8937  #247-8974   247-8974  #247-8977   247-8977  #248-9004  
                         248-9004  #248-9007   248-9007  #248-9008   248-9008  #248-9010   248-9010  #248-9012   248-9012  
                        #249-9058   249-9058  #250-9082   250-9082  #252-9142   252-9142  #252-9154   252-9154  #252-9158  
                         252-9158  #252-9159   252-9159  #252-9161   252-9161  #252-9162   252-9162  #252-9164   252-9164  
                        #252-9165   252-9165  #252-9167   252-9167  #254-9241   254-9241  #254-9243   254-9243  #254-9255  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 33

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         254-9255  #255-9264   255-9264  #255-9266   255-9266  #255-9268   255-9268  #255-9270   255-9270  
                        #255-9271   255-9271  #255-9273   255-9273  #255-9275   255-9275  #255-9277   255-9277  #255-9278  
                         255-9278  #255-9281   255-9281  #255-9286   255-9286  #255-9288   255-9288  #256-9304   256-9304  
                        #259-9389   259-9389  #259-9390   259-9390  #259-9392   259-9392  #260-9416   260-9416  #260-9419  
                         260-9419  #260-9422   260-9422  #260-9428   260-9428  #260-9429   260-9429  #260-9431   260-9431  
                        #260-9438   260-9438  #263-9541   263-9541  #263-9544   263-9544  #264-9551   264-9551  #264-9554  
                         264-9554  #264-9560   264-9560  #264-9563   264-9563  #264-9568   264-9568  #264-9576   264-9576  
                        #264-9580   264-9580  #265-9596   265-9596  #265-9599   265-9599  #265-9600   265-9600  #265-9606  
                         265-9606  #266-9659   266-9659  #266-9660   266-9660  #266-9664   266-9664  #266-9665   266-9665  
                        #266-9669   266-9669  #267-9677   267-9677  #268-9728   268-9728  #268-9732   268-9732  #268-9737  
                         268-9737  #269-9745   269-9745  #269-9746   269-9746  #269-9750   269-9750  #269-9753   269-9753  
                        #271-9817   271-9817  #271-9824   271-9824  #271-9829   271-9829  #272-9861   272-9861  #272-9862  
                         272-9862  #272-9863   272-9863  #273-9870   273-9870  #275-9929   275-9929  #275-9942   275-9942  
                        #275-9944   275-9944  #277-10003  277-10003 #277-10006  277-10006 #279-10042  279-10042 #279-10046 
                         279-10046 #279-10052  279-10052 #279-10053  279-10053 #279-10055  279-10055 #279-10058  279-10058 
                        #279-10061  279-10061 #280-10095  280-10095 #280-10100  280-10100 #280-10101  280-10101 #280-10105 
                         280-10105 #282-10157  282-10157 #282-10159  282-10159 #282-10160  282-10160 #282-10164  282-10164 
                        #283-10197  283-10197 #284-10226  284-10226 #284-10227  284-10227 #284-10235  284-10235 #284-10237 
                         284-10237 #285-10257  285-10257 #285-10260  285-10260 #286-10282  286-10282 #286-10284  286-10284 
                        #286-10285  286-10285 #286-10292  286-10292 #287-10306  287-10306 #288-10328  288-10328 #288-10330 
                         288-10330 #289-10339  289-10339 #289-10341  289-10341 #290-10354  290-10354 #291-10362  291-10362 
                        #292-10377  292-10377 #293-10388  293-10388 #294-10419  294-10419 #294-10421  294-10421 #294-10425 
                         294-10425 #295-10433  295-10433 #296-10449  296-10449 #297-10462  297-10462 #297-10464  297-10464 
                        #297-10466  297-10466 #299-10546  299-10546 #299-10551  299-10551 #299-10553  299-10553 #299-10554 
                         299-10554 #299-10558  299-10558 #300-10568  300-10568 #300-10570  300-10570 #300-10571  300-10571 
                        #300-10585  300-10585 #300-10586  300-10586 #300-10588  300-10588 #300-10595  300-10595 #301-10604 
                         301-10604 #301-10605  301-10605 #301-10606  301-10606 #302-10666  302-10666 #302-10667  302-10667 
                        #305-10774  305-10774 #305-10775  305-10775 #305-10776  305-10776 #305-10780  305-10780 #305-10782 
                         305-10782 #305-10789  305-10789 #305-10796  305-10796 #305-10797  305-10797 #305-10798  305-10798 
                        #305-10801  305-10801 #306-10809  306-10809 #306-10814  306-10814 #306-10816  306-10816 #308-10864 
                         308-10864 #308-10865  308-10865 #308-10866  308-10866 #308-10870  308-10870 #308-10872  308-10872 
                        #308-10878  308-10878 #308-10880  308-10880 #308-10884  308-10884 #309-10899  309-10899 #309-10900 
                         309-10900 #309-10901  309-10901 #311-10962  311-10962 #311-10963  311-10963 #311-10965  311-10965 
                        #311-10969  311-10969 #311-10973  311-10973 #311-10975  311-10975 #334-11651  334-11651 #334-11653 
                         334-11653 #334-11654  334-11654 #335-11683  335-11683 #335-11685  335-11685 #335-11688  335-11688 
                        #336-11748  336-11748 #343-11973  343-11973 #343-11976  343-11976 #343-11979  343-11979 #343-11997 
                         343-11997 #343-12004  343-12004 #346-12105  346-12105 #346-12106  346-12106 #347-12118  347-12118 
                        #347-12120  347-12120 #347-12121  347-12121 #347-12129  347-12129 #347-12131  347-12131 #347-12132 
                         347-12132 #350-12224  350-12224 #350-12229  350-12229 #350-12232  350-12232 #350-12233  350-12233 
                        #350-12234  350-12234 #350-12236  350-12236 #352-12292  352-12292 #352-12295  352-12295 #352-12296 
                         352-12296 #352-12305  352-12305 #352-12311  352-12311 #354-12372  354-12372 #354-12377  354-12377 
                        #355-12398  355-12398 #355-12400  355-12400 #355-12401  355-12401 #355-12402  355-12402 #355-12404 
                         355-12404 #355-12405  355-12405 #355-12412  355-12412 #358-12514  358-12514 #358-12520  358-12520 
                        #359-12564  359-12564 #362-12698  362-12698 #362-12699  362-12699 #363-12727  363-12727 #364-12765 
                         364-12765 #364-12768  364-12768 #364-12769  364-12769 #364-12772  364-12772 #364-12774  364-12774 
                        #365-12787  365-12787 #365-12794  365-12794 #365-12795  365-12795 #365-12796  365-12796 #366-12843 
                         366-12843 #367-12870  367-12870 #367-12873  367-12873 #368-12903  368-12903 #369-12938  369-12938 
                        #369-12941  369-12941 #370-12981  370-12981 #371-13009  371-13009 #372-13040  372-13040 #372-13045 
                         372-13045 #372-13046  372-13046 #372-13051  372-13051 #372-13054  372-13054 #372-13059  372-13059 
                        #373-13102  373-13102 #373-13105  373-13105 #377-13221  377-13221 #382-13437  382-13437 #382-13442 
                         382-13442 #384-13517  384-13517 #385-13539  385-13539 #385-13542  385-13542 #385-13544  385-13544 
                        #386-13587  386-13587 #386-13591  386-13591 #386-13600  386-13600 #387-13629  387-13629 #389-13682 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 34

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         389-13682 #389-13684  389-13684 #392-13765  392-13765 #392-13772  392-13772 #395-13864  395-13864 
                        #395-13869  395-13869 #396-13887  396-13887 #396-13889  396-13889 #396-13891  396-13891 #396-13894 
                         396-13894 #396-13898  396-13898 #397-13921  397-13921 #397-13923  397-13923 #397-13925  397-13925 
$$A   	= 000100	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$B   	= 000000	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$C   	= 000200	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$D   	= 000011	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$E   	= 000016	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$F   	= 000000	#229-8389   229-8389  #229-8391   229-8391  #229-8393   229-8393  #229-8395   229-8395  #231-8436  
                         231-8436  #231-8438   231-8438  
$$PASS	= 000000	 314-11044  314-11046  314-11048  314-11050  314-11052  314-11054  314-11056  314-11058  314-11060 
                         314-11062  314-11064  314-11070  314-11072  314-11074  314-11076  314-11078  314-11080  314-11082 
                         314-11084  314-11086  314-11088  314-11090  314-11092  314-11094  315-11101  315-11103  315-11105 
                         315-11107  315-11109  316-11116  316-11118  316-11120  316-11122  316-11124  316-11126  316-11128 
                         316-11130  317-11137  317-11139  317-11141  317-11143  317-11145  318-11152  318-11154  318-11156 
                         318-11158  318-11160  318-11162  318-11164  318-11166  318-11168  318-11170  318-11173  318-11175 
                         318-11177  318-11179  318-11181  318-11183  318-11185  318-11187  318-11189  318-11191  318-11193 
                         318-11195  318-11197  318-11199  318-11201  318-11203  318-11205  318-11207  318-11209  318-11211 
                         318-11213  319-11220  319-11222  319-11224  319-11229  319-11231  320-11239  320-11241  320-11243 
                         320-11245  320-11247  320-11249  320-11251  320-11253  320-11255  320-11257  320-11259  320-11261 
                         322-11352  322-11354  322-11356  322-11358  322-11360  322-11362  322-11364  322-11366  323-11373 
                         323-11375  323-11377  323-11379  323-11381  323-11383  323-11385  323-11387  323-11389  323-11391 
                         323-11393  324-11400  324-11402  325-11409  325-11411  325-11413  325-11415  326-11422  326-11424 
                         326-11426  326-11428  326-11430  326-11432  326-11434  327-11441  327-11443  327-11445  327-11447 
                         327-11449  327-11451  327-11453  327-11455  327-11457  327-11459  327-11461  327-11463  327-11465 
                         327-11468  329-11495  329-11497  330-11504  330-11506  330-11508  330-11510  330-11512  330-11514 
                         330-11516  330-11518  330-11520  330-11522  330-11524  330-11527  330-11530 #330-11535 
$$$AB 	= 000001	 318-11173 #318-11173  318-11173 
$$$ABO	= 000001	 314-11046 #314-11046  314-11046 
$$$AD 	= 000001	 318-11152 #318-11152  318-11152 
$$$ADX	= 000001	 318-11154 #318-11154  318-11154 
$$$ALL	= 000002	 322-11352 #322-11352  322-11352  326-11422 #326-11422  326-11422 
$$$APR	= 000001	 320-11245 #320-11245  320-11245 
$$$AR 	= 000003	 316-11116 #316-11116  316-11116  318-11156 #318-11156  318-11156  326-11424 #326-11424  326-11424 
$$$ARG	= 000006	#147-5580   147-5580  #147-5580   147-5580  #147-5580   147-5580  #147-5585   147-5585  #147-5585  
                         147-5585  #147-5585   147-5585  #214-7925   214-7925   214-7925   214-7925   214-7925   214-7925  
                         214-7925   214-7925   214-7925   214-7925   214-7925   214-7925  #360-12624  360-12624 #360-12624 
                         360-12624 #360-12624  360-12624 #393-13785  393-13785 #393-13785  393-13785 #393-13785  393-13785 
                        #393-13785  393-13785 #393-13794  393-13794 #393-13799  393-13799 
$$$ARX	= 000001	 318-11158 #318-11158  318-11158 
$$$AUG	= 000001	 320-11253 #320-11253  320-11253 
$$$BR 	= 000001	 318-11160 #318-11160  318-11160 
$$$BRX	= 000001	 318-11162 #318-11162  318-11162 
$$$CLK	= 000002	 327-11441 #327-11441  327-11441  330-11504 #330-11504  330-11504 
$$$CLR	= 000001	 314-11048 #314-11048  314-11048 
$$$CNT	= 000001	 314-11050 #314-11050  314-11050 
$$$CON	= 000002	 327-11443 #327-11443  327-11443  330-11506 #330-11506  330-11506 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 35

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$CPU	= 000001	 322-11354 #322-11354  322-11354 
$$$CRA	= 000001	 318-11175 #318-11175  318-11175 
$$$CRL	= 000001	 318-11177 #318-11177  318-11177 
$$$CRM	= 000002	 323-11375 #323-11375  323-11375  326-11426 #326-11426  326-11426 
$$$CTL	= 000001	 323-11379 #323-11379  323-11379 
$$$DAT	= 000002	 327-11445 #327-11445  327-11445  330-11508 #330-11508  330-11508 
$$$DCR	= 000004	 315-11101 #315-11101  315-11101  316-11122 #316-11122  316-11122  317-11137 #317-11137  317-11137 
                         318-11205 #318-11205  318-11205 
$$$DEC	= 000001	 320-11261 #320-11261  320-11261 
$$$DEP	= 000001	 314-11052 #314-11052  314-11052 
$$$DIS	= 000001	 314-11054 #314-11054  314-11054 
$$$DPT	= 000001	 323-11377 #323-11377  323-11377 
$$$DRA	= 000001	 318-11179 #318-11179  318-11179 
$$$DRM	= 000001	 326-11428 #326-11428  326-11428 
$$$DTE	= 000002	 318-11181 #318-11181  318-11181  322-11356 #322-11356  322-11356 
$$$EBS	= 000001	 318-11164 #318-11164  318-11164 
$$$ELE	= 000003	 316-11118 #316-11118  316-11118  318-11183 #318-11183  318-11183  324-11400 #324-11400  324-11400 
$$$ENB	= 000001	 326-11430 #326-11430  326-11430 
$$$ERR	= 000001	 322-11358 #322-11358  322-11358 
$$$EXA	= 000001	 314-11056 #314-11056  314-11056 
$$$EXT	= 000001	 323-11381 #323-11381  323-11381 
$$$FEB	= 000001	 320-11241 #320-11241  320-11241 
$$$FER	= 000001	 318-11185 #318-11185  318-11185 
$$$FLG	= 000001	 318-11187 #318-11187  318-11187 
$$$FM 	= 000002	 318-11166 #318-11166  318-11166  326-11432 #326-11432  326-11432 
$$$FRD	= 000001	 314-11058 #314-11058  314-11058 
$$$FSS	= 000002	 326-11434 #326-11434  326-11434  327-11447 #327-11447  327-11447 
$$$FUL	= 000001	 323-11387 #323-11387  323-11387 
$$$FWR	= 000001	 314-11060 #314-11060  314-11060 
$$$FXC	= 000001	 314-11062 #314-11062  314-11062 
$$$GLB	= ******	 79-3251    79-3251    79-3251    79-3251    79-3251    79-3251    147-5580   147-5580   147-5580  
                         147-5580   147-5585   147-5585   147-5585   147-5585   152-5756   152-5756   152-5756   152-5756  
                         152-5756   235-8555   235-8555   235-8555   235-8555   235-8555   235-8555   252-9144   252-9144  
                         252-9144   252-9144   252-9144   252-9144   252-9144   252-9144   256-9315   256-9315   256-9315  
                         256-9315   256-9315   256-9315   258-9374   258-9374   258-9374   258-9374   258-9374   258-9374  
                         258-9374   258-9374   360-12624  360-12624  360-12624  360-12624  360-12624  360-12624  360-12624 
                         360-12624  393-13785  393-13785  393-13785  393-13785  393-13785  393-13785  393-13785  393-13785 
                         393-13794  393-13794  393-13794  393-13794  393-13794  393-13794  393-13794  393-13794  393-13799 
                         393-13799  393-13799  393-13799  393-13799  393-13799  393-13799  393-13799 
$$$HLF	= 000001	 323-11389 #323-11389  323-11389 
$$$HLT	= 000001	 314-11064 #314-11064  314-11064 
$$$INC	= 000006	 315-11103 #315-11103  315-11103  316-11124 #316-11124  316-11124  317-11139 #317-11139  317-11139 
                         318-11207 #318-11207  318-11207  327-11449 #327-11449  327-11449  330-11510 #330-11510  330-11510 
$$$INI	= 000002	 314-11070 #314-11070  314-11070  322-11360 #322-11360  322-11360 
$$$INT	= 000001	 323-11383 #323-11383  323-11383 
$$$IO 	= 000001	 322-11362 #322-11362  322-11362 
$$$JAN	= 000001	 320-11239 #320-11239  320-11239 
$$$JMP	= 000001	 314-11072 #314-11072  314-11072 
$$$JUL	= 000001	 320-11251 #320-11251  320-11251 
$$$JUN	= 000001	 320-11249 #320-11249  320-11249 
$$$KL 	= 000001	 318-11189 #318-11189  318-11189 
$$$KLI	= 000002	 327-11451 #327-11451  327-11451  330-11512 #330-11512  330-11512 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 36

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$MAR	= 000001	 320-11243 #320-11243  320-11243 
$$$MAY	= 000001	 320-11247 #320-11247  320-11247 
$$$MCR	= 000001	 314-11074 #314-11074  314-11074 
$$$MEM	= 000002	 327-11453 #327-11453  327-11453  330-11514 #330-11514  330-11514 
$$$MGN	= 000001	 323-11385 #323-11385  323-11385 
$$$MNT	= 000002	 319-11220 #319-11220  319-11220  325-11409 #325-11409  325-11409 
$$$MQ 	= 000001	 318-11168 #318-11168  318-11168 
$$$NOT	= 000001	 327-11455 #327-11455  327-11455 
$$$NOV	= 000001	 320-11259 #320-11259  320-11259 
$$$NRM	= 000001	 323-11373 #323-11373  323-11373 
$$$NUL	= 000001	 314-11044 #314-11044  314-11044 
$$$NXT	= 000004	 315-11105 #315-11105  315-11105  316-11126 #316-11126  316-11126  317-11141 #317-11141  317-11141 
                         318-11209 #318-11209  318-11209 
$$$OCT	= 000001	 320-11257 #320-11257  320-11257 
$$$OFS	= 000002	 327-11457 #327-11457  327-11457  330-11516 #330-11516  330-11516 
$$$OPR	= 000002	 319-11222 #319-11222  319-11222  325-11411 #325-11411  325-11411 
$$$OST	= 000014	#79-3251    79-3251    79-3251   #79-3251    79-3251    79-3251   #79-3251    79-3251    79-3251   
                        #79-3251    79-3251    79-3251   #79-3251    79-3251    79-3251   #79-3251   #147-5580   147-5580  
                         147-5580  #147-5580   147-5580   147-5580  #147-5580   147-5580   147-5580  #147-5580  #147-5585  
                         147-5585   147-5585  #147-5585   147-5585   147-5585  #147-5585   147-5585   147-5585  #147-5585  
                        #152-5756   152-5756   152-5756  #152-5756   152-5756   152-5756  #152-5756   152-5756   152-5756  
                        #152-5756   152-5756   152-5756  #152-5756  #235-8555   235-8555   235-8555  #235-8555   235-8555  
                         235-8555  #235-8555   235-8555   235-8555  #235-8555   235-8555   235-8555  #235-8555   235-8555  
                         235-8555  #235-8555  #252-9144   252-9144   252-9144  #252-9144   252-9144   252-9144  #252-9144  
                         252-9144   252-9144  #252-9144   252-9144   252-9144  #252-9144   252-9144   252-9144  #252-9144  
                         252-9144   252-9144  #252-9144   252-9144   252-9144  #252-9144   252-9144   252-9144  #252-9144  
                        #256-9315   256-9315   256-9315  #256-9315   256-9315   256-9315  #256-9315   256-9315   256-9315  
                        #256-9315   256-9315   256-9315  #256-9315   256-9315   256-9315  #256-9315  #258-9374   258-9374  
                         258-9374  #258-9374   258-9374   258-9374  #258-9374   258-9374   258-9374  #258-9374   258-9374  
                         258-9374  #258-9374   258-9374   258-9374  #258-9374   258-9374   258-9374  #258-9374   258-9374  
                         258-9374  #258-9374   258-9374   258-9374  #258-9374  #360-12624  360-12624  360-12624 #360-12624 
                         360-12624  360-12624 #360-12624  360-12624  360-12624 #360-12624  360-12624  360-12624 #360-12624 
                         360-12624  360-12624 #360-12624  360-12624  360-12624 #360-12624  360-12624 #393-13785  393-13785 
                         393-13785 #393-13785  393-13785  393-13785 #393-13785  393-13785  393-13785 #393-13785  393-13785 
                         393-13785 #393-13785  393-13785  393-13785 #393-13785  393-13785  393-13785 #393-13785  393-13785 
                        #393-13794  393-13794  393-13794 #393-13794  393-13794  393-13794 #393-13794  393-13794  393-13794 
                        #393-13794  393-13794  393-13794 #393-13794  393-13794  393-13794 #393-13794  393-13794  393-13794 
                        #393-13794  393-13794 #393-13799  393-13799  393-13799 #393-13799  393-13799  393-13799 #393-13799 
                         393-13799  393-13799 #393-13799  393-13799  393-13799 #393-13799  393-13799  393-13799 #393-13799 
                         393-13799  393-13799 #393-13799  393-13799 
$$$PAG	= 000001	 322-11364 #322-11364  322-11364 
$$$PC 	= 000001	 318-11170 #318-11170  318-11170 
$$$PI 	= 000002	 318-11191 #318-11191  318-11191  322-11366 #322-11366  322-11366 
$$$PRG	= 000002	 319-11224 #319-11224  319-11224  325-11413 #325-11413  325-11413 
$$$PRV	= 000004	 315-11107 #315-11107  315-11107  316-11128 #316-11128  316-11128  317-11143 #317-11143  317-11143 
                         318-11211 #318-11211  318-11211 
$$$PST	= 000002	 327-11459 #327-11459  327-11459  330-11518 #330-11518  330-11518 
$$$QTR	= 000001	 323-11391 #323-11391  323-11391 
$$$QUT	= 000001	 314-11088 #314-11088  314-11088 
$$$REG	= 000001	 318-11193 #318-11193  318-11193 
$$$REM	= 000001	 319-11229 #319-11229  319-11229 
$$$RLD	= 000002	 327-11461 #327-11461  327-11461  330-11520 #330-11520  330-11520 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 37

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$RPT	= 000003	 314-11076 #314-11076  314-11076  327-11463 #327-11463  327-11463  330-11522 #330-11522  330-11522 
$$$RST	= 000001	 314-11078 #314-11078  314-11078 
$$$RTY	= 000002	 327-11465 #327-11465  327-11465  330-11524 #330-11524  330-11524 
$$$RUN	= 000001	 314-11080 #314-11080  314-11080 
$$$SBR	= 000001	 318-11201 #318-11201  318-11201 
$$$SCR	= 000001	 318-11203 #318-11203  318-11203 
$$$SEP	= 000001	 320-11255 #320-11255  320-11255 
$$$SET	= 000001	 314-11082 #314-11082  314-11082 
$$$SHU	= 000001	 314-11084 #314-11084  314-11084 
$$$SLO	= 000001	 323-11393 #323-11393  323-11393 
$$$STR	= 000001	 314-11086 #314-11086  314-11086 
$$$TEN	= 000004	 316-11120 #316-11120  316-11120  318-11195 #318-11195  318-11195  324-11402 #324-11402  324-11402 
                         329-11495 #329-11495  329-11495 
$$$THS	= 000004	 315-11109 #315-11109  315-11109  316-11130 #316-11130  316-11130  317-11145 #317-11145  317-11145 
                         318-11213 #318-11213  318-11213 
$$$TRK	= 000002	 327-11468 #327-11468  327-11468  330-11527 #330-11527  330-11527 
$$$T1 	= 000000	#79-3251    79-3251    79-3251    79-3251   #79-3251    79-3251   #147-5580   147-5580   147-5580  
                        #147-5580   147-5580   147-5580  #147-5580   147-5580   147-5580  #147-5585   147-5585   147-5585  
                        #147-5585   147-5585   147-5585  #147-5585   147-5585   147-5585  #214-7925   214-7925  #235-8555  
                         235-8555   235-8555   235-8555  #235-8555   235-8555  #256-9315   256-9315   256-9315   256-9315  
                        #256-9315   256-9315  
$$$UCD	= 000001	 329-11497 #329-11497  329-11497 
$$$USR	= 000002	 319-11231 #319-11231  319-11231  325-11415 #325-11415  325-11415 
$$$VER	= 000001	 330-11530 #330-11530  330-11530 
$$$VMA	= 000001	 318-11197 #318-11197  318-11197 
$$$VMH	= 000001	 318-11199 #318-11199  318-11199 
$$$WHA	= 000001	 314-11090 #314-11090  314-11090 
$$$XCT	= 000001	 314-11092 #314-11092  314-11092 
$$$ZER	= 000001	 314-11094 #314-11094  314-11094 
.ABORT	  000004 RG	#37-1507    279-10058  279-10058 
.ABRTC	  000000 RG	#35-1461    314-11046 
.ABRT0	  000032 RG	 37-1509   #37-1516   
.APRWD	  000000 RG	#53-2066    53-2145   *96-3839    288-10325 
.ASCID	  000016 RG	 145-5553  #147-5579  
.ASCOD	  000026 RG	 145-5551  #147-5584  
.ATCID	  000242 RG	 390-13716 #393-13793 
.ATLMD	= 000033	#21-836    
.BRCLK	= 005000	#148-5624  #278-10037 #394-13839 
.BRMBC	  006470 RG	#149-5653  
.BURST	  006474 RG	#149-5655   176-6616   176-6616  
.CCMDN	  000002 RG	#53-2068    102-4022  *210-7790  *212-7861  *212-7864  *217-7991   220-8094  
.CDIBC	= 000216 R	#360-12627 
.CDIBP	= 000214 R	#360-12626 
.CDINP	  000200 RG	 359-12560 #360-12623  360-12626  360-12627 
.CDOBC	= 000236 RG	 387-13631 *388-13667 *391-13730 #393-13788 
.CDOBP	= 000234 RG	#393-13787 
.CDOFC	= 000240 RG	#393-13789 
.CDOUT	  000220 RG	 390-13718 #393-13784  393-13787  393-13788  393-13789 
.CECLK	= 004000	#148-5624  #278-10037 #394-13839 
.CESCK	  000056 RG	#39-1599    143-5454   143-5454   158-5936   158-5936   161-6051   161-6051   201-7506   201-7506  
                         213-7891   213-7891  
.CHTAB	  001360 RG	 40-1639    40-1646    41-1676    43-1741    44-1778    45-1807   #60-2410    100-3965   223-8179  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 38

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         227-8319   260-9426   264-9552   280-10098  282-10155  300-10573  359-12570  373-13096 
.CIBFL	= 000214  G	#56-2259    360-12624 
.CIBFR	  000240 RG	#56-2257    56-2259    244-8858   244-8867   248-9005   259-9386   263-9542   311-10964  359-12557 
                         360-12624 
.CISTS	  000004 RG	#53-2070    359-12562  359-12565  360-12624 
.CKARG	  000140 RG	#40-1637    64-2609    64-2609    66-2711    66-2711    81-3311    81-3311    84-3419    84-3419   
                         89-3584    89-3584    93-3732    93-3732    227-8321   227-8321   259-9392   259-9392   260-9419  
                         260-9419   260-9429   260-9429   264-9554   264-9554   277-10003  277-10003  299-10546  299-10546 
                         299-10558  299-10558  364-12772  364-12772  371-13009  371-13009 
.CKCOL	  000200 RG	#41-1674    75-3083    75-3083    81-3322    81-3322    88-3535    88-3535    89-3593    89-3593   
.CKCTC	  000236 RG	#42-1709    219-8050   219-8050   397-13925  397-13925 
.CKEOC	  000264 RG	 35-1462    35-1462   #43-1739    50-1974    50-1974    79-3242    79-3242    82-3332    82-3332   
                         85-3433    85-3433    88-3541    88-3541    90-3603    90-3603    94-3747    94-3747    111-4371  
                         111-4371   115-4481   115-4481   116-4524   116-4524   118-4590   118-4590   120-4637   120-4637  
                         121-4676   121-4676   123-4750   123-4750   125-4802   125-4802   138-5305   138-5305   140-5367  
                         140-5367   210-7791   220-8091   220-8091   225-8255   225-8255   227-8327   227-8327   233-8507  
                         233-8507   238-8635   238-8635   240-8711   240-8711   244-8847   244-8847   248-9012   248-9012  
                         252-9142   252-9142   254-9241   254-9241   260-9438   260-9438   264-9563   264-9563   272-9863  
                         272-9863   275-9929   275-9929   279-10055  279-10055  280-10101  280-10101  282-10160  282-10160 
                         282-10164  282-10164  284-10227  284-10227  284-10235  284-10235  286-10285  286-10285  286-10292 
                         286-10292  288-10330  288-10330  290-10354  290-10354  291-10362  291-10362  294-10421  294-10421 
                         295-10433  295-10433  299-10551  299-10551  396-13889  396-13889 
.CKEOS	  000326 RG	#44-1776    74-3033    74-3033    75-3092    75-3092    76-3123    76-3123    365-12795  365-12795 
.CKOBJ	  000350 RG	#45-1805    248-9008   248-9008   271-9817   271-9817   271-9824   271-9824   272-9861   272-9861  
                         273-9870   273-9870   282-10157  282-10157  286-10282  286-10282 
.CKRNP	  000366 RG	#46-1835    227-8331   227-8331   279-10046  279-10046 
.CKRUN	  000376 RG	#46-1840    73-2982    73-2982    88-3534    88-3534    228-8354   228-8354   280-10095  280-10095 
                         301-10604  301-10604  395-13864  395-13864 
.CKSYM	  000446 RG	 40-1638    40-1638    43-1746    43-1746    45-1806    45-1806   #47-1884    47-1887    219-8051  
                         219-8051   233-8502   233-8502   264-9551   264-9551   364-12765  364-12765 
.CLDFB	  006524 RG	#150-5690   183-6842   183-6842   189-7041   189-7041   195-7282   195-7282  
.CLDFR	  006530 RG	#150-5692  
.CLDFW	  006540 RG	 150-5691   150-5691  #150-5697   185-6925   185-6925   187-6974   187-6974  
.CLKWD	  000010 RG	#53-2072    185-6914  *190-7099   191-7112   199-7439   301-10628  305-10778 
.CLRCM	  017502 RG	#271-9816   314-11048 
.CLRFF	  006554 RG	#151-5726   175-6583   175-6583   178-6701   178-6701   206-7654   206-7654  
.CLRMR	= 006000	#148-5624  #278-10037 #394-13839 
.CLRUN	= 010000	#148-5624  #278-10037 #394-13839 
.CMDTB	  002520 RG	 212-7860  #314-11043 
.CMNDL	= 000430  G	#56-2274    360-12580 
.COBFL	= 000204  G	#56-2263    391-13731 
.COBFR	  000454 RG	 53-2177   #56-2261    391-13732  393-13785 
.COMEF	= ******  GX	*37-1519   *195-7294   240-8702   249-9050  *279-10064 
.COMMA	= 000054	#21-834     300-10575 
.COMND	  000670 RG	#56-2272    56-2274    217-8008  
.CONBT	= 012000	#148-5624  #278-10037 #394-13839 
.CONTC	  000504 RG	#50-1973    314-11050 
.COSTS	  000012 RG	#53-2074    390-13720  393-13785 
.CSHRG	= 164000	#148-5624  #278-10037 #394-13839 
.DATE3	= ******  GX	*240-8706   240-8709  *241-8767   252-9169  
.DAY  	= ******  GX	*241-8766  
.DBGSW	  000016 RG	#53-2089    109-4293   214-7920  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 39

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DEPAR	  002250 RG	#88-3533    316-11116 
.DFBLK	  000214 RG	#55-2236    141-5404   167-6282   169-6375   172-6473  
.DFCOM	  001170 RG	#73-2981    74-3032    74-3032    75-3082    75-3082    76-3122    76-3122   
.DFRB 	  000222 RG	#55-2239    150-5694   167-6245   349-12199 
.DFRED	  001300 RG	#74-3031    314-11058 
.DFWB 	  000214 RG	#55-2237    150-5699   168-6319  *183-6845  *183-6853  *185-6927   187-6975   349-12206 
.DFWRT	  001404 RG	#75-3081    314-11060 
.DFXCT	  001464 RG	#76-3121    314-11062 
.DIAG1	= 000000	#10-350    
.DIAG2	= 000002	#10-351     154-5801   154-5822  
.DIAG3	= 000006	#10-353     154-5809   154-5830  
.DISCC	  001572 RG	#79-3241    314-11054 
.DOCMD	  012266 RG	#212-7852   217-8012   217-8012   225-8257   225-8257  
.DOW  	= ******  GX	*241-8758   252-9155  
.DPBFR	  000020 RG	#53-2092    90-3612    91-3646    163-6106  
.DPBFX	  000026 RG	#53-2094    89-3595    92-3694    92-3699   
.DPDPB	  000062 RG	 162-6067   162-6068  #163-6105  
.DPETB	  002742 RG	 81-3313    89-3586   #315-11100 
.DPEWD	  002006 RG	 65-2634   #83-3365   
.DPEWI	  002014 RG	 65-2646   #83-3369   
.DPEWN	  002022 RG	 65-2658   #83-3373   
.DPEWP	  002030 RG	 65-2670   #83-3377   
.DPEWT	  002000 RG	 65-2682   #83-3361   
.DPKLD	  002666 RG	 65-2633   #92-3676   
.DPKLI	  002674 RG	 65-2645   #92-3680   
.DPKLM	  007116 RG	 91-3640    91-3640   #160-6018   230-8418   230-8418   275-9942   275-9942  
.DPKLN	  002702 RG	 65-2657   #92-3684   
.DPKLP	  002710 RG	 65-2669   #92-3688   
.DPKLT	  002660 RG	 65-2681   #92-3672   
.DPOBJ	  000712 RG	 64-2610   #68-2811   
.DPOEL	  000742 RG	#68-2823    316-11118 
.DPOKL	  000734 RG	#68-2819    316-11120 
.DPOSA	  000620 RG	#64-2611   
.DPOSC	  000606 RG	#64-2607    314-11052 
.DPOSD	  000624 RG	#65-2626    315-11101  316-11122 
.DPOSE	  001616 RG	 64-2619    68-2825   #81-3310   
.DPOSI	  000630 RG	#65-2638    315-11103  316-11124 
.DPOSN	  000634 RG	#65-2650    315-11105  316-11126 
.DPOSP	  000640 RG	#65-2662    315-11107  316-11128 
.DPOST	  002340 RG	 64-2618    68-2821   #89-3583   
.DPOSZ	  000644 RG	#65-2674    315-11109  316-11130 
.DPOTB	  003002 RG	 68-2812   #316-11115 
.DPSEE	  001670 RG	#82-3331    83-3383    83-3391   
.DPSTE	  002410 RG	#90-3602    92-3695    92-3701   
.DPTRK	  023654 RG	 160-6025   160-6025  #354-12376 
.DREG 	  000230 RG	#55-2242   *155-5839   155-5842   156-5890   167-6282   169-6375   172-6473  
.DRLTC	= 015000	#148-5624  #278-10037 #394-13839 
.DSACF	= 066000	#148-5624  #278-10037 #394-13839 
.DSIOJ	= 065000	#148-5624  #278-10037 #394-13839 
.DTAB 	  002040 R	 160-6020  #162-6066  
.DTBUF	  002344 RG	 258-9373   261-9468  #262-9500  
.DTCID	  000256 RG	 390-13722 #393-13798 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 40

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DTDI1	  000230 RG	#55-2243   
.DTDI2	  000232 RG	#55-2245   
.DTDI3	  000236 RG	#55-2249   
.DTDW1	  006664 RG	 39-1600    39-1600    122-4709   143-5467   143-5467  #154-5817   165-6180   165-6180   165-6186  
                         165-6186   175-6580   175-6580   176-6591   176-6591   176-6617   176-6617   178-6703   178-6703  
                         206-7661   206-7661  
.DTDW2	  006672 RG	 122-4708  #154-5821  
.DTDW3	  006712 RG	 122-4707  #154-5829  
.DTSTA	  006702 RG	 48-1914    48-1914    122-4706   143-5451   143-5451  #154-5825  
.DTSTS	  000234 RG	#55-2247   
.DTSTW	= 000004	#10-352     154-5805   154-5826  
.DTTRK	  023532 RG	 155-5846  #352-12288 
.DWDW1	  006610 RG	#154-5796  
.DWDW2	  006616 RG	#154-5800   196-7343   196-7343  
.DWDW3	  006636 RG	#154-5808   196-7345  
.DWSTA	  006626 RG	#154-5804  
.EBCLK	  006770 RG	#158-5934   165-6179   165-6179  
.EBPCK	  000462 RG	#48-1913    213-7892  
.EDELA	  000034 RG	#53-2104    70-2870    70-2875   *82-3337    83-3362   *85-3437    86-3458    109-4289  
.EDEWD	  001016 RG	#70-2868    83-3366    83-3366    86-3462    86-3462   
.EDEWI	  001030 RG	#70-2873    83-3370    83-3370    86-3466    86-3466   
.EDEWN	  001030 RG	#70-2874    83-3374    83-3374    86-3470    86-3470   
.EDEWP	  001016 RG	#70-2869    83-3378    83-3378    86-3474    86-3474   
.EDKLA	  000036 RG	#53-2106    71-2912    90-3606    94-3751    95-3777    163-6106   163-6124  
.EDKLC	  001140 RG	 71-2884    71-2884    71-2889    71-2889    71-2894    71-2894    71-2900    71-2900   #71-2910   
.EDKLD	  001066 RG	#71-2893    92-3677    92-3677    95-3781    95-3781   
.EDKLI	  001104 RG	#71-2899    92-3681    92-3681    95-3785    95-3785   
.EDKLN	  001054 RG	#71-2888    92-3685    92-3685    95-3789    95-3789   
.EDKLP	  001042 RG	#71-2883    92-3689    92-3689    95-3793    95-3793   
.EDKLX	  000044 RG	#53-2108    71-2911    89-3591    92-3673    93-3739   *143-5458  *143-5459   144-5511  
.EIOJA	= 067000	#148-5624  #278-10037 #394-13839 
.ELDDW	  000052 RG	#53-2110   *82-3338    83-3382   
.ELEDW	  000054 RG	#53-2112   *85-3440   
.ELNCK	  024224 RG	#361-12653  362-12699  362-12699 
.ETAB 	  002030 R	 160-6009  #162-6060  
.EXAD 	  004276 RG	#113-4420   318-11152 
.EXADX	  004304 RG	#113-4424   318-11154 
.EXAMA	  000662 RG	#66-2714   
.EXAMC	  000650 RG	#66-2709    314-11056 
.EXAMD	  000666 RG	#67-2729    317-11137  318-11205 
.EXAME	  002066 RG	 66-2722    69-2859   #84-3418   
.EXAMF	  004502 RG	#116-4523   118-4598   118-4598   318-11187 
.EXAMI	  000672 RG	#67-2741    317-11139  318-11207 
.EXAMK	  004606 RG	#118-4589   318-11189 
.EXAMN	  000676 RG	#67-2753    317-11141  318-11209 
.EXAMP	  000702 RG	#67-2765    317-11143  318-11211 
.EXAMT	  002746 RG	 66-2721    69-2863   #93-3731   
.EXAMZ	  000706 RG	#67-2777    317-11145  318-11213 
.EXARR	  004312 RG	#113-4428   318-11156 
.EXARX	  004320 RG	#113-4432   318-11158 
.EXBFR	  000056 RG	#53-2114    90-3621    91-3643    91-3647    94-3750    144-5512   163-6124  
.EXBRR	  004326 RG	#113-4436   318-11160 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 41

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.EXBRX	  004334 RG	#113-4440   318-11162 
.EXCRA	  004662 RG	#119-4607   318-11175 
.EXCRL	  004670 RG	#119-4611   318-11177 
.EXCTC	  004222 RG	#111-4365   314-11092 
.EXCTF	  007300 RG	#164-6151   229-8381   230-8421   230-8421   230-8423   230-8423  
.EXDPB	  000074 RG	 162-6061   162-6062  #163-6123  
.EXDPM	  007154 RG	 160-6010   160-6010   160-6021   160-6021  #161-6035  
.EXDRA	  004676 RG	#119-4615   318-11179 
.EXDTE	  004776 RG	#121-4675   318-11181 
.EXEBS	  004342 RG	#113-4444   318-11164 
.EXECT	  007356 RG	 111-4378  #165-6174  
.EXETB	  003064 RG	 84-3421    93-3734   #317-11136 
.EXEWD	  002220 RG	 67-2737   #86-3461   
.EXEWI	  002226 RG	 67-2749   #86-3465   
.EXEWN	  002234 RG	 67-2761   #86-3469   
.EXEWP	  002242 RG	 67-2773   #86-3473   
.EXEWT	  002212 RG	 67-2785   #86-3457   
.EXFER	  004704 RG	#119-4619   318-11185 
.EXFMR	  004350 RG	#113-4448   318-11166 
.EXITP	  012436 RG	 50-1995    79-3245    144-5499   146-5572  #214-7918   233-8511   238-8636   256-9306   275-9945  
                         279-10043  282-10185  360-12611  391-13735 
.EXKLD	  003114 RG	 67-2736   #95-3780   
.EXKLI	  003122 RG	 67-2748   #95-3784   
.EXKLM	  007064 RG	 90-3625    90-3625    91-3645    91-3645    94-3759    94-3759    143-5462   143-5462  #160-6007  
.EXKLN	  003130 RG	 67-2760   #95-3788   
.EXKLP	  003136 RG	 67-2772   #95-3792   
.EXKLT	  003106 RG	 67-2784   #95-3776   
.EXMEE	  002114 RG	#85-3432    86-3459    86-3463    86-3467    86-3471    86-3475   
.EXMEL	  001000 RG	#69-2857    318-11183 
.EXMKL	  001010 RG	#69-2861    318-11195 
.EXMPI	  005074 RG	 118-4597   118-4597  #123-4749   318-11191 
.EXMQR	  004356 RG	#113-4452   318-11168 
.EXMTB	  003124 RG	 69-2849    125-4804  #318-11151  318-11172 
.EXMTE	  003000 RG	#94-3746    95-3778    95-3782    95-3786    95-3790    95-3794   
.EXOBJ	  000752 RG	 66-2712   #69-2848   
.EXREG	  005246 RG	#125-4801   318-11193 
.EXSBR	  004712 RG	#119-4623   318-11201 
.EXSCR	  004720 RG	#119-4627   318-11203 
.EXTRK	  023642 RG	 160-6014   160-6014  #354-12371 
.EXVAB	  004364 RG	#114-4459   318-11173 
.EXVMA	  004372 RG	#114-4463   118-4596   118-4596   318-11197 
.EXVMH	  004400 RG	#114-4467   318-11199 
.EXVPC	  004406 RG	#114-4471   118-4594   118-4594   318-11170 
.FEMOD	= ******  GX	 46-1849    219-8081   220-8101   279-10056 *282-10181  283-10198 
.FREAD	  007512 RG	 74-3040    74-3040    96-3835    96-3835    127-4883   129-4932   129-4932   129-4939   129-4939  
                         129-4946   129-4946   131-4994   131-4994   133-5081   133-5081   133-5088   133-5088   136-5211  
                         136-5211   158-5943   158-5943  #167-6241   189-7048   189-7048   190-7096   190-7096   193-7229  
                         193-7229  
.FRTRK	  023372 RG	 167-6257   167-6257  #349-12196 
.FWRIT	  007574 RG	 75-3095    75-3095   #168-6317   177-6665   177-6665   181-6809   181-6809   183-6848   183-6848  
                         183-6856   183-6856   185-6929   185-6929   185-6934   185-6934   187-6983   187-6983   187-6990  
                         187-6990   189-7043   189-7043   195-7286   195-7286   195-7291   195-7291   208-7747   208-7747  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 42

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.FWTRK	  023412 RG	 169-6348   169-6348  #349-12203 
.FXCT 	  007716 RG	 50-1985    50-1985    76-3125    149-5660   151-5732   151-5732   158-5941   158-5941  #171-6405  
                         174-6528   174-6528   180-6751   180-6751   181-6811   188-7029   188-7029   189-7052   189-7052  
                         189-7057   189-7057   201-7510   201-7510   204-7603   204-7603   207-7704   207-7704  
.FXTRK	  023432 RG	 172-6446   172-6446  #349-12210 
.GFNR 	= 102000	#148-5624  #278-10037 #394-13839 
.GTCMD	  024010 RG	 217-8009   217-8009  #358-12510 
.GTDAT	  016216 RG	 240-8715   240-8715   246-8923   246-8923   246-8937   246-8937  #258-9369  
.GTELN	  024300 RG	 81-3318    81-3318    81-3323    81-3323    83-3388    83-3388    84-3426    84-3426    280-10100 
                         280-10100  288-10328  288-10328 #362-12693 
.GTEXP	  024560 RG	 364-12769  364-12769  365-12794  365-12794 #366-12842  372-13059  372-13059 
.GTFCT	  024766 RG	 368-12903  368-12903  369-12938  369-12938 #370-12972  372-13040  372-13040  372-13045  372-13045 
                         372-13051  372-13051 
.GTKLA	  024330 RG	 89-3592    89-3592    93-3740    93-3740    279-10052  279-10052 #363-12726  395-13869  395-13869 
                         396-13887  396-13887 
.GTKLN	  024362 RG	 73-2987    73-2987    75-3091    75-3091    89-3596    89-3596    92-3700    92-3700    111-4370  
                         111-4370   225-8251   225-8251   294-10419  294-10419 #364-12763 
.GTLIN	  024044 RG	 244-8860   244-8860   244-8868   244-8868   248-9007   248-9007   259-9390   259-9390   263-9544  
                         263-9544   311-10965  311-10965  358-12514  358-12514 #359-12555 
.GTNBR	  025262 RG	 260-9416   260-9416   260-9431   260-9431   264-9560   264-9560   265-9600   265-9600   370-12981 
                         370-12981 #373-13087 
.GTNUM	  024362 RG	 88-3540    88-3540    284-10226  284-10226  362-12698  362-12698  363-12727  363-12727 #364-12762 
.GTR50	  013730 RG	 233-8503   233-8503   233-8506   233-8506  #237-8581  
.GTTIM	  016662 RG	 240-8719   240-8719   246-8928   246-8928   247-8977   247-8977  #263-9535  
.GTTRM	  024654 RG	 366-12843  366-12843  367-12870  367-12870 #368-12902 
.HALTC	  006062 RG	#138-5304   314-11064 
.INCHC	  000064 RG	#53-2116    244-8870   261-9482   265-9615  *359-12558 *360-12579  360-12580  360-12586 *373-13088 
                        *373-13098  374-13120 
.INEXT	  002014 R	 143-5461  #144-5510  
.INICL	= 070000	#148-5624  #278-10037 #394-13839 
.INICP	  006320 RG	 53-2181   #145-5541  
.INIC0	  006076 RG	#140-5368   146-5568   146-5568  
.INIT 	  006100 RG	#141-5401  
.INITC	  006072 RG	#140-5366   314-11070 
.INKLF	  006130 RG	 140-5369  #143-5447  
.IRADX	  000066 RG	#53-2118   *107-4205   225-8245  *225-8246  *225-8252   258-9370  *258-9371  *261-9481   263-9536  
                        *263-9537  *265-9614   294-10411 *294-10412 *294-10426  371-13014 *372-13030 *372-13034 *372-13038 
                        *372-13041  373-13092 
.IRLTC	= 014000	#148-5624  #278-10037 #394-13839 
.JUMPC	  017726 RG	#279-10041  314-11072 
.KACFL	= ******  GX	*291-10367  293-10390 
.KLCON	  010066 RG	 50-1989    50-1989    165-6196   165-6196  #174-6517  
.KLDFR	  000106 RG	 101-3988  *167-6242   167-6243  #167-6281   349-12198 
.KLDFW	  000120 RG	 101-3992  *168-6318   169-6335   169-6338  #169-6374   349-12205 
.KLDFX	  000132 RG	 101-3996  *171-6406   171-6407   171-6409  #172-6472   349-12212 
.KLFLG	= ******  GX	*39-1608   *39-1610    46-1845    50-1975    73-2996    73-2998    88-3542    90-3604    94-3748   
                         118-4591  *141-5409   143-5455  *162-6075  *162-6079   164-6152   165-6176  *169-6343   171-6415  
                        *171-6417   171-6421  *171-6423  *171-6430  *171-6436   174-6519   177-6666   178-6694   180-6764  
                        *188-7030  *189-7058   202-7538   202-7540   217-7993   228-8339   230-8402   280-10103  300-10584 
                         396-13892 
.KLGO 	  010074 RG	#174-6520   177-6667  
.KLHLT	  010164 RG	 73-2999    73-2999    88-3545    88-3545   #175-6578   177-6662   177-6662   178-6696   181-6807  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 43

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         181-6807   280-10105  280-10105  300-10585  300-10585 
.KLINC	  000070 RG	#53-2120    71-2895    71-2901    284-10228  284-10236  285-10248 
.KLMTB	  003420 RG	 248-9009  #319-11219 
.KLMT1	  003444 RG	 244-8861  #319-11228 
.KLNFD	= ******  GX	*248-9021  *248-9022   254-9252   255-9267  
.KLNFT	= ******  GX	*248-9020   255-9269  
.KLNMD	= ******  GX	*248-9016  *248-9023   249-9042  *249-9045   254-9245   255-9283   255-9290   255-9293   282-10178 
.KLNPB	= ******  GX	 249-9053  
.KLNPE	= ******  GX	 249-9060  
.KLNPW	= ******  GX	 248-9026  *249-9046  
.KLNSW	= ******  GX	*79-3243    244-8853  *249-9047   254-9248   256-9302   282-10176 
.KLNTD	= ******  GX	*248-9018  *248-9019   255-9274  
.KLNTT	= ******  GX	*248-9017   255-9276  
.KLRLD	= ******  GX	*290-10355  292-10379 
.KLRST	  010424 RG	 88-3551   #180-6741   200-7477   200-7477   300-10595  300-10595 
.KLST 	  010314 RG	#177-6660   279-10061  279-10061 
.KLSTP	  010342 RG	 37-1511    37-1511    138-5306  #178-6693   202-7541   202-7541  
.KLXCT	  010556 RG	 164-6160   164-6160   165-6177   165-6177  #181-6806  
.LCRDL	= 052000	#148-5624  #278-10037 #394-13839 
.LCRDR	= 051000	#148-5624  #278-10037 #394-13839 
.LCRM1	= 057000	#148-5624  #278-10037 #394-13839 
.LCRM2	= 056000	#148-5624  #278-10037 #394-13839 
.LCRM3	= 055000	#148-5624  #278-10037 #394-13839 
.LCRM4	= 054000	#148-5624  #278-10037 #394-13839 
.LCRM5	= 053000	#148-5624  #278-10037 #394-13839 
.LDAR 	= 077000	#148-5624  #278-10037 #394-13839 
.LDBRC	  010602 RG	#183-6838  
.LDBRG	  010606 RG	 149-5658   149-5658  #183-6840  
.LDBRL	= 043000	#148-5624  #278-10037 #394-13839 
.LDBRR	= 042000	#148-5624  #278-10037 #394-13839 
.LDCK1	= 046000	#148-5624  #278-10037 #394-13839 
.LDCK2	= 047000	#148-5624  #278-10037 #394-13839 
.LDCLK	  010704 RG	#185-6912   195-7279   195-7279   197-7398   197-7398   199-7442   199-7442   301-10627 
.LDCRA	  011002 RG	#187-6969   206-7657   206-7657  
.LDDIS	= 045000	#148-5624  #278-10037 #394-13839 
.LDPAR	  010722 RG	#185-6918   195-7280   195-7280   199-7446   199-7446   301-10633 
.LDRJD	= 064000	#148-5624  #278-10037 #394-13839 
.LDRJV	= 063000	#148-5624  #278-10037 #394-13839 
.LDRM1	= 060000	#148-5624  #278-10037 #394-13839 
.LDRM2	= 061000	#148-5624  #278-10037 #394-13839 
.LDRM3	= 062000	#148-5624  #278-10037 #394-13839 
.LDSEL	= 044000	#148-5624  #278-10037 #394-13839 
.LDZFL	  000100 RG	#53-2128   *115-4479  *285-10258 *350-12223 *352-12289 *378-13257 *380-13346  382-13435 *382-13440 
                         385-13548 *385-13552 
.LGLWD	  000076 RG	#53-2126   *68-2816   *69-2853   *212-7863   213-7875  *213-7886  *217-8010  *227-8326  *271-9832  
.MEMFL	  000102 RG	#53-2130    64-2608    66-2710   *286-10296  287-10308 
.MEMRS	= 076000	#148-5624  #278-10037 #394-13839 
.MON  	= ******  GX	*241-8764  
.MONTB	  003462 RG	 260-9421  #320-11238 
.MRCLR	  011116 RG	#188-7026   195-7281   195-7281  
.MTDPB	  000036 RG	 151-5728  #152-5755  
.NOERR	= ******  GX	*39-1606   *50-1992   *201-7511  *203-7571  *279-10063 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 44

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.NOHLT	= ******  GX	*151-5730  *174-6538  *180-6769  *200-7478  *275-9930  
.NOTSW	  000104 RG	#53-2132    240-8704   244-8848   249-9066   271-9818  *271-9820  *271-9825  *273-9871   282-10153 
                         284-10220  286-10280  288-10326  290-10355  291-10364  294-10417  295-10435  302-10684  303-10709 
                         304-10760 
.NSETB	  003574 RG	 99-3940   #321-11268 
.NULLC	  012254 RG	#210-7789   314-11044 
.ORADX	  000106 RG	#53-2134   *107-4206   266-9654  *266-9655  *267-9678   268-9724  *268-9725  *269-9754   285-10252 
                        *285-10253 *285-10261  378-13261  378-13265  379-13300  379-13304  380-13349  380-13353  381-13388 
                         381-13392  385-13541 
.PARER	  003206 RG	#99-3925    107-4219   107-4219  
.PCAB1	= 150000	#148-5624  #278-10037 #394-13839 
.PCAB2	= 151000	#148-5624  #278-10037 #394-13839 
.PCAB3	= 152000	#148-5624  #278-10037 #394-13839 
.PCAB4	= 153000	#148-5624  #278-10037 #394-13839 
.PEWRD	  000110 RG	#53-2136    193-7223  
.PITAB	  000112 RG	#53-2138    131-4990   131-5015  
.PSCWD	  000116 RG	#53-2140    185-6920  *190-7100   191-7118   199-7438   301-10634  308-10868 
.PTDIE	  003622 RG	#105-4118   109-4285  
.PTOAT	  004122 RG	 53-2161   #109-4280  
.PTTRP	  003700 RG	 54-2229   #107-4190  
.QUITC	  014036 RG	#238-8634   314-11088 
.RCRM1	= 147000	#148-5624  #278-10037 #394-13839 
.RCRM2	= 146000	#148-5624  #278-10037 #394-13839 
.RCRM3	= 145000	#148-5624  #278-10037 #394-13839 
.RCRM4	= 144000	#148-5624  #278-10037 #394-13839 
.RCSPF	= 141000	#148-5624  #278-10037 #394-13839 
.RDADR	  005310 RG	 113-4421  #127-4847  
.RDADX	  005316 RG	 113-4425  #127-4851  
.RDAPR	  003144 RG	 91-3651    91-3651   #96-3831   
.RDARR	  005324 RG	 113-4429  #127-4855  
.RDARX	  005332 RG	 113-4433  #127-4859  
.RDBRR	  005340 RG	 113-4437  #127-4863  
.RDBRX	  005346 RG	 113-4441  #127-4867  
.RDCPP	  011264 RG	#190-7087   199-7437   199-7437   300-10588  300-10588  301-10606  301-10606  305-10775  305-10775 
                         308-10865  308-10865 
.RDCRA	  005604 RG	 119-4608  #132-5048  
.RDCRL	  005612 RG	 119-4612  #132-5052  
.RDDRA	  005620 RG	 119-4616  #132-5056  
.RDEBS	  005354 RG	 113-4445  #127-4871  
.RDFER	  005626 RG	 119-4620  #132-5060  
.RDFLG	  005400 RG	 116-4526   116-4526  #129-4927  
.RDFMR	  005362 RG	 113-4449  #127-4875  
.RDIPE	  011420 RG	 103-4055   103-4055  #193-7219  
.RDJ14	= 134000	#148-5624  #278-10037 #394-13839 
.RDJ71	= 135000	#148-5624  #278-10037 #394-13839 
.RDMAB	= 133000	#148-5624  #278-10037 #394-13839 
.RDMQR	  005370 RG	 113-4453  #127-4879  
.RDPI 	  005524 RG	 123-4753   123-4753  #131-4987  
.RDSBR	  005634 RG	 119-4624  #132-5064  
.RDSCR	  005642 RG	 119-4628  #132-5068  
.RDVAB	  005740 RG	 114-4460  #135-5182  
.RDVMA	  005746 RG	 114-4464  #135-5186  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 45

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.RDVMH	  005754 RG	 114-4468  #135-5190  
.RDVPC	  005732 RG	 114-4472  #135-5178  
.RDXSV	  000120 RG	#53-2142    107-4205   107-4206  *225-8245   225-8252  *258-9370   261-9481  *263-9536   265-9614  
                        *285-10252  285-10261 *294-10411  294-10426 
.REGRW	  000050 RG	*154-5797  *154-5801  *154-5805  *154-5809  *154-5811   154-5812   154-5813  *154-5818  *154-5822  
                        *154-5826  *154-5830  *155-5837   155-5840  #156-5886   352-12293  352-12297  352-12303  352-12307 
.REGSV	  012512 RG	 107-4197   109-4283   135-5193   185-6913   185-6919   190-7088   193-7220  #216-7976   354-12372 
                         354-12377 
.RELWD	  000122 RG	#53-2144   *288-10331  289-10340  371-12996 
.REPTC	  013176 RG	#225-8244   314-11076 
.RESET	  011502 RG	#195-7272   197-7393   197-7393   199-7440   199-7440  
.RESTB	  004136 RG	 227-8322  #322-11351 
.RESTC	  013270 RG	#227-8317   314-11078 
.RESTD	  011616 RG	 161-6052   161-6052   195-7274   195-7274  #196-7341   228-8343   228-8343   228-8351  
.RESTI	  011636 RG	#197-7390   228-8356  
.RESTP	  011662 RG	 187-6972   187-6972  #199-7434   227-8333  
.RNDPB	  000144 RG	*233-8508   233-8509  #235-8554  
.RPTCT	  000124 RG	#53-2146    217-8011   285-10255  294-10422 
.RPTPT	  000132 RG	#53-2148   *212-7858   294-10424 
.RSALL	  013350 RG	#228-8338   322-11352 
.RSAPR	  013444 RG	 228-8344   228-8344  #229-8366   322-11354 
.RSDTE	  013416 RG	#228-8350   322-11356 
.RSERR	  013452 RG	#229-8370   322-11358 
.RSPAG	  013476 RG	 228-8345   228-8345  #230-8401   322-11364 
.RSTIN	  013422 RG	#228-8353   322-11360 
.RSTIO	  013460 RG	#229-8374   322-11362 
.RSTKL	  011734 RG	 74-3052    75-3097    91-3652    91-3652    107-4203   107-4203   115-4489   115-4489   116-4527  
                         116-4527   118-4600   120-4642   120-4642   123-4754   123-4754   125-4813   164-6162  #200-7474  
                         228-8348   230-8426   301-10608  305-10776  305-10776  308-10866  308-10866 
.RSTPI	  013466 RG	 228-8346   228-8346  #229-8378   322-11366 
.RUNCM	  013622 RG	#233-8501   314-11074  314-11080 
.R50TB	  001320 RG	#59-2344    392-13767 
.SCCEC	  021516 RG	#303-10698  323-11375 
.SCCED	  021524 RG	#303-10702  323-11377 
.SCCEE	  021532 RG	#303-10706  323-11379 
.SCCLK	  021156 RG	#299-10545  327-11441 
.SCCLN	  021400 RG	#302-10644  323-11373 
.SCCOM	  020174 RG	#282-10173  325-11409 
.SCCON	  020112 RG	#282-10152  327-11443 
.SCCOO	  020160 RG	#282-10165  325-11411 
.SCCOP	  020166 RG	 282-10156 #282-10169  325-11413 
.SCCOT	  004342 RG	 282-10158 #325-11408 
.SCCOU	  020222 RG	#282-10184  325-11415 
.SCCRF	  021402 RG	#302-10646  323-11387 
.SCCRH	  021406 RG	#302-10650  323-11389 
.SCCRQ	  021414 RG	#302-10654  323-11391 
.SCCRS	  021422 RG	#302-10658  323-11393 
.SCCSE	  021434 RG	#302-10664  323-11381 
.SCCSI	  021464 RG	#302-10675  323-11383 
.SCCSM	  021470 RG	#302-10679  323-11385 
.SCCTB	  004220 RG	 301-10626 #323-11372 
.SCDAT	  014046 RG	#240-8701   327-11445 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 46

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.SCFSS	  021170 RG	#299-10550  327-11447 
.SCINC	  020304 RG	#284-10219  327-11449 
.SCKLN	  014376 RG	#244-8846   327-11451 
.SCMEL	  020502 RG	#286-10288  324-11400 
.SCMEM	  020450 RG	#286-10279  327-11453 
.SCMKL	  020514 RG	#286-10293  324-11402 
.SCMTB	  004324 RG	 286-10283 #324-11399 
.SCNOT	  017602 RG	#273-9869   327-11455 
.SCOFS	  020554 RG	#288-10324  327-11457 
.SCPAL	  021554 RG	#304-10733  326-11422 
.SCPAR	  021562 RG	#304-10737  326-11424 
.SCPCR	  021570 RG	#304-10741  326-11426 
.SCPDR	  021576 RG	#304-10745  326-11428 
.SCPEN	  021604 RG	#304-10749  326-11430 
.SCPFM	  021612 RG	#304-10753  326-11432 
.SCPFS	  021620 RG	 299-10554  299-10554 #304-10757  326-11434 
.SCPST	  021212 RG	#299-10557  327-11459 
.SCPTB	  004374 RG	 301-10632 #326-11421 
.SCRLD	  020626 RG	#290-10353  327-11461 
.SCRPT	  020746 RG	#294-10410  327-11463 
.SCRTY	  020642 RG	#291-10361  327-11465 
.SCTRK	  021044 RG	#295-10432  327-11468 
.SEAMB	  003274 RG	#100-3960   328-11476 
.SECES	  003532 RG	#103-4053   328-11478 
.SECLK	= 003000	#148-5624  #278-10037 #394-13839 
.SEFRF	  003362 RG	#101-3987   328-11480 
.SEFWF	  003370 RG	#101-3991   328-11481 
.SEFXF	  003376 RG	#101-3995   328-11482 
.SEILC	  003320 RG	#100-3970   328-11484 
.SEILS	  003320 RG	#100-3971   328-11485 
.SEIPC	  003320 RG	#100-3972   328-11486 
.SENSK	  003274 RG	#100-3961   328-11488 
.SETCM	  017522 RG	#271-9823   314-11082 
.SETC0	  017532 RG	#271-9826   273-9872  
.SETMR	= 007000	#148-5624  #278-10037 #394-13839 
.SETRN	= 011000	#148-5624  #278-10037 #394-13839 
.SETTB	  004450 RG	 271-9828  #327-11440 
.SHIFT	  022330 RG	 183-6851   183-6851  #332-11593 
.SHUTC	  017614 RG	#275-9928   314-11084 
.SPACE	= 000040	#21-835     44-1780    47-1886    59-2356    100-3975   259-9400   360-12597  364-12770  377-13214 
                         383-13452  383-13453  383-13454  383-13455  383-13457  383-13458  383-13460  383-13461  383-13462 
                         383-13464  383-13465  383-13470  383-13474 
.SPETB	  004576 RG	 99-3927   #328-11475 
.SSCAN	  013134 RG	 219-8061   219-8061  #223-8165   223-8171   311-10969  311-10969  311-10973  311-10973 
.SSCLK	= 002000	#148-5624  #278-10037 #394-13839 
.SSM  	= ******  GX	*241-8759   246-8930   252-9163  
.SSTTB	  000174 RG	#54-2222    54-2231   *82-3339   *82-3350   *85-3436   *85-3439    105-4122  *109-4285  *109-4300  
                         145-5549  
.START	  012550 RG	 53-2151   #217-7987  
.STCLF	  011770 RG	 188-7031   188-7031  #201-7507  
.STCLK	  011762 RG	 50-1982    50-1982    165-6183   165-6183   174-6531   174-6531   180-6766   180-6766  #201-7504  
                         206-7658   206-7658   396-13894  396-13894 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 47

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.STPCL	= 000000	#148-5624  #278-10037 #394-13839 
.STPKL	  012012 RG	 91-3650    91-3650    115-4487   115-4487   116-4525   116-4525   118-4592   118-4592   120-4639  
                         120-4639   123-4752   123-4752   125-4803   125-4803   164-6158   164-6158  #202-7537   227-8332  
                         227-8332   228-8342   228-8342   228-8355   228-8355   230-8405   230-8405   301-10605  301-10605 
                         305-10774  305-10774  308-10864  308-10864  396-13891  396-13891 
.STPXC	  012036 RG	 149-5654   149-5654   165-6202   165-6202   176-6599   176-6599   176-6612   176-6612   183-6839  
                         183-6839   189-7040   189-7040   195-7276   195-7276   199-7436   199-7436  #203-7567   206-7655  
                         206-7655   208-7742   208-7742  
.STRCL	= 001000	#148-5624  #278-10037 #394-13839 
.STRTB	  004666 RG	 277-10005 #329-11494 
.STRTC	  017704 RG	#277-10002  314-11086 
.STRTT	  017736 RG	 277-10004 #279-10045  329-11495 
.STRTU	  020042 RG	#280-10094  329-11497 
.STRTV	  000134 RG	#53-2150    107-4226   109-4301   146-5569   220-8111   302-10673 
.STRUN	  012066 RG	 165-6206   165-6206   174-6525   174-6525   180-6749   180-6749   180-6760   180-6760  #204-7598  
.STUCD	  012106 RG	 37-1518    37-1518   #206-7650   280-10107 
.SVESP	  000136 RG	#53-2152   *145-5542   217-7988   220-8110  
.SVKLF	  000140 RG	*39-1607   #53-2154   *73-2998   *88-3549    107-4201  *118-4599  *164-6161   180-6743   180-6752  
                        *180-6772   200-7475  *200-7480  *202-7540  *217-7990  *228-8347  *230-8425  *300-10587 *397-13930 
.SYNXC	  012210 RG	 158-5951   176-6602   189-7055   189-7055  #207-7700   208-7744   208-7744  
.TCRLF	  026272 RG	 74-3050    74-3050    82-3351    85-3447    90-3632    90-3632    94-3766    99-3953    105-4127  
                         105-4127   105-4132   105-4132   107-4217   107-4217   108-4236   108-4236   109-4286   109-4286  
                         109-4291   109-4291   115-4497   116-4547   120-4649   122-4699   122-4699   124-4785   146-5567  
                         146-5567   220-8093   220-8093   252-9165   252-9165   255-9271   255-9271   255-9278   255-9278  
                         285-10262  289-10342  305-10801  305-10801  309-10906  311-10975  311-10975  350-12236  350-12236 
                         359-12564  359-12564  386-13588  388-13669 #389-13679 
.TFCHR	  026224 RG	 217-8007   217-8007   358-12520  358-12520 #387-13628 
.TPADD	  022716 RG	 71-2902    71-2902   #339-11859  343-11997  343-11997  367-12856  373-13105  373-13105 
.TPCLR	  022572 RG	 135-5201   135-5201   150-5701   150-5701   260-9428   260-9428   265-9599   265-9599   284-10237 
                         284-10237  294-10425  294-10425 #336-11733  343-11979  343-11979  364-12768  364-12768  385-13539 
                         385-13539 
.TPCMP	  022640 RG	 91-3648    91-3648    335-11683  335-11683 #337-11785  396-13898  396-13898  397-13921  397-13921 
.TPCOM	  022602 RG	#336-11740  336-11748  336-11748  372-13046  372-13046 
.TPDEC	  022750 RG	 71-2885    71-2885    213-7881   213-7881  #340-11899  347-12120  347-12120  396-13897 
.TPDIV	  022360 RG	 264-9568   264-9568  #334-11649  369-12924  385-13542  385-13542 
.TPINC	  022736 RG	 71-2890    71-2890    335-11688  335-11688  336-11749 #340-11892  347-12131  347-12131  396-13900 
.TPMUL	  023006 RG	#343-11971  369-12928  373-13102  373-13102 
.TPNEG	  022612 RG	#336-11747  372-13054  372-13054 
.TPSHI	  023172 RG	 96-3837    96-3837    129-4934   129-4934   129-4941   129-4941   131-4996   131-4996   133-5083  
                         133-5083   133-5090   133-5090   136-5216   136-5216   187-6980   187-6980   187-6987   187-6987  
                        #345-12049  347-12118  347-12118  347-12129  347-12129  365-12787  365-12787 
.TPSHL	  023236 RG	#346-12100  369-12920 
.TPSUB	  022762 RG	 71-2896    71-2896    335-11685  335-11685 #341-11930  367-12860 
.TPTST	  022674 RG	 213-7873   213-7873   213-7882   213-7882   225-8253   225-8253   279-10053  279-10053  334-11654 
                         334-11654 #338-11824  343-11973  343-11973  343-11976  343-11976  343-12004  343-12004  346-12106 
                         346-12106  347-12121  347-12121  347-12132  347-12132  364-12774  364-12774  365-12796  365-12796 
                         382-13437  382-13437  384-13517  384-13517 
.TPXTN	  022620 RG	 334-11651  334-11651  334-11653  334-11653 #336-11752  346-12105  346-12105 
.TRKWD	  000142 RG	#53-2157    155-5844   160-6012   160-6023   167-6255   169-6346   172-6444  *295-10439  296-10451 
.TRPEC	  000146 RG	#53-2162   *107-4196   107-4218  
.TRPIP	  000150 RG	#53-2164   *105-4119  *107-4191  *107-4212   107-4220  *107-4225  *108-4240  
.TRPPC	  000152 RG	#53-2166   *107-4194  *109-4281  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 48

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.TRPPS	  000154 RG	#53-2168   *107-4195  *109-4282  
.TRPSB	  000156 RG	#53-2170   *107-4193   107-4199   107-4207   107-4222  
.TRPTV	  000160 RG	*37-1510   *37-1513   #53-2172    107-4209  *107-4213  
.TRP4V	  000144 RG	#53-2160    82-3339    85-3436   
.TSCAN	  012672 RG	 68-2813    68-2813    69-2850    69-2850    81-3314    81-3314    84-3422    84-3422    89-3587   
                         89-3587    93-3735    93-3735    212-7862   212-7862  #219-8049   227-8323   227-8323   244-8862  
                         244-8862   248-9010   248-9010   260-9422   260-9422   271-9829   271-9829   272-9862   272-9862  
                         277-10006  277-10006  282-10159  282-10159  286-10284  286-10284  300-10570  300-10570 
.TYCHR	  026240 RG	 82-3343    82-3343    85-3443    85-3443    100-3967   100-3967   100-3980   100-3980   100-3983  
                         100-3983   102-4021   102-4021   102-4025   102-4025   266-9669   266-9669   268-9737   268-9737  
                         269-9750   269-9750   377-13221  377-13221  385-13555  386-13600  386-13600  387-13629  387-13629 
                        #388-13664  389-13682  389-13682  389-13684  389-13684  392-13772  392-13772 
.TYCOL	  025414 RG	 269-9746   269-9746  #377-13192 
.TYCOM	  025424 RG	 103-4064   103-4064   305-10797  305-10797  309-10900  309-10900 #377-13197 
.TYDAT	  017230 RG	 252-9161   252-9161   255-9268   255-9268   255-9275   255-9275  #266-9653  
.TYELA	  025502 RG	 82-3341    82-3341    85-3441    85-3441    266-9659   266-9659   267-9677   267-9677   269-9745  
                         269-9745   269-9753   269-9753   289-10341  289-10341 #378-13256 
.TYELN	  025506 RG	 82-3346    82-3346    85-3446    85-3446    105-4131   105-4131   109-4290   109-4290   120-4648  
                         120-4648   122-4698   122-4698   352-12305  352-12305 #378-13258 
.TYINI	  026356 RG	 217-7992   217-7992  #391-13729 
.TYKLA	  025626 RG	 90-3627    90-3627    94-3761    94-3761    355-12400  355-12400 #380-13345 
.TYKLN	  025676 RG	 74-3049    74-3049    90-3631    90-3631    94-3765    94-3765    115-4495   115-4495   285-10260 
                         285-10260  350-12234  350-12234  355-12404  355-12404 #381-13385 
.TYLIN	  026166 RG	 105-4129   105-4129   108-4235   108-4235   116-4531   116-4531   121-4684   121-4684   220-8097  
                         220-8097   220-8104   220-8104   252-9154   252-9154   252-9174   254-9255   254-9255   255-9264  
                         255-9264   255-9286   255-9286   256-9304   256-9304   256-9309   283-10207  287-10312  293-10395 
                         297-10464  297-10464  297-10469  305-10780  305-10780  305-10789  305-10789  306-10814  306-10814 
                         306-10821  308-10870  308-10870  308-10878  308-10878  352-12311  352-12311  355-12412  355-12412 
                        #386-13586 
.TYMIN	  025434 RG	 266-9660   266-9660   266-9665   266-9665  #377-13202 
.TYMSF	  026174 RG	 244-8857   244-8857   244-8866   244-8866   248-9004   248-9004   259-9389   259-9389   263-9541  
                         263-9541  #386-13590 
.TYMSG	  026202 RG	 74-3042    74-3042    101-4005   101-4005   102-4019   102-4019   102-4023   102-4023   102-4028  
                         103-4063   103-4063   103-4074   103-4074   109-4288   109-4288   115-4491   115-4491   116-4538  
                         116-4538   116-4545   116-4545   120-4644   120-4644   122-4694   122-4694   123-4757   123-4757  
                         124-4769   124-4769   124-4771   124-4771   124-4776   124-4776   124-4781   124-4781   217-7995  
                         217-7995   220-8095   220-8095   246-8919   246-8919   246-8925   246-8925   246-8933   246-8933  
                         247-8974   247-8974   252-9158   252-9158   252-9167   252-9167   254-9243   254-9243   255-9266  
                         255-9266   255-9273   255-9273   255-9281   255-9281   255-9288   255-9288   266-9664   266-9664  
                         283-10197  283-10197  285-10257  285-10257  287-10306  287-10306  289-10339  289-10339  292-10377 
                         292-10377  293-10388  293-10388  296-10449  296-10449  297-10462  297-10462  297-10466  297-10466 
                         302-10666  302-10666  305-10782  305-10782  305-10796  305-10796  306-10809  306-10809  306-10816 
                         306-10816  308-10872  308-10872  308-10880  308-10880  308-10884  308-10884  309-10899  309-10899 
                         311-10962  311-10962  350-12224  350-12224  352-12292  352-12292  352-12295  352-12295  355-12398 
                         355-12398  386-13587  386-13587  386-13591  386-13591 #386-13594 
.TYNCM	  025760 RG	 379-13312 #382-13429 
.TYNUM	  026036 RG	 382-13442  382-13442 #384-13506  385-13534 
.TYOBC	  000162 RG	#53-2174   *388-13668 *391-13731 
.TYOBP	  000164 RG	#53-2176    388-13665 *388-13666 *391-13732 
.TYOUT	  026320 RG	 311-10963  311-10963  387-13633  388-13672 #390-13715 
.TYP3D	  025552 RG	 74-3045    74-3045    101-4003   101-4003   124-4774   124-4774   124-4779   124-4779   124-4784  
                         124-4784   350-12229  350-12229 #379-13297 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 49

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.TYR50	  026404 RG	 102-4035   102-4035  #392-13759 
.TYSLS	  025444 RG	 74-3046    74-3046    90-3628    90-3628    94-3762    94-3762    115-4492   115-4492   120-4645  
                         120-4645   122-4695   122-4695   350-12232  350-12232  355-12401  355-12401 #377-13207 
.TYSPC	  025454 RG	 74-3047    74-3047    82-3344    82-3344    85-3444    85-3444    90-3629    90-3629    94-3763   
                         94-3763    102-4026   102-4026   103-4065   103-4065   115-4493   115-4493   120-4646   120-4646  
                         122-4692   122-4692   122-4696   122-4696   220-8103   220-8103   252-9159   252-9159   252-9162  
                         252-9162   267-9679   269-9755   305-10798  305-10798  309-10901  309-10901  350-12233  350-12233 
                         352-12296  352-12296  355-12402  355-12402  355-12405  355-12405 #377-13212 
.TYTIM	  017344 RG	 252-9164   252-9164   255-9270   255-9270   255-9277   255-9277  #268-9723  
.TYUPA	  025464 RG	 100-3977   100-3977  #377-13217 
.T50TB	  001350 RG	#59-2358    237-8584   392-13761 
.VERNO	= ******  GX	 297-10467 
.VFYFL	  000166 RG	#53-2178    91-3641   
.WHATB	  004704 RG	 272-9860  #330-11503 
.WHATC	  017556 RG	#272-9859   314-11090 
.WHATV	  021116 RG	#297-10460  330-11530 
.WHCON	  020234 RG	 282-10182 #283-10195  330-11506 
.WHDAT	  015534 RG	 241-8771  #252-9141   330-11508 
.WHINC	  020362 RG	#285-10246  330-11510 
.WHKLN	  015710 RG	 250-9085  #254-9240   330-11512 
.WHMEM	  020522 RG	#287-10304  330-11514 
.WHOFS	  020602 RG	#289-10337  330-11516 
.WHRLD	  020670 RG	 290-10356 #292-10375  330-11520 
.WHRPT	  020374 RG	#285-10251  294-10427  330-11522 
.WHRTY	  020714 RG	 291-10368 #293-10386  330-11524 
.WHTCA	  021662 RG	 301-10630 #305-10777 
.WHTCL	  021646 RG	#305-10773  330-11504 
.WHTPA	  022064 RG	 301-10636 #308-10867 
.WHTPS	  022050 RG	#308-10863  330-11518 
.WHTRK	  021066 RG	#296-10447  330-11527 
.WRAR1	  012232 RG	#208-7743  
.WRMBX	= 071000	#148-5624  #278-10037 #394-13839 
.WRTAR	  012226 RG	 88-3548    88-3548   #208-7741  
.XFRCK	  001504 RG	 74-3034    74-3034   #77-3154   
.XFWCK	  001522 RG	 75-3084    75-3084   #77-3161   
.XFXCK	  001540 RG	 76-3124    76-3124   #77-3168   
.YEAR 	= ******  GX	*240-8707  *241-8762  
.YESNO	  022224 RG	 302-10667  302-10667 #311-10958 
.ZEROC	  026456 RG	 314-11094 #395-13863 
..DTP2	= ******  GX	 37-1520    37-1520    275-9944   275-9944   279-10065 
..STIN	= ******  GX	 249-9058   249-9058   250-9082   250-9082  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 50

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#139-5344  #147-5580  #147-5585  
CALL  		#4-116     #35-1462   #37-1511   #37-1518   #37-1520   #39-1600   #40-1638   #43-1746   #45-1806   #48-1914   
                #50-1974   #50-1982   #50-1985   #50-1989   #64-2609   #66-2711   #68-2813   #69-2850   #71-2884   #71-2885   
                #71-2889   #71-2890   #71-2894   #71-2896   #71-2900   #71-2902   #73-2982   #73-2987   #73-2999   #74-3032   
                #74-3033   #74-3034   #74-3040   #74-3042   #74-3045   #74-3046   #74-3047   #74-3049   #74-3050   #75-3082   
                #75-3083   #75-3084   #75-3091   #75-3092   #75-3095   #76-3122   #76-3123   #76-3124   #79-3242   #81-3311   
                #81-3314   #81-3318   #81-3322   #81-3323   #82-3332   #82-3341   #82-3343   #82-3344   #82-3346   #83-3366   
                #83-3370   #83-3374   #83-3378   #83-3388   #84-3419   #84-3422   #84-3426   #85-3433   #85-3441   #85-3443   
                #85-3444   #85-3446   #86-3462   #86-3466   #86-3470   #86-3474   #88-3534   #88-3535   #88-3540   #88-3541   
                #88-3545   #88-3548   #89-3584   #89-3587   #89-3592   #89-3593   #89-3596   #90-3603   #90-3625   #90-3627   
                #90-3628   #90-3629   #90-3631   #90-3632   #91-3640   #91-3645   #91-3648   #91-3650   #91-3651   #91-3652   
                #92-3677   #92-3681   #92-3685   #92-3689   #92-3700   #93-3732   #93-3735   #93-3740   #94-3747   #94-3759   
                #94-3761   #94-3762   #94-3763   #94-3765   #95-3781   #95-3785   #95-3789   #95-3793   #96-3835   #96-3837   
                #99-3950   #100-3962  #100-3967  #100-3973  #100-3977  #100-3980  #100-3983  #101-3998  #101-4003  #101-4005  
                #102-4019  #102-4021  #102-4023  #102-4025  #102-4026  #102-4033  #102-4035  #103-4054  #103-4055  #103-4063  
                #103-4064  #103-4065  #103-4074  #105-4127  #105-4129  #105-4131  #105-4132  #107-4197  #107-4203  #107-4217  
                #107-4219  #108-4235  #108-4236  #108-4242  #109-4283  #109-4286  #109-4288  #109-4290  #109-4291  #109-4296  
                #111-4370  #111-4371  #115-4481  #115-4487  #115-4488  #115-4489  #115-4491  #115-4492  #115-4493  #115-4495  
                #116-4524  #116-4525  #116-4526  #116-4527  #116-4531  #116-4538  #116-4545  #118-4590  #118-4592  #118-4594  
                #118-4596  #118-4597  #118-4598  #120-4637  #120-4639  #120-4640  #120-4642  #120-4644  #120-4645  #120-4646  
                #120-4648  #121-4676  #121-4680  #121-4684  #122-4692  #122-4694  #122-4695  #122-4696  #122-4698  #122-4699  
                #123-4750  #123-4752  #123-4753  #123-4754  #123-4757  #124-4769  #124-4771  #124-4774  #124-4776  #124-4779  
                #124-4781  #124-4784  #125-4802  #125-4803  #125-4809  #129-4932  #129-4934  #129-4939  #129-4941  #129-4946  
                #131-4994  #131-4996  #133-5081  #133-5083  #133-5088  #133-5090  #135-5193  #135-5201  #136-5211  #136-5216  
                #138-5305  #140-5367  #143-5451  #143-5454  #143-5462  #143-5467  #146-5567  #146-5568  #149-5654  #149-5658  
                #150-5691  #150-5701  #151-5732  #158-5936  #158-5941  #158-5943  #160-6010  #160-6014  #160-6021  #160-6025  
                #161-6051  #161-6052  #164-6158  #164-6160  #165-6177  #165-6179  #165-6180  #165-6183  #165-6186  #165-6196  
                #165-6202  #165-6206  #167-6257  #169-6348  #172-6446  #174-6525  #174-6528  #174-6531  #175-6580  #175-6583  
                #176-6591  #176-6599  #176-6612  #176-6616  #176-6617  #177-6662  #177-6665  #178-6701  #178-6703  #180-6749  
                #180-6751  #180-6760  #180-6766  #181-6807  #181-6809  #183-6839  #183-6842  #183-6848  #183-6851  #183-6856  
                #185-6913  #185-6919  #185-6925  #185-6929  #185-6934  #187-6972  #187-6974  #187-6980  #187-6983  #187-6987  
                #187-6990  #188-7029  #188-7031  #189-7040  #189-7041  #189-7043  #189-7048  #189-7052  #189-7055  #189-7057  
                #190-7088  #190-7096  #193-7220  #193-7229  #195-7274  #195-7276  #195-7279  #195-7280  #195-7281  #195-7282  
                #195-7286  #195-7291  #196-7343  #197-7393  #197-7398  #199-7436  #199-7437  #199-7440  #199-7442  #199-7446  
                #200-7477  #201-7506  #201-7510  #202-7541  #204-7603  #206-7654  #206-7655  #206-7657  #206-7658  #206-7661  
                #207-7704  #208-7742  #208-7744  #208-7747  #212-7862  #213-7871  #213-7873  #213-7881  #213-7882  #213-7891  
                #216-7980  #217-7992  #217-7995  #217-8007  #217-8009  #217-8012  #219-8050  #219-8051  #219-8061  #220-8091  
                #220-8093  #220-8095  #220-8097  #220-8103  #220-8104  #225-8251  #225-8253  #225-8255  #225-8257  #227-8321  
                #227-8323  #227-8327  #227-8331  #227-8332  #228-8342  #228-8343  #228-8344  #228-8345  #228-8346  #228-8354  
                #228-8355  #230-8405  #230-8418  #230-8421  #230-8423  #233-8502  #233-8503  #233-8506  #233-8507  #237-8601  
                #238-8635  #240-8711  #240-8715  #240-8719  #240-8726  #241-8754  #244-8847  #244-8857  #244-8860  #244-8862  
                #244-8866  #244-8868  #246-8919  #246-8923  #246-8925  #246-8928  #246-8933  #246-8937  #247-8974  #247-8977  
                #248-9004  #248-9007  #248-9008  #248-9010  #248-9012  #249-9058  #250-9082  #252-9142  #252-9154  #252-9158  
                #252-9159  #252-9161  #252-9162  #252-9164  #252-9165  #252-9167  #254-9241  #254-9243  #254-9255  #255-9264  
                #255-9266  #255-9268  #255-9270  #255-9271  #255-9273  #255-9275  #255-9277  #255-9278  #255-9281  #255-9286  
                #255-9288  #256-9304  #259-9389  #259-9390  #259-9392  #260-9416  #260-9419  #260-9422  #260-9428  #260-9429  
                #260-9431  #260-9438  #263-9541  #263-9544  #264-9551  #264-9554  #264-9560  #264-9563  #264-9568  #264-9576  
                #264-9580  #265-9596  #265-9599  #265-9600  #265-9606  #266-9659  #266-9660  #266-9664  #266-9665  #266-9669  
                #267-9677  #268-9728  #268-9732  #268-9737  #269-9745  #269-9746  #269-9750  #269-9753  #271-9817  #271-9824  
                #271-9829  #272-9861  #272-9862  #272-9863  #273-9870  #275-9929  #275-9942  #275-9944  #277-10003 #277-10006 
                #279-10042 #279-10046 #279-10052 #279-10053 #279-10055 #279-10058 #279-10061 #280-10095 #280-10100 #280-10101 
                #280-10105 #282-10157 #282-10159 #282-10160 #282-10164 #283-10197 #284-10226 #284-10227 #284-10235 #284-10237 
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 51

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #285-10257 #285-10260 #286-10282 #286-10284 #286-10285 #286-10292 #287-10306 #288-10328 #288-10330 #289-10339 
                #289-10341 #290-10354 #291-10362 #292-10377 #293-10388 #294-10419 #294-10421 #294-10425 #295-10433 #296-10449 
                #297-10462 #297-10464 #297-10466 #299-10546 #299-10551 #299-10553 #299-10554 #299-10558 #300-10568 #300-10570 
                #300-10571 #300-10585 #300-10586 #300-10588 #300-10595 #301-10604 #301-10605 #301-10606 #302-10666 #302-10667 
                #305-10774 #305-10775 #305-10776 #305-10780 #305-10782 #305-10789 #305-10796 #305-10797 #305-10798 #305-10801 
                #306-10809 #306-10814 #306-10816 #308-10864 #308-10865 #308-10866 #308-10870 #308-10872 #308-10878 #308-10880 
                #308-10884 #309-10899 #309-10900 #309-10901 #311-10962 #311-10963 #311-10965 #311-10969 #311-10973 #311-10975 
                #334-11651 #334-11653 #334-11654 #335-11683 #335-11685 #335-11688 #336-11748 #343-11973 #343-11976 #343-11979 
                #343-11997 #343-12004 #346-12105 #346-12106 #347-12118 #347-12120 #347-12121 #347-12129 #347-12131 #347-12132 
                #350-12224 #350-12229 #350-12232 #350-12233 #350-12234 #350-12236 #352-12292 #352-12295 #352-12296 #352-12305 
                #352-12311 #354-12372 #354-12377 #355-12398 #355-12400 #355-12401 #355-12402 #355-12404 #355-12405 #355-12412 
                #358-12514 #358-12520 #359-12564 #362-12698 #362-12699 #363-12727 #364-12765 #364-12768 #364-12769 #364-12772 
                #364-12774 #365-12787 #365-12794 #365-12795 #365-12796 #366-12843 #367-12870 #367-12873 #368-12903 #369-12938 
                #369-12941 #370-12981 #371-13009 #372-13040 #372-13045 #372-13046 #372-13051 #372-13054 #372-13059 #373-13102 
                #373-13105 #377-13221 #382-13437 #382-13442 #384-13517 #385-13539 #385-13542 #385-13544 #386-13587 #386-13591 
                #386-13600 #387-13629 #389-13682 #389-13684 #392-13765 #392-13772 #395-13864 #395-13869 #396-13887 #396-13889 
                #396-13891 #396-13894 #396-13898 #397-13921 #397-13923 #397-13925 
CALLR 		#4-125     #50-1995   #64-2612   #65-2627   #65-2639   #65-2651   #65-2663   #65-2675   #66-2715   #67-2730   
                #67-2742   #67-2754   #67-2766   #67-2778   #68-2817   #68-2821   #68-2825   #69-2855   #69-2859   #69-2863   
                #74-3052   #75-3097   #76-3125   #79-3245   #81-3315   #82-3351   #84-3423   #85-3447   #88-3551   #89-3588   
                #93-3736   #94-3766   #99-3953   #102-4028  #107-4214  #111-4378  #115-4497  #116-4547  #118-4600  #120-4649  
                #124-4785  #125-4813  #127-4883  #138-5306  #146-5572  #149-5660  #155-5846  #158-5951  #164-6162  #176-6602  
                #181-6811  #196-7345  #210-7791  #213-7892  #227-8328  #227-8333  #228-8348  #228-8351  #228-8356  #229-8381  
                #230-8426  #233-8511  #238-8636  #241-8771  #252-9174  #256-9306  #256-9309  #267-9679  #269-9755  #271-9833  
                #272-9864  #275-9945  #277-10007 #279-10065 #280-10107 #282-10161 #282-10185 #283-10207 #285-10262 #286-10286 
                #287-10312 #289-10342 #293-10395 #294-10427 #297-10469 #300-10591 #300-10596 #301-10608 #306-10821 #309-10906 
                #360-12611 #391-13735 
CLEF$S		#38-1565   #39-1605   #42-1710   #139-5344  #146-5560  #146-5561  #146-5562  #243-8842  #249-9052  
COMND$		#5-179     #314-11044 #314-11046 #314-11048 #314-11050 #314-11052 #314-11054 #314-11056 #314-11058 #314-11060 
                #314-11062 #314-11064 #314-11070 #314-11072 #314-11074 #314-11076 #314-11078 #314-11080 #314-11082 #314-11084 
                #314-11086 #314-11088 #314-11090 #314-11092 #314-11094 #315-11101 #315-11103 #315-11105 #315-11107 #315-11109 
                #316-11116 #316-11118 #316-11120 #316-11122 #316-11124 #316-11126 #316-11128 #316-11130 #317-11137 #317-11139 
                #317-11141 #317-11143 #317-11145 #318-11152 #318-11154 #318-11156 #318-11158 #318-11160 #318-11162 #318-11164 
                #318-11166 #318-11168 #318-11170 #318-11173 #318-11175 #318-11177 #318-11179 #318-11181 #318-11183 #318-11185 
                #318-11187 #318-11189 #318-11191 #318-11193 #318-11195 #318-11197 #318-11199 #318-11201 #318-11203 #318-11205 
                #318-11207 #318-11209 #318-11211 #318-11213 #319-11220 #319-11222 #319-11224 #319-11229 #319-11231 #320-11239 
                #320-11241 #320-11243 #320-11245 #320-11247 #320-11249 #320-11251 #320-11253 #320-11255 #320-11257 #320-11259 
                #320-11261 #322-11352 #322-11354 #322-11356 #322-11358 #322-11360 #322-11362 #322-11364 #322-11366 #323-11373 
                #323-11375 #323-11377 #323-11379 #323-11381 #323-11383 #323-11385 #323-11387 #323-11389 #323-11391 #323-11393 
                #324-11400 #324-11402 #325-11409 #325-11411 #325-11413 #325-11415 #326-11422 #326-11424 #326-11426 #326-11428 
                #326-11430 #326-11432 #326-11434 #327-11441 #327-11443 #327-11445 #327-11447 #327-11449 #327-11451 #327-11453 
                #327-11455 #327-11457 #327-11459 #327-11461 #327-11463 #327-11465 #327-11468 #329-11495 #329-11497 #330-11504 
                #330-11506 #330-11508 #330-11510 #330-11512 #330-11514 #330-11516 #330-11518 #330-11520 #330-11522 #330-11524 
                #330-11527 #330-11530 
DIR$  		#39-1605   #39-1605   #42-1710   #42-1710   #78-3216   #79-3244   #139-5344  #143-5448  #143-5448  #145-5549  
                #145-5549  #145-5551  #145-5553  #146-5560  #146-5560  #146-5561  #146-5561  #146-5562  #146-5562  #146-5563  
                #146-5563  #148-5622  #151-5728  #155-5840  #161-6043  #167-6243  #169-6335  #171-6407  #203-7569  #203-7569  
                #211-7827  #214-7925  #214-7925  #214-7926  #214-7926  #232-8476  #233-8509  #249-9052  #249-9052  #250-9083  
                #250-9083  #252-9144  #252-9144  #254-9238  #256-9305  #258-9367  #258-9374  #258-9374  #359-12553 #359-12560 
                #390-13713 #390-13716 #390-13718 #390-13722 #394-13837 #397-13919 
ERCON$		#5-170     
ERROR$		#5-155      39-1611    41-1682    41-1685    43-1753    46-1859    48-1919    50-1999    71-2923    73-3006   
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 52

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                 77-3176    77-3179    82-3354    85-3450    91-3659    91-3662    91-3665    94-3769    111-4381   144-5502  
                 144-5505   149-5663   155-5855   158-5954   162-6076   162-6080   162-6083   162-6086   165-6211   167-6262  
                 169-6355   172-6452   176-6622   178-6713   206-7671   206-7674   213-7895   221-8116   221-8119   221-8122  
                 225-8261   228-8359   231-8430   234-8525   234-8528   234-8531   242-8775   242-8778   242-8781   242-8784  
                 245-8887   245-8890   245-8893   245-8897   247-8993   262-9486   262-9489   262-9492   262-9495   265-9618  
                 265-9621   279-10068  282-10188  301-10614  301-10617  301-10620  335-11704  360-12614  360-12617  363-12734 
                 365-12815  371-13022  372-13062  374-13124  374-13127  397-13935  397-13938 
ERR$  		#39-1605   #42-1710   #79-3244   #143-5448  #145-5549  #145-5551  #145-5553  #146-5560  #146-5561  #146-5562  
                #146-5563  #151-5728  #155-5840  #161-6043  #167-6243  #169-6335  #171-6407  #203-7569  #214-7925  #214-7926  
                #233-8509  #249-9052  #250-9083  #252-9144  #256-9305  #258-9374  #359-12560 #390-13716 #390-13718 #390-13722 
                #397-13919 
EXCH$ 		#6-221     
EXIT$S		#211-7827  #214-7926  
FATAL$		#5-162     
GTIM$S		#239-8675  #252-9144  #258-9367  #258-9374  
IKL$  		#8-249     
IOKL$ 		#8-277      229-8389   229-8391   229-8393   229-8395   231-8436   231-8438  
KLDR$ 		#148-5622  #167-6282  
KLDW$ 		#148-5622  #169-6375  
KLDX$ 		#148-5622   172-6473  
MOV$  		#39-1605   #39-1605   #42-1710   #42-1710   #143-5448  #143-5448  #145-5549  #145-5549  #145-5549  #146-5560  
                #146-5560  #146-5561  #146-5561  #146-5562  #146-5562  #146-5563  #146-5563  #203-7569  #203-7569  #214-7925  
                #214-7925  #214-7925  #214-7925  #214-7925  #214-7925  #249-9052  #249-9052  #250-9083  #250-9083  #252-9144  
                #252-9144  #258-9374  #258-9374  
MRKT$ 		#148-5622   152-5756  
MVB$  		#214-7925  #214-7925  
NBL$  		#147-5580  #147-5580  #147-5585  #147-5585  
NSERR$		#6-199      321-11269  321-11271  321-11273  321-11274  321-11275  321-11276  321-11277  321-11278  321-11279 
                 321-11284  321-11285  321-11286  321-11287  321-11288  321-11289  321-11290  321-11291  321-11293  321-11294 
                 321-11295  321-11296  321-11297  321-11298  321-11300  321-11301  321-11302  321-11303  321-11304  321-11305 
                 321-11307  321-11308  321-11309  321-11310  321-11311  321-11313  321-11315  321-11316  321-11317  321-11318 
                 321-11319  321-11320  321-11322  321-11323  321-11325  321-11327  321-11329  321-11330  321-11331  321-11332 
                 321-11334  321-11335  321-11337  321-11339  321-11341  321-11343  321-11345 
OFF$  		#79-3251    79-3251    79-3251    79-3251    79-3251    79-3251    79-3251   #147-5580   147-5580   147-5580  
                 147-5580   147-5580  #147-5585   147-5585   147-5585   147-5585   147-5585  #152-5756   152-5756   152-5756  
                 152-5756   152-5756   152-5756  #235-8555   235-8555   235-8555   235-8555   235-8555   235-8555   235-8555  
                #252-9144   252-9144   252-9144   252-9144   252-9144   252-9144   252-9144   252-9144   252-9144  #256-9315  
                 256-9315   256-9315   256-9315   256-9315   256-9315   256-9315  #258-9374   258-9374   258-9374   258-9374  
                 258-9374   258-9374   258-9374   258-9374   258-9374  #360-12624  360-12624  360-12624  360-12624  360-12624 
                 360-12624  360-12624  360-12624  360-12624 #393-13785  393-13785  393-13785  393-13785  393-13785  393-13785 
                 393-13785  393-13785  393-13785 #393-13794  393-13794  393-13794  393-13794  393-13794  393-13794  393-13794 
                 393-13794  393-13794 #393-13799  393-13799  393-13799  393-13799  393-13799  393-13799  393-13799  393-13799 
                 393-13799 
PARVR$		#52-2035    59-2367    59-2367   
POP   		#4-131     #37-1522   #43-1749   #46-1853   #73-3001   #74-3043   #75-3094   #81-3325   #82-3347   #82-3348   
                #83-3390   #88-3549   #90-3626   #90-3630   #91-3638   #94-3760   #94-3764   #96-3841   #99-3952   #101-3999  
                #102-4034  #108-4241  #109-4281  #109-4282  #109-4295  #118-4599  #120-4647  #122-4697  #125-4810  #129-4952  
                #131-5002  #133-5095  #141-5410  #144-5496  #151-5734  #158-5950  #160-6028  #164-6159  #164-6161  #169-6351  
                #172-6449  #174-6540  #176-6601  #178-6710  #180-6771  #183-6857  #187-6992  #189-7060  #191-7130  #195-7293  
                #199-7448  #201-7512  #204-7604  #206-7668  #208-7749  #216-7984  #219-8084  #219-8086  #228-8347  #230-8424  
                #230-8425  #233-8508  #237-8609  #237-8610  #248-9015  #248-9017  #248-9018  #248-9019  #248-9020  #248-9021  
                #248-9022  #249-9038  #260-9411  #260-9424  #261-9480  #265-9611  #265-9613  #267-9678  #269-9744  #269-9754  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 53

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #284-10229 #284-10230 #284-10231 #294-10423 #300-10587 #306-10817 #312-10986 #332-11607 #335-11689 #335-11692 
                #335-11700 #343-12006 #344-12017 #344-12018 #344-12019 #344-12021 #345-12071 #347-12135 #347-12136 #350-12238 
                #352-12312 #355-12413 #360-12585 #365-12801 #365-12809 #367-12872 #369-12940 #371-13003 #371-13011 #372-13041 
                #373-13108 #374-13118 #377-13222 #382-13444 #385-13540 #385-13547 #386-13604 #389-13685 #392-13773 #392-13777 
                #396-13896 
PRDP$ 		#148-5622  #163-6106  #394-13837 #397-13944 
PREX$ 		#148-5622  #163-6124  
PUSH  		#4-137     #37-1508   #37-1509   #39-1611   #41-1682   #41-1685   #43-1745   #43-1753   #46-1836   #46-1841   
                #46-1845   #46-1859   #48-1919   #50-1975   #50-1999   #71-2923   #73-3006   #74-3039   #75-3089   #77-3176   
                #77-3179   #81-3321   #82-3335   #82-3336   #82-3354   #83-3387   #85-3450   #88-3542   #90-3617   #90-3618   
                #90-3620   #90-3621   #90-3622   #91-3659   #91-3662   #91-3665   #94-3750   #94-3756   #94-3769   #96-3832   
                #99-3926   #101-3988  #101-3992  #101-3996  #102-4031  #103-4056  #105-4121  #107-4198  #109-4284  #111-4381  
                #115-4486  #118-4591  #120-4638  #120-4641  #121-4681  #125-4808  #129-4928  #131-4988  #133-5077  #133-5085  
                #135-5198  #141-5402  #143-5450  #144-5502  #144-5505  #149-5663  #150-5693  #150-5698  #151-5729  #155-5855  
                #158-5935  #158-5954  #160-6008  #160-6019  #162-6076  #162-6080  #162-6083  #162-6086  #164-6152  #164-6157  
                #164-6167  #165-6176  #165-6211  #167-6262  #169-6337  #169-6355  #172-6452  #174-6518  #175-6579  #176-6622  
                #177-6661  #178-6699  #178-6713  #180-6742  #183-6841  #187-6971  #188-7027  #190-7089  #195-7273  #197-7391  
                #199-7435  #199-7438  #199-7439  #201-7508  #203-7570  #204-7600  #206-7653  #206-7671  #206-7674  #207-7702  
                #208-7745  #212-7854  #212-7856  #212-7857  #213-7895  #216-7977  #219-8054  #219-8055  #219-8057  #221-8116  
                #221-8119  #221-8122  #225-8261  #228-8339  #228-8359  #230-8402  #230-8406  #230-8407  #230-8412  #230-8414  
                #230-8415  #231-8430  #233-8505  #234-8525  #234-8528  #234-8531  #237-8582  #242-8775  #242-8778  #242-8781  
                #242-8784  #244-8855  #245-8887  #245-8890  #245-8893  #245-8897  #247-8993  #258-9372  #259-9394  #260-9418  
                #262-9486  #262-9489  #262-9492  #262-9495  #263-9538  #264-9566  #264-9571  #265-9618  #265-9621  #266-9654  
                #268-9724  #268-9729  #275-9932  #275-9934  #275-9935  #275-9936  #275-9938  #275-9939  #279-10068 #282-10188 
                #300-10582 #300-10584 #301-10614 #301-10617 #301-10620 #305-10778 #308-10868 #311-10959 #332-11594 #334-11650 
                #335-11686 #335-11704 #343-11972 #343-11984 #343-12002 #345-12050 #346-12101 #346-12103 #349-12197 #349-12198 
                #349-12199 #349-12204 #349-12205 #349-12206 #349-12211 #349-12212 #352-12290 #355-12386 #358-12513 #359-12556 
                #360-12614 #360-12617 #363-12734 #364-12764 #365-12793 #365-12815 #367-12867 #367-12868 #369-12935 #369-12936 
                #371-12995 #371-13014 #371-13022 #372-13062 #373-13089 #373-13092 #373-13103 #374-13124 #374-13127 #377-13193 
                #377-13198 #377-13203 #377-13208 #377-13213 #377-13218 #378-13259 #379-13298 #379-13310 #380-13347 #381-13386 
                #381-13397 #381-13399 #385-13532 #385-13533 #385-13537 #385-13543 #386-13595 #389-13680 #392-13760 #392-13766 
                #396-13890 #397-13935 #397-13938 
QDPB$ 		#360-12624 #360-12624 #393-13785 #393-13785 #393-13794 #393-13794 #393-13799 #393-13799 
QDPB$S		#214-7925   214-7925  
QIOW$ 		#359-12553  360-12624 #390-13713  393-13785  393-13794  393-13799 
QIOW$S		#211-7827  #214-7925  
RETURN		#4-145      37-1523    39-1603    40-1651    41-1680    42-1713    43-1743    44-1782    45-1809    46-1854   
                 47-1889    48-1917    70-2872    70-2877    71-2918    73-3004    77-3174    91-3657    96-3842    122-4701  
                 129-4953   131-5003   133-5096   136-5224   144-5497   151-5735   155-5850   160-6029   161-6045   165-6209  
                 167-6260   169-6352   172-6450   174-6541   178-6711   180-6773   183-6858   185-6937   187-6993   189-7061  
                 191-7131   193-7239   195-7295   199-7449   200-7481   201-7513   202-7543   204-7605   206-7669   208-7750  
                 216-7985   219-8087   223-8188   225-8259   237-8612   261-9483   265-9616   302-10692  303-10717  304-10763 
                 304-10767  312-10987  332-11609  341-11942  344-12022  345-12072  347-12137  350-12239  352-12313  355-12414 
                 358-12524  360-12587  361-12668  362-12702  363-12732  365-12810  366-12849  368-12913  370-12988  374-13122 
                 377-13223  382-13445  385-13558  386-13605  389-13687  391-13733  392-13778  397-13931 
RQST$ 		#78-3216    79-3251   #232-8476   235-8555  #254-9238   256-9315  
RVP$  		#214-7925   214-7925  
R50$  		#79-3251    79-3251    79-3251   #235-8555   235-8555   235-8555  #256-9315   256-9315   256-9315  
SETF$S		#139-5344   143-5448   146-5563  
SPERR$		#6-209     #328-11476 #328-11478 #328-11480 #328-11481 #328-11482 #328-11484 #328-11485 #328-11486 #328-11488 
SVTK$S		#139-5344  #145-5549  
WTSE$S		#148-5622   203-7569  #243-8842   250-9083  
PARSER     CREATED BY  MACRO  ON 3-OCT-79 AT 11:41	PAGE 54

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

$DEF  		#148-5622   148-5624  #278-10035  278-10037 #394-13837  394-13839 
.ENB6 		#239-8675  #241-8768  #243-8842  #249-9048  
.INH6 		#239-8675   241-8757  #243-8842   248-9014   249-9044