Google
 

Trailing-Edge - PDP-10 Archives - AP-4178E-RM - swskit-sources/parser.lis
There is 1 other file named parser.lis in the archive. Click here to see a list.
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14
TABLE OF CONTENTS

   36-1465	DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
   37-1586	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
   38-1637	DATAB -- DTE-20 OPERATION BUFFERS 7709.20
   39-1656	DATAB -- INPUT / OUTPUT BUFFERS 7709.20
   40-1679	DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
   42-1745	DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
   43-1783	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
   48-1984	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
   51-2079	.ABRTC -- THE "ABORT" COMMAND 7602.23
   53-2137	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
   55-2215	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
   57-2300	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
   58-2339	.CKCOL -- CHECK FOR A COLON 7709.21
   59-2374	.CKEOC -- CHECK END OF COMMAND 7602.16
   60-2412	.CKEOS -- CHECK END OF SYMBOL 7709.21
   61-2440	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
   62-2467	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
   64-2526	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
   66-2584	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
   68-2663	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
   70-2740	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
   73-2823	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   75-2891	.CONTC -- THE "CONTINUE" COMMAND 7611.17
   78-2980	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
   80-3057	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
   83-3137	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
   86-3220	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
   88-3288	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
   90-3350	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
   92-3410	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   95-3511	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   97-3549	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   99-3617	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
  101-3684	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
  103-3751	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
  105-3816	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
  107-3881	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
  110-3978	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
  114-4120	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
  116-4164	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
  121-4320	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
  125-4435	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
  128-4524	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
  130-4583	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
  132-4628	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
  134-4716	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
  140-4907	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
  144-5039	.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
  145-5080	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
  148-5154	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
  150-5220	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
  152-5285	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
  155-5370	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
  158-5459	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
  161-5537	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
  164-5635	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
  167-5714	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
EXCTF -- FAST EXECUTE MODULE 76	MACRO M1108  13-JAN-78 09:14
TABLE OF CONTENTS

  169-5790	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
  172-5903	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
  175-6005	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
  177-6043	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
  179-6101	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
  181-6165	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
  183-6221	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
  186-6324	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
  188-6389	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
  190-6455	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
  192-6510	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
  195-6617	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
  198-6744	.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
  202-6866	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
  204-6942	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
  209-7141	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
  213-7276	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
  214-7318	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
  215-7349	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
  216-7382	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
  218-7463	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
  220-7523	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
  222-7591	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
  225-7712	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
  228-7814	.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15
  232-7963	.GTR50 -- GET A .RAD50 WORD 7602.18
  235-8051	.HALTC -- THE "HALT" COMMAND 7710.11
  237-8107	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
  241-8207	.INIT -- INITIALIZATION SUBROUTINE 7509.26
  242-8249	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
  246-8379	.INITC -- THE "INITIALIZE" COMMAND 7602.16
  248-8438	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
  251-8531	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
  254-8652	.KLMTB -- THE KLINIK MODE TABLE 7702.16
  256-8700	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
  259-8787	.KLST -- SUBROUTINE TO START THE KL 7512.08
  262-8860	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
  264-8934	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
  266-9001	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
  269-9076	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
  272-9185	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
  275-9274	.MONTB -- THE MONTH TABLE 7702.16
  277-9321	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
  280-9422	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
  281-9532	.NULLC -- THE NULL COMMAND 7602.10
  283-9572	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
  285-9652	.PARER -- SPECIAL ERROR ROUTINES 7609.24
  291-9825	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
  293-9916	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
  294-9953	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
  298-0100	.QUITC -- THE "QUIT" COMMAND 7602.16
  300-0153	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
  302-0227	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
  306-0381	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
  309-0481	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
  312-0576	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
  314-0652	.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
RDSMR -- KL SMALL REGISTER READ	MACRO M1108  13-JAN-78 09:14
TABLE OF CONTENTS

  317-0740	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
  321-0898	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
  324-1021	.REPTC -- THE "REPEAT" COMMAND 7703.25
  326-1091	.RESET -- KL RESET SUBROUTINES 7511.18
  329-1190	.RESTB -- THE RESET COMMAND TABLE 7602.18
  331-1236	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
  333-1305	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
  335-1371	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
  338-1443	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
  341-1518	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
  343-1584	.RSALL -- THE "RESET ALL" COMMAND 7602.18
  345-1638	.RSTPI -- THE "RESET PI" COMMAND 7607.21
  347-1698	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
  350-1771	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
  352-1832	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
  356-1944	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
  360-2100	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
  362-2173	.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
  364-2210	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
  367-2327	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
  369-2378	.SCDAT -- "SET DATE" COMMAND 7703.04
  373-2531	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
  375-2599	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
  385-2929	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
  387-2984	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
  389-3019	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
  391-3055	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
  393-3096	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
  395-3166	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
  397-3206	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
  399-3242	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
  401-3292	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
  403-3345	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
  405-3393	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
  407-3468	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
  409-3545	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
  410-3624	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
  412-3671	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
  415-3759	.START -- COMMAND PARSER MAIN LOOP 7602.02
  418-3849	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
  420-3916	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
  422-3983	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
  424-4042	.STRTB -- THE START COMMAND TABLE 7602.26
  426-4077	.STRTC -- THE "START" COMMAND 7602.26
  428-4142	.STRTT -- THE "START <TEN>" COMMAND 7710.11
  431-4239	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
  433-4304	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
  435-4361	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
  438-4457	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
  440-4514	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
  444-4607	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
  445-4637	.TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19
  446-4680	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
  447-4720	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
  448-4756	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
  449-4790	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
  450-4827	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14
TABLE OF CONTENTS

  451-4867	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
  454-4945	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
  455-4995	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
  458-5088	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
  461-5199	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
  466-5353	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
  470-5474	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
  472-5538	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
  473-5582	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
  474-5628	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
  475-5670	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
  476-5717	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
  478-5787	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
  480-5868	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
  481-5915	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
  482-5944	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
  484-5999	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
  488-6093	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
  490-6171	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
  493-6270	.WHATB -- THE WHAT COMMAND TABLE 7703.25
  495-6317	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
  497-6378	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
  500-6433	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
  504-6567	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
  506-6632	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
  509-6760	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
  511-6829	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
  516-6987	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
  518-7038	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
  520-7087	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
  524-7200	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
  526-7251	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
  528-7302	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
  530-7373	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
  533-7457	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
  536-7561	.ZEROC -- THE "ZERO" COMMAND 7609.15
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 1


      1					;                             COPYRIGHT (C) 1975, 1978 BY
      2					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      3					;
      4					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
      5					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
      6					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
      7					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
      8					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
      9					;
     10					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     11					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     12					;       CORPORATION.
     13					;
     14					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     15					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     16					.IIF NDF	FTLCMN,.NLIST
     17					.TITLE	DEFINE -- LOCAL DEFINITION MODULE 7709.20
     18
     19						.IDENT	"004100"
     20
     21					;
     22					;
     23					;		MODULE: LOCAL DEFINITIONS
     24					;
     25					;		VERSION: 04-10
     26					;
     27					;		AUTHOR: R. BELANGER
     28					;
     29					;		DATE: 7709.20
     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		000004 			PAR$$V	=	4		; VERSION 3
     50		000010 			PAR$$E	=	10		; EDIT 10
     51					;
     52					; THIS IS BEING RELEASED
     53					;
     54		000126 			PAR$$K	=	'V		; KEY FOR RELEASE
     55
DEFINE -- LOCAL DEFINITION MODU	MACRO M1108  13-JAN-78 09:14  PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20

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

    103					.SBTTL	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
    104
    105						.LIST	MEB, SYM
    106						.ENABL	AMA
    107
    108					.IF EQ FT1140
    109						.MCALL	SOB
    110					.ENDC		; FT1140
DEFINE -- LOCAL DEFINITION MODU	MACRO M1108  13-JAN-78 09:14  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 M1108  13-JAN-78 09:14  PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    153					; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
    154
    155					.MACRO	ERROR$	CODE
    156					ER$'CODE=.
    157						 MOV	(PC)+,-(SP)	; "CODE" IN RAD50 TO STACK
    158						 .RAD50	/CODE/		; ERROR IDENTIFIER
    159						 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
    160					.ENDM	ERROR$
    161
    162					; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
    163
    164					.MACRO	FATAL$	CODE
    165					FA$'CODE=.
    166						 MOV	(PC)+,-(SP)	; "CODE" IN RAD50 TO STACK
    167						 .RAD50	/CODE/		; ERROR IDENTIFIER
    168						 TRAP	TC.RST		; .AND TRAP OUT OF ROUTINE
    169					.ENDM	FATAL$
    170
    171					; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
    172
    173					.MACRO	ERCON$	CODE
    174					EC$'CODE=.
    175						 MOV	(PC)+,-(SP)	; "CODE" IN RAD50 TO STACK
    176						 .RAD50	/CODE/		; ERROR IDENTIFIER
    177						 TRAP	TC.CON		; .AND TRAP OUT OF ROUTINE
    178						 TST	(SP)+		; .FLUSH ERROR CODE
    179					.ENDM	ERCON$
    180
    181					; DEFINE THE COMMAND TABLE MACRO
    182
    183					.MACRO	COMND$	NAME,LGLBTS,DISPAT
    184					.PSECT	MESSAG
    185					$$CMDN=.
    186						 .ASCIZ	%NAME%
    187					.PSECT
    188						 .WORD	$$CMDN		; POINTER TO "NAME" SYMBOL
    189						 .WORD	LGLBTS		; LEGAL BITS
    190						 .WORD	DISPAT		; ROUTINE TO CALL
    191					.ENDM	COMND$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1108  13-JAN-78 09:14  PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    193					; DEFINE THE NORMAL ERROR CODE MACRO
    194
    195					.MACRO	NSERR$	COD,STRING
    196					.PSECT	MESSAG
    197					COD'MSG:
    198						 .ASCIZ	%COD - STRING%
    199					.PSECT
    200						 .RAD50	/COD/		; "COD" IN .RAD50
    201						 .WORD	COD'MSG		; POINTER TO MESSAGE
    202					.ENDM	NSERR$
    203
    204					; DEFINE THE SPECIAL ERROR CODE MACRO
    205
    206					.MACRO	SPERR$	COD,STRING
    207					.PSECT	MESSAG
    208					COD'MSG:
    209						 .ASCIZ	%COD - STRING%
    210					.PSECT
    211						 .RAD50	/COD/		; "COD" IN .RAD50
    212						 .WORD	.SE'COD		; DISPATCH TO HANDLER
    213						 .WORD	COD'MSG		; POINTER TO MESSAGE
    214					.ENDM	SPERR$
    215
    216					; DEFINE AN "EXCHANGE" MACRO
    217
    218					.MACRO	EXCH$	ARG1,ARG2
    219						 MOV	ARG1,-(SP)
    220						 MOV	ARG2,ARG1
    221						 MOV	(SP)+,ARG2
    222					.ENDM	EXCH$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1108  13-JAN-78 09:14  PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   1406					.TITLE	DATAB -- COMMAND PARSER DATA BASE 7709.20
   1407
   1408						.IDENT	"003070"
   1409
   1410					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   1411					;
   1412					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   1413					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   1414					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   1415					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   1416					;	FOR ITS ACCURACY.
   1417					;
   1418					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   1419					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   1420					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   1421					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   1422					;
   1423					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   1424					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   1425					;
   1426					;
   1427					;		MODULE: COMMAND PARSER DATA BASE
   1428					;
   1429					;		VERSION: 03-07
   1430					;
   1431					;		AUTHOR: R. BELANGER
   1432					;
   1433					;		DATE: 7709.20
   1434					;
   1435					;	THIS MODULE CONTAINS:
   1436					;
   1437					;	1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
   1438					;
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 35
COPYRIGHT PAGE

   1440						.MACRO	PARVR$ KEY,FRM,VER,EDT,NUM
   1441						.IF	B,NUM
   1442						.IF	NB,FRM
   1443						PARVR$	\KEY,\FRM,\VER,\EDT,0
   1444						.IFF
   1445						PARVR$	\KEY,200,\VER,\EDT,0
   1446						.ENDC
   1447						.MEXIT
   1448						.IFF
   1449						.IF	GE,VER-10
   1450						.IF	GE,EDT-10
   1451						.ASCIZ	<KEY><FRM>\'VER'-'EDT'\<200>
   1452						.IFF
   1453						.ASCIZ	<KEY><FRM>\'VER'-0'EDT'\<200>
   1454						.ENDC
   1455						.IFF
   1456						.IF	GE,EDT-10
   1457						.ASCIZ	<KEY><FRM>\0'VER'-'EDT'\<200>
   1458						.IFF
   1459						.ASCIZ	<KEY><FRM>\0'VER'-0'EDT'\<200>
   1460						.ENDC
   1461						.ENDC
   1462						.ENDC
   1463						.ENDM	PARVR$
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 36
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1465					.SBTTL	DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
   1466
   1467					; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
   1468
   1469	000000				.APRWD::
   1470	000000	000000 				.WORD	0		; KL APR ERROR STATUS WORD
   1471	000002				.CCMDN::
   1472	000002	000021'				.WORD	PARNAM		; POINTER TO CURRENT COMMAND NAME
   1473	000004				.CISTS::
   1474	000004	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE INPUT
   1475	000010				.CLKWD::
   1476	000010	100000 				.WORD	BIT15		; KL CLOCK CONTROL WORD
   1477	000012				.COSTS::
   1478	000012	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE OUTPUT
   1479					.IF NE	FTCRAM
   1480					.CRAMA::
   1481						.WORD	0		; KL CRAM ADDRESSS
   1482					.CRAMR::
   1483						.WORD	0,0,0		; BLOCK FOR KL CRAM READ
   1484						.WORD	0,0,0
   1485						.WORD	0,0,0
   1486					.CRAMW::
   1487						.WORD	0,0,0		; BLOCK FOR CRAM WRITE
   1488						.WORD	0,0,0
   1489						.WORD	0,0,0
   1490					.ENDC		; FTCRAM
   1491					.IF NE	FTDEBUG
   1492	000016				.DBGSW::
   1493	000016	000000 				.WORD	0		; DEBUG SWITCH
   1494					.ENDC		; FTDEBUG
   1495	000020				.DPBFR::
   1496	000020	000000 	000000 	000000 		.WORD	0,0,0		; KL DEPOSIT DATA BUFFER
   1497	000026				.DPBFX::
   1498	000026	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY DEPOSIT DATA BUFFER
   1499					.IF NE	FTDRAM
   1500					.DRAMA::
   1501						.WORD	0		; KL DRAM ADDRESS
   1502					.DRAMR::
   1503						.WORD	0,0,0		; BLOCK FOR DRAM READ
   1504					.DRAMW::
   1505						.WORD	0,0,0		; BLOCK FOR DRAM WRITE
   1506					.ENDC		; FTDRAM
   1507	000034				.EDELA::
   1508	000034	000000 				.WORD	0		; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
   1509	000036				.EDKLA::
   1510	000036	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE / DEPOSIT ADDRESS BUFFER
   1511	000044				.EDKLX::
   1512	000044	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
   1513	000052				.ELDDW::
   1514	000052	000000 				.WORD	0		; LAST PDP-11 DEPOSIT DATA
   1515	000054				.ELEDW::
   1516	000054	000000 				.WORD	0		; LAST PDP-11 EXAMINE DATA
   1517	000056				.EXBFR::
   1518	000056	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE DATA BUFFER
   1519	000064				.INCHC::
   1520	000064	000000 				.WORD	0		; INPUT CHARACTER COUNT
   1521	000066				.IRADX::
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 36-1
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1522	000066	000010 				.WORD	^D8		; INPUT RADIX
   1523	000070				.KLINC::
   1524	000070	000001 	000000 	000000 		.WORD	^D1,0,0		; KL EXAMINE DEPOSIT INCREMENT
   1525					.IF NE	FTLIST
   1526					.LDSTS::
   1527						.WORD	0,0		; I/O STATUS BLOCK FOR LIST DEVICE
   1528					.ENDC		; FTLIST
   1529	000076				.LGLWD::
   1530	000076	000000 				.WORD	0		; LEGAL BITS OF CURRENT COMMAND
   1531	000100				.LDZFL::
   1532	000100	177777 				.WORD	-^D1		; PRINT LEADING ZEROES FLAG
   1533	000102				.MEMFL::
   1534	000102	000000 				.WORD	0		; EXAMINE DEPOSIT MEMORY OFFSET
   1535	000104				.NOTSW::
   1536	000104	000000 				.WORD	0		; "NOT" SWITCH
   1537	000106				.ORADX::
   1538	000106	000010 				.WORD	^D8		; OUTPUT RADIX
   1539	000110				.PEWRD::
   1540	000110	000000 				.WORD	0		; KL PARITY ERROR FLAGS
   1541	000112				.PITAB::
   1542	000112	000000 	000000 			.WORD	0,0		; EXAMINE PI DATA BLOCK
   1543	000116				.PSCWD::
   1544	000116	100000 				.WORD	BIT15		; KL PARITY STOP CONTROL WORD
   1545	000120				.RDXSV::
   1546	000120	000010 				.WORD	^D8		; SAVED RADIX
   1547	000122				.RELWD::
   1548	000122	000000'				.WORD	.APRWD		; RELOCATION VALUE
   1549	000124				.RPTCT::
   1550	000124	000000 	000000 	000000 		.WORD	0,0,0		; REPEAT COUNT
   1551	000132				.RPTPT::
   1552	000132	000000 				.WORD	0		; POINTER TO STACKED REPEAT COUNT
   1553	000134				.STRTV::
   1554	000134	026156'				.WORD	.START		; START VECTOR
   1555	000136				.SVESP::
   1556	000136	000000 				.WORD	0		; TO REINIT STACK POINTER
   1557	000140				.SVKLF::
   1558	000140	000000 				.WORD	0		; SAVED COPY OF ".KLFLG"
   1559					.IF NE	FTTRAK
   1560	000142				.TRKWD::
   1561	000142	000000 				.WORD	0		; "TRACK" FLAGS
   1562					.ENDC		; FTTRAK
   1563	000144				.TRP4V::
   1564	000144	017130'				.WORD	.PTOAT		; TRAP AT 4 VECTOR
   1565	000146				.TRPEC::
   1566	000146	000000 				.WORD	0		; ERROR CODE RETURNED FROM TRAP
   1567	000150				.TRPIP::
   1568	000150	000002 				.WORD	^D2		; TRAP IN PROGRESS INTERLOCK
   1569	000152				.TRPPC::
   1570	000152	000000 				.WORD	0		; TRAP PC
   1571	000154				.TRPPS::
   1572	000154	000000 				.WORD	0		; TRAP PSW
   1573	000156				.TRPSB::
   1574	000156	000000 				.WORD	0		; TRAP STATUS BYTE
   1575	000160				.TRPTV::
   1576	000160	000000 				.WORD	0		; TRAP TRAP VECTOR
   1577	000162				.TYOBC::
   1578	000162	000204 				.WORD	^D132		; CONSOLE OUTPUT BYTE COUNT
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 36-2
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1579	000164				.TYOBP::
   1580	000164	000454'				.WORD	.COBFR		; CONSOLE OUTPUT BYTE POINTER
   1581	000166				.VFYFL::
   1582	000166	000000 				.WORD	0		; DEPOSIT VERIFY FLAG
   1583	000170				DATABX:
   1584	000170	000137 	014052'			JMP	.INICP		; EXIT TO INIT
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 37
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20

   1586					.SBTTL	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
   1587
   1588					; +
   1589					; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
   1590					;
   1591					; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
   1592					; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
   1593					; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
   1594					; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
   1595					; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
   1596					;
   1597					; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
   1598					; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
   1599					; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
   1600					; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
   1601					; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
   1602					; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
   1603					;
   1604					; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
   1605					;
   1606					;	!===============================================!
   1607					; 00	!	ODD ADDRESS TRAP HANDLER ADDRESS	!
   1608					;	!-----------------------------------------------!
   1609					; 02	!  MEMORY PROTECTION VIOLATION HANDLER ADDRESS	!
   1610					;	!-----------------------------------------------!
   1611					; 04	!	    T-BIT TRAP HANDLER ADDRESS		!
   1612					;	!-----------------------------------------------!
   1613					; 06	!	     IOT TRAP HANDLER ADDRESS		!
   1614					;	!-----------------------------------------------!
   1615					; 10	!   RESERVED INSTRUCTION TRAP HANDLER ADDRESS	!
   1616					;	!-----------------------------------------------!
   1617					; 12	!	ILLEGAL EMT TRAP HANDLER ADDRESS	!
   1618					;	!-----------------------------------------------!
   1619					; 14	!     TRAP INSTRUCTION TRAP HANDLER ADDRESS	!
   1620					;	!-----------------------------------------------!
   1621					; 16	!	FLOATING POINT TRAP HANDLER ADDRESS	!
   1622					;	!===============================================!
   1623					;-
   1624
   1625	000174				.SSTTB::
   1626	000174	000000 				.WORD	0		; ODD ADDRESS TRAP HANDLER
   1627	000176	000000 				.WORD	0		; MEMORY PROTECTION VIOLATION
   1628	000200	000000 				.WORD	0		; BREAKPOINT TRAP HANDLER
   1629	000202	000000 				.WORD	0		; "IOT" INSTRUCTION TRAP
   1630	000204	000000 				.WORD	0		; RESERVED INSTRUCTION TRAP
   1631	000206	000000 				.WORD	0		; NON-STANDARD EMT TRAP
   1632	000210	017306'				.WORD	.PTTRP		; "TRAP" INSTRUCTION TRAP
   1633	000212	000000 				.WORD	0		; FLOATING POINT TRAP
   1634		000010 			SSTLEN==.-.SSTTB/2		; LENGTH OF THIS TABLE
   1635		000212'			SSTTBE==.-2
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 38
DATAB -- DTE-20 OPERATION BUFFERS 7709.20

   1637					.SBTTL	DATAB -- DTE-20 OPERATION BUFFERS 7709.20
   1638
   1639	000214				.DFBLK::
   1640	000214				.DFWB::
   1641	000214	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION WRITE BUFFER
   1642	000222				.DFRB::
   1643	000222	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION READ BUFFER
   1644
   1645	000230				.DREG::
   1646	000230				.DTDI1::
   1647	000230	000000 				.WORD	0		; DTE-20 DIAG WORD 1 BUFFER
   1648	000232				.DTDI2::
   1649	000232	000000 				.WORD	0		; DTE-20 DIAG WORD 2 BUFFER
   1650	000234				.DTSTS::
   1651	000234	000000 				.WORD	0		; DTE-20 STATUS WORD BUFFER
   1652	000236				.DTDI3::
   1653	000236	000000 				.WORD	0		; DTE-20 DIAG WORD 3 BUFFER
   1654		000240'			DFBEND==.
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 39
DATAB -- INPUT / OUTPUT BUFFERS 7709.20

   1656					.SBTTL	DATAB -- INPUT / OUTPUT BUFFERS 7709.20
   1657
   1658					; THESE ARE THE I/O BUFFERS
   1659
   1660	000240				.CIBFR::
   1661						.BLKW	^D70		; CONSOLE DEVICE INPUT BUFFER
   1662		000214 			.CIBFL==.-.CIBFR
   1663
   1664	000454				.COBFR::
   1665						.BLKW	^D70		; CONSOLE DEVICE OUTPUT BUFFER
   1666		000204 			.COBFL==^D132
   1667
   1668					.IF NE	FTLIST
   1669
   1670					.LDBFR::
   1671						.BLKW	^D70		; LIST DEVICE OUTPUT BUFFER
   1672					.LDBFL==.-.LDBFR
   1673					.ENDC		; FTLIST
   1674
   1675	000670				.COMND::
   1676						.BLKW	^D140		; COMMAND BUFFER
   1677		000430 			.CMNDL==.-.COMND
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 40
DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20

   1679					.SBTTL	DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
   1680
   1681					; THESE DPBS ARE USED TO ASSIGN I/O DEVICES TO THE PARSER TASK BY
   1682					; LOGICAL UNIT NUMBER (LUN), AND ARE OF THE FORM:
   1683					;
   1684					;	!===============================================!
   1685					; 00	!	DPB SIZE	!	    DIC		!
   1686					;	!-----------------------------------------------!
   1687					; 02	!	      LOGICAL UNIT NUMBER		!
   1688					;	!-----------------------------------------------!
   1689					; 04	!	       ASCII DEVICE NAME		!
   1690					;	!-----------------------------------------------!
   1691					; 06	!	      DEVICE UNIT NUMBER		!
   1692					;	!===============================================!
   1693
   1694					; ASSIGN LIST OUTPUT DEVICE
   1695
   1696					.IF NE	FTLIST
   1697					.ASLST::
   1698						ALUN$	LSTLUN,LP,0
   1699
   1700					; ATTACH THE LIST OUTPUT DEVICE TO THE PARSER TASK
   1701
   1702					.ATLST::
   1703						QIOW$	IO.ATT,LSTLUN,E.FLOD,0,0,0
   1704
   1705					; DETACH THE LIST OUTPUT DEVICE FROM THE PARSER TASK
   1706
   1707					.DTLST::
   1708						QIOW$	IO.DET,LSTLUN,E.FLOD,0,0,0
   1709					.ENDC		; FTLIST
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 41
DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20

   1711					; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
   1712					; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
   1713					;
   1714					;	!===============================================!
   1715					; 00	!	DPB SIZE	!	    DIC		!
   1716					;	!-----------------------------------------------!
   1717					; 02	!	  INPUT / OUTPUT FUNCTION CODE		!
   1718					;	!-----------------------------------------------!
   1719					; 04	!	       LOGICAL UNIT NUMBER		!
   1720					;	!-----------------------------------------------!
   1721					; 06	!	PRIORITY	!   EVENT FLAG NUMBER	!
   1722					;	!-----------------------------------------------!
   1723					; 10	!	     I/O STATUS BLOCK ADDRESS		!
   1724					;	!-----------------------------------------------!
   1725					; 12	!	  AST ROUTINE ADDRESS (NOT USED)	!
   1726					;	!-----------------------------------------------!
   1727					; 14	!	      DATA BUFFER ADDRESS		!
   1728					;	!-----------------------------------------------!
   1729					; 16	!		  BYTE COUNT			!
   1730					;	!-----------------------------------------------!
   1731					; 20	!	OUTPUT FORMAT CONTROL CHARACTER		!
   1732					;	!===============================================!
   1733
   1734					; THIS IS THE LIST DEVICE OUTPUT DPB
   1735
   1736					.IF NE	FTLIST
   1737					.LDOUT::
   1738						QIOW$	IO.WLB,LSTLUN,E.FLOD,0,.LDSTS,0,<.LDBFR,0,VF.INT>
   1739
   1740					.LDOBP=.LDOUT+Q.IOPL		; LIST DEVICE BYTE POINTER
   1741					.LDOBC=.LDOUT+Q.BYCT		; LIST DEVICE BYTE COUNT
   1742					.LDOFC=.LDOUT+Q.OVFC		; LIST DEVICE FORMAT CHARACTER
   1743					.ENDC		; FTLIST
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 42
DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20

   1745					.SBTTL	DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
   1746
   1747	001320				.R50TB::
   1748	001320	000022 				.WORD	<'0-36>-<50-50>
   1749	001322	   060 	   000 			.ASCIZ	%0%
   1750	001324	177766 				.WORD	<'%-35>-<'0-36>
   1751	001326	   045 	   000 			.ASCIZ	/%/
   1752	001330	000012 				.WORD	<'.-34>-<'%-35>
   1753	001332	   056 	   000 			.ASCIZ	%.%
   1754	001334	177767 				.WORD	<'$-33>-<'.-34>
   1755	001336	   044 	   000 			.ASCIZ	%$%
   1756	001340	000067 				.WORD	<'A-01>-<'$-33>
   1757	001342	   101 	   000 			.ASCIZ	%A%
   1758	001344	177740 				.WORD	<' -00>-<'A-01>
   1759	001346	000040 				.WORD	.SPACE
   1760
   1761	001350				.T50TB::
   1762	001350	003100 				.WORD	50*50
   1763	001352	000050 				.WORD	50
   1764	001354	000001 				.WORD	1
   1765	001356	000000 				.WORD	0
   1766
   1767	000000				.PSECT	MESSAG
   1768
   1769	000000				CPVMSG::
   1770	000000					PARVR$	PAR$$K,,PAR$$V,PAR$$E
	000000	   126 	   200 	   060 		.ASCIZ	<126><200>\04-10\<200>
	000003	   064 	   055 	   061
	000006	   060 	   200 	   000
   1771	000011				PARMSG::
   1772	000011	   120 	   101 	   122 		.ASCIZ	%PAR -- %
	000014	   040 	   055 	   055
	000017	   040 	   000
   1773	000021				PARNAM::
   1774	000021	   120 	   101 	   122 		.ASCIZ	%PARSER%
	000024	   123 	   105 	   122
	000027	   000
   1775	000030				PROMPT::
   1776	000030	   120 	   101 	   122 		.ASCIZ	%PAR%
	000033	   000
   1777					.EVEN
   1778	000034				CMDNAM::
   1779	000034	000000 	000000 	000000 		.WORD	0,0,0
   1780	000042	000000 	000000 	000000 		.WORD	0,0,0
   1781	001360				.PSECT
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 43
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1783					.SBTTL	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
   1784
   1785					;+
   1786					; .CHTAB -- THE CHARACTER PROPERTY TABLE
   1787					;
   1788					; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
   1789					; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
   1790					; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
   1791					; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
   1792					; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
   1793					; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
   1794					; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
   1795					; (Q.V.), WHICH ARE:
   1796					;
   1797					;	"CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
   1798					;	"CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
   1799					;	"CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
   1800					;	"CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
   1801					;	"CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
   1802					;	"CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
   1803					;	"CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
   1804					;	"CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
   1805					;
   1806					; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
   1807					; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
   1808					; UPPER CASE ALPHABETICS, RESPECTIVELY.
   1809					;-
   1810
   1811	001360				.CHTAB::
   1812	001360	   034 				.BYTE	CH.EOL!CH.EOC!CH.EOS	; <NULL> (000)
   1813	001361	   200 				.BYTE	CH.ILL			; ^A (001)
   1814	001362	   200 				.BYTE	CH.ILL			; ^B (002)
   1815	001363	   200 				.BYTE	CH.ILL			; ^C (003)
   1816	001364	   200 				.BYTE	CH.ILL			; ^D (004)
   1817	001365	   200 				.BYTE	CH.ILL			; ^E (005)
   1818	001366	   200 				.BYTE	CH.ILL			; ^F (006)
   1819	001367	   200 				.BYTE	CH.ILL			; ^G <BELL> (007)
   1820	001370	   200 				.BYTE	CH.ILL			; ^H (010)
   1821	001371	   200 				.BYTE	CH.ILL			; ^I <HORIZONTAL-TAB> (011)
   1822	001372	   200 				.BYTE	CH.ILL			; ^J <NEW-LINE> (012)
   1823	001373	   200 				.BYTE	CH.ILL			; ^K <VERTICAL-TAB> (013)
   1824	001374	   200 				.BYTE	CH.ILL			; ^L <FORM-FEED> (014)
   1825	001375	   200 				.BYTE	CH.ILL			; ^M <CARRIAGE-RETURN> (015)
   1826	001376	   200 				.BYTE	CH.ILL			; ^N (016)
   1827	001377	   200 				.BYTE	CH.ILL			; ^O (017)
   1828	001400	   200 				.BYTE	CH.ILL			; ^P (020)
   1829	001401	   200 				.BYTE	CH.ILL			; ^Q (021)
   1830	001402	   200 				.BYTE	CH.ILL			; ^R (022)
   1831	001403	   200 				.BYTE	CH.ILL			; ^S (023)
   1832	001404	   200 				.BYTE	CH.ILL			; ^T (024)
   1833	001405	   200 				.BYTE	CH.ILL			; ^U (025)
   1834	001406	   200 				.BYTE	CH.ILL			; ^V (026)
   1835	001407	   200 				.BYTE	CH.ILL			; ^W (027)
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 44
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1837	001410	   200 				.BYTE	CH.ILL			; ^X (030)
   1838	001411	   200 				.BYTE	CH.ILL			; ^Y (031)
   1839	001412	   200 				.BYTE	CH.ILL			; ^Z (032)
   1840	001413	   200 				.BYTE	CH.ILL			; <ALT-MODE> (033)
   1841	001414	   200 				.BYTE	CH.ILL			; ^\ (034)
   1842	001415	   200 				.BYTE	CH.ILL			; ^] (035)
   1843	001416	   200 				.BYTE	CH.ILL			; ^^ (036)
   1844	001417	   200 				.BYTE	CH.ILL			; ^_ (037)
   1845	001420	   020 				.BYTE	CH.EOS			; <SPACE> (040)
   1846	001421	   200 				.BYTE	CH.ILL			; ! (041)
   1847	001422	   020 				.BYTE	CH.EOS			; " (042)
   1848	001423	   200 				.BYTE	CH.ILL			; # (043)
   1849	001424	   200 				.BYTE	CH.ILL			; $ (044)
   1850	001425	   200 				.BYTE	CH.ILL			; % (045)
   1851	001426	   200 				.BYTE	CH.ILL			; & (046)
   1852	001427	   020 				.BYTE	CH.EOS			; ' (047)
   1853	001430	   140 				.BYTE	CH.AOP!CH.PFX		; ( (050)
   1854	001431	   100 				.BYTE	CH.AOP			; ) (051)
   1855	001432	   120 				.BYTE	CH.AOP!CH.EOS		; * (052)
   1856	001433	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; + (053)
   1857	001434	   020 				.BYTE	CH.EOS			; , (054)
   1858	001435	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; - (055)
   1859	001436	   200 				.BYTE	CH.ILL			; . (056)
   1860	001437	   120 				.BYTE	CH.AOP!CH.EOS		; / (057)
   1861						;
   1862	001440	   002 				.BYTE	CH.NUM			; 0 (060)
   1863	001441	   002 				.BYTE	CH.NUM			; 1 (061)
   1864	001442	   002 				.BYTE	CH.NUM			; 2 (062)
   1865	001443	   002 				.BYTE	CH.NUM			; 3 (063)
   1866	001444	   002 				.BYTE	CH.NUM			; 4 (064)
   1867	001445	   002 				.BYTE	CH.NUM			; 5 (065)
   1868	001446	   002 				.BYTE	CH.NUM			; 6 (066)
   1869	001447	   002 				.BYTE	CH.NUM			; 7 (067)
   1870	001450	   002 				.BYTE	CH.NUM			; 8 (070)
   1871	001451	   002 				.BYTE	CH.NUM			; 9 (071)
   1872						;
   1873	001452	   020 				.BYTE	CH.EOS			; : (072)
   1874	001453	   030 				.BYTE	CH.EOS!CH.EOC		; ; (073)
   1875	001454	   200 				.BYTE	CH.ILL			; < (074)
   1876	001455	   200 				.BYTE	CH.ILL			; = (075)
   1877	001456	   020 				.BYTE	CH.EOS			; > (076)
   1878	001457	   041 				.BYTE	CH.PFX!CH.ALP		; ? (077)
   1879	001460	   200 				.BYTE	CH.ILL			; @ (100)
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 45
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1881	001461	   001 				.BYTE	CH.ALP			; A (101)
   1882	001462	   101 				.BYTE	CH.ALP!CH.AOP		; B (102)
   1883	001463	   101 				.BYTE	CH.ALP!CH.AOP		; C (103)
   1884	001464	   101 				.BYTE	CH.ALP!CH.AOP		; D (104)
   1885	001465	   001 				.BYTE	CH.ALP			; E (105)
   1886	001466	   001 				.BYTE	CH.ALP			; F (106)
   1887	001467	   001 				.BYTE	CH.ALP			; G (107)
   1888	001470	   001 				.BYTE	CH.ALP			; H (110)
   1889	001471	   001 				.BYTE	CH.ALP			; I (111)
   1890	001472	   001 				.BYTE	CH.ALP			; J (112)
   1891	001473	   001 				.BYTE	CH.ALP			; K (113)
   1892	001474	   001 				.BYTE	CH.ALP			; L (114)
   1893	001475	   001 				.BYTE	CH.ALP			; M (115)
   1894	001476	   001 				.BYTE	CH.ALP			; N (116)
   1895	001477	   101 				.BYTE	CH.ALP!CH.AOP		; O (117)
   1896	001500	   001 				.BYTE	CH.ALP			; P (120)
   1897	001501	   001 				.BYTE	CH.ALP			; Q (121)
   1898	001502	   001 				.BYTE	CH.ALP			; R (122)
   1899	001503	   001 				.BYTE	CH.ALP			; S (123)
   1900	001504	   001 				.BYTE	CH.ALP			; T (124)
   1901	001505	   001 				.BYTE	CH.ALP			; U (125)
   1902	001506	   001 				.BYTE	CH.ALP			; V (126)
   1903	001507	   001 				.BYTE	CH.ALP			; W (127)
   1904	001510	   001 				.BYTE	CH.ALP			; X (130)
   1905	001511	   001 				.BYTE	CH.ALP			; Y (131)
   1906	001512	   001 				.BYTE	CH.ALP			; Z (132)
   1907						;
   1908	001513	   200 				.BYTE	CH.ILL			; [ (133)
   1909	001514	   200 				.BYTE	CH.ILL			; \ (134)
   1910	001515	   200 				.BYTE	CH.ILL			; ] (135)
   1911	001516	   140 				.BYTE	CH.AOP!CH.PFX		; ^ (136)
   1912	001517	   120 				.BYTE	CH.AOP!CH.EOS		; _ (137)
   1913	001520	   200 				.BYTE	CH.ILL			; @ (140)
DATAB -- COMMAND PARSER DATA BA	MACRO M1108  13-JAN-78 09:14  PAGE 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1915					.IF NE	FTLCVT
   1916						.BYTE	CH.ILL			; A (141)
   1917						.BYTE	CH.ILL			; B (142)
   1918						.BYTE	CH.ILL			; C (143)
   1919						.BYTE	CH.ILL			; D (144)
   1920						.BYTE	CH.ILL			; E (145)
   1921						.BYTE	CH.ILL			; F (146)
   1922						.BYTE	CH.ILL			; G (147)
   1923						.BYTE	CH.ILL			; H (150)
   1924						.BYTE	CH.ILL			; I (151)
   1925						.BYTE	CH.ILL			; J (152)
   1926						.BYTE	CH.ILL			; K (153)
   1927						.BYTE	CH.ILL			; L (154)
   1928						.BYTE	CH.ILL			; M (155)
   1929						.BYTE	CH.ILL			; N (156)
   1930						.BYTE	CH.ILL			; O (157)
   1931						.BYTE	CH.ILL			; P (160)
   1932						.BYTE	CH.ILL			; Q (161)
   1933						.BYTE	CH.ILL			; R (162)
   1934						.BYTE	CH.ILL			; S (163)
   1935						.BYTE	CH.ILL			; T (164)
   1936						.BYTE	CH.ILL			; U (165)
   1937						.BYTE	CH.ILL			; V (166)
   1938						.BYTE	CH.ILL			; W (167)
   1939						.BYTE	CH.ILL			; X (170)
   1940						.BYTE	CH.ILL			; Y (171)
   1941						.BYTE	CH.ILL			; Z (172)
   1942						;
   1943						.BYTE	CH.ILL			; [ (173)
   1944						.BYTE	CH.ILL			; \ (174)
   1945						.BYTE	CH.ILL			; ] (175)
   1946						.BYTE	CH.ILL			; ^ (176)
   1947						.BYTE	CH.ILL			; <RUBOUT> (177)
   1948					.ENDC		; FTLCVT
   1949					.EVEN
ABORT -- ABORT FUNCTION MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 47
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1951					.TITLE	ABORT -- ABORT FUNCTION MODULE 7707.12
   1952
   1953						.IDENT	"003060"
   1954
   1955					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   1956					;
   1957					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   1958					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   1959					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   1960					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   1961					;	FOR ITS ACCURACY.
   1962					;
   1963					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   1964					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   1965					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   1966					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   1967					;
   1968					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   1969					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   1970					;
   1971					;
   1972					;		MODULE: ABORT FUNCTION
   1973					;
   1974					;		VERSION: 03-06
   1975					;
   1976					;		AUTHOR: R. BELANGER
   1977					;
   1978					;		DATE: 7707.12
   1979					;
   1980					;	THIS MODULE CONTAINS:
   1981					;
   1982					;	1) ABORT FUNCTION CODE
ABORT -- ABORT FUNCTION MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 48
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1984					.SBTTL	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
   1985
   1986					;+
   1987					; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
   1988					;
   1989					; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
   1990					; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
   1991					; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
   1992					; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
   1993					;
   1994					; SEQUENCE OF OPERATION:
   1995					;
   1996					;	(A) THE KL IS HALTED,
   1997					;	(B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
   1998					;	(C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
   1999					;	(D) SECONDARY PROTOCOL IS STARTED
   2000					;	(E) EXIT.
   2001					;
   2002					; INPUT ARGUMENTS:
   2003					;
   2004					;	NONE.
   2005					;
   2006					; OUTPUT ARGUMENTS:
   2007					;
   2008					;	NONE.
   2009					;
   2010					; ERROR CODES RETURNED:
   2011					;
   2012					;	CFH -- CAN'T FIND KL HALT LOOP.
   2013					;	FRF -- FUNCTION READ FAILED.
   2014					;	FWF -- FUNCTION WRITE FAILED.
   2015					;	FXF -- FUNCTION EXECUTE FAILED.
   2016					;	UNL -- UCODE NOT LOADED.
   2017					;
   2018					; NOTE:
   2019					;
   2020					;	THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
   2021					;	SUBROUTINE.
   2022					;-
ABORT -- ABORT FUNCTION MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 49
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   2024						.ENABL	LSB
   2025
   2026	001522				.ABORT::
   2027	001522					PUSH	R0		; SAVE R0 ON THE STACK
	001522	010046 				 MOV	R0,-(SP)
   2028	001524					PUSH	#.ABRT0		; .IN CASE ".KLSTP" TRAPS
	001524	012746 	001544'			 MOV	#.ABRT0,-(SP)
   2029	001530	010637 	000160'			MOV	SP,.TRPTV	; ...STACK POINTER FOR RETURN
   2030	001534					CALL	.KLSTP		; ..HALT THE KL
	001534	004737 	015220'			 JSR	PC,.KLSTP
   2031	001540	005726 				TST	(SP)+		; ..CLEAR RETURN
   2032	001542	000405 				BR	10$		; .AND EXIT
   2033						;
   2034	001544				.ABRT0::				; .GET HERE IF ".KLSTP" TRAPPED
   2035	001544	005000 				CLR	R0		; .CLEAR R0 (STACK POPPED BY ".PTTRP")
   2036	001546					CALL	.STUCD		; .(RE)START THE UCODE
	001546	004737 	026656'			 JSR	PC,.STUCD
   2037	001552					CALL	..DTP2		; +++006 .START SECONDARY PROTOCOL
	001552	004737 	000000G			 JSR	PC,..DTP2
   2038	001556				10$:
   2039	001556					POP	R0		; .RESTORE R0
	001556	012600 				 MOV	(SP)+,R0
   2040	001560					RETURN			; TO CALLER
	001560	000207 				 RTS	PC
   2041
   2042						.DSABL	LSB
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 50
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   2044					.TITLE	ABRTC -- ABORT COMMAND MODULE 7602.23
   2045
   2046						.IDENT	"002010"
   2047
   2048					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2049					;
   2050					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2051					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2052					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2053					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2054					;	FOR ITS ACCURACY.
   2055					;
   2056					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2057					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2058					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2059					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2060					;
   2061					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2062					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2063					;
   2064					;
   2065					;		MODULE: ABORT COMMAND
   2066					;
   2067					;		VERSION: 02-01
   2068					;
   2069					;		AUTHOR: R. BELANGER
   2070					;
   2071					;		DATE: 7602.23
   2072					;
   2073					;	THIS MODULE CONTAINS:
   2074					;
   2075					;	1) ABORT COMMAND CODE
   2076					;
   2077					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 51
.ABRTC -- THE "ABORT" COMMAND 7602.23

   2079					.SBTTL	.ABRTC -- THE "ABORT" COMMAND 7602.23
   2080
   2081					;+
   2082					; .ABRTC -- THE "ABORT" COMMAND
   2083					;
   2084					; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
   2085					;
   2086					; INPUT ARGUMENTS:
   2087					;
   2088					;	NONE.
   2089					;
   2090					; OUTPUT ARGUMENTS:
   2091					;
   2092					;	NONE.
   2093					;
   2094					; ERROR CODES RETURNED:
   2095					;
   2096					;	NONE.
   2097					;-
   2098
   2099	001562				.ABRTC::
   2100	001562					CALL	.CKEOC		; MUST HAVE E-O-C
	001562	004737 	002010'			 JSR	PC,.CKEOC
   2101	001566					CALL	.ABORT		; ABORT CURRENT KL OPERATION
	001566	004737 	001522'			 JSR	PC,.ABORT
   2102	001572					RETURN			; AND EXIT
	001572	000207 				 RTS	PC
BURST -- KL MBOX CLOCK BURST FU	MACRO M1108  13-JAN-78 09:14  PAGE 52
.ABRTC -- THE "ABORT" COMMAND 7602.23

   2104					.TITLE	BURST -- KL MBOX CLOCK BURST FUNCTION MODULE 7603.30
   2105
   2106						.IDENT	"001020"
   2107
   2108					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2109					;
   2110					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2111					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2112					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2113					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2114					;	FOR ITS ACCURACY.
   2115					;
   2116					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2117					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2118					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2119					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2120					;
   2121					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2122					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2123					;
   2124					;
   2125					;		MODULE: KL MBOX CLOCK BURST FUNCTION
   2126					;
   2127					;		VERSION: 01-02
   2128					;
   2129					;		AUTHOR: R. BELANGER
   2130					;
   2131					;		DATE: 7603.30
   2132					;
   2133					;	THIS MODULE CONTAINS:
   2134					;
   2135					;	1) KL MBOX CLOCK BURST CODE
BURST -- KL MBOX CLOCK BURST FU	MACRO M1108  13-JAN-78 09:14  PAGE 53
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02

   2137					.SBTTL	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
   2138
   2139					;+
   2140					; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
   2141					;	    CLOCK AS IN ".BURST".
   2142					; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
   2143					;	    A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
   2144					;
   2145					; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
   2146					; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
   2147					; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
   2148					;
   2149					; INPUT ARGUMENTS:
   2150					;
   2151					;	R0 CONTAINS THE BURST COUNT
   2152					;
   2153					; OUTPUT ARGUMENTS:
   2154					;
   2155					;	NONE.
   2156					;
   2157					; ERROR CODES RETURNED:
   2158					;
   2159					;	BAE -- BURST ARGUMENT ERROR.
   2160					;	FWF -- FUNCTION WRITE FAILED.
   2161					;	FXF -- FUNCTION EXECUTE FAILED.
   2162					;-
   2163
   2164	001574				.BRMBC::
   2165	001574					CALL	.STPXC		; STOP THE KL CLOCK
	001574	004737 	026354'			 JSR	PC,.STPXC
   2166	001600				.BURST::
   2167	001600	022700 	000377 			CMP	#^D255,R0	; IS ARGUMENT .GT. 255 DECIMAL?
   2168	001604	103406 				BLO	BCCTER		; YES -- ERROR
   2169	001606					CALL	.LDBRG		; NO -- LOAD THE BURST COUNTER
	001606	004737 	015334'			 JSR	PC,.LDBRG
   2170	001612	012700 	000012 			MOV	#FX.BMC,R0	; SET UP TO BURST THE MBOX CLOCK
   2171	001616					CALLR	.FXCT		; DO IT
	001616	000137 	011074'			 JMP	.FXCT
   2172						;
   2173	001622				BCCTER:
   2174	001622					ERROR$	BAE		; ERROR -- ARGUMENT OUT OF RANGE
	001622	012746 				 MOV	(PC)+,-(SP)	; "BAE" IN RAD50 TO STACK
	001624	006255 				 .RAD50	/BAE/		; ERROR IDENTIFIER
	001626	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2175						;
CESCK -- CLOCK ERROR STOP CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 54
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02

   2177					.TITLE	CESCK -- CLOCK ERROR STOP CHECK MODULE 7607.15
   2178
   2179						.IDENT	"002010"
   2180
   2181					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2182					;
   2183					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2184					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2185					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2186					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2187					;	FOR ITS ACCURACY.
   2188					;
   2189					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2190					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2191					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2192					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2193					;
   2194					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2195					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2196					;
   2197					;
   2198					;		MODULE: CLOCK ERROR STOP CHECK
   2199					;
   2200					;		VERSION: 02-01
   2201					;
   2202					;		AUTHOR: R. BELANGER
   2203					;
   2204					;		DATE: 7607.15
   2205					;
   2206					;	THIS MODULE CONTAINS:
   2207					;
   2208					;	1) CLOCK ERROR STOP CHECK CODE
   2209					;
   2210					;	MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCES TO .SECFL
   2211					;		TO .NOERR
   2212
   2213						.MCALL	CLEF$S
CESCK -- CLOCK ERROR STOP CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 55
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15

   2215					.SBTTL	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
   2216
   2217					;+
   2218					; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
   2219					;	    DTE-20 DIAG WORD 1.
   2220					;
   2221					; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
   2222					; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
   2223					;
   2224					; SEQUENCE OF OPERATION:
   2225					;
   2226					;	(A) READ DTE-20 DIAG WORD 1,
   2227					;	(B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
   2228					;	(C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
   2229					;	(D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
   2230					;	(E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
   2231					;	(F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
   2232					;
   2233					; INPUT ARGUMENTS:
   2234					;
   2235					;	NONE.
   2236					;
   2237					; OUTPUT ARGUMENTS:
   2238					;
   2239					;	R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
   2240					;
   2241					; ERROR CODES RETURNED:
   2242					;
   2243					;	CES -- KL CLOCK ERROR STOP.
   2244					;	DSF -- DTE-20 STATUS FAILURE.
   2245					;-
   2246
   2247	001630				.CESCK::
   2248	001630					CALL	.DTDW1		; READ DIAG WORD 1
	001630	004737 	004742'			 JSR	PC,.DTDW1
   2249	001634	032700 	004000 			BIT	#D1.CES,R0	; IS CLOCK ERROR STOP LIT?
   2250	001640	001001 				BNE	CESCES		; YES -- GIVE "CES" ERROR
   2251	001642					RETURN			; NO -- JUST RETURN
	001642	000207 				 RTS	PC
   2252	001644				CESCES:
   2253	001644					CLEF$S	#E.FPR1		; MAKE SURE PRIMARY PROTOCOL IS OFF
	001644	012746 	000000G			MOV	#E.FPR1,-(SP)
	001650	012746 				MOV	(PC)+,-(SP)
	001652	   037 	   002 			.BYTE	31.,2
	001654	104375 				EMT	375
   2254	001656	112737 	000001 	000000G		MOVB	#1,.NOERR	; AND DISABLE ERROR INTERRUPT
   2255	001664	005037 	000140'			CLR	.SVKLF		; DISALLOW RESTARTS
   2256	001670	042737 	140200 	000000G		BIC	#KF.CON!KF.RUN!KF.CLK,.KLFLG
   2257									; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
   2258	001676	052737 	000100 	000000G		BIS	#KF.CES,.KLFLG	; FLAG THE CLOCK ERROR STOP
   2259	001704					ERROR$	CES		; ERROR -- CLOCK ERROR STOP
	001704	012746 				 MOV	(PC)+,-(SP)	; "CES" IN RAD50 TO STACK
	001706	011633 				 .RAD50	/CES/		; ERROR IDENTIFIER
	001710	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2260						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 56
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15

   2262					.TITLE	CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
   2263
   2264						.IDENT	"001020"
   2265
   2266					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2267					;
   2268					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2269					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2270					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2271					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2272					;	FOR ITS ACCURACY.
   2273					;
   2274					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2275					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2276					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2277					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2278					;
   2279					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2280					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2281					;
   2282					;
   2283					;		MODULE: ALPANUMERIC ARGUMENT CHECK
   2284					;
   2285					;		VERSION: 01-02
   2286					;
   2287					;		AUTHOR: R. BELANGER
   2288					;
   2289					;		DATE: 709.21
   2290					;
   2291					;	THIS MODULE CONTAINS:
   2292					;
   2293					;	1) ALPHANUMERIC ARGUMENT CHECK CODE
   2294					;	2) TRAILING COLON CHECK CODE
   2295					;	3) END OF COMMAND CHECK CODE
   2296					;	4) END OF SYMBOL CHECK CODE
   2297					;	5) TRAILING OBJECT CHECK CODE
   2298					;	6) TRAILING SYMBOL CHECK CODE
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 57
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21

   2300					.SBTTL	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
   2301
   2302					;+
   2303					; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
   2304					;
   2305					; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
   2306					; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
   2307					;
   2308					; INPUT ARGUMENTS:
   2309					;
   2310					;	R5 POINTS TO THE INPUT STREAM
   2311					;
   2312					; OUTPUT ARGUMENTS:
   2313					;
   2314					;	R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
   2315					;	CC-N IS SET IF IT IS NUMERIC
   2316					;	CC-Z IS SET IF IT IS ALPHABETIC
   2317					;
   2318					; ERROR CODES RETURNED:
   2319					;
   2320					;	MRA -- MISSING REQUIRED ARGUMENT
   2321					;-
   2322
   2323	001712				.CKARG::
   2324	001712					CALL	.CKSYM		; GET OVER LEADING BLANKS
	001712	004737 	002112'			 JSR	PC,.CKSYM
   2325	001716	132764 	000001 	001360'		BITB	#CH.ALP,.CHTAB(R4)
   2326	001724	001403 				BEQ	10$		; SEE IF IT IS NUMERIC
   2327	001726	000250 				CLN			; CLEAR CC-N
   2328	001730	000264 				SEZ			; SET CC-Z TO SAY ALPHABETIC
   2329	001732	000406 				BR	20$		; AND EXIT
   2330						;
   2331	001734				10$:
   2332	001734	132764 	000042 	001360'		BITB	#CH.NUM!CH.PFX,.CHTAB(R4)
   2333	001742	001417 				BEQ	CKCMRA		; NOT NUMERIC -- GIVE ERROR
   2334	001744	000244 				CLZ			; CLEAR CC-Z
   2335	001746	000270 				SEN			; SET CC-N TO SAY NUMERIC
   2336	001750				20$:
   2337	001750					RETURN			; TO CALLER
	001750	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 58
.CKCOL -- CHECK FOR A COLON 7709.21

   2339					.SBTTL	.CKCOL -- CHECK FOR A COLON 7709.21
   2340
   2341					;+
   2342					; .CKCOL -- CHECK FOR A COLON
   2343					;
   2344					; THIS ROUTINE CHECKS FOR A COLON AFTER A SYMBOL
   2345					;
   2346					; INPUT ARGUMENTS:
   2347					;
   2348					;	R5 POINTS TO THE INPUT STREAM
   2349					;
   2350					; OUTPUT ARGUMENTS:
   2351					;
   2352					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE COLON.
   2353					;
   2354					; ERROR CODES RETURNED:
   2355					;
   2356					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   2357					;	MRA -- MISSING REQUIRED ARGUMENT
   2358					;-
   2359
   2360	001752				.CKCOL::
   2361	001752	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   2362	001754	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   2363	001762	001007 				BNE	CKCMRA		; MISSING ARGUMENT IF E-O-C
   2364	001764	122704 	000072 			CMPB	#':,R4		; IS IT A COLON?
   2365	001770	001001 				BNE	CKCILS		; NO -- GIVE "ILS" ERROR
   2366	001772					RETURN			; YES -- JUST RETURN
	001772	000207 				 RTS	PC
   2367	001774				CKCILS:
   2368	001774					ERROR$	ILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
	001774	012746 				 MOV	(PC)+,-(SP)	; "ILS" IN RAD50 TO STACK
	001776	035063 				 .RAD50	/ILS/		; ERROR IDENTIFIER
	002000	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2369						;
   2370	002002				CKCMRA:
   2371	002002					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	002002	012746 				 MOV	(PC)+,-(SP)	; "MRA" IN RAD50 TO STACK
	002004	052021 				 .RAD50	/MRA/		; ERROR IDENTIFIER
	002006	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2372						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 59
.CKEOC -- CHECK END OF COMMAND 7602.16

   2374					.SBTTL	.CKEOC -- CHECK END OF COMMAND 7602.16
   2375
   2376					;+
   2377					; .CKEOC -- CHECK FOR END OF COMMAND
   2378					;
   2379					; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
   2380					;
   2381					; INPUT ARGUMENTS:
   2382					;
   2383					;	R5 POINTS TO THE INPUT STREAM
   2384					;
   2385					; OUTPUT ARGUMENTS:
   2386					;
   2387					;	R5 IS UNCHANGED
   2388					;
   2389					; ERROR CODES RETURNED:
   2390					;
   2391					;	EOC -- END OF COMMAND REQUIRED
   2392					;	ILS -- ILLEGAL SEPARATOR CHARACTER
   2393					;-
   2394
   2395	002010				.CKEOC::
   2396	002010	111504 				MOVB	(R5),R4		; GET THE CHARACTER
   2397	002012	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   2398	002020	001401 				BEQ	10$		; MAY BE ERROR IF NOT E-O-C
   2399	002022					RETURN			; TO CALLER
	002022	000207 				 RTS	PC
   2400	002024				10$:
   2401	002024					PUSH	R4		; SAVE THE CHARACTER
	002024	010446 				 MOV	R4,-(SP)
   2402	002026					CALL	.CKSYM		; .LOOK FOR A NON-BLANK CHARACTER
	002026	004737 	002112'			 JSR	PC,.CKSYM
   2403	002032	122704 	000077 			CMPB	#'?,R4		; .IS THIS AN INQUIRY?
   2404	002036	001402 				BEQ	CKEEOC		; .YES -- GIVE "EOC" ERROR
   2405	002040					POP	R4		; .NO -- GIVE "ILS" ERROR
	002040	012604 				 MOV	(SP)+,R4
   2406	002042	000754 				BR	CKCILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
   2407						;
   2408	002044				CKEEOC:
   2409	002044					ERROR$	EOC		; ERROR -- END OF COMMAND
	002044	012746 				 MOV	(PC)+,-(SP)	; "EOC" IN RAD50 TO STACK
	002046	020633 				 .RAD50	/EOC/		; ERROR IDENTIFIER
	002050	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2410						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 60
.CKEOS -- CHECK END OF SYMBOL 7709.21

   2412					.SBTTL	.CKEOS -- CHECK END OF SYMBOL 7709.21
   2413
   2414					;+
   2415					; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
   2416					;
   2417					; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
   2418					;
   2419					; INPUT ARGUMENTS:
   2420					;
   2421					;	R5 POINTS TO THE END-OF-SYMBOL CHARACTER
   2422					;
   2423					; OUTPUT ARGUMENTS:
   2424					;
   2425					;	R5 IS UNCHANGED
   2426					;
   2427					; ERROR CODES RETURNED:
   2428					;
   2429					;	ILS -- ILLEGAL SEPARATOR CHRARACTER
   2430					;-
   2431
   2432	002052				.CKEOS::
   2433	002052	111504 				MOVB	(R5),R4		; GET THE CHARACTER INTO R4
   2434	002054	132764 	000020 	001360'		BITB	#CH.EOS,.CHTAB(R4)
   2435	002062	001744 				BEQ	CKCILS		; ILLEGAL IF NOT E-O-S
   2436	002064	122704 	000040 			CMPB	#.SPACE,R4	; IS IS A <SPACE>?
   2437	002070	001741 				BEQ	CKCILS		; YES -- COMPLAIN
   2438	002072					RETURN			; NO -- JUST RETURN
	002072	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 61
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21

   2440					.SBTTL	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
   2441
   2442					;+
   2443					; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
   2444					;
   2445					; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
   2446					; CURRENT SYMBOL.
   2447					;
   2448					; INPUT ARGUMENTS:
   2449					;
   2450					;	NONE.
   2451					;
   2452					; OUTPUT ARGUMENTS:
   2453					;
   2454					;	NONE.
   2455					;
   2456					; ERROR CODES RETURNED:
   2457					;
   2458					;	MRA -- MISSING REQUIRED ARGUMENT.
   2459					;-
   2460
   2461	002074				.CKOBJ::
   2462	002074					CALL	.CKSYM		; GET OVER LEADING BLANKS
	002074	004737 	002112'			 JSR	PC,.CKSYM
   2463	002100	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   2464	002106	001335 				BNE	CKCMRA		; ILLEGAL IF E-O-C
   2465	002110					RETURN			; NOT E-O-C -- RETURN
	002110	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1108  13-JAN-78 09:14  PAGE 62
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21

   2467					.SBTTL	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
   2468
   2469					;+
   2470					; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
   2471					;
   2472					; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
   2473					; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
   2474					; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
   2475					;
   2476					; INPUT ARGUMENTS:
   2477					;
   2478					;	R5 POINTS TO THE INPUT STREAM.
   2479					;
   2480					; OUTPUT ARGUMENTS:
   2481					;
   2482					;	R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
   2483					;
   2484					; ERROR CODES RETURNED:
   2485					;
   2486					;	NONE.
   2487					;-
   2488
   2489	002112				.CKSYM::
   2490	002112	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   2491	002114	122704 	000040 			CMPB	#.SPACE,R4	; IS IT A <SPACE>?
   2492	002120	001774 				BEQ	.CKSYM		; YES -- DO NEXT CHARACTER
   2493	002122	105745 				TSTB	-(R5)		; NO -- BACK THE POINTER UP
   2494	002124					RETURN			; TO CALLER
	002124	000207 				 RTS	PC
CKCTC -- CONTROL-C CHECK MODULE	MACRO M1108  13-JAN-78 09:14  PAGE 63
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21

   2496					.TITLE	CKCTC -- CONTROL-C CHECK MODULE 7603.30
   2497
   2498						.IDENT	"001010"
   2499
   2500					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   2501					;
   2502					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   2503					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   2504					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   2505					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2506					;	FOR ITS ACCURACY.
   2507					;
   2508					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   2509					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   2510					;
   2511					;
   2512					;		MODULE: CONTROL-C CHECK
   2513					;
   2514					;		VERSION: 01-01
   2515					;
   2516					;		AUTHOR: R. BELANGER
   2517					;
   2518					;		DATE: 7603.30
   2519					;
   2520					;	THIS MODULE CONTAINS:
   2521					;
   2522					;	1) CONTROL-C CHECK CODE
   2523
   2524						.MCALL	CLEF$S
CKCTC -- CONTROL-C CHECK MODULE	MACRO M1108  13-JAN-78 09:14  PAGE 64
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28

   2526					.SBTTL	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
   2527
   2528					;+
   2529					; .CKCTC -- CHECK FOR CONTROL-C TYPED
   2530					;
   2531					; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
   2532					; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
   2533					;
   2534					; INPUT ARGUMENTS:
   2535					;
   2536					;	NONE.
   2537					;
   2538					; OUTPUT ARGUMENTS:
   2539					;
   2540					;	NONE
   2541					;
   2542					; ERROR CODES RETURNED:
   2543					;
   2544					;	NONE.
   2545					;-
   2546
   2547	002126				.CKCTC::
   2548	002126					CLEF$S	#E.FCTC		; CLEAR THE EVENT FLAG
	002126	012746 	000000G			MOV	#E.FCTC,-(SP)
	002132	012746 				MOV	(PC)+,-(SP)
	002134	   037 	   002 			.BYTE	31.,2
	002136	104375 				EMT	375
   2549	002140	022737 	000000G	000000G		CMP	#IS.SET,$DSW	; WAS IT SET?
   2550	002146	001401 				BEQ	10$		; YES -- TRAP OUT
   2551	002150					RETURN			; NO -- JUST RETURN
	002150	000207 				 RTS	PC
   2552	002152				10$:				; PC OF CALL WILL BE IN ".TRPEC"
   2553	002152	104402 				TRAP	TC.CTC		; .TRAP AND RESTART
   2554						;
CKRUN -- KL RUN CHECK MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 65
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28

   2556					.TITLE	CKRUN -- KL RUN CHECK MODULE 7603.30
   2557
   2558						.IDENT	"001010"
   2559
   2560					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   2561					;
   2562					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   2563					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   2564					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   2565					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2566					;	FOR ITS ACCURACY.
   2567					;
   2568					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   2569					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   2570					;
   2571					;
   2572					;		MODULE: KL RUN CHECK
   2573					;
   2574					;		VERSION: 01-01
   2575					;
   2576					;		AUTHOR: R. BELANGER
   2577					;
   2578					;		DATE: 7603.30
   2579					;
   2580					;	THIS MODULE CONTAINS:
   2581					;
   2582					;	1) KL RUN CHECK CODE
CKRUN -- KL RUN CHECK MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 66
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12

   2584					.SBTTL	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
   2585
   2586					;+
   2587					; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
   2588					; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
   2589					;
   2590					; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
   2591					; OR IF THE FRONT END IS IN MAINTENANCE MODE.
   2592					;
   2593					; INPUT ARGUMENTS:
   2594					;
   2595					;	NONE.
   2596					;
   2597					; OUTPUT ARGUMENTS:
   2598					;
   2599					;	NONE.
   2600					;
   2601					; ERROR CODES RETURNED:
   2602					;
   2603					;	KLR -- KL IS RUNNING.
   2604					;-
   2605
   2606						.ENABL	LSB
   2607
   2608	002154				.CKRNP::
   2609	002154					PUSH	R0		; SAVE R0
	002154	010046 				 MOV	R0,-(SP)
   2610	002156	012700 	000002 			MOV	#LG.PRG,R0	; .SET PROGRAMMER ALLOWED
   2611	002162	000402 				BR	10$		; .AND CONTINUE TEST
   2612						;
   2613	002164				.CKRUN::
   2614	002164					PUSH	R0		; SAVE R0
	002164	010046 				 MOV	R0,-(SP)
   2615	002166	005000 				CLR	R0		; .CLEAR R0
   2616	002170				10$:
   2617	002170	052700 	000004 			BIS	#LG.MNT,R0	; .SET MAINTENANCE ALLOWED
   2618	002174					PUSH	.KLFLG		; .SAVE ".KLFLG"
	002174	013746 	000000G			 MOV	.KLFLG,-(SP)
   2619	002200	005116 				COM	(SP)		; ..INVERT ".KLFLG"
   2620	002202	032716 	140000 			BIT	#KF.RUN!KF.CLK,(SP)
   2621	002206	001004 				BNE	20$		; ..BRANCH IF THE KL IS NOT RUNNING
   2622	002210	032737 	000004 	000000G		BIT	#LG.MNT,.FEMOD	; ..ARE WE IN MAINTENANCE MODE?
   2623	002216	001403 				BEQ	CKRKLR		; ..NO -- GIVE "KLR" ERROR
   2624	002220				20$:
   2625	002220	005726 				TST	(SP)+		; ..YES -- RESET THE STACK
   2626	002222					POP	R0		; .RESTORE R0
	002222	012600 				 MOV	(SP)+,R0
   2627	002224					RETURN			; TO CALLER
	002224	000207 				 RTS	PC
   2628
   2629						.DSABL	LSB
   2630
   2631	002226				CKRKLR:
   2632	002226					ERROR$	KLR		; ..ERROR -- KL IS RUNNING
	002226	012746 				 MOV	(PC)+,-(SP)	; "KLR" IN RAD50 TO STACK
	002230	043262 				 .RAD50	/KLR/		; ERROR IDENTIFIER
	002232	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
CKRUN -- KL RUN CHECK MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 66-1
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12

   2633						;
CLDFB -- DTE-20 BUFFER CLEAR MO	MACRO M1108  13-JAN-78 09:14  PAGE 67
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12

   2635					.TITLE	CLDFB -- DTE-20 BUFFER CLEAR MODULE 7603.30
   2636
   2637						.IDENT	"001010"
   2638
   2639					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   2640					;
   2641					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   2642					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   2643					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   2644					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2645					;	FOR ITS ACCURACY.
   2646					;
   2647					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   2648					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   2649					;
   2650					;
   2651					;		MODULE: DTE-20 BUFFER CLEAR
   2652					;
   2653					;		VERSION: 01-01
   2654					;
   2655					;		AUTHOR: R. BELANGER
   2656					;
   2657					;		DATE: 7603.30
   2658					;
   2659					;	THIS MODULE CONTAINS:
   2660					;
   2661					;	1) DTE-20 BUFFER CLEAR CODE
CLDFB -- DTE-20 BUFFER CLEAR MO	MACRO M1108  13-JAN-78 09:14  PAGE 68
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26

   2663					.SBTTL	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
   2664					;+
   2665					; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
   2666					; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
   2667					; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
   2668					;
   2669					; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
   2670					;
   2671					; INPUT ARGUMENTS:
   2672					;
   2673					;	NONE.
   2674					;
   2675					; OUTPUT ARGUMENTS:
   2676					;
   2677					;	NONE.
   2678					;
   2679					; ERROR CODES RETURNED:
   2680					;
   2681					;	NONE.
   2682					;-
   2683
   2684						.ENABL	LSB
   2685
   2686	002234				.CLDFB::
   2687	002234					CALL	.CLDFW		; CLEAR THE WRITE HALF OF THE BUFFER
	002234	004737 	002250'			 JSR	PC,.CLDFW
   2688	002240				.CLDFR::
   2689	002240					PUSH	R0		; SAVE R0
	002240	010046 				 MOV	R0,-(SP)
   2690	002242	012700 	000222'			MOV	#.DFRB,R0	; .CLEAR THE FUNCTION READ BUFFER
   2691	002246	000403 				BR	10$		; .
   2692						;
   2693	002250				.CLDFW::
   2694	002250					PUSH	R0		; SAVE R0
	002250	010046 				 MOV	R0,-(SP)
   2695	002252	012700 	000214'			MOV	#.DFWB,R0	; .CLEAR THE FUNCTION WRITE BUFFER
   2696	002256				10$:
   2697	002256					CALL	.TPCLR		; .CLEAR THE BUFFER
	002256	004737 	027234'			 JSR	PC,.TPCLR
   2698	002262					POP	R0		; .RESTORE R0
	002262	012600 				 MOV	(SP)+,R0
   2699	002264					RETURN			; TO CALLER
	002264	000207 				 RTS	PC
   2700
   2701						.DSABL	LSB
CLRFF -- KL RUN FLOP CLEAR MODU	MACRO M1108  13-JAN-78 09:14  PAGE 69
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26

   2703					.TITLE	CLRFF -- KL RUN FLOP CLEAR MODULE 7609.10
   2704
   2705						.IDENT	"001010"
   2706
   2707					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2708					;
   2709					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2710					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2711					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2712					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2713					;	FOR ITS ACCURACY.
   2714					;
   2715					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2716					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2717					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2718					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2719					;
   2720					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2721					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2722					;
   2723					;		MODULE: KL RUN FLOP CLEAR
   2724					;
   2725					;		VERSION: 01-01
   2726					;
   2727					;		AUTHOR: R. BELANGER
   2728					;
   2729					;		DATE: 7609.10
   2730					;
   2731					;	THIS MODULE CONTAINS:
   2732					;
   2733					;	1) KL RUN FLOP CLEAR CODE
   2734					;
   2735					;	MODIFIED BY A. PECKHAM 7612.11 TO SET .NOHLT SO THAT RSX20F
   2736					;		WILL NOT PANIC
   2737
   2738						.MCALL	DIR$, MRKT$
CLRFF -- KL RUN FLOP CLEAR MODU	MACRO M1108  13-JAN-78 09:14  PAGE 70
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   2740					.SBTTL	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
   2741
   2742					;+
   2743					; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
   2744					;
   2745					; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
   2746					; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
   2747					;
   2748					; INPUT ARGUMENTS:
   2749					;
   2750					;	NONE.
   2751					;
   2752					; OUTPUT ARGUMENTS:
   2753					;
   2754					;	NONE
   2755					;
   2756					; ERROR CODES RETURNED:
   2757					;
   2758					;	FXF -- FUNCTION EXECUTE FAILED.
   2759					;-
   2760
   2761	002266				.CLRFF::
   2762	002266	000241 				CLC			; CLEAR CC-C
   2763	002270					DIR$	#.MTDPB		; REQUEST MARK TIME (FOR ".KLHLT")
	002270	012746 	002322'			MOV	#.MTDPB,-(SP)
	002274	104375 				EMT	375
   2764	002276					PUSH	R0		; SAVE R0
	002276	010046 				 MOV	R0,-(SP)
   2765	002300	112737 	000001 	000000G		MOVB	#1,.NOHLT	; TELL RSX20F NOT TO WORRY ABOUT THIS
   2766	002306	012700 	000020 			MOV	#FX.CRF,R0	; .SET UP TO CLEAR KL RUN FLOP
   2767	002312					CALL	.FXCT		; .DO IT
	002312	004737 	011074'			 JSR	PC,.FXCT
   2768	002316					POP	R0		; .RESTORE R0
	002316	012600 				 MOV	(SP)+,R0
   2769	002320					RETURN			; TO CALLER
	002320	000207 				 RTS	PC
CLRFF -- KL RUN FLOP CLEAR MODU	MACRO M1108  13-JAN-78 09:14  PAGE 71
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   2771					; DPB FOR MARK TIME DIRECTIVE
   2772
   2773					;	!===============================================!
   2774					; 00	!	DPB SIZE	!	  DIC		!
   2775					;	!-----------------------------------------------!
   2776					; 02	!		  EVENT FLAG			!
   2777					;	!-----------------------------------------------!
   2778					; 04	!	TIME INTERVAL IN CLOCK TICKS		!
   2779					;	!-----------------------------------------------!
   2780					; 06	!	RESCHEDULE INTERVAL IN CLOCK TICKS	!
   2781					;	!-----------------------------------------------!
   2782					; 10	!	     AST HANDLER ENTRY POINT		!
   2783					;	!===============================================!
   2784
   2785	002322				.MTDPB::
   2786	002322					MRKT$	E.FHTO,30.,0,0
	002322	   027 	   005 			.BYTE	23.,5
	002324	000001 				.WORD	E.FHTO
	002326	000036 				.WORD	30.
	002330	000000 				.WORD	0
	002332	000000 				.WORD	0
CMDTB -- MAIN COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 72
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   2788					.TITLE	CMDTB -- MAIN COMMAND TABLE MODULE 7703.25
   2789
   2790						.IDENT	"003000"
   2791
   2792					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2793					;
   2794					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2795					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2796					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2797					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2798					;	FOR ITS ACCURACY.
   2799					;
   2800					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2801					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2802					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2803					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2804					;
   2805					;		MODULE: MAIN COMMAND TABLE
   2806					;
   2807					;		VERSION: 03-00
   2808					;
   2809					;		AUTHOR: R. BELANGER
   2810					;
   2811					;		DATE: 7703.25
   2812					;
   2813					;	THIS MODULE CONTAINS:
   2814					;
   2815					;	1) THE MAIN COMMAND TABLE
   2816					;
   2817					;  MODIFICATIONS:
   2818					;
   2819					;	NO.	DATE		PROGRAMMER	REASON
   2820					;	---	----		----------	------
   2821					;	001	28-FEB-77	R. BELANGER	ADD DISCONNECT COMMAND
CMDTB -- MAIN COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 73
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

   2823					.SBTTL	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   2824
   2825	002334				.CMDTB::
   2826	002334					COMND$	,<LG.OPR!LG.RPT>,.NULLC
	000050	   000 				 .ASCIZ	%%
	002334	000050'				 .WORD	$$CMDN		; POINTER TO "" SYMBOL
	002336	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002340	016466'				 .WORD	.NULLC		; ROUTINE TO CALL
   2827	002342					COMND$	ABORT,LG.OPR,.ABRTC
	000051	   101 	   102 	   117 		 .ASCIZ	%ABORT%
	000054	   122 	   124 	   000
	002342	000051'				 .WORD	$$CMDN		; POINTER TO "ABORT" SYMBOL
	002344	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002346	001562'				 .WORD	.ABRTC		; ROUTINE TO CALL
   2828	002350					COMND$	CLEAR,<LG.OPR!LG.RPT>,.CLRCM
	000057	   103 	   114 	   105 		 .ASCIZ	%CLEAR%
	000062	   101 	   122 	   000
	002350	000057'				 .WORD	$$CMDN		; POINTER TO "CLEAR" SYMBOL
	002352	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002354	025626'				 .WORD	.CLRCM		; ROUTINE TO CALL
   2829	002356					COMND$	CONTINUE,<LG.PRG!LG.RPT>,.CONTC
	000065	   103 	   117 	   116 		 .ASCIZ	%CONTINUE%
	000070	   124 	   111 	   116
	000073	   125 	   105 	   000
	002356	000065'				 .WORD	$$CMDN		; POINTER TO "CONTINUE" SYMBOL
	002360	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002362	002556'				 .WORD	.CONTC		; ROUTINE TO CALL
   2830	002364					COMND$	DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC
	000076	   104 	   105 	   120 		 .ASCIZ	%DEPOSIT%
	000101	   117 	   123 	   111
	000104	   124 	   000
	002364	000076'				 .WORD	$$CMDN		; POINTER TO "DEPOSIT" SYMBOL
	002366	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002370	003776'				 .WORD	.DPOSC		; ROUTINE TO CALL
   2831	002372					COMND$	DISCONNECT,LG.ALL,.DISCC
	000106	   104 	   111 	   123 		 .ASCIZ	%DISCONNECT%
	000111	   103 	   117 	   116
	000114	   116 	   105 	   103
	000117	   124 	   000
	002372	000106'				 .WORD	$$CMDN		; POINTER TO "DISCONNECT" SYMBOL
	002374	000007 				 .WORD	LG.ALL		; LEGAL BITS
	002376	003272'				 .WORD	.DISCC		; ROUTINE TO CALL
   2832	002400					COMND$	EXAMINE,<LG.OPR!LG.RPT>,.EXAMC
	000121	   105 	   130 	   101 		 .ASCIZ	%EXAMINE%
	000124	   115 	   111 	   116
	000127	   105 	   000
	002400	000121'				 .WORD	$$CMDN		; POINTER TO "EXAMINE" SYMBOL
	002402	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002404	006364'				 .WORD	.EXAMC		; ROUTINE TO CALL
   2833	002406					COMND$	FREAD,<LG.MNT!LG.RPT>,.DFRED
	000131	   106 	   122 	   105 		 .ASCIZ	%FREAD%
	000134	   101 	   104 	   000
	002406	000131'				 .WORD	$$CMDN		; POINTER TO "FREAD" SYMBOL
	002410	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002412	003066'				 .WORD	.DFRED		; ROUTINE TO CALL
   2834	002414					COMND$	FWRITE,<LG.MNT!LG.RPT>,.DFWRT
	000137	   106 	   127 	   122 		 .ASCIZ	%FWRITE%
CMDTB -- MAIN COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 73-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	000142	   111 	   124 	   105
	000145	   000
	002414	000137'				 .WORD	$$CMDN		; POINTER TO "FWRITE" SYMBOL
	002416	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002420	003172'				 .WORD	.DFWRT		; ROUTINE TO CALL
   2835	002422					COMND$	FXCT,<LG.MNT!LG.RPT>,.DFXCT
	000146	   106 	   130 	   103 		 .ASCIZ	%FXCT%
	000151	   124 	   000
	002422	000146'				 .WORD	$$CMDN		; POINTER TO "FXCT" SYMBOL
	002424	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	002426	003252'				 .WORD	.DFXCT		; ROUTINE TO CALL
   2836	002430					COMND$	HALT,<LG.PRG!LG.RPT>,.HALTC
	000153	   110 	   101 	   114 		 .ASCIZ	%HALT%
	000156	   124 	   000
	002430	000153'				 .WORD	$$CMDN		; POINTER TO "HALT" SYMBOL
	002432	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002434	014042'				 .WORD	.HALTC		; ROUTINE TO CALL
   2837					.IF NE	FTHELP
   2838						COMND$	HELP,LG.ALL,.HELPC
   2839					.ENDC		; FTHELP
   2840	002436					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.INITC
	000160	   111 	   116 	   111 		 .ASCIZ	%INITIALIZE%
	000163	   124 	   111 	   101
	000166	   114 	   111 	   132
	000171	   105 	   000
	002436	000160'				 .WORD	$$CMDN		; POINTER TO "INITIALIZE" SYMBOL
	002440	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002442	014534'				 .WORD	.INITC		; ROUTINE TO CALL
   2841	002444					COMND$	JUMP,LG.OPR,.JUMPC
	000173	   112 	   125 	   115 		 .ASCIZ	%JUMP%
	000176	   120 	   000
	002444	000173'				 .WORD	$$CMDN		; POINTER TO "JUMP" SYMBOL
	002446	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002450	026456'				 .WORD	.JUMPC		; ROUTINE TO CALL
   2842	002452					COMND$	MCR,LG.OPR,.RUNCM
	000200	   115 	   103 	   122 		 .ASCIZ	%MCR%
	000203	   000
	002452	000200'				 .WORD	$$CMDN		; POINTER TO "MCR" SYMBOL
	002454	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002456	022162'				 .WORD	.RUNCM		; ROUTINE TO CALL
   2843	002460					COMND$	REPEAT,<LG.OPR!LG.RPT>,.REPTC
	000204	   122 	   105 	   120 		 .ASCIZ	%REPEAT%
	000207	   105 	   101 	   124
	000212	   000
	002460	000204'				 .WORD	$$CMDN		; POINTER TO "REPEAT" SYMBOL
	002462	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002464	021034'				 .WORD	.REPTC		; ROUTINE TO CALL
   2844	002466					COMND$	RESET,<LG.PRG!LG.RPT>,.RESTC
	000213	   122 	   105 	   123 		 .ASCIZ	%RESET%
	000216	   105 	   124 	   000
	002466	000213'				 .WORD	$$CMDN		; POINTER TO "RESET" SYMBOL
	002470	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002472	021336'				 .WORD	.RESTC		; ROUTINE TO CALL
   2845	002474					COMND$	RUN,LG.OPR,.RUNCM
	000221	   122 	   125 	   116 		 .ASCIZ	%RUN%
	000224	   000
	002474	000221'				 .WORD	$$CMDN		; POINTER TO "RUN" SYMBOL
CMDTB -- MAIN COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 73-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	002476	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002500	022162'				 .WORD	.RUNCM		; ROUTINE TO CALL
   2846	002502					COMND$	SET,<LG.OPR!LG.RPT>,.SETCM
	000225	   123 	   105 	   124 		 .ASCIZ	%SET%
	000230	   000
	002502	000225'				 .WORD	$$CMDN		; POINTER TO "SET" SYMBOL
	002504	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	002506	025646'				 .WORD	.SETCM		; ROUTINE TO CALL
   2847	002510					COMND$	SHUTDOWN,LG.OPR,.SHUTC
	000231	   123 	   110 	   125 		 .ASCIZ	%SHUTDOWN%
	000234	   124 	   104 	   117
	000237	   127 	   116 	   000
	002510	000231'				 .WORD	$$CMDN		; POINTER TO "SHUTDOWN" SYMBOL
	002512	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002514	025732'				 .WORD	.SHUTC		; ROUTINE TO CALL
   2848	002516					COMND$	START,<LG.PRG!LG.RPT>,.STRTC
	000242	   123 	   124 	   101 		 .ASCIZ	%START%
	000245	   122 	   124 	   000
	002516	000242'				 .WORD	$$CMDN		; POINTER TO "START" SYMBOL
	002520	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002522	026430'				 .WORD	.STRTC		; ROUTINE TO CALL
   2849	002524					COMND$	QUIT,LG.OPR,.QUITC
	000250	   121 	   125 	   111 		 .ASCIZ	%QUIT%
	000253	   124 	   000
	002524	000250'				 .WORD	$$CMDN		; POINTER TO "QUIT" SYMBOL
	002526	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002530	017530'				 .WORD	.QUITC		; ROUTINE TO CALL
   2850	002532					COMND$	WHAT,LG.OPR,.WHATC
	000255	   127 	   110 	   101 		 .ASCIZ	%WHAT%
	000260	   124 	   000
	002532	000255'				 .WORD	$$CMDN		; POINTER TO "WHAT" SYMBOL
	002534	000001 				 .WORD	LG.OPR		; LEGAL BITS
	002536	032232'				 .WORD	.WHATC		; ROUTINE TO CALL
   2851	002540					COMND$	XCT,<LG.PRG!LG.RPT>,.EXCTC
	000262	   130 	   103 	   124 		 .ASCIZ	%XCT%
	000265	   000
	002540	000262'				 .WORD	$$CMDN		; POINTER TO "XCT" SYMBOL
	002542	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	002544	007250'				 .WORD	.EXCTC		; ROUTINE TO CALL
   2852	002546					COMND$	ZERO,LG.PRG,.ZEROC
	000266	   132 	   105 	   122 		 .ASCIZ	%ZERO%
	000271	   117 	   000
	002546	000266'				 .WORD	$$CMDN		; POINTER TO "ZERO" SYMBOL
	002550	000002 				 .WORD	LG.PRG		; LEGAL BITS
	002552	034234'				 .WORD	.ZEROC		; ROUTINE TO CALL
   2853	002554	000000 				.WORD	0		; END OF TABLE MARKER
CONTC -- CONTINUE COMMAND MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 74
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

   2855					.TITLE	CONTC -- CONTINUE COMMAND MODULE 7611.17
   2856
   2857						.IDENT	"002010"
   2858
   2859					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2860					;
   2861					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2862					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2863					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2864					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2865					;	FOR ITS ACCURACY.
   2866					;
   2867					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2868					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2869					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2870					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2871					;
   2872					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2873					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2874					;
   2875					;
   2876					;		MODULE: CONTINUE COMMAND
   2877					;
   2878					;		VERSION: 02-01
   2879					;
   2880					;		AUTHOR: R. BELANGER
   2881					;
   2882					;		DATE: 7611.17
   2883					;
   2884					;	THIS MODULE CONTAINS:
   2885					;
   2886					;	1) CONTINUE COMMAND CODE
   2887					;
   2888					;	MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCES TO .SECFL
   2889					;		TO .NOERR
CONTC -- CONTINUE COMMAND MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 75
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   2891					.SBTTL	.CONTC -- THE "CONTINUE" COMMAND 7611.17
   2892
   2893					;+
   2894					; .CONTC -- THE "CONTINUE" COMMAND
   2895					;
   2896					; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
   2897					;
   2898					; INPUT ARGUMENTS:
   2899					;
   2900					;	NONE.
   2901					;
   2902					; OUTPUT ARGUMENTS:
   2903					;
   2904					;	NONE.
   2905					;
   2906					; ERROR CORES RETURNED:
   2907					;
   2908					;	KNC -- KL IS NOT CONTINUABLE
   2909					;-
   2910
   2911	002556				.CONTC::
   2912	002556					CALL	.CKEOC		; CHECK E-O-C
	002556	004737 	002010'			 JSR	PC,.CKEOC
   2913	002562					PUSH	.KLFLG		; SAVE ".KLFLG" ON THE STACK
	002562	013746 	000000G			 MOV	.KLFLG,-(SP)
   2914	002566	032716 	000200 			BIT	#KF.CON,(SP)	; .CAN WE CONTINUE THE KL?
   2915	002572	001427 				BEQ	CONKNC		; .NO -- GIVE "KNC" ERROR
   2916	002574	032716 	010000 			BIT	#KF.SIM,(SP)	; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
   2917	002600	001412 				BEQ	20$		; .NO -- JUST CONTINUE THE KL
   2918	002602	032716 	100000 			BIT	#KF.CLK,(SP)	; .YES -- IS THE CLOCK RUNNING?
   2919	002606	001002 				BNE	10$		; .YES -- DON'T START IT AGAIN
   2920	002610					CALL	.STCLK		; .NO -- START IT
	002610	004737 	026300'			 JSR	PC,.STCLK
   2921	002614				10$:
   2922	002614	012700 	000024 			MOV	#FX.CON,R0	; .SET THE "CONTINUE" BUTTON
   2923	002620					CALL	.FXCT		; .VIA FUNCTION EXECUTE
	002620	004737 	011074'			 JSR	PC,.FXCT
   2924	002624	000407 				BR	30$		; .AND EXIT
   2925						;
   2926	002626				20$:
   2927	002626					CALL	.KLCON		; .DO THE CONTINUE
	002626	004737 	014546'			 JSR	PC,.KLCON
   2928	002632	032716 	040000 			BIT	#KF.RUN,(SP)	; .WAS THE KL RUNNING BEFORE?
   2929	002636	001002 				BNE	30$		; .YES -- JUST EXIT
   2930	002640	005037 	000000G			CLR	.NOERR		; RE-ENABLE ERROR DETECTION
   2931
   2932					;	[CONTINUED ON THE FOLLOWING PAGE]
CONTC -- CONTINUE COMMAND MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 76
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   2934					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2935
   2936	002644				30$:
   2937	002644	005726 				TST	(SP)+		; .CLEAR THE STACK
   2938	002646					CALLR	.EXITP
	002646	000137 	007754'			 JMP	.EXITP
   2939						;
   2940
   2941	002652				CONKNC:
   2942	002652					ERROR$	KNC		; ERROR -- KL NOT CONTINUEABLE
	002652	012746 				 MOV	(PC)+,-(SP)	; "KNC" IN RAD50 TO STACK
	002654	043363 				 .RAD50	/KNC/		; ERROR IDENTIFIER
	002656	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   2943						;
DEPAR -- DEPOSIT AR COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 77
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   2945					.TITLE	DEPAR -- DEPOSIT AR COMMAND MODULE 7603.21
   2946
   2947						.IDENT	"002010"
   2948
   2949					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   2950					;
   2951					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   2952					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   2953					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   2954					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   2955					;	FOR ITS ACCURACY.
   2956					;
   2957					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   2958					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   2959					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   2960					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   2961					;
   2962					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   2963					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   2964					;
   2965					;
   2966					;		MODULE: DEPOSIT AR COMMAND
   2967					;
   2968					;		VERSION: 02-01
   2969					;
   2970					;		AUTHOR: R. BELANGER
   2971					;
   2972					;		DATE: 7603.21
   2973					;
   2974					;	THIS MODULE CONTAINS:
   2975					;
   2976					;	1) DEPOSIT AR COMMAND CODE
   2977					;
   2978					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
DEPAR -- DEPOSIT AR COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 78
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21

   2980					.SBTTL	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
   2981
   2982					;+
   2983					; .DEPAR -- THE "DEPOSIT AR" COMMAND.
   2984					;
   2985					; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
   2986					;
   2987					; INPUT ARGUMENTS:
   2988					;
   2989					;	NONE.
   2990					;
   2991					; OUTPUT ARGUMENTS:
   2992					;
   2993					;	NONE.
   2994					;
   2995					; ERROR CODES RETURNED:
   2996					;
   2997					;	NONE.
   2998					;-
   2999
   3000	002660				.DEPAR::
   3001	002660					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	002660	004737 	002164'			 JSR	PC,.CKRUN
   3002	002664					CALL	.CKCOL		; CHECK FOR A COLON
	002664	004737 	001752'			 JSR	PC,.CKCOL
   3003	002670	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3004	002672	005046 				CLR	-(SP)		; .
   3005	002674	005046 				CLR	-(SP)		; ..
   3006	002676	010600 				MOV	SP,R0		; ...POINT TO IT
   3007	002700					CALL	.GTNUM		; ...READ A NUMBER
	002700	004737 	012334'			 JSR	PC,.GTNUM
   3008	002704					CALL	.CKEOC		; ...CHECK FOR E-O-C
	002704	004737 	002010'			 JSR	PC,.CKEOC
   3009	002710					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	002710	013746 	000000G			 MOV	.KLFLG,-(SP)
   3010	002714	032716 	100000 			BIT	#KF.CLK,(SP)	; ....IS THE CLOCK RUNNING?
   3011	002720	001402 				BEQ	10$		; ....NO -- GO ON
   3012	002722					CALL	.KLHLT		; ....STOP THE KL - DEAD
	002722	004737 	014644'			 JSR	PC,.KLHLT
   3013	002726				10$:
   3014	002726	010001 				MOV	R0,R1		; ....DATA POINTER TO R1
   3015	002730					CALL	.WRTAR		; ....WRITE THE AR
	002730	004737 	034014'			 JSR	PC,.WRTAR
   3016	002734					POP	.SVKLF		; ....SET UP ".SVKLF"
	002734	012637 	000140'			 MOV	(SP)+,.SVKLF
   3017	002740					CALL	.KLRST		; ...YES -- RESTART THE KL
	002740	004737 	015036'			 JSR	PC,.KLRST
   3018	002744	005037 	000140'			CLR	.SVKLF		; ...RESET ".SVKLF"
   3019	002750	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   3020	002754					RETURN			; ...TO CALLER
	002754	000207 				 RTS	PC
DFCOM -- COMMON DIAGNOSTIC FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 79
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21

   3022					.TITLE	DFCOM -- COMMON DIAGNOSTIC FUNCTION MODULE 7603.30
   3023
   3024						.IDENT	"002010"
   3025
   3026					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   3027					;
   3028					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   3029					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   3030					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   3031					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3032					;	FOR ITS ACCURACY.
   3033					;
   3034					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   3035					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   3036					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   3037					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   3038					;
   3039					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   3040					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   3041					;
   3042					;
   3043					;		MODULE: COMMON DIAGNOSTIC FUNCTION
   3044					;
   3045					;		VERSION: 02-01
   3046					;
   3047					;		AUTHOR: R. BELANGER
   3048					;
   3049					;		DATE: 7603.30
   3050					;
   3051					;	THIS MODULE CONTAINS:
   3052					;
   3053					;	1) COMMON DIAGNOSTIC FUNCTION CODE
   3054					;
   3055					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
DFCOM -- COMMON DIAGNOSTIC FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 80
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

   3057					.SBTTL	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
   3058
   3059					;+
   3060					; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
   3061					;
   3062					; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
   3063					; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
   3064					; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
   3065					;
   3066					; INPUT ARGUMENTS:
   3067					;
   3068					;	NONE.
   3069					;
   3070					; OUTPUT ARGUMENTS:
   3071					;
   3072					;	R0 HOLDS THE FUNCTION CODE.
   3073					;
   3074					; ERROR CODES RETURNED:
   3075					;
   3076					;	IFC -- ILLEGAL FUNCTION CODE
   3077					;	MRA -- MISSING REQUIRED ARGUMENT.
   3078					;-
   3079
   3080	002756				.DFCOM::
   3081	002756					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	002756	004737 	002164'			 JSR	PC,.CKRUN
   3082	002762	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3083	002764	005046 				CLR	-(SP)		; .
   3084	002766	005046 				CLR	-(SP)		; ..
   3085	002770	010600 				MOV	SP,R0		; ...POINT TO IT
   3086	002772					CALL	.GTKLN		; ...READ THE FUNCTION CODE
	002772	004737 	012334'			 JSR	PC,.GTKLN
   3087	002776	005760 	000004 			TST	4(R0)		; ...SEE IF WE HAVE A LEGAL CODE
   3088	003002	001026 				BNE	DFCIFC		; ...NO -- COMPLAIN
   3089	003004	005760 	000002 			TST	2(R0)		; ...
   3090	003010	001023 				BNE	DFCIFC		; ...
   3091	003012	105760 	000001 			TSTB	1(R0)		; ...
   3092	003016	001020 				BNE	DFCIFC		; ...
   3093	003020	132710 	177740 			BITB	#^C37,(R0)	; ...IS THIS AN EXECUTE?
   3094	003024	001411 				BEQ	10$		; ...NO -- CONTINUE
   3095	003026	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; ...IS THE KL RUNNING?
   3096	003034	001405 				BEQ	10$		; ...NO -- JUST KEEP GOING
   3097	003036	013737 	000000G	000140'		MOV	.KLFLG,.SVKLF	; ...SAVE THE CURRENT FLAGS
   3098	003044					CALL	.KLHLT		; ...HALT THE KL
	003044	004737 	014644'			 JSR	PC,.KLHLT
   3099	003050				10$:
   3100	003050					POP	R0		; ...GET THE CODE INTO R0
	003050	012600 				 MOV	(SP)+,R0
   3101	003052	006300 				ASL	R0		; ..TIMES 2
   3102	003054	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   3103	003056					RETURN			; TO CALLER
	003056	000207 				 RTS	PC
DFCOM -- COMMON DIAGNOSTIC FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 81
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

   3105	003060				DFCIFC:
   3106	003060					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	003060	012746 				 MOV	(PC)+,-(SP)	; "IFC" IN RAD50 TO STACK
	003062	034463 				 .RAD50	/IFC/		; ERROR IDENTIFIER
	003064	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   3107						;
DFRED -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 82
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

   3109					.TITLE	DFRED -- DIAGNOSTIC FUNCTION READ COMMAND MODULE 7603.30
   3110
   3111						.IDENT	"001010"
   3112
   3113					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3114					;
   3115					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3116					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3117					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3118					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3119					;	FOR ITS ACCURACY.
   3120					;
   3121					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3122					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3123					;
   3124					;
   3125					;		MODULE: DIAGNOSTIC FUNCTION READ COMMAND
   3126					;
   3127					;		VERSION: 01-01
   3128					;
   3129					;		AUTHOR: R. BELANGER
   3130					;
   3131					;		DATE: 7603.30
   3132					;
   3133					;	THIS MODULE CONTAINS:
   3134					;
   3135					;	1) DIAGNOSTIC FUNCTION READ COMMAND CODE
DFRED -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 83
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   3137					.SBTTL	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
   3138
   3139					;+
   3140					; .DFRED -- DIAGNOSTIC FUNCTION READ
   3141					;
   3142					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
   3143					; THE RESULT ON THE CONSOLE DEVICE.
   3144					;
   3145					; INPUT ARGUMENTS:
   3146					;
   3147					;	NONE.
   3148					;
   3149					; OUTPUT ARGUMENTS:
   3150					;
   3151					;	NONE.
   3152					;
   3153					; ERROR CODES RETURNED:
   3154					;
   3155					;	IFC -- ILLEGAL FUNCTION CODE.
   3156					;	FRF -- FUNCTION READ FAILED.
   3157					;-
DFRED -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 84
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   3159	003066				.DFRED::
   3160	003066					CALL	.DFCOM		; DO COMMON CODE
	003066	004737 	002756'			 JSR	PC,.DFCOM
   3161	003072					CALL	.CKEOS		; CHECK END OF SYMBOL
	003072	004737 	002052'			 JSR	PC,.CKEOS
   3162	003076					CALL	.XFRCK		; SEE THAT WE HAVE A LEGAL READ CODE
	003076	004737 	034042'			 JSR	PC,.XFRCK
   3163	003102	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3164	003104	005046 				CLR	-(SP)		; .
   3165	003106	005046 				CLR	-(SP)		; ..
   3166	003110	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   3167	003112					PUSH	R0		; ...SAVE THE READ CODE
	003112	010046 				 MOV	R0,-(SP)
   3168	003114					CALL	.FREAD		; ....DO THE READ
	003114	004737 	010644'			 JSR	PC,.FREAD
   3169	003120	012700 	000273'			MOV	#FRDMSG,R0	; ....MESSAGE POINTER TO R0
   3170	003124					CALL	.TYMSG		; ....TYPE IT
	003124	004737 	031434'			 JSR	PC,.TYMSG
   3171	003130					POP	R0		; ....READ CODE TO R0
	003130	012600 				 MOV	(SP)+,R0
   3172	003132	006200 				ASR	R0		; ...DIVIDED BY 2
   3173	003134					CALL	.TYP3D		; ...PRINT IT
	003134	004737 	030742'			 JSR	PC,.TYP3D
   3174	003140					CALL	.TYSLS		; ...AND A SLASH
	003140	004737 	030634'			 JSR	PC,.TYSLS
   3175	003144					CALL	.TYSPC		; ...AND A SPACE
	003144	004737 	030644'			 JSR	PC,.TYSPC
   3176	003150	010100 				MOV	R1,R0		; ...POINT TO THE DATA
   3177	003152					CALL	.TYKLN		; ...PRINT IT
	003152	004737 	031066'			 JSR	PC,.TYKLN
   3178	003156					CALL	.TCRLF		; ...END THE LINE
	003156	004737 	031524'			 JSR	PC,.TCRLF
   3179	003162	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   3180	003166					CALLR	.RSTKL		; RESTART THE KL AND EXIT
	003166	000137 	022134'			 JMP	.RSTKL
   3181						;
   3182
   3183	000273				.PSECT	MESSAG
   3184	000273				FRDMSG:
   3185	000273	   106 	   122 	   040 		.ASCIZ	%FR %
	000276	   000
   3186	003172				.PSECT
DFWRT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 85
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   3188					.TITLE	DFWRT -- DIAGNOSTIC FUNCTION WRITE COMMAND MODULE 7608.20
   3189
   3190						.IDENT	"001020"
   3191
   3192					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   3193					;
   3194					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   3195					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   3196					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   3197					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3198					;	FOR ITS ACCURACY.
   3199					;
   3200					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   3201					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   3202					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   3203					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   3204					;
   3205					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   3206					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   3207					;
   3208					;		MODULE: DIAGNOSTIC FUNCTION WRITE COMMAND
   3209					;
   3210					;		VERSION: 01-02
   3211					;
   3212					;		AUTHOR: R. BELANGER
   3213					;
   3214					;		DATE: 7608.20
   3215					;
   3216					;	THIS MODULE CONTAINS:
   3217					;
   3218					;	1) DIAGNOSTIC FUNCTION WRITE COMMAND CODE
DFWRT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 86
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20

   3220					.SBTTL	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
   3221
   3222					;+
   3223					; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
   3224					;
   3225					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
   3226					;
   3227					; INPUT ARGUMENTS:
   3228					;
   3229					;	NONE.
   3230					;
   3231					; OUTPUT ARGUMENTS:
   3232					;
   3233					;	NONE.
   3234					;
   3235					; ERROR CODES RETURNED:
   3236					;
   3237					;	IFC -- ILLEGAL FUNCTION CODE.
   3238					;	FWF -- FUNCTION WRITE FAILED.
   3239					;-
   3240
   3241	003172				.DFWRT::
   3242	003172					CALL	.DFCOM		; DO COMMON CODE
	003172	004737 	002756'			 JSR	PC,.DFCOM
   3243	003176					CALL	.CKCOL		; CHECK END-OF-SYMBOL
	003176	004737 	001752'			 JSR	PC,.CKCOL
   3244	003202					CALL	.XFWCK		; SEE IF WE HAVE A GOOD WRITE CODE
	003202	004737 	034060'			 JSR	PC,.XFWCK
   3245	003206	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3246	003210	005046 				CLR	-(SP)		; .
   3247	003212	005046 				CLR	-(SP)		; ..
   3248	003214	010601 				MOV	SP,R1		; ...SAVE THE BUFFER POINTER
   3249	003216					PUSH 	R0		; ...SAVE THE WRITE CODE
	003216	010046 				 MOV	R0,-(SP)
   3250	003220	010100 				MOV	R1,R0		; ....POINT TO THE BUFFER
   3251	003222					CALL	.GTKLN		; ....READ THE DATA
	003222	004737 	012334'			 JSR	PC,.GTKLN
   3252	003226					CALL	.CKEOS		; ....CHECK SYMBOL END
	003226	004737 	002052'			 JSR	PC,.CKEOS
   3253	003232	010001 				MOV	R0,R1		; ...DATA POINTER TO R1
   3254	003234					POP	R0		; ....GET THE WRITE CODE
	003234	012600 				 MOV	(SP)+,R0
   3255	003236					CALL	.FWRIT		; ...DO THE WRITE
	003236	004737 	010740'			 JSR	PC,.FWRIT
   3256	003242	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   3257	003246					CALLR	.RSTKL		; RESET ".SECFL" AND EXIT
	003246	000137 	022134'			 JMP	.RSTKL
   3258						;
DFXCT -- DIAGNOSTIC FUNCTION EX	MACRO M1108  13-JAN-78 09:14  PAGE 87
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20

   3260					.TITLE	DFXCT -- DIAGNOSTIC FUNCTION EXECUTE COMMAND MODULE 7603.30
   3261
   3262						.IDENT	"001010"
   3263
   3264					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3265					;
   3266					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3267					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3268					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3269					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3270					;	FOR ITS ACCURACY.
   3271					;
   3272					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3273					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3274					;
   3275					;
   3276					;		MODULE: DIAGNOSTIC FUNCTION EXECUTE COMMAND
   3277					;
   3278					;		VERSION: 01-01
   3279					;
   3280					;		AUTHOR: R. BELANGER
   3281					;
   3282					;		DATE: 7603.30
   3283					;
   3284					;	THIS MODULE CONTAINS:
   3285					;
   3286					;	1) DIAGNOSTIC FUNCTION EXECUTE CODE
DFXCT -- DIAGNOSTIC FUNCTION EX	MACRO M1108  13-JAN-78 09:14  PAGE 88
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15

   3288					.SBTTL	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
   3289
   3290					;+
   3291					; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
   3292					;
   3293					; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   3294					;
   3295					; INPUT ARGUMENTS:
   3296					;
   3297					;	NONE.
   3298					;
   3299					; OUTPUT ARGUMENTS:
   3300					;
   3301					;	NONE.
   3302					;
   3303					; ERROR CODES RETURNED:
   3304					;
   3305					;	IFC -- ILLEGAL FUNCTION CODE.
   3306					;	FXF -- FUNCTION EXECUTE FAILED.
   3307					;-
   3308
   3309	003252				.DFXCT::
   3310	003252					CALL	.DFCOM		; DO COMMON CODE
	003252	004737 	002756'			 JSR	PC,.DFCOM
   3311	003256					CALL	.CKEOS		; CHECK SYMBOL END
	003256	004737 	002052'			 JSR	PC,.CKEOS
   3312	003262					CALL	.XFXCK		; CHECK THE FXCT CODE OUT
	003262	004737 	034076'			 JSR	PC,.XFXCK
   3313	003266					CALLR	.FXCT		; DO THE FUNCTION EXECUTE
	003266	000137 	011074'			 JMP	.FXCT
   3314						;
DISCC -- DISCONNECT COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 89
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15

   3316					.TITLE	DISCC -- DISCONNECT COMMAND MODULE 7702.28
   3317
   3318						.IDENT	"003000"
   3319
   3320					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   3321					;
   3322					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   3323					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   3324					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   3325					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3326					;	FOR ITS ACCURACY.
   3327					;
   3328					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   3329					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   3330					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   3331					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   3332					;
   3333					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   3334					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   3335					;
   3336					;		MODULE: DISCONNECT COMMAND
   3337					;
   3338					;		VERSION: 03-00
   3339					;
   3340					;		AUTHOR: R. BELANGER
   3341					;
   3342					;		DATE: 7702.28
   3343					;
   3344					;	THIS MODULE CONTAINS:
   3345					;
   3346					;	1) DISCONNECT COMMAND CODE
   3347
   3348						.MCALL	DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 90
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   3350					.SBTTL	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
   3351
   3352					;+
   3353					;  .DISCC --  THE "DISCONNECT" COMMAND
   3354					;
   3355					; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
   3356					; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
   3357					; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
   3358					; RETURN THE THE RSX20F COMMAND PARSER.
   3359					;
   3360					; INPUT ARGUMENTS:
   3361					;
   3362					;	NONE.
   3363					;
   3364					; OUTPUT ARGUMENTS:
   3365					;
   3366					;	NONE.
   3367					;
   3368					; ERROR CODES RETURNED:
   3369					;
   3370					;	NONE.
   3371					;-
   3372
   3373	003272				.DISCC::
   3374	003272					CALL	.CKEOC		; MUST HAVE E-O-C
	003272	004737 	002010'			 JSR	PC,.CKEOC
   3375	003276	112737 	000003 	000001G		MOVB	#3,.KLNSW+1	; FLAG DISCONNECT
   3376	003304					DIR$	#RQSKLD		; REQUEST DISCONNECT TASK
	003304	012746 	003316'			MOV	#RQSKLD,-(SP)
	003310	104375 				EMT	375
   3377	003312					CALLR	.EXITP		; GO AWAY FOR NOW
	003312	000137 	007754'			 JMP	.EXITP
   3378						;
   3379	003316				RQSKLD:
   3380	003316					RQST$	KLDISC,,10
	003316	   013 	   007 			.BYTE	11.,7
	003320	043244 	035473 			.RAD50	/KLDISC/
	003324	000000 	000000 			.WORD	0,0
	003330	000010 				.WORD	10
	003332	   000 	   000 			.BYTE	,
DOCMD -- COMMAND DECODER MODULE	MACRO M1108  13-JAN-78 09:14  PAGE 91
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   3382					.TITLE	DOCMD -- COMMAND DECODER MODULE 7603.30
   3383
   3384						.IDENT	"001010"
   3385
   3386					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3387					;
   3388					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3389					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3390					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3391					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3392					;	FOR ITS ACCURACY.
   3393					;
   3394					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3395					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3396					;
   3397					;
   3398					;		MODULE: COMMAND DECODER
   3399					;
   3400					;		VERSION: 01-01
   3401					;
   3402					;		AUTHOR: R. BELANGER
   3403					;
   3404					;		DATE: 7603.30
   3405					;
   3406					;	THIS MODULE CONTAINS:
   3407					;
   3408					;	1) COMMAND DECODER
DOCMD -- COMMAND DECODER MODULE	MACRO M1108  13-JAN-78 09:14  PAGE 92
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   3410					.SBTTL	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   3411
   3412					;+
   3413					; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
   3414					;
   3415					; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
   3416					; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
   3417					; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
   3418					;
   3419					; INPUT ARGUMENTS:
   3420					;
   3421					;	R0 POINTS TO A REPEAT COUNT
   3422					;	R5 POINTS TO THE INPUT STREAM.
   3423					;
   3424					; OUTPUT ARGUMENTS:
   3425					;
   3426					;	R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
   3427					;
   3428					; ERROR CODES RETURNED:
   3429					;
   3430					;	CNR -- COMMAND IS NOT REPEATABLE
   3431					;-
   3432
   3433	003334				.DOCMD::
   3434	003334	022020 				CMP	(R0)+,(R0)+	; POINT TO THE END OF THE REPEAT COUNT
   3435	003336					PUSH	<(R0),-(R0),-(R0)>
	003336	011046 				 MOV	(R0),-(SP)
	003340	014046 				 MOV	-(R0),-(SP)
	003342	014046 				 MOV	-(R0),-(SP)
   3436	003344	010600 				MOV	SP,R0		; ...POINT TO THE REPEAT COUNT
   3437	003346					PUSH	R5		; ...SAVE COMMAND LINE POINTER
	003346	010546 				 MOV	R5,-(SP)
   3438	003350					PUSH	R0		; ....SAVE THE REPEAT COUNT POINTER
	003350	010046 				 MOV	R0,-(SP)
   3439	003352	010037 	000132'			MOV	R0,.RPTPT	; .....FOR "CLEAR REPEAT"
   3440	003356				10$:
   3441	003356	012700 	002334'			MOV	#.CMDTB,R0	; .....POINT TO THE COMMAND TABLE
   3442	003362	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; ....."PARSER" IS CURRENT COMMAND
   3443	003370					CALL	.TSCAN		; .....SCAN THE TABLE
	003370	004737 	030176'			 JSR	PC,.TSCAN
   3444	003374	011037 	000076'			MOV	(R0),.LGLWD	; .....SET UP THE LEGAL BITS FOR COMMAND
   3445	003400	012701 	000034'			MOV	#CMDNAM,R1	; .....SET UP THE NAME POINTER
   3446	003404	010137 	000002'			MOV	R1,.CCMDN	; .....AND DESTINATION POINTER
   3447	003410	014002 				MOV	-(R0),R2	; .....GET THE POINTER TO THIS NAME
   3448
   3449					;	[CONTINUED ON THE FOLLOWING PAGE]
DOCMD -- COMMAND DECODER MODULE	MACRO M1108  13-JAN-78 09:14  PAGE 93
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   3451					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3452
   3453	003412				20$:
   3454	003412	112221 				MOVB	(R2)+,(R1)+	; .....LOAD THE NAME
   3455	003414	001376 				BNE	20$		; .....CONTINUE IF NON-NULL
   3456	003416					CALL	@4(R0)		; .....DO THE COMMAND
	003416	004770 	000004 			 JSR	PC,@4(R0)
   3457	003422	011600 				MOV	(SP),R0		; .....POINT TO THE REPEAT COUNT
   3458	003424					CALL	.TPTST		; .....IS THERE REALLY ONE THERE
	003424	004737 	027340'			 JSR	PC,.TPTST
   3459	003430	001404 				BEQ	30$		; .....NO -- JUST GO ON
   3460	003432	032737 	000400 	000076'		BIT	#LG.RPT,.LGLWD	; .....YES -- IS THIS COMMAND REPEATABLE?
   3461	003440	001423 				BEQ	DOCCNR		; .....NO -- GIVE "CNR" ERROR
   3462	003442				30$:
   3463	003442	105725 				TSTB	(R5)+		; .....YES -- IS THIS THE END??
   3464	003444	001010 				BNE	40$		; .....NO -- GO ON SCANNING THIS LINE
   3465	003446	105745 				TSTB	-(R5)		; .....YES -- BACK THE POINTER UP
   3466	003450					CALL	.TPDEC		; .....DECREMENT STACKED REPEAT COUNT
	003450	004737 	027414'			 JSR	PC,.TPDEC
   3467	003454					CALL	.TPTST		; .....SEE WHAT THE COUNT IS
	003454	004737 	027340'			 JSR	PC,.TPTST
   3468	003460	003405 				BLE	50$		; .....DONE IF .LE. 0
   3469	003462	016605 	000002 			MOV	2(SP),R5	; .....RESTORE INPUT STREAM POINTER
   3470	003466				40$:
   3471	003466	005037 	000076'			CLR	.LGLWD		; .....CLEAR THE LEGAL BITS
   3472	003472	000731 				BR	10$		; .....AND REITERATE OR CONTINUE
   3473						;
   3474	003474				50$:
   3475	003474	062706 	000012 			ADD	#^D10,SP	; .....FLUSH THE STACK
   3476	003500					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	003500	004737 	001630'			 JSR	PC,.CESCK
   3477	003504					CALLR	.EBPCK		; AND EBUS PARITY ERROR
	003504	000137 	005304'			 JMP	.EBPCK
   3478						;
   3479	003510				DOCCNR:
   3480	003510					ERROR$	CNR		; ERROR -- COMMAND IS NOT REPEATABLE
	003510	012746 				 MOV	(PC)+,-(SP)	; "CNR" IN RAD50 TO STACK
	003512	012402 				 .RAD50	/CNR/		; ERROR IDENTIFIER
	003514	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   3481						;
DPETB -- DEPOSIT EXTENSION TABL	MACRO M1108  13-JAN-78 09:14  PAGE 94
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   3483					.TITLE	DPETB -- DEPOSIT EXTENSION TABLE MODULE 7603.30
   3484
   3485						.IDENT	"001010"
   3486
   3487					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3488					;
   3489					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3490					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3491					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3492					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3493					;	FOR ITS ACCURACY.
   3494					;
   3495					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3496					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3497					;
   3498					;
   3499					;		MODULE: DEPOSIT EXTENSION TABLE
   3500					;
   3501					;		VERSION: 01-01
   3502					;
   3503					;		AUTHOR: R. BELANGER
   3504					;
   3505					;		DATE: 7603.30
   3506					;
   3507					;	THIS MODULE CONTAINS:
   3508					;
   3509					;	1) THE DEPOSIT EXTENSION TABLE
DPETB -- DEPOSIT EXTENSION TABL	MACRO M1108  13-JAN-78 09:14  PAGE 95
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23

   3511					.SBTTL	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   3512
   3513	003516				.DPETB::
   3514	003516					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD
	000277	   104 	   105 	   103 		 .ASCIZ	%DECREMENT%
	000302	   122 	   105 	   115
	000305	   105 	   116 	   124
	000310	   000
	003516	000277'				 .WORD	$$CMDN		; POINTER TO "DECREMENT" SYMBOL
	003520	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003522	004032'				 .WORD	.DPOSD		; ROUTINE TO CALL
   3515	003524					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI
	000311	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	000314	   122 	   105 	   115
	000317	   105 	   116 	   124
	000322	   000
	003524	000311'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	003526	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003530	004042'				 .WORD	.DPOSI		; ROUTINE TO CALL
   3516	003532					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN
	000323	   116 	   105 	   130 		 .ASCIZ	%NEXT%
	000326	   124 	   000
	003532	000323'				 .WORD	$$CMDN		; POINTER TO "NEXT" SYMBOL
	003534	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003536	004052'				 .WORD	.DPOSN		; ROUTINE TO CALL
   3517	003540					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP
	000330	   120 	   122 	   105 		 .ASCIZ	%PREVIOUS%
	000333	   126 	   111 	   117
	000336	   125 	   123 	   000
	003540	000330'				 .WORD	$$CMDN		; POINTER TO "PREVIOUS" SYMBOL
	003542	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003544	004062'				 .WORD	.DPOSP		; ROUTINE TO CALL
   3518	003546					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ
	000341	   124 	   110 	   111 		 .ASCIZ	%THIS%
	000344	   123 	   000
	003546	000341'				 .WORD	$$CMDN		; POINTER TO "THIS" SYMBOL
	003550	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	003552	004072'				 .WORD	.DPOSZ		; ROUTINE TO CALL
   3519	003554	000000 				.WORD	0		; END OF TABLE MARKER
DPEWD -- DEPOSIT ELEVEN EXTENSI	MACRO M1108  13-JAN-78 09:14  PAGE 96
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23

   3521					.TITLE	DPEWD -- DEPOSIT ELEVEN EXTENSION MODULE 7603.30
   3522
   3523						.IDENT	"001010"
   3524
   3525					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3526					;
   3527					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3528					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3529					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3530					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3531					;	FOR ITS ACCURACY.
   3532					;
   3533					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3534					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3535					;
   3536					;
   3537					;		MODULE: DEPOSIT ELEVEN EXTENSION
   3538					;
   3539					;		VERSION: 01-01
   3540					;
   3541					;		AUTHOR: R. BELANGER
   3542					;
   3543					;		DATE: 7603.30
   3544					;
   3545					;	THIS MODULE CONTAINS:
   3546					;
   3547					;	1) DEPOSIT ELEVEN EXTENSION CODE
DPEWD -- DEPOSIT ELEVEN EXTENSI	MACRO M1108  13-JAN-78 09:14  PAGE 97
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   3549					.SBTTL	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   3550
   3551						.ENABL	LSB
   3552
   3553	003556				.DPEWT::			; DEPOSIT <ELEVEN> THIS
   3554	003556	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   3555	003562	000413 				BR	10$		; CHECK FOR ARGUMENTS
   3556						;
   3557	003564				.DPEWD::			; DEPOSIT <ELEVEN> DECREMENT
   3558	003564					CALL	.EDEWD		; DECREMENT THE ADDRESS
	003564	004737 	005326'			 JSR	PC,.EDEWD
   3559	003570	000410 				BR	10$		; EXIT THRU COMMON CODE
   3560						;
   3561	003572				.DPEWI::			; DEPOSIT <ELEVEN> INCREMENT
   3562	003572					CALL	.EDEWI		; INCREMENT THE ADDRESS
	003572	004737 	005340'			 JSR	PC,.EDEWI
   3563	003576	000405 				BR	10$		; EXIT THRU COMMON CODE
   3564						;
   3565	003600				.DPEWN::			; DEPOSIT <ELEVEN> NEXT
   3566	003600					CALL	.EDEWN		; GET THE NEXT ADDRESS
	003600	004737 	005340'			 JSR	PC,.EDEWN
   3567	003604	000402 				BR	10$		; EXIT THRU COMMON CODE
   3568						;
   3569	003606				.DPEWP::			; DEPOSIT <ELEVEN> PREVIOUS
   3570	003606					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	003606	004737 	005326'			 JSR	PC,.EDEWP
   3571	003612				10$:
   3572	003612	122715 	000072 			CMPB	#':,(R5)	; DOES AN ARGUMENT FOLLOW?
   3573	003616	001403 				BEQ	20$		; YES -- GO GET IT
   3574	003620	013701 	000052'			MOV	.ELDDW,R1	; NO -- USE OLD DATA
   3575	003624	000406 				BR	30$		; AND DO THE DEPOSIT
   3576						;
   3577	003626				20$:
   3578	003626	105725 				TSTB	(R5)+		; GET OVER THE COLON
   3579	003630					PUSH	R0		; SAVE THE ADDRESS
	003630	010046 				 MOV	R0,-(SP)
   3580	003632					CALL	.GTELN		; .READ THE DATA
	003632	004737 	012252'			 JSR	PC,.GTELN
   3581	003636	010001 				MOV	R0,R1		; .DATA TO R1
   3582	003640					POP	R0		; .ADDRESS TO R0
	003640	012600 				 MOV	(SP)+,R0
   3583	003642				30$:
   3584	003642					CALLR	.DPSEE		; DO THE DEPOSIT
	003642	000137 	004154'			 JMP	.DPSEE
   3585						;
   3586
   3587						.DSABL	LSB
DPKLD -- DEPOSIT TEN EXTENSION 	MACRO M1108  13-JAN-78 09:14  PAGE 98
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   3589					.TITLE	DPKLD -- DEPOSIT TEN EXTENSION MODULE 7603.30
   3590
   3591						.IDENT	"001010"
   3592
   3593					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3594					;
   3595					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3596					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3597					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3598					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3599					;	FOR ITS ACCURACY.
   3600					;
   3601					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3602					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3603					;
   3604					;
   3605					;		MODULE: DEPOSIT TEN EXTENSION
   3606					;
   3607					;		VERSION: 01-01
   3608					;
   3609					;		AUTHOR: R. BELANGER
   3610					;
   3611					;		DATE: 7603.30
   3612					;
   3613					;	THIS MODULE CONTAINS:
   3614					;
   3615					;	1) DEPOSIT TEN EXTENSION CODE
DPKLD -- DEPOSIT TEN EXTENSION 	MACRO M1108  13-JAN-78 09:14  PAGE 99
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.

   3617					.SBTTL	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   3618
   3619						.ENABL	LSB
   3620
   3621	003646				.DPKLT::			; DEPOSIT <TEN> THIS
   3622	003646	012700 	000044'			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   3623	003652	000413 				BR	10$		; CHECK FOR ARGUMENTS
   3624						;
   3625	003654				.DPKLD::			; DEPOSIT <TEN> DECREMENT
   3626	003654					CALL	.EDKLD		; DO THE DECREMENT
	003654	004737 	005376'			 JSR	PC,.EDKLD
   3627	003660	000410 				BR	10$		; EXIT THRU COMMON CODE
   3628						;
   3629	003662				.DPKLI::			; DEPOSIT <TEN> INCREMENT
   3630	003662					CALL	.EDKLI		; DO THE INCREMENT
	003662	004737 	005414'			 JSR	PC,.EDKLI
   3631	003666	000405 				BR	10$		; EXIT THRU COMMON CODE
   3632						;
   3633	003670				.DPKLN::			; DEPOSIT <TEN> NEXT
   3634	003670					CALL	.EDKLN		; GO GET NEXT ADDRESS
	003670	004737 	005364'			 JSR	PC,.EDKLN
   3635	003674	000402 				BR	10$		; EXIT THRU COMMON CODE
   3636						;
   3637	003676				.DPKLP::			; DEPOSIT <TEN> PREVIOUS
   3638	003676					CALL	.EDKLP		; GO GET PREVIOUS ADDRESS
	003676	004737 	005352'			 JSR	PC,.EDKLP
   3639	003702				10$:
   3640	003702	010001 				MOV	R0,R1		; ADDRESS POINTER TO R1
   3641	003704	122715 	000072 			CMPB	#':,(R5)	; IS THERE AN ARGUMENT FOLLOWING?
   3642	003710	001403 				BEQ	20$		; YES -- GO GET IT
   3643	003712	012700 	000026'			MOV	#.DPBFX,R0	; NO -- USE OLD DATA
   3644	003716	000405 				BR	30$		; AND DO THE DEPOSIT
   3645						;
   3646	003720				20$:
   3647	003720	105725 				TSTB	(R5)+		; GET OVER THE COLON
   3648	003722	012700 	000026'			MOV	#.DPBFX,R0	; POINT TO THE DATA BUFFER
   3649	003726					CALL	.GTKLN		; GET A NUMBER
	003726	004737 	012334'			 JSR	PC,.GTKLN
   3650	003732				30$:
   3651	003732					CALLR	.DPSTE		; DO THE DEPOSIT
	003732	000137 	004334'			 JMP	.DPSTE
   3652						;
   3653
   3654						.DSABL	LSB
DPOBJ -- DEPOSIT OBJECT COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 100
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.

   3656					.TITLE	DPOBJ -- DEPOSIT OBJECT COMMAND DISPATCH MODULE 7603.30
   3657
   3658						.IDENT	"001010"
   3659
   3660					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3661					;
   3662					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3663					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3664					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3665					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3666					;	FOR ITS ACCURACY.
   3667					;
   3668					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3669					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3670					;
   3671					;
   3672					;		MODULE: DEPOSIT OBJECT DISPATCH
   3673					;
   3674					;		VERSION: 01-01
   3675					;
   3676					;		AUTHOR: R. BELANGER
   3677					;
   3678					;		DATE: 7603.30
   3679					;
   3680					;	THIS MODULE CONTAINS:
   3681					;
   3682					;	1) DEPOSIT OBJECT DISPATCH CODE
DPOBJ -- DEPOSIT OBJECT COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 101
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29

   3684					.SBTTL	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
   3685
   3686					;+
   3687					; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
   3688					;
   3689					; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
   3690					;
   3691					; INPUT ARGUMENTS:
   3692					;
   3693					;	R3 CONTAINS THE OLD MEMORY TYPE OFFSET
   3694					;
   3695					; OUTPUT ARGUMENTS:
   3696					;
   3697					;	R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
   3698					;
   3699					; ERROR CODES RETURNED:
   3700					;
   3701					;	NONE.
   3702					;-
   3703
   3704
   3705	003736				.DPOBJ::
   3706	003736	012700 	004604'			MOV	#.DPOTB,R0	; TABLE POINTER TO R0
   3707	003742					CALL	.TSCAN		; SCAN THE TABLE FOR OBJECT
	003742	004737 	030176'			 JSR	PC,.TSCAN
   3708	003746	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
   3709	003750	005101 				COM	R1		; INVERT THEM
   3710	003752	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   3711	003756					CALLR	@(R0)+		; DISPATCH FOR OBJECT
	003756	000130 				 JMP	@(R0)+
   3712						;
   3713	003760				.DPOKL::
   3714	003760	005003 				CLR	R3		; TEN MEMORY OFFSET TO R3
   3715	003762					CALLR	.DPOST		; GO DO IT
	003762	000137 	004264'			 JMP	.DPOST
   3716						;
   3717	003766				.DPOEL::
   3718	003766	012703 	000002 			MOV	#^D2,R3		; PDP-11 WORD OFFSET TO R3
   3719	003772					CALLR	.DPOSE		; GO DO IT
	003772	000137 	004102'			 JMP	.DPOSE
   3720						;
DPOSC -- DEPOSIT COMMAND DISPAT	MACRO M1108  13-JAN-78 09:14  PAGE 102
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29

   3722					.TITLE	DPOSC -- DEPOSIT COMMAND DISPATCH MODULE 7603.30
   3723
   3724						.IDENT	"001010"
   3725
   3726					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3727					;
   3728					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3729					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3730					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3731					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3732					;	FOR ITS ACCURACY.
   3733					;
   3734					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3735					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3736					;
   3737					;
   3738					;		MODULE: DEPOSIT COMMAND DISPATCH
   3739					;
   3740					;		VERSION: 01-01
   3741					;
   3742					;		AUTHOR: R. BELANGER
   3743					;
   3744					;		DATE: 7603.30
   3745					;
   3746					;	THIS MODULE CONTAINS:
   3747					;
   3748					;	1) DEPOSIT COMMAND DISPATCH CODE
   3749					;	2) DEPOSIT COMMAND DISPATCH TABLES
DPOSC -- DEPOSIT COMMAND DISPAT	MACRO M1108  13-JAN-78 09:14  PAGE 103
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23

   3751					.SBTTL	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
   3752
   3753					;+
   3754					; .DPOSC -- THE "DEPOSIT" COMMAND.
   3755					;
   3756					; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
   3757					; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
   3758					;
   3759					; INPUT ARGUMENTS:
   3760					;
   3761					;	NONE.
   3762					;
   3763					; OUTPUT ARGUMENTS:
   3764					;
   3765					;	NONE.
   3766					;
   3767					; ERROR CODES RETURNED:
   3768					;
   3769					;	NSK -- NO SUCH KEYWORD
   3770					;-
   3771
   3772	003776				.DPOSC::
   3773	003776	013703 	000102'			MOV	.MEMFL,R3	; OFFSET FLAG TO R3
   3774	004002					PUSH	#.DPOBJ		; FOR NUMERIC ARGUMENT
	004002	012746 	003736'			 MOV	#.DPOBJ,-(SP)
   3775	004006					CALL	.CKARG		; .LOOK FOR THE ARGUMENT
	004006	004737 	001712'			 JSR	PC,.CKARG
   3776	004012	001402 				BEQ	10$		; .BRANCH IF ALPHABETIC
   3777	004014	012716 	004022'			MOV	#.DPOSA,(SP)	; .FOR NUMERIC ARGUMENT
   3778	004020				10$:
   3779	004020					CALLR	@(SP)+		; DISPATCH
	004020	000136 				 JMP	@(SP)+
   3780						;
   3781	004022				.DPOSA::			; HERE TO DISPATCH FOR MEMORY
   3782	004022					CALLR	@DPOATB(R3)	; DISPATCH
	004022	000173 	004026'			 JMP	@DPOATB(R3)
   3783						;
   3784	004026				DPOATB:
   3785	004026	004264'				.WORD	.DPOST		; DEPOSIT TEN
   3786	004030	004102'				.WORD	.DPOSE		; DEPOSIT ELEVEN WORD
DPOSD -- DEPOSIT EXTENSION DISP	MACRO M1108  13-JAN-78 09:14  PAGE 104
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23

   3788					.TITLE	DPOSD -- DEPOSIT EXTENSION DISPATCH MODULE 7603.30
   3789
   3790						.IDENT	"001010"
   3791
   3792					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3793					;
   3794					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3795					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3796					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3797					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3798					;	FOR ITS ACCURACY.
   3799					;
   3800					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3801					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3802					;
   3803					;
   3804					;		MODULE: DEPOSIT EXTENSION DISPATCH
   3805					;
   3806					;		VERSION: 01-01
   3807					;
   3808					;		AUTHOR: R. BELANGER
   3809					;
   3810					;		DATE: 7603.30
   3811					;
   3812					;	THIS MODULE CONTAINS:
   3813					;
   3814					;	1) DEPOSIT EXTENSION DISPATCH CODE
DPOSD -- DEPOSIT EXTENSION DISP	MACRO M1108  13-JAN-78 09:14  PAGE 105
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   3816					.SBTTL	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   3817
   3818	004032				.DPOSD::			; DEPOSIT DECREMENT
   3819	004032	000173 	004036'			JMP	@DPODTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   3820						;
   3821	004036				DPODTB:
   3822	004036	003654'				.WORD	.DPKLD		; KL WORD
   3823	004040	003564'				.WORD	.DPEWD		; PDP-11 WORD
   3824
   3825	004042				.DPOSI::			; DEPOSIT INCREMENT
   3826	004042	000173 	004046'			JMP	@DPOITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   3827						;
   3828	004046				DPOITB:
   3829	004046	003662'				.WORD	.DPKLI		; KL WORD
   3830	004050	003572'				.WORD	.DPEWI		; PDP-11 WORD
   3831
   3832	004052				.DPOSN::			; DEPOSIT NEXT
   3833	004052	000173 	004056'			JMP	@DPONTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   3834						;
   3835	004056				DPONTB:
   3836	004056	003670'				.WORD	.DPKLN		; KL WORD
   3837	004060	003600'				.WORD	.DPEWN		; PDP-11 WORD
   3838
   3839	004062				.DPOSP::			; DEPOSIT PREVIOUS
   3840	004062	000173 	004066'			JMP	@DPOPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   3841						;
   3842	004066				DPOPTB:
   3843	004066	003676'				.WORD	.DPKLP		; KL WORD
   3844	004070	003606'				.WORD	.DPEWP		; PDP-11 WORD
   3845
   3846	004072				.DPOSZ::			; DEPOSIT THIS
   3847	004072	000173 	004076'			JMP	@DPOZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   3848						;
   3849	004076				DPOZTB:
   3850	004076	003646'				.WORD	.DPKLT		; KL WORD
   3851	004100	003556'				.WORD	.DPEWT		; PDP-11 WORD
DPOSE -- DEPOSIT ELEVEN COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 106
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   3853					.TITLE	DPOSE -- DEPOSIT ELEVEN COMMAND MODULE 7603.30
   3854
   3855						.IDENT	"001010"
   3856
   3857					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3858					;
   3859					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3860					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3861					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3862					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3863					;	FOR ITS ACCURACY.
   3864					;
   3865					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3866					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3867					;
   3868					;
   3869					;		MODULE: DEPOSIT ELEVEN COMMAND
   3870					;
   3871					;		VERSION: 01-01
   3872					;
   3873					;		AUTHOR: R. BELANGER
   3874					;
   3875					;		DATE: 7603.30
   3876					;
   3877					;	THIS MODULE CONTAINS:
   3878					;
   3879					;	1) DEPOSIT ELEVEN COMMAND CODE
DPOSE -- DEPOSIT ELEVEN COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 107
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   3881					.SBTTL	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
   3882
   3883					;+
   3884					; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
   3885					;
   3886					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
   3887					; ADDRESS SPECIFIED.
   3888					;
   3889					; INPUT ARGUMENTS:
   3890					;
   3891					;	NONE.
   3892					;
   3893					; OUTPUT ARGUMENTS:
   3894					;
   3895					;	THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
   3896					;	THE DATA DEPOSITED IS IN ".ELDDW".
   3897					;
   3898					; ERROR CODES RETURNED:
   3899					;
   3900					;	NONE.
   3901					;-
   3902
   3903	004102				.DPOSE::
   3904	004102					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	004102	004737 	001712'			 JSR	PC,.CKARG
   3905	004106	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   3906	004110	012700 	003516'			MOV	#.DPETB,R0	; DEPOSIT EXTENSION TABLE POINTER TO R0
   3907	004114					CALL	.TSCAN		; SCAN IT
	004114	004737 	030176'			 JSR	PC,.TSCAN
   3908	004120					CALLR	@2(R0)		; DISPATCH FOR IT
	004120	000170 	000002 			 JMP	@2(R0)
   3909						;
   3910	004124				10$:
   3911	004124					CALL	.GTELN		; READ THE ADDRESS
	004124	004737 	012252'			 JSR	PC,.GTELN
   3912	004130	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   3913	004134	001050 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   3914	004136					PUSH	R0		; NO -- SAVE IT
	004136	010046 				 MOV	R0,-(SP)
   3915	004140					CALL	.CKCOL		; .CHECK SEPARATOR
	004140	004737 	001752'			 JSR	PC,.CKCOL
   3916	004144					CALL	.GTELN		; .READ THE DATA
	004144	004737 	012252'			 JSR	PC,.GTELN
   3917	004150	010001 				MOV	R0,R1		; .DATA TO R1
   3918	004152					POP	R0		; .ADDRESS TO R0
	004152	012600 				 MOV	(SP)+,R0
   3919
   3920					;	[CONTINUED ON THE FOLLOWING PAGE]
DPOSE -- DEPOSIT ELEVEN COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 108
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   3922					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3923
   3924	004154				.DPSEE::			; EXTENDED DEPOSIT ENTRY POINT
   3925	004154					CALL	.CKEOC		; CHECK FOR E-O-C
	004154	004737 	002010'			 JSR	PC,.CKEOC
   3926	004160	032700 	000001 			BIT	#BIT00,R0	; IS THE ADDRESS ODD?
   3927	004164	001034 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   3928	004166					PUSH	R0		; NO -- SAVE THE ADDRESS
	004166	010046 				 MOV	R0,-(SP)
   3929	004170					PUSH	R1		; .AND THE DEPOSIT DATA
	004170	010146 				 MOV	R1,-(SP)
   3930	004172	010037 	000034'			MOV	R0,.EDELA	; ..LEAVE TRACKS
   3931	004176	010137 	000052'			MOV	R1,.ELDDW	; ..MORE TRACKS
   3932	004202	013737 	000144'	000174'		MOV	.TRP4V,.SSTTB	; ..SET UP TRAP AT 4 TRAP
   3933	004210	011001 				MOV	(R0),R1		; ..READ ORIGINAL CONTENTS
   3934	004212					CALL	.TYELA		; ..PRINT THE ADDRESS
	004212	004737 	030672'			 JSR	PC,.TYELA
   3935	004216	112700 	000134 			MOVB	#'\,R0		; ..BACK SLASH
   3936	004222					CALL	.TYCHR		; ..PRINT IT
	004222	004737 	031472'			 JSR	PC,.TYCHR
   3937	004226					CALL	.TYSPC		; ..AND A SPACE
	004226	004737 	030644'			 JSR	PC,.TYSPC
   3938	004232	010100 				MOV	R1,R0		; ..DATA TO R0
   3939	004234					CALL	.TYELN		; ..PRINT THAT
	004234	004737 	030676'			 JSR	PC,.TYELN
   3940	004240					POP	R1		; ..RESTORE DATA
	004240	012601 				 MOV	(SP)+,R1
   3941	004242					POP	R0		; .AND ADDRESS
	004242	012600 				 MOV	(SP)+,R0
   3942	004244	010110 				MOV	R1,(R0)		; DO THE DEPOSIT
   3943	004246	005037 	000174'			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   3944	004252					CALLR	.TCRLF		; TO CALLER
	004252	000137 	031524'			 JMP	.TCRLF
   3945						;
   3946	004256				DPOOAI:
   3947	004256					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	004256	012746 				 MOV	(PC)+,-(SP)	; "OAI" IN RAD50 TO STACK
	004260	056761 				 .RAD50	/OAI/		; ERROR IDENTIFIER
	004262	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   3948						;
DPOST -- DEPOSIT TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 109
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   3950					.TITLE	DPOST -- DEPOSIT TEN COMMAND MODULE 7603.30
   3951
   3952						.IDENT	"001010"
   3953
   3954					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   3955					;
   3956					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   3957					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   3958					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   3959					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   3960					;	FOR ITS ACCURACY.
   3961					;
   3962					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   3963					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   3964					;
   3965					;
   3966					;		MODULE: DEPOSIT TEN COMMAND
   3967					;
   3968					;		VERSION: 01-01
   3969					;
   3970					;		AUTHOR: R. BELANGER
   3971					;
   3972					;		DATE: 7603.30
   3973					;
   3974					;	THIS MODULE CONTAINS:
   3975					;
   3976					;	1) DEPOSIT TEN COMMAND CODE
DPOST -- DEPOSIT TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 110
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   3978					.SBTTL	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
   3979
   3980					;+
   3981					; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
   3982					;
   3983					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
   3984					; KL MEMORY LOCATION.
   3985					;
   3986					; INPUT ARGUMENTS:
   3987					;
   3988					;	NONE.
   3989					;
   3990					; OUTPUT ARGUMENTS:
   3991					;
   3992					;	THE ADDRESS DEPOSITED IS IN ".EDKLA"
   3993					;	THE DATA DEPOSITED IS IN ".DPBFR"
   3994					;
   3995					; ERROR CODES RETURNED:
   3996					;
   3997					;	APE -- KL APR ERROR
   3998					;	DMF -- DEPOSIT KL MEMORY FAILED
   3999					;	ESD -- EBOX STOPPED - DEPOSIT
   4000					;	KLA -- KL ADDRESS ERROR
   4001					;	KCN -- KL CLOCK NOT RUNNING
   4002					;	MRA -- MISSING REQUIRED ARGUMENT
   4003					;	NOR -- NUMBER OUT OF RANGE.
   4004					;	VFY -- VERIFY FAILED
   4005					;-
   4006
   4007	004264				.DPOST::
   4008	004264					CALL	.CKARG		; SEE IF AN ARGUMENT FOLLOWS
	004264	004737 	001712'			 JSR	PC,.CKARG
   4009	004270	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   4010	004272	012700 	003516'			MOV	#.DPETB,R0	; EXTENSION TABLE POINTER TO R0
   4011	004276					CALL	.TSCAN		; SCAN IT
	004276	004737 	030176'			 JSR	PC,.TSCAN
   4012	004302					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	004302	000170 	000002 			 JMP	@2(R0)
   4013						;
   4014	004306				10$:
   4015	004306	012700 	000044'			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   4016	004312					CALL	.GTKLA		; READ THE ADDRESS
	004312	004737 	012302'			 JSR	PC,.GTKLA
   4017	004316					CALL	.CKCOL		; CHECK FOR A COLON
	004316	004737 	001752'			 JSR	PC,.CKCOL
   4018	004322	010001 				MOV	R0,R1		; GOT IT, SAVE THE POINTER
   4019	004324	012700 	000026'			MOV	#.DPBFX,R0	; DATA POINTER TO R0
   4020	004330					CALL	.GTKLN		; READ THE DATA
	004330	004737 	012334'			 JSR	PC,.GTKLN
   4021
   4022					;	[CONTINUED ON THE FOLLOWING PAGE]
DPOST -- DEPOSIT TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 111
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   4024					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4025
   4026	004334				.DPSTE::			; EXTENDED DEPOSIT ENTRY POINT
   4027	004334					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	004334	004737 	002010'			 JSR	PC,.CKEOC
   4028	004340	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK RUNNING?
   4029	004346	001510 				BEQ	DPOKCN		; NO -- GIVE "KCN" ERROR
   4030	004350	012702 	000036'			MOV	#.EDKLA,R2	; ADDRESS BUFFER POINTER TO R2
   4031	004354	012122 				MOV	(R1)+,(R2)+	; LOAD THE NEW ADDRESS
   4032	004356	012122 				MOV	(R1)+,(R2)+	; INTO THE ADDRESS BUFFER
   4033	004360	011112 				MOV	(R1),(R2)	; SO
   4034	004362	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   4035	004364	010201 				MOV	R2,R1		; PUT IT IN R1
   4036	004366	012702 	000020'			MOV	#.DPBFR,R2	; DEPOSIT DATA POINTER TO R2
   4037	004372	012022 				MOV	(R0)+,(R2)+	; LOAD THE NEW DATA
   4038	004374	012022 				MOV	(R0)+,(R2)+	; INTO THE DEPOSIT DATA BUFFER
   4039	004376	011012 				MOV	(R0),(R2)	; SO
   4040	004400	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   4041	004402					PUSH	R2		; SAVE THE DATA POINTER
	004402	010246 				 MOV	R2,-(SP)
   4042	004404					PUSH	R1		; .AND THE ADDRESS POINTER
	004404	010146 				 MOV	R1,-(SP)
   4043	004406	010600 				MOV	SP,R0		; ..SAVE THE POINTER TO THE BLOCK
   4044	004410					PUSH	R0		; ..SO
	004410	010046 				 MOV	R0,-(SP)
   4045	004412					PUSH	#.EXBFR		; ...POINT TO EXAMINE BUFFER
	004412	012746 	000056'			 MOV	#.EXBFR,-(SP)
   4046	004416					PUSH	R1		; ....FOR THIS ADDRESS
	004416	010146 				 MOV	R1,-(SP)
   4047	004420	010601 				MOV	SP,R1		; .....POINT TO THE BLOCK
   4048	004422	012700 	000200 			MOV	#ED.PHY,R0	; .....PHYSICAL REFERENCE
   4049	004426					CALL	.EXKLM		; .....EXAMINE IT FIRST
	004426	004737 	005500'			 JSR	PC,.EXKLM
   4050	004432					POP	R0		; .....GET THE ADDRESS POINTER
	004432	012600 				 MOV	(SP)+,R0
   4051	004434					CALL	.TYKLA		; ....PRINT IT
	004434	004737 	031016'			 JSR	PC,.TYKLA
   4052	004440					CALL	.TYSLS		; ....AND A <SLASH>
	004440	004737 	030634'			 JSR	PC,.TYSLS
   4053	004444					CALL	.TYSPC		; ....NOW A <SPACE>
	004444	004737 	030644'			 JSR	PC,.TYSPC
   4054	004450					POP	R0		; ....GET THE DATA POINTER
	004450	012600 				 MOV	(SP)+,R0
   4055	004452					CALL	.TYKLN		; ...TYPE THE DATA
	004452	004737 	031066'			 JSR	PC,.TYKLN
   4056	004456					CALL	.TCRLF		; ...AND A <CRLF>
	004456	004737 	031524'			 JSR	PC,.TCRLF
   4057
   4058					;	[CONTINUED ON THE FOLLOWING PAGE]
DPOST -- DEPOSIT TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 112
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   4060					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4061
   4062	004462					POP	R1		; ...POINT TO THE DEPOSIT BLOCK
	004462	012601 				 MOV	(SP)+,R1
   4063	004464	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   4064	004470					CALL	.DPKLM		; ..DO THE DEPOSIT
	004470	004737 	005532'			 JSR	PC,.DPKLM
   4065	004474	005737 	000166'			TST	.VFYFL		; ..VERIFY THE DEPOSIT?
   4066	004500	001426 				BEQ	20$		; ..NO -- JUST EXIT
   4067	004502	012766 	000056'	000002 		MOV	#.EXBFR,2(SP)	; ..YES -- CHANGE THE BUFFER POINTER
   4068	004510	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   4069	004514					CALL	.EXKLM		; ..EXAMINE IT
	004514	004737 	005500'			 JSR	PC,.EXKLM
   4070	004520	012700 	000020'			MOV	#.DPBFR,R0	; ..DEPOSITED DATA
   4071	004524	012701 	000056'			MOV	#.EXBFR,R1	; ..EXAMINED DATA
   4072	004530					CALL	.TPCMP		; ..SEE IF THEY COMPARE
	004530	004737 	027304'			 JSR	PC,.TPCMP
   4073	004534	001020 				BNE	DPOVFE		; ..NO -- COMPLAIN
   4074	004536					CALL	.STPKL		; ..STOP THE KL
	004536	004737 	026330'			 JSR	PC,.STPKL
   4075	004542					CALL	.RDAPR		; ..SEE IF THERE ARE ANY APR ERRORS
	004542	004737 	017540'			 JSR	PC,.RDAPR
   4076	004546					CALL	.RSTKL		; ..RESTART THE KL
	004546	004737 	022134'			 JSR	PC,.RSTKL
   4077	004552	005700 				TST	R0		; ..ARE THERE ANY ERRORS?
   4078	004554	001002 				BNE	DPOAPE		; ..YES -- COMPLAIN
   4079	004556				20$:
   4080	004556	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   4081	004560					RETURN			; TO CALLER
	004560	000207 				 RTS	PC
   4082	004562				DPOAPE:
   4083	004562					ERROR$	APE		; ERROR -- KL APR ERROR
	004562	012746 				 MOV	(PC)+,-(SP)	; "APE" IN RAD50 TO STACK
	004564	004305 				 .RAD50	/APE/		; ERROR IDENTIFIER
	004566	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4084						;
   4085	004570				DPOKCN:
   4086	004570					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	004570	012746 				 MOV	(PC)+,-(SP)	; "KCN" IN RAD50 TO STACK
	004572	042506 				 .RAD50	/KCN/		; ERROR IDENTIFIER
	004574	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4087						;
   4088	004576				DPOVFE:
   4089	004576					ERROR$	VFY		; ERROR -- VERIFY FAILED
	004576	012746 				 MOV	(PC)+,-(SP)	; "VFY" IN RAD50 TO STACK
	004600	105211 				 .RAD50	/VFY/		; ERROR IDENTIFIER
	004602	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4090						;
DPOTB -- DEPOSIT COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 113
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   4092					.TITLE	DPOTB -- DEPOSIT COMMAND TABLE MODULE 7603.30
   4093
   4094						.IDENT	"001010"
   4095
   4096					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4097					;
   4098					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4099					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4100					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4101					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4102					;	FOR ITS ACCURACY.
   4103					;
   4104					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4105					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4106					;
   4107					;
   4108					;		MODULE: DEPOSIT COMMAND TABLE
   4109					;
   4110					;		VERSION: 01-01
   4111					;
   4112					;		AUTHOR: R. BELANGER
   4113					;
   4114					;		DATE: 7603.30
   4115					;
   4116					;	THIS MODULE CONTAINS:
   4117					;
   4118					;	1) THE DEPOSIT COMMAND TABLE
DPOTB -- DEPOSIT COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 114
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23

   4120					.SBTTL	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   4121
   4122	004604				.DPOTB::
   4123	004604					COMND$	AR,<LG.PRG!LG.RPT>,.DEPAR
	000346	   101 	   122 	   000 		 .ASCIZ	%AR%
	004604	000346'				 .WORD	$$CMDN		; POINTER TO "AR" SYMBOL
	004606	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004610	002660'				 .WORD	.DEPAR		; ROUTINE TO CALL
   4124	004612					COMND$	ELEVEN,<LG.PRG!LG.RPT>,.DPOEL
	000351	   105 	   114 	   105 		 .ASCIZ	%ELEVEN%
	000354	   126 	   105 	   116
	000357	   000
	004612	000351'				 .WORD	$$CMDN		; POINTER TO "ELEVEN" SYMBOL
	004614	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004616	003766'				 .WORD	.DPOEL		; ROUTINE TO CALL
   4125	004620					COMND$	TEN,<LG.PRG!LG.RPT>,.DPOKL
	000360	   124 	   105 	   116 		 .ASCIZ	%TEN%
	000363	   000
	004620	000360'				 .WORD	$$CMDN		; POINTER TO "TEN" SYMBOL
	004622	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004624	003760'				 .WORD	.DPOKL		; ROUTINE TO CALL
   4126	004626					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD
	000364	   104 	   105 	   103 		 .ASCIZ	%DECREMENT%
	000367	   122 	   105 	   115
	000372	   105 	   116 	   124
	000375	   000
	004626	000364'				 .WORD	$$CMDN		; POINTER TO "DECREMENT" SYMBOL
	004630	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004632	004032'				 .WORD	.DPOSD		; ROUTINE TO CALL
   4127	004634					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI
	000376	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	000401	   122 	   105 	   115
	000404	   105 	   116 	   124
	000407	   000
	004634	000376'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	004636	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004640	004042'				 .WORD	.DPOSI		; ROUTINE TO CALL
   4128	004642					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN
	000410	   116 	   105 	   130 		 .ASCIZ	%NEXT%
	000413	   124 	   000
	004642	000410'				 .WORD	$$CMDN		; POINTER TO "NEXT" SYMBOL
	004644	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004646	004052'				 .WORD	.DPOSN		; ROUTINE TO CALL
   4129	004650					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP
	000415	   120 	   122 	   105 		 .ASCIZ	%PREVIOUS%
	000420	   126 	   111 	   117
	000423	   125 	   123 	   000
	004650	000415'				 .WORD	$$CMDN		; POINTER TO "PREVIOUS" SYMBOL
	004652	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004654	004062'				 .WORD	.DPOSP		; ROUTINE TO CALL
   4130	004656					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ
	000426	   124 	   110 	   111 		 .ASCIZ	%THIS%
	000431	   123 	   000
	004656	000426'				 .WORD	$$CMDN		; POINTER TO "THIS" SYMBOL
	004660	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004662	004072'				 .WORD	.DPOSZ		; ROUTINE TO CALL
   4131	004664	000000 				.WORD	0		; END OF TABLE MARKER
DTERW -- DTE-20 READ / WRITE OP	MACRO M1108  13-JAN-78 09:14  PAGE 115
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23

   4133					.TITLE	DTERW -- DTE-20 READ / WRITE OPERATIONS MODULE 7608.05
   4134
   4135						.IDENT	"001010"
   4136
   4137					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4138					;
   4139					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4140					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4141					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4142					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4143					;	FOR ITS ACCURACY.
   4144					;
   4145					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4146					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4147					;
   4148					;
   4149					;		MODULE: DTE-20 READ / WRITE OPERATIONS
   4150					;
   4151					;		VERSION: 01-01
   4152					;
   4153					;		AUTHOR: R. BELANGER
   4154					;
   4155					;		DATE: 7608.05
   4156					;
   4157					;	THIS MODULE CONTAINS:
   4158					;
   4159					;	1) DTE-20 REGISTER READ / WRITE CODE
   4160					;	2) DIRECTIVE PARAMETER BLOCKS FOR THE SAME CODE
   4161
   4162						.MCALL	DIR$
DTERW -- DTE-20 READ / WRITE OP	MACRO M1108  13-JAN-78 09:14  PAGE 116
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4164					.SBTTL	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
   4165
   4166					;+
   4167					; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
   4168					; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
   4169					; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
   4170					; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
   4171					; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
   4172					; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
   4173					; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
   4174					; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
   4175					;
   4176					; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
   4177					; DTE-20 REGISTER.
   4178					;
   4179					; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
   4180					; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
   4181					; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
   4182					;
   4183					; INPUT ARGUMENTS:
   4184					;
   4185					;	(READ) NONE.
   4186					;	(WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
   4187					;
   4188					; OUTPUT ARGUMENTS:
   4189					;
   4190					;	R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
   4191					;	READ OR WRITTEN.
   4192					;
   4193					; ERROR CODES RETURNED:
   4194					;
   4195					;	DSF -- DTE-20 STATUS FAILURE.
   4196					;-
DTERW -- DTE-20 READ / WRITE OP	MACRO M1108  13-JAN-78 09:14  PAGE 117
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4198						.ENABL	LSB
   4199
   4200	004666				.DWDW1::			; DIAG WORD 1 WRITE ENTRY
   4201	004666	105037 	005061'			CLRB	.REGRW+3	; SET DIAG1 OFFSET
   4202	004672	000413 				BR	10$		; DO COMMON WRITE CODE
   4203						;
   4204	004674				.DWDW2::			; DIAG WORD 2 WRITE ENTRY
   4205	004674	112737 	000002 	005061'		MOVB	#.DIAG2,.REGRW+3; DIAG2 OFFSET
   4206	004702	000407 				BR	10$		; DO COMMON WRITE CODE
   4207						;
   4208	004704				.DWSTA::			; STATUS WRITE ENTRY
   4209	004704	112737 	000004 	005061'		MOVB	#.DTSTW,.REGRW+3; OFFSET FOR STATUS
   4210	004712	000403 				BR	10$		; DO COMMON WRITE CODE
   4211						;
   4212	004714				.DWDW3::			; DIAG WORD 3 WRITE ENTRY
   4213	004714	112737 	000006 	005061'		MOVB	#.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
   4214	004722				10$:				; COMMON WRITE CODE
   4215	004722	010037 	005062'			MOV	R0,.REGRW+4	; SET THE DATA POINTER IN THE DPB
   4216	004726	113700 	005061'			MOVB	.REGRW+3,R0	; GET THE REGISTER OFFSET
   4217	004732	046077 	005046'	000122 		BIC	MBZTAB(R0),@.REGRW+4
   4218									; ZERO THE MBZ BITS
   4219	004740	000420 				BR	30$		; WRITE IT
   4220						;
   4221	004742				.DTDW1::			; DIAG WORD 1 READ ENTRY
   4222	004742	105037 	005061'			CLRB	.REGRW+3	; DIAG WORD 1 OFFSET IS 0
   4223	004746	000413 				BR	20$		; GO READ IT
   4224						;
   4225	004750				.DTDW2::			; DIAG WORD 2 READ ENTRY
   4226	004750	112737 	000002 	005061'		MOVB	#.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
   4227	004756	000407 				BR	20$		; GO READ IT
   4228						;
   4229	004760				.DTSTA::			; STATUS WORD READ ENTRY
   4230	004760	112737 	000004 	005061'		MOVB	#.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
   4231	004766	000403 				BR	20$		; GO READ THE DTE-20 STATUS REGISTER
   4232						;
   4233	004770				.DTDW3::			; DIAG WORD 3 READ ENTRY
   4234	004770	112737 	000006 	005061'		MOVB	#.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
   4235
   4236					;	[CONTINUED ON THE FOLLOWING PAGE]
DTERW -- DTE-20 READ / WRITE OP	MACRO M1108  13-JAN-78 09:14  PAGE 118
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4238					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4239
   4240	004776				20$:
   4241	004776	005037 	005062'			CLR	.REGRW+4	; THIS IS NOT A WRITE
   4242	005002				30$:				; DATA BUFFER ALREADY LOADED FOR WRITE
   4243	005002	005037 	000230'			CLR	.DREG		; CLEAR RETURNED DATA BUFFER
   4244	005006					DIR$	#.REGRW		; READ OR WRITE THE REGISTER
	005006	012746 	005056'			MOV	#.REGRW,-(SP)
	005012	104375 				EMT	375
   4245	005014	103411 				BCS	DTEDSF		; ERROR IF CC-C IS SET
   4246	005016	013700 	000230'			MOV	.DREG,R0	; PUT A COPY IN R0
   4247					.IF NE	FTTRAK
   4248	005022	032737 	000040 	000142'		BIT	#TR.DTE,.TRKWD	; NO -- ARE WE TRACKING DTE-20 OPS?
   4249	005030	001402 				BEQ	40$		; NO -- JUST RETURN
   4250	005032					CALLR	.DTTRK		; YES -- TRACK IT AND RETURN
	005032	000137 	005070'			 JMP	.DTTRK
   4251						;
   4252	005036				40$:
   4253					.ENDC		; FTTRAK
   4254	005036					RETURN			; GO AWAY
	005036	000207 				 RTS	PC
   4255
   4256						.DSABL	LSB
   4257
   4258	005040				DTEDSF:
   4259	005040					ERROR$	DSF		; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
	005040	012746 				 MOV	(PC)+,-(SP)	; "DSF" IN RAD50 TO STACK
	005042	015776 				 .RAD50	/DSF/		; ERROR IDENTIFIER
	005044	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4260						;
   4261
   4262					; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
   4263
   4264	005046				MBZTAB:
   4265	005046	000442 				.WORD	D1.MBZ
   4266	005050	177641 				.WORD	D2.MBZ
   4267	005052	000000 				.WORD	ST.MBZ
   4268	005054	177704 				.WORD	D3.MBZ
DTERW -- DTE-20 READ / WRITE OP	MACRO M1108  13-JAN-78 09:14  PAGE 119
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4270					; DPB TO READ OR WRITE THE DTE-20 REGISTERS
   4271
   4272					;	!===============================================!
   4273					; 00	!	DPB SIZE	!	  DIC		!
   4274					;	!-----------------------------------------------!
   4275					; 02	!   REGISTER OFFSET	!    DIRECTIVE CODE	!
   4276					;	!-----------------------------------------------!
   4277					; 04	!	  POINTER TO DATA TO BE WRITTEN		!
   4278					;	!-----------------------------------------------!
   4279					; 06	!	DESTINATION ADDRESS FOR DATA READ	!
   4280					;	!-----------------------------------------------!
   4281					; 10	!		DTE-20 NUMBER			!
   4282					;	!===============================================!
   4283
   4284	005056				.REGRW::
   4285	005056	002411 				.WORD	2411
   4286	005060	   017 	   000 			.BYTE	17,0
   4287	005062	000000 				.WORD	0
   4288	005064	000230'				.WORD	.DREG
   4289	005066	000000 				.WORD	0
   4290		005066'			RGDTEN==.-2
DTTRK -- DTE-20 OPERATION TRACK	MACRO M1108  13-JAN-78 09:14  PAGE 120
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4292					.TITLE	DTTRK -- DTE-20 OPERATION TRACK MODULE 7603.30
   4293
   4294						.IDENT	"001010"
   4295
   4296					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4297					;
   4298					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4299					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4300					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4301					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4302					;	FOR ITS ACCURACY.
   4303					;
   4304					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4305					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4306					;
   4307					;
   4308					;		MODULE: DTE-20 OPERATION TRACK
   4309					;
   4310					;		VERSION: 01-01
   4311					;
   4312					;		AUTHOR: R. BELANGER
   4313					;
   4314					;		DATE: 7603.30
   4315					;
   4316					;	THIS MODULE CONTAINS:
   4317					;
   4318					;	1) DTE-20 OPERATION TRACK CODE
DTTRK -- DTE-20 OPERATION TRACK	MACRO M1108  13-JAN-78 09:14  PAGE 121
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   4320					.SBTTL	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
   4321
   4322					;+
   4323					; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
   4324					;
   4325					; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
   4326					; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
   4327					; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
   4328					; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
   4329					;
   4330					; CALLING SEQUENCE IS:
   4331					;
   4332					;	CALL	.DTTRK		; TRACK THE DTE-20
   4333					;				; ONLY RETURN
   4334					;
   4335					; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
   4336					;
   4337					;	(A) DIAG 1 - DIAG WORD 1,
   4338					;	(B) DIAG 2 - DIAG WORD 2,
   4339					;	(C) STATUS - STATUS WORD,
   4340					;	(D) DIAG 3 - DIAG WORD 3.
   4341					;
   4342					; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
   4343					;
   4344					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   4345					;
   4346					; ERROR CODES RETURNED:
   4347					;
   4348					;	NONE.
   4349					;-
   4350
   4351					.IF NE	FTTRAK
DTTRK -- DTE-20 OPERATION TRACK	MACRO M1108  13-JAN-78 09:14  PAGE 122
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   4353	005070				.DTTRK::
   4354	005070	012737 	177777 	000100'		MOV	#-^D1,.LDZFL	; PRINT LEADING ZEROES
   4355	005076					PUSH	R0		; SAVE R0
	005076	010046 				 MOV	R0,-(SP)
   4356	005100	012700 	000433'			MOV	#DTRMSG,R0	; .MESSAGE POINTER TO R0
   4357	005104					CALL	.TYMSG		; .PRINT IT
	005104	004737 	031434'			 JSR	PC,.TYMSG
   4358	005110	113700 	005061'			MOVB	.REGRW+3,R0	; .GET THE REGISTER OFFSET
   4359	005114	016000 	005200'			MOV	REGTAB(R0),R0	; .REGISTER MESSAGE POINTER TO R0
   4360	005120					CALL	.TYMSG		; .TYPE IT
	005120	004737 	031434'			 JSR	PC,.TYMSG
   4361	005124					CALL	.TYSPC		; .NOW A <SPACE>
	005124	004737 	030644'			 JSR	PC,.TYSPC
   4362	005130	005737 	005062'			TST	.REGRW+4	; .IS THIS A WRITE?
   4363	005134	001002 				BNE	10$		; .YES -- GO ON
   4364	005136	011600 				MOV	(SP),R0		; .NO -- DATA TO R0
   4365	005140	000402 				BR	20$		; .GO PRINT IT
   4366						;
   4367	005142				10$:
   4368	005142	017700 	177714 			MOV	@.REGRW+4,R0	; .GET WRITTEN DATA
   4369	005146				20$:
   4370	005146					CALL	.TYELN		; .PRINT THE DATA
	005146	004737 	030676'			 JSR	PC,.TYELN
   4371	005152	012700 	000514'			MOV	#DRDMSG,R0	; .READ MESSAGE POINTER TO R0
   4372	005156	005737 	005062'			TST	.REGRW+4	; .WAS IT A WRITE?
   4373	005162	001402 				BEQ	30$		; .YES -- GO ON
   4374	005164	012700 	000520'			MOV	#DWRMSG,R0	; .NO -- WRITE MESSAGE POINTER TO R0
   4375	005170				30$:
   4376	005170					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	005170	004737 	031420'			 JSR	PC,.TYLIN
   4377	005174					POP	R0		; .RESTORE R0
	005174	012600 				 MOV	(SP)+,R0
   4378	005176					RETURN			; TO CALLER
	005176	000207 				 RTS	PC
DTTRK -- DTE-20 OPERATION TRACK	MACRO M1108  13-JAN-78 09:14  PAGE 123
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   4380	005200				REGTAB:
   4381	005200	000454'				.WORD	DW1MSG		; MESSAGE POINTERS
   4382	005202	000464'				.WORD	DW2MSG
   4383	005204	000474'				.WORD	STAMSG
   4384	005206	000504'				.WORD	DW3MSG
   4385
   4386	000433				.PSECT	MESSAG
   4387	000433				DTRMSG:
   4388	000433	   011 	   124 	   122 		.ASCIZ	%	TRACK > DTE-20 %
	000436	   101 	   103 	   113
	000441	   040 	   076 	   040
	000444	   104 	   124 	   105
	000447	   055 	   062 	   060
	000452	   040 	   000
   4389
   4390	000454				DW1MSG:
   4391	000454	   104 	   111 	   101 		.ASCIZ	%DIAG 1/%
	000457	   107 	   040 	   061
	000462	   057 	   000
   4392	000464				DW2MSG:
   4393	000464	   104 	   111 	   101 		.ASCIZ	%DIAG 2/%
	000467	   107 	   040 	   062
	000472	   057 	   000
   4394	000474				STAMSG:
   4395	000474	   123 	   124 	   101 		.ASCIZ	%STATUS/%
	000477	   124 	   125 	   123
	000502	   057 	   000
   4396	000504				DW3MSG:
   4397	000504	   104 	   111 	   101 		.ASCIZ	%DIAG 3/%
	000507	   107 	   040 	   063
	000512	   057 	   000
   4398
   4399	000514				DRDMSG:
   4400	000514	   040 	   122 	   104 		.ASCIZ	% RD%
	000517	   000
   4401	000520				DWRMSG:
   4402	000520	   040 	   127 	   122 		.ASCIZ	% WR%
	000523	   000
   4403	005210				.PSECT
   4404
   4405					.ENDC		; FTTRAK
EBCLK -- KL EBOX CLOCK SIMULATO	MACRO M1108  13-JAN-78 09:14  PAGE 124
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   4407					.TITLE	EBCLK -- KL EBOX CLOCK SIMULATOR MODULE 7603.30
   4408
   4409						.IDENT	"001010"
   4410
   4411					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4412					;
   4413					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4414					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4415					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4416					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4417					;	FOR ITS ACCURACY.
   4418					;
   4419					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4420					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4421					;
   4422					;
   4423					;		MODULE: KL EBOX CLOCK SIMULATOR
   4424					;
   4425					;		VERSION: 01-01
   4426					;
   4427					;		AUTHOR: R. BELANGER
   4428					;
   4429					;		DATE: 7603.30
   4430					;
   4431					;	THIS MODULE CONTAINS:
   4432					;
   4433					;	1) KL EBOX CLOCK SIMULATOR CODE
EBCLK -- KL EBOX CLOCK SIMULATO	MACRO M1108  13-JAN-78 09:14  PAGE 125
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   4435					.SBTTL	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
   4436
   4437					;+
   4438					; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
   4439					;
   4440					; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
   4441					; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
   4442					; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
   4443					;
   4444					; SEQUENCE OF OPERATION:
   4445					;
   4446					;	(A) AN MBOX CLOCK IS ISSUED (FX.002),
   4447					;	(B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
   4448					;		(1) IF FALSE GO TO (A),
   4449					;		(2) IF TRUE GO TO (C),
   4450					;	(C) THE EBOX CLOCK IS SYNCHED LOW.
   4451					;
   4452					; INPUT ARGUMENTS:
   4453					;
   4454					;	NONE.
   4455					;
   4456					; OUTPUT ARGUMENTS:
   4457					;
   4458					;	NONE.
   4459					;
   4460					; ERROR CODES RETURNED:
   4461					;
   4462					;	CES -- CLOCK ERROR STOP.
   4463					;	DSF -- DTE-20 STATUS FAILURE.
   4464					;	ECT -- EBOX CLOCK TIMEOUT.
   4465					;	FRF -- FUNCTION READ FAILED.
   4466					;	FXF -- FUNCTION EXECUTE FAILED.
   4467					;
   4468					; NOTE:
   4469					;
   4470					;	THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
   4471					;-
EBCLK -- KL EBOX CLOCK SIMULATO	MACRO M1108  13-JAN-78 09:14  PAGE 126
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   4473	005210				.EBCLK::
   4474	005210					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	005210	010246 				 MOV	R2,-(SP)
	005212	010146 				 MOV	R1,-(SP)
	005214	010046 				 MOV	R0,-(SP)
   4475	005216					CALL	.CESCK		; ...SEE IF CLOCK ERROR STOP IS UP
	005216	004737 	001630'			 JSR	PC,.CESCK
   4476	005222	012702 	000310 			MOV	#^D200,R2	; ...TIMEOUT COUNT TO R2
   4477	005226				10$:
   4478	005226	005001 				CLR	R1		; ...CLEAR R1
   4479	005230	012700 	000004 			MOV	#FX.MBC,R0	; ...DO ONE MBOX CLOCK
   4480	005234					CALL	.FXCT		; ...DO IT
	005234	004737 	011074'			 JSR	PC,.FXCT
   4481	005240	012700 	000210 			MOV	#FR.104,R0	; ...READ STATE OF [CLK EBX SRC H]
   4482	005244					CALL	.FREAD		; ...DO IT
	005244	004737 	010644'			 JSR	PC,.FREAD
   4483	005250	032710 	000004 			BIT	#BIT02,(R0)	; ...IS IT THERE?
   4484	005254	001001 				BNE	20$		; ...YES -- SYNCH THE CLOCK AND EXIT
   4485	005256	077215 				SOB	R2,10$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   4486	005260				20$:
   4487	005260	005702 				TST	R2		; ...WHAT'S IN R2?
   4488	005262	003405 				BLE	EBCECT		; ...TIMED OUT IF .LE. 0
   4489	005264					POP	<R0,R1,R2>	; ...RESTORE CALLER'S REGISTERS
	005264	012600 				 MOV	(SP)+,R0
	005266	012601 				 MOV	(SP)+,R1
	005270	012602 				 MOV	(SP)+,R2
   4490	005272					CALLR	.SYNXC		; FORCE SYNCH THE CLOCK AND EXIT
	005272	000137 	026760'			 JMP	.SYNXC
   4491						;
   4492	005276				EBCECT:
   4493	005276					ERROR$	ECT		; ERROR -- EBOX CLOCK TIME OUT
	005276	012746 				 MOV	(PC)+,-(SP)	; "ECT" IN RAD50 TO STACK
	005300	017714 				 .RAD50	/ECT/		; ERROR IDENTIFIER
	005302	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4494						;
EBPCK -- EBUS PARITY ERROR CHEC	MACRO M1108  13-JAN-78 09:14  PAGE 127
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   4496					.TITLE	EBPCK -- EBUS PARITY ERROR CHECK MODULE 7603.30
   4497
   4498						.IDENT	"001010"
   4499
   4500					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4501					;
   4502					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4503					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4504					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4505					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4506					;	FOR ITS ACCURACY.
   4507					;
   4508					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4509					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4510					;
   4511					;
   4512					;		MODULE: EBUS PARITY ERROR CHECK
   4513					;
   4514					;		VERSION: 01-01
   4515					;
   4516					;		AUTHOR: R. BELANGER
   4517					;
   4518					;		DATE: 7603.30
   4519					;
   4520					;	THIS MODULE CONTAINS:
   4521					;
   4522					;	1) EBUS PARITY ERROR CHECK CODE
EBPCK -- EBUS PARITY ERROR CHEC	MACRO M1108  13-JAN-78 09:14  PAGE 128
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   4524					.SBTTL	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
   4525
   4526					;+
   4527					; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
   4528					;
   4529					; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
   4530					; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
   4531					;
   4532					; INPUT ARGUMENTS:
   4533					;
   4534					;	NONE.
   4535					;
   4536					; OUTPUT ARGUMENTS:
   4537					;
   4538					;	R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
   4539					;
   4540					; ERROR CODES RETURNED:
   4541					;
   4542					;	DSF -- DTE-20 STATUS FAILURE.
   4543					;	EPE -- EBUS PARITY ERROR.
   4544					;-
   4545
   4546	005304				.EBPCK::
   4547	005304					CALL	.DTSTA		; READ DTE-20 STATUS WORD
	005304	004737 	004760'			 JSR	PC,.DTSTA
   4548	005310	032700 	000020 			BIT	#ST.EPE,R0	; EBUS PARITY ERROR?
   4549	005314	001001 				BNE	EBPEPE		; YES -- GIVE "EPE" ERROR
   4550	005316					RETURN			; NO -- JUST RETURN
	005316	000207 				 RTS	PC
   4551	005320				EBPEPE:
   4552	005320					ERROR$	EPE		; ERROR -- EBUS PARITY ERROR
	005320	012746 				 MOV	(PC)+,-(SP)	; "EPE" IN RAD50 TO STACK
	005322	020705 				 .RAD50	/EPE/		; ERROR IDENTIFIER
	005324	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4553						;
EDEWD -- EXAMINE DEPOSIT ELEVEN	MACRO M1108  13-JAN-78 09:14  PAGE 129
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   4555					.TITLE	EDEWD -- EXAMINE DEPOSIT ELEVEN EXTENSION MODULE 7603.30
   4556
   4557						.IDENT	"001010"
   4558
   4559					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4560					;
   4561					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4562					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4563					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4564					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4565					;	FOR ITS ACCURACY.
   4566					;
   4567					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4568					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4569					;
   4570					;
   4571					;		MODULE: EXAMINE / DEPOSIT ELEVEN EXTENSION
   4572					;
   4573					;		VERSION: 01-01
   4574					;
   4575					;		AUTHOR: R. BELANGER
   4576					;
   4577					;		DATE: 7603.30
   4578					;
   4579					;	THIS MODULE CONTAINS:
   4580					;
   4581					;	1) EXAMINE / DEPOSIT ELEVEN EXTENSION CODE
EDEWD -- EXAMINE DEPOSIT ELEVEN	MACRO M1108  13-JAN-78 09:14  PAGE 130
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"

   4583					.SBTTL	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   4584
   4585	005326				.EDEWD::
   4586	005326				.EDEWP::
   4587	005326	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   4588	005332	162700 	000002 			SUB	#^D2,R0		; PREVIOUS WORD ADDRESS
   4589	005336					RETURN			; TO CALLER
	005336	000207 				 RTS	PC
   4590	005340				.EDEWI::
   4591	005340				.EDEWN::
   4592	005340	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   4593	005344	062700 	000002 			ADD	#^D2,R0		; NEXT WORD ADDRESS
   4594	005350					RETURN			; TO CALLER
	005350	000207 				 RTS	PC
EDKLD -- EXAMINE / DEPOSIT TEN 	MACRO M1108  13-JAN-78 09:14  PAGE 131
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"

   4596					.TITLE	EDKLD -- EXAMINE / DEPOSIT TEN EXTENSION MODULE 7609.10
   4597
   4598						.IDENT	"001020"
   4599
   4600					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   4601					;
   4602					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   4603					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   4604					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   4605					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4606					;	FOR ITS ACCURACY.
   4607					;
   4608					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   4609					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   4610					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   4611					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   4612					;
   4613					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   4614					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   4615					;
   4616					;		MODULE: EXAMINE / DEPOSIT TEN EXTENSION
   4617					;
   4618					;		VERSION: 01-02
   4619					;
   4620					;		AUTHOR: R. BELANGER
   4621					;
   4622					;		DATE: 7609.10
   4623					;
   4624					;	THIS MODULE CONTAINS:
   4625					;
   4626					;	1) EXAMINE / DEPOSIT TEN EXTENSION CODE
EDKLD -- EXAMINE / DEPOSIT TEN 	MACRO M1108  13-JAN-78 09:14  PAGE 132
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   4628					.SBTTL	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   4629
   4630						.ENABL	LSB
   4631
   4632	005352				.EDKLP::
   4633	005352					CALL	.EDKLC		; DO COMMON CODE
	005352	004737 	005450'			 JSR	PC,.EDKLC
   4634	005356					CALL	.TPDEC		; DECREMENT ONCE
	005356	004737 	027414'			 JSR	PC,.TPDEC
   4635	005362	000422 				BR	10$		; EXIT THRU COMMON CODE
   4636						;
   4637	005364				.EDKLN::
   4638	005364					CALL	.EDKLC		; DO COMMON CODE
	005364	004737 	005450'			 JSR	PC,.EDKLC
   4639	005370					CALL	.TPINC		; INCREMENT ONCE
	005370	004737 	027402'			 JSR	PC,.TPINC
   4640	005374	000415 				BR	10$		; EXIT THRU COMMON CODE
   4641						;
   4642	005376				.EDKLD::
   4643	005376					CALL	.EDKLC		; DO COMMON CODE
	005376	004737 	005450'			 JSR	PC,.EDKLC
   4644	005402	012701 	000070'			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   4645	005406					CALL	.TPSUB		; DO THE SUBTRACTION
	005406	004737 	027426'			 JSR	PC,.TPSUB
   4646	005412	000406 				BR	10$		; EXIT THRU COMMON CODE
   4647						;
   4648	005414				.EDKLI::
   4649	005414					CALL	.EDKLC		; DO COMMON CODE
	005414	004737 	005450'			 JSR	PC,.EDKLC
   4650	005420	012701 	000070'			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   4651	005424					CALL	.TPADD		; DO THE ADDITION
	005424	004737 	027362'			 JSR	PC,.TPADD
   4652	005430				10$:
   4653	005430	032760 	177600 	000002 		BIT	#^C177,2(R0)	; CHECK THE RESULT
   4654	005436	001015 				BNE	EDNKLA		; ERROR IF TOO LARGE
   4655	005440	005760 	000004 			TST	4(R0)		; HOW ABOUT HIGH BITS?
   4656	005444	001012 				BNE	EDNKLA		; TOO LARGE
   4657	005446	000410 				BR	20$		; ALL OK -- RETURN
   4658						;
   4659	005450				.EDKLC::
   4660	005450	012700 	000044'			MOV	#.EDKLX,R0	; AUX ADDRESS POINTER TO R0
   4661	005454	012701 	000036'			MOV	#.EDKLA,R1	; EXAM / DEPOS ADDRESS TO R1
   4662	005460	012120 				MOV	(R1)+,(R0)+	; LOAD CURRENT ADDRESS
   4663	005462	012120 				MOV	(R1)+,(R0)+	; INTO AUXILLIARY ADDRESS BUFFER
   4664	005464	011110 				MOV	(R1),(R0)	; SO
   4665	005466	024040 				CMP	-(R0),-(R0)	; BACK THE POINTER UP
   4666	005470				20$:
   4667	005470					RETURN			; AND GO ON
	005470	000207 				 RTS	PC
   4668
   4669						.DSABL	LSB
   4670
   4671	005472				EDNKLA:
   4672	005472					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	005472	012746 				 MOV	(PC)+,-(SP)	; "KLA" IN RAD50 TO STACK
	005474	043241 				 .RAD50	/KLA/		; ERROR IDENTIFIER
	005476	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
EDKLD -- EXAMINE / DEPOSIT TEN 	MACRO M1108  13-JAN-78 09:14  PAGE 132-1
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   4673						;
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 133
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   4675					.TITLE	EDKLM -- EXAMINE / DEPOSIT KL MEMORY MODULE 7702.24
   4676
   4677						.IDENT	"002010"
   4678
   4679					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   4680					;
   4681					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   4682					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   4683					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   4684					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4685					;	FOR ITS ACCURACY.
   4686					;
   4687					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   4688					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   4689					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   4690					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   4691					;
   4692					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   4693					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   4694					;
   4695					;
   4696					;		MODULE: KL MEMORY EXAMINE / DEPOSIT
   4697					;
   4698					;		VERSION: 02-01
   4699					;
   4700					;		AUTHOR: R. BELANGER
   4701					;
   4702					;		DATE: 7702.24
   4703					;
   4704					;	THIS MODULE CONTAINS:
   4705					;
   4706					;	1) EXAMINE KL MEMORY CODE
   4707					;	2) DEPOSIT KL MEMORY CODE
   4708					;	3) EXAMINE AND DEPOSIT DIRECTIVE PARAMETER BLOCKS
   4709					;
   4710					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
   4711
   4712						.MCALL	$DEF, DIR$, PREX$, PRDP$
   4713
   4714	005500					$DEF
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 134
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4716					.SBTTL	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   4717
   4718					;+
   4719					; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
   4720					; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
   4721					;
   4722					; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
   4723					;
   4724					; INPUT ARGUMENTS:
   4725					;
   4726					; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
   4727					;
   4728					;	(A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
   4729					;	(B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
   4730					;	(C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
   4731					;	(D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
   4732					;	(E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
   4733					;
   4734					; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
   4735					;
   4736					;		!===================================!
   4737					;	00	!      POINTER TO KL ADDRESS	    !
   4738					;		!-----------------------------------!
   4739					;	02	!       POINTER TO KL DATA	    !
   4740					;		!===================================!
   4741					;
   4742					; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
   4743					;
   4744					;		!===================================!
   4745					;	00	!	  KL ADDRESS 20 - 35	    !
   4746					;		!-----------------------------------!
   4747					;	02	!	  KL ADDRESS 19 - 14	    !
   4748					;		!===================================!
   4749					;
   4750					; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
   4751					;
   4752					; OUTPUT ARGUMENTS:
   4753					;
   4754					;	SAME AS INPUT ARGUMENTS.
   4755					;
   4756					; ERROR CODES RETURNED:
   4757					;
   4758					;	ESD -- EBOX STOPPED - DEPOSIT.
   4759					;	ESE -- EBOX STOPPED - EXAMINE.
   4760					;	EMF -- EXAMINE KL MEMORY FAILED.
   4761					;	DMF -- DEPOSIT KL MEMORY FAILED.
   4762					;-
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 135
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4764						.ENABL	LSB
   4765
   4766	005500				.EXKLM::
   4767	005500					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	005500	010246 				 MOV	R2,-(SP)
	005502	010346 				 MOV	R3,-(SP)
   4768	005504	012702 	005652'			MOV	#.ETAB,R2	; ..POINTER TO EXAMINE TABLE
   4769	005510					CALL	.EXDPM		; ..GO DO EXAMINE
	005510	004737 	005570'			 JSR	PC,.EXDPM
   4770					.IF NE	FTTRAK
   4771	005514	032737 	000010 	000142'		BIT	#TR.EXM,.TRKWD	; ..ARE WE TRACKING EXAMINES?
   4772	005522	001417 				BEQ	10$		; ..NO -- GO ON
   4773	005524					CALL	.EXTRK		; ..YES -- TRACK IT
	005524	004737 	005762'			 JSR	PC,.EXTRK
   4774					.IFTF
   4775	005530	000414 				BR	10$		; ..AND GO AWAY
   4776						;
   4777	005532				.DPKLM::
   4778	005532					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	005532	010246 				 MOV	R2,-(SP)
	005534	010346 				 MOV	R3,-(SP)
   4779	005536	012702 	005662'			MOV	#.DTAB,R2	; ..POINTER TO DEPOSIT TABLE
   4780	005542					CALL	.EXDPM		; ..DO THE DEPOSIT
	005542	004737 	005570'			 JSR	PC,.EXDPM
   4781					.IFT
   4782	005546	032737 	000020 	000142'		BIT	#TR.DEP,.TRKWD	; ..ARE WE TRACKING DEPOSITS?
   4783	005554	001402 				BEQ	10$		; ..NO -- GO ON
   4784	005556					CALL	.DPTRK		; ..YES -- TRACK THE DEPOSIT
	005556	004737 	005774'			 JSR	PC,.DPTRK
   4785					.ENDC		; FTTRAK
   4786	005562				10$:
   4787	005562					POP	<R3,R2>		; ..RESTORE R2 AND R3
	005562	012603 				 MOV	(SP)+,R3
	005564	012602 				 MOV	(SP)+,R2
   4788	005566					RETURN			; RETURN TO CALLER
	005566	000207 				 RTS	PC
   4789
   4790						.DSABL	LSB
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 136
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4792					; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
   4793
   4794	005570				.EXDPM::
   4795	005570	000241 				CLC			; CLEAR CC-C
   4796	005572	012203 				MOV	(R2)+,R3	; GET THE DPB POINTER INTO R3
   4797	005574	110023 				MOVB	R0,(R3)+	; PUT THE MODE INTO THE DPB
   4798	005576	011123 				MOV	(R1),(R3)+	; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
   4799	005600	016113 	000002 			MOV	2(R1),(R3)	; AND DESTINATION POINTER TOO
   4800	005604	011303 				MOV	(R3),R3		; GET ADDRESS OF CALLER'S DATA BLOCK
   4801	005606	042763 	177760 	000004 		BIC	#177760,4(R3)	; CLEAR EXTRANEOUS BITS
   4802	005614					DIR$	(R2)+		; DO THE EXAMINE OR DEPOSIT
	005614	012246 				MOV	(R2)+,-(SP)
	005616	104375 				EMT	375
   4803	005620	103401 				BCS	10$		; ERROR IF CC-C IS SET
   4804	005622					RETURN			; TO CALLER
	005622	000207 				 RTS	PC
   4805	005624				10$:
   4806	005624	022737 	000000G	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
   4807	005632	001401 				BEQ	20$		; YES -- EBOX IS STOPPED
   4808	005634	005722 				TST	(R2)+		; NO -- OTHER ERROR
   4809	005636				20$:
   4810	005636					CALL	.CESCK		; SEE IF CLOCK ERROR STOP IS UP
	005636	004737 	001630'			 JSR	PC,.CESCK
   4811	005642					CALL	.RESTD		; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
	005642	004737 	021420'			 JSR	PC,.RESTD
   4812	005646	000172 	000000 			JMP	@(R2)		; GIVE THE EXAMINE ERROR TRAP
   4813						;
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 137
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4815					; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
   4816
   4817	005652				.ETAB:
   4818	005652	005753'				.WORD	.EXDPB+3	; POINTER FOR EXAMINE MODE IN DPB
   4819	005654	005750'				.WORD	.EXDPB		; EXAMINE DPB POINTER
   4820	005656	005706'				.WORD	EXDESE		; EBOX STOPPED - EXAMINE
   4821	005660	005730'				.WORD	EXDEMF		; EXAMINE KL FAILED
   4822
   4823	005662				.DTAB:
   4824	005662	005741'				.WORD	.DPDPB+3	; POINTER FOR DEPOSIT MODE IN DPB
   4825	005664	005736'				.WORD	.DPDPB		; DEPOSIT DPB POINTER
   4826	005666	005672'				.WORD	EXDESD		; EBOX STOPPED - DEPOSIT
   4827	005670	005722'				.WORD	EXDDMF		; DEPOSIT KL FAILED
   4828	005672				EXDESD:
   4829	005672	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   4830	005700					ERROR$	ESD		; ERROR -- EBOX STOPPED - DEPOSIT
	005700	012746 				 MOV	(PC)+,-(SP)	; "ESD" IN RAD50 TO STACK
	005702	021074 				 .RAD50	/ESD/		; ERROR IDENTIFIER
	005704	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4831						;
   4832	005706				EXDESE:
   4833	005706	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   4834	005714					ERROR$	ESE		; ERROR -- EBOX STOPPED - EXAMINE
	005714	012746 				 MOV	(PC)+,-(SP)	; "ESE" IN RAD50 TO STACK
	005716	021075 				 .RAD50	/ESE/		; ERROR IDENTIFIER
	005720	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4835						;
   4836	005722				EXDDMF:
   4837	005722					ERROR$	DMF		; ERROR -- DEPOSIT MEMORY FAILED
	005722	012746 				 MOV	(PC)+,-(SP)	; "DMF" IN RAD50 TO STACK
	005724	015416 				 .RAD50	/DMF/		; ERROR IDENTIFIER
	005726	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4838						;
   4839	005730				EXDEMF:
   4840	005730					ERROR$	EMF		; ERROR -- EXAMINE MEMORY FAILED
	005730	012746 				 MOV	(PC)+,-(SP)	; "EMF" IN RAD50 TO STACK
	005732	020516 				 .RAD50	/EMF/		; ERROR IDENTIFIER
	005734	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   4841						;
EDKLM -- EXAMINE / DEPOSIT KL M	MACRO M1108  13-JAN-78 09:14  PAGE 138
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4843					; DPB FOR PRIVILEGED DEPOSIT
   4844
   4845					;	!===============================================!
   4846					; 00	!	DPB SIZE	!	  DIC		!
   4847					;	!-----------------------------------------------!
   4848					; 02	!    DEPOSIT TYPE	!    DIRECTIVE CODE	!
   4849					;	!-----------------------------------------------!
   4850					; 04	!	  KL DEPOSIT ADDRESS POINTER		!
   4851					;	!-----------------------------------------------!
   4852					; 06	!	   KL DEPOSIT DATA POINTER		!
   4853					;	!-----------------------------------------------!
   4854					; 10	!		DTE-20 NUMBER			!
   4855					;	!===============================================!
   4856
   4857	005736				.DPDPB::
   4858	005736					PRDP$	0,.EDKLA,.DPBFR,ED.PHY
	005736	   011 	   005 			.BYTE	DR.DTE,5
	005740	   016 	   200 			.BYTE	DF.PDP,ED.PHY
	005742	000036'				.WORD	.EDKLA
	005744	000020'				.WORD	.DPBFR
	005746	000000 				.WORD	0
   4859		005746'			DPDTEN==.-2
   4860
   4861					; DPB FOR PRIVILEGED EXAMINE
   4862
   4863					;	!===============================================!
   4864					; 00	!	DPB SIZE	!	  DIC		!
   4865					;	!-----------------------------------------------!
   4866					; 02	!    EXAMINE TYPE	!    DIRECTIVE CODE	!
   4867					;	!-----------------------------------------------!
   4868					; 04	!	    KL ADDRESS WORD POINTER		!
   4869					;	!-----------------------------------------------!
   4870					; 06	!	     DATA DESTINATION POINTER		!
   4871					;	!-----------------------------------------------!
   4872					; 10	!		DTE-20 NUMBER			!
   4873					;	!===============================================!
   4874
   4875	005750				.EXDPB::
   4876	005750					PREX$	0,.EDKLA,.EXBFR,ED.PHY
	005750	   011 	   005 			.BYTE	DR.DTE,5
	005752	   015 	   200 			.BYTE	DF.PEX,ED.PHY
	005754	000036'				.WORD	.EDKLA
	005756	000056'				.WORD	.EXBFR
	005760	000000 				.WORD	0
   4877		005760'			EXDTEN==.-2
EDTRK -- KL EXAMINE / DEPOSIT T	MACRO M1108  13-JAN-78 09:14  PAGE 139
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4879					.TITLE	EDTRK -- KL EXAMINE / DEPOSIT TRACK MODULE 7603.30
   4880
   4881						.IDENT	"001010"
   4882
   4883					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   4884					;
   4885					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   4886					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   4887					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   4888					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   4889					;	FOR ITS ACCURACY.
   4890					;
   4891					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   4892					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   4893					;
   4894					;
   4895					;		MODULE: KL EXAMINE / DEPOSIT TRACK
   4896					;
   4897					;		VERSION: 01-01
   4898					;
   4899					;		AUTHOR: R. BELANGER
   4900					;
   4901					;		DATE: 7603.30
   4902					;
   4903					;	THIS MODULE CONTAINS:
   4904					;
   4905					;	1) KL EXAMINE / DEPOSIT TRACK CODE
EDTRK -- KL EXAMINE / DEPOSIT T	MACRO M1108  13-JAN-78 09:14  PAGE 140
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   4907					.SBTTL	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
   4908
   4909					;+
   4910					; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
   4911					; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
   4912					;
   4913					; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
   4914					; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
   4915					; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
   4916					;
   4917					; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
   4918					; THE TRACK CONTROL WORD ".TRKWD".
   4919					;
   4920					; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
   4921					; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
   4922					;
   4923					; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
   4924					;
   4925					; ERROR CODES RETURNED:
   4926					;
   4927					;	NONE.
   4928					;-
   4929
   4930					.IF NE	FTTRAK
   4931
   4932						.ENABL	LSB
   4933
   4934	005762				.EXTRK::
   4935	005762					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005762	004537 	021556'			 JSR	R5,.REGSV
   4936	005766	012705 	000550'			MOV	#EXTMSG,R5	; PREAMBLE TO TYPE
   4937	005772	000404 				BR	10$		; DO COMMON CODE
   4938						;
   4939	005774				.DPTRK::
   4940	005774					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005774	004537 	021556'			 JSR	R5,.REGSV
   4941	006000	012705 	000565'			MOV	#DPTMSG,R5	; PREAMBLE TO TYPE
   4942									; AND FALL INTO COMMON CODE
   4943
   4944					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTRK -- KL EXAMINE / DEPOSIT T	MACRO M1108  13-JAN-78 09:14  PAGE 141
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   4946					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4947
   4948	006004				10$:
   4949	006004					PUSH	R0		; SAVE R0 ON THE STACK
	006004	010046 				 MOV	R0,-(SP)
   4950	006006	011100 				MOV	(R1),R0		; .GET ADDRESS POINTER
   4951	006010	012702 	006130'			MOV	#TRADDR,R2	; .POINT TO OUR BLOCK
   4952	006014	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   4953	006016	012022 				MOV	(R0)+,(R2)+	; .
   4954	006020	005012 				CLR	(R2)		; .ZERO THE LAST WORD
   4955	006022	016100 	000002 			MOV	2(R1),R0	; .GET DATA POINTER
   4956	006026	012702 	006136'			MOV	#TRDATA,R2	; .POINT TO OUR BLOCK
   4957	006032	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   4958	006034	012022 				MOV	(R0)+,(R2)+	; .
   4959	006036	011012 				MOV	(R0),(R2)	; .
   4960	006040	010500 				MOV	R5,R0		; .PREAMBLE POINTER TO R0
   4961	006042					CALL	.TYMSG		; .PRINT IT
	006042	004737 	031434'			 JSR	PC,.TYMSG
   4962	006046	012700 	006130'			MOV	#TRADDR,R0	; .POINT TO ADDRESS
   4963	006052					CALL	.TYKLA		; .PRINT IT
	006052	004737 	031016'			 JSR	PC,.TYKLA
   4964	006056					CALL	.TYSLS		; .TYPE A SLASH
	006056	004737 	030634'			 JSR	PC,.TYSLS
   4965	006062					CALL	.TYSPC		; .AND A <SPACE>
	006062	004737 	030644'			 JSR	PC,.TYSPC
   4966	006066	012700 	006136'			MOV	#TRDATA,R0	; .POINT TO DATA
   4967	006072					CALL	.TYKLN		; .PRINT IT
	006072	004737 	031066'			 JSR	PC,.TYKLN
   4968	006076					CALL	.TYSPC		; .AND A <SPACE>
	006076	004737 	030644'			 JSR	PC,.TYSPC
   4969	006102	011600 				MOV	(SP),R0		; .GET TYPE
   4970	006104	006200 				ASR	R0		; .DIVIDE BY 16
   4971	006106	006200 				ASR	R0		; .
   4972	006110	006200 				ASR	R0		; .
   4973	006112	006200 				ASR	R0		; .
   4974	006114	016000 	006144'			MOV	EDTYTB(R0),R0	; .GET TYPE POINTER
   4975	006120					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	006120	004737 	031420'			 JSR	PC,.TYLIN
   4976	006124					POP	R0		; .AND R0
	006124	012600 				 MOV	(SP)+,R0
   4977	006126					RETURN			; TO CALLER
	006126	000207 				 RTS	PC
   4978
   4979						.DSABL	LSB
EDTRK -- KL EXAMINE / DEPOSIT T	MACRO M1108  13-JAN-78 09:14  PAGE 142
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   4981	006130				TRADDR:
   4982	006130	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR ADDRESS
   4983	006136				TRDATA:
   4984	006136	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DATA
   4985	006144				EDTYTB:				; POINTERS FOR TYPE MESSAGES
   4986	006144	000524'				.WORD	EDEPT		; EPT SPACE
   4987	006146	000530'				.WORD	EDEXV		; EXEC VIRTUAL SPACE
   4988	006150	000534'				.WORD	EDUPT		; UPT SPACE
   4989	006152	000540'				.WORD	EDUSV		; USER VIRTUAL
   4990	006154	000544'				.WORD	EDPHY		; PHYSICAL SPACE
   4991
   4992	000524				.PSECT	MESSAG
   4993	000524				EDEPT:
   4994	000524	   105 	   120 	   124 		.ASCIZ	%EPT%
	000527	   000
   4995	000530				EDEXV:
   4996	000530	   105 	   126 	   123 		.ASCIZ	%EVS%
	000533	   000
   4997	000534				EDUPT:
   4998	000534	   125 	   120 	   124 		.ASCIZ	%UPT%
	000537	   000
   4999	000540				EDUSV:
   5000	000540	   125 	   126 	   123 		.ASCIZ	%UVS%
	000543	   000
   5001	000544				EDPHY:
   5002	000544	   120 	   110 	   131 		.ASCIZ	%PHY%
	000547	   000
   5003	000550				EXTMSG:
   5004	000550	   011 	   124 	   122 		.ASCIZ	%	TRACK > EX %
	000553	   101 	   103 	   113
	000556	   040 	   076 	   040
	000561	   105 	   130 	   040
	000564	   000
   5005	000565				DPTMSG:
   5006	000565	   011 	   124 	   122 		.ASCIZ	%	TRACK > DP %
	000570	   101 	   103 	   113
	000573	   040 	   076 	   040
	000576	   104 	   120 	   040
	000601	   000
   5007	006156				.PSECT
   5008
   5009					.ENDC		; FTTRAK
EXAD -- EXAMINE 22 AND 36 BIT R	MACRO M1108  13-JAN-78 09:14  PAGE 143
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   5011					.TITLE	EXAD -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
   5012
   5013						.IDENT	"001010"
   5014
   5015					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5016					;
   5017					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5018					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5019					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5020					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5021					;	FOR ITS ACCURACY.
   5022					;
   5023					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5024					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5025					;
   5026					;
   5027					;		MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
   5028					;
   5029					;		VERSION: 01-01
   5030					;
   5031					;		AUTHOR: R. BELANGER
   5032					;
   5033					;		DATE: 7603.30
   5034					;
   5035					;	THIS MODULE CONTAINS:
   5036					;
   5037					;	1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
EXAD -- EXAMINE 22 AND 36 BIT R	MACRO M1108  13-JAN-78 09:14  PAGE 144
.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16

   5039					.SBTTL	.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
   5040
   5041						.ENABL	LSB
   5042
   5043	006156				.EXAD::				; ADDER REGISTER
   5044	006156	012700 	020022'			MOV	#.RDADR,R0	; DISPATCH POINTER TO R0
   5045	006162	000445 				BR	20$		; DO COMMON CODE
   5046						;
   5047	006164				.EXADX::			; ADDRER EXTENSION
   5048	006164	012700 	020030'			MOV	#.RDADX,R0	; DISPATCH POINTER TO R0
   5049	006170	000442 				BR	20$		; DO COMMON CODE
   5050						;
   5051	006172				.EXARR::			; ARITHMETIC REGISTER
   5052	006172	012700 	020036'			MOV	#.RDARR,R0	; DISPATCH POINTER TO R0
   5053	006176	000437 				BR	20$		; DO COMMON CODE
   5054						;
   5055	006200				.EXARX::			; AR EXTENSION
   5056	006200	012700 	020044'			MOV	#.RDARX,R0	; DISPATCH POINTER TO R0
   5057	006204	000434 				BR	20$		; DO COMMON CODE
   5058						;
   5059	006206				.EXBRR::			; BUFFER REGISTER
   5060	006206	012700 	020052'			MOV	#.RDBRR,R0	; DISPATCH POINTER TO R0
   5061	006212	000431 				BR	20$		; DO COMMON CODE
   5062						;
   5063	006214				.EXBRX::			; BR EXTENSION
   5064	006214	012700 	020060'			MOV	#.RDBRX,R0	; DISPATCH POINTER TO R0
   5065	006220	000426 				BR	20$		; DO COMMON CODE
   5066						;
   5067	006222				.EXEBS::			; EBUS REGISTER
   5068	006222	012700 	020066'			MOV	#.RDEBS,R0	; DISPATCH POINTER TO R0
   5069	006226	000423 				BR	20$		; DO COMMON CODE
   5070						;
   5071	006230				.EXFMR::			; FAST MEMORY REGISTER
   5072	006230	012700 	020074'			MOV	#.RDFMR,R0	; DISPATCH POINTER TO R0
   5073	006234	000420 				BR	20$		; DO COMMON CODE
   5074						;
   5075	006236				.EXMQR::			; MQ REGSITER
   5076	006236	012700 	020102'			MOV	#.RDMQR,R0	; DISPATCH POINTER TO R0
   5077	006242	000415 				BR	20$		; DO COMMON CODE
   5078						;
EXAD -- EXAMINE 22 AND 36 BIT R	MACRO M1108  13-JAN-78 09:14  PAGE 145
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   5080					.SBTTL	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
   5081
   5082	006244				.EXVAB::			; ADDRESS BREAK REGISTER
   5083	006244	012700 	020662'			MOV	#.RDVAB,R0	; DISPATCH POINTER TO R0
   5084	006250	000410 				BR	10$		; DO COMMON CODE
   5085						;
   5086	006252				.EXVMA::			; VMA REGISTER
   5087	006252	012700 	020670'			MOV	#.RDVMA,R0	; DISPATCH POINTER TO R0
   5088	006256	000405 				BR	10$		; DO COMMON CODE
   5089						;
   5090	006260				.EXVMH::			; VMA HELD REGISTER
   5091	006260	012700 	020676'			MOV	#.RDVMH,R0	; DISPATCH POINTER TO R0
   5092	006264	000402 				BR	10$		; DO COMMON CODE
   5093						;
   5094	006266				.EXVPC::			; PROGRAM COUNTER
   5095	006266	012700 	020654'			MOV	#.RDVPC,R0	; DISPATCH POINTER TO R0
   5096					;	BR	10$		; DO COMMON CODE
   5097						;
EXAD -- EXAMINE 22 AND 36 BIT R	MACRO M1108  13-JAN-78 09:14  PAGE 146
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   5099					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5100
   5101	006272				10$:				; HERE FOR VMA BOARD EXAMINES
   5102	006272	005037 	000100'			CLR	.LDZFL		; DON'T PRINT LEADING ZEROES
   5103	006276				20$:				; HERE FOR DATA PATH BOARD EXAMINES
   5104	006276					CALL	.CKEOC		; CHECK E-O-C
	006276	004737 	002010'			 JSR	PC,.CKEOC
   5105	006302	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   5106	006304	005046 				CLR	-(SP)		; .
   5107	006306	005046 				CLR	-(SP)		; ..
   5108	006310	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   5109	006312					PUSH	R0		; ...SAVE THE DISPATCH ADDRESS
	006312	010046 				 MOV	R0,-(SP)
   5110	006314					CALL	.STPKL		; ....STOP THE KL
	006314	004737 	026330'			 JSR	PC,.STPKL
   5111	006320					CALL	@(SP)+		; ....READ THE REGISTER
	006320	004736 				 JSR	PC,@(SP)+
   5112	006322					CALL	.RSTKL		; ...YES -- RESTART THE KL
	006322	004737 	022134'			 JSR	PC,.RSTKL
   5113	006326	010200 				MOV	R2,R0		; ...MESSAGE POINTER TO R0
   5114	006330					CALL	.TYMSG		; ...PRINT IT
	006330	004737 	031434'			 JSR	PC,.TYMSG
   5115	006334					CALL	.TYSLS		; ...NOW A SLASH
	006334	004737 	030634'			 JSR	PC,.TYSLS
   5116	006340					CALL	.TYSPC		; ...AND A SPACE
	006340	004737 	030644'			 JSR	PC,.TYSPC
   5117	006344	010100 				MOV	R1,R0		; ...POINT TO THE DATA
   5118	006346					CALL	.TYKLN		; ...PRINT THAT
	006346	004737 	031066'			 JSR	PC,.TYKLN
   5119	006352					CALL	.TCRLF		; ...END THE LINE
	006352	004737 	031524'			 JSR	PC,.TCRLF
   5120	006356	062706 	000006 			ADD	#^D6,SP		;...CLEAR THE STACK
   5121	006362					RETURN			; TO CALLER
	006362	000207 				 RTS	PC
   5122
   5123						.DSABL	LSB
EXAMC -- EXAMINE COMMAND DISPAT	MACRO M1108  13-JAN-78 09:14  PAGE 147
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   5125					.TITLE	EXAMC -- EXAMINE COMMAND DISPATCH MODULE 7603.30
   5126
   5127						.IDENT	"001010"
   5128
   5129					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5130					;
   5131					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5132					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5133					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5134					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5135					;	FOR ITS ACCURACY.
   5136					;
   5137					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5138					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5139					;
   5140					;
   5141					;		MODULE: EXAMINE COMMAND DISPATCH
   5142					;
   5143					;		VERSION: 01-01
   5144					;
   5145					;		AUTHOR: R. BELANGER
   5146					;
   5147					;		DATE: 7603.30
   5148					;
   5149					;	THIS MODULE CONTAINS:
   5150					;
   5151					;	1) EXAMINE COMMAND DISPATCH CODE
   5152					;	2) EXAMINE COMMAND DISPATCH TABLES
EXAMC -- EXAMINE COMMAND DISPAT	MACRO M1108  13-JAN-78 09:14  PAGE 148
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16

   5154					.SBTTL	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
   5155
   5156					;+
   5157					; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
   5158					;
   5159					; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
   5160					; OBJECT IS TO BE EXAMINED.
   5161					;
   5162					; INPUT ARGUMENTS:
   5163					;
   5164					;	NONE.
   5165					;
   5166					; OUTPUT ARGUMENTS:
   5167					;
   5168					;	NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
   5169					;	FOR THE OBJECT SPECIFIED.
   5170					;
   5171					; ERROR CODES RETURNED:
   5172					;
   5173					;	NONE.
   5174					;-
   5175
   5176	006364				.EXAMC::
   5177	006364	013703 	000102'			MOV	.MEMFL,R3	; OFFSET FLAG TO R3
   5178	006370					PUSH	#.EXOBJ		; FOR ALPHABETIC ARGUMENT
	006370	012746 	010536'			 MOV	#.EXOBJ,-(SP)
   5179	006374					CALL	.CKARG		; .CHECK THE ARGUMENT
	006374	004737 	001712'			 JSR	PC,.CKARG
   5180	006400	001402 				BEQ	10$		; .BRANCH IF ALPHABETIC
   5181	006402	012716 	006410'			MOV	#.EXAMA,(SP)	; .FOR NUMERIC ARGUMENT
   5182	006406				10$:
   5183	006406					CALLR	@(SP)+		; .EXAMINE THE OBJECT
	006406	000136 				 JMP	@(SP)+
   5184						;
   5185	006410				.EXAMA::			; HERE TO DISPATCH FOR MEMORY
   5186	006410					CALLR	@EXMDTB(R3)	; DISPATCH
	006410	000173 	006414'			 JMP	@EXMDTB(R3)
   5187						;
   5188	006414				EXMDTB:
   5189	006414	006774'				.WORD	.EXAMT		; EXAMINE TEN
   5190	006416	006470'				.WORD	.EXAME		; EXAMINE ELEVEN WORD
EXAMD -- EXAMINE EXTENSION DISP	MACRO M1108  13-JAN-78 09:14  PAGE 149
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16

   5192					.TITLE	EXAMD -- EXAMINE EXTENSION DISPATCH MODULE 7603.30
   5193
   5194						.IDENT	"001010"
   5195
   5196					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5197					;
   5198					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5199					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5200					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5201					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5202					;	FOR ITS ACCURACY.
   5203					;
   5204					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5205					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5206					;
   5207					;
   5208					;		MODULE: EXAMINE EXTENSION DISPATCH
   5209					;
   5210					;		VERSION: 01-01
   5211					;
   5212					;		AUTHOR: R. BELANGER
   5213					;
   5214					;		DATE: 7603.30
   5215					;
   5216					;	THIS MODULE CONTAINS:
   5217					;
   5218					;	1) EXAMINE EXTENSION DISPATCH CODE
EXAMD -- EXAMINE EXTENSION DISP	MACRO M1108  13-JAN-78 09:14  PAGE 150
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   5220					.SBTTL	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   5221
   5222	006420				.EXAMD::			; EXAMINE DECREMENT
   5223	006420	000173 	006424'			JMP	@EXADTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   5224						;
   5225	006424				EXADTB:
   5226	006424	010036'				.WORD	.EXKLD		; KL WORD
   5227	006426	007722'				.WORD	.EXEWD		; PDP-11 WORD
   5228
   5229	006430				.EXAMI::			; EXAMINE INCREMENT
   5230	006430	000173 	006434'			JMP	@EXAITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   5231						;
   5232	006434				EXAITB:
   5233	006434	010044'				.WORD	.EXKLI		; KL WORD
   5234	006436	007730'				.WORD	.EXEWI		; PDP-11 WORD
   5235
   5236	006440				.EXAMN::			; EXAMINE NEXT
   5237	006440	000173 	006444'			JMP	@EXANTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   5238						;
   5239	006444				EXANTB:
   5240	006444	010052'				.WORD	.EXKLN		; KL WORD
   5241	006446	007736'				.WORD	.EXEWN		; PDP-11 WORD
   5242
   5243	006450				.EXAMP::			; EXAMINE PREVIOUS
   5244	006450	000173 	006454'			JMP	@EXAPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   5245						;
   5246	006454				EXAPTB:
   5247	006454	010060'				.WORD	.EXKLP		; KL WORD
   5248	006456	007744'				.WORD	.EXEWP		; PDP-11 WORD
   5249
   5250	006460				.EXAMZ::			; EXAMINE THIS
   5251	006460	000173 	006464'			JMP	@EXAZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
   5252						;
   5253	006464				EXAZTB:
   5254	006464	010030'				.WORD	.EXKLT		; KL WORD
   5255	006466	007714'				.WORD	.EXEWT		; PDP-11 WORD
EXAME - EXAMINE ELEVEN COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 151
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   5257					.TITLE	EXAME - EXAMINE ELEVEN COMMAND MODULE 7603.30
   5258
   5259						.IDENT	"001010"
   5260
   5261					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5262					;
   5263					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5264					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5265					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5266					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5267					;	FOR ITS ACCURACY.
   5268					;
   5269					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5270					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5271					;
   5272					;
   5273					;		MODULE: EXAMINE ELEVEN COMMAND
   5274					;
   5275					;		VERSION: 01-01
   5276					;
   5277					;		AUTHOR: R. BELANGER
   5278					;
   5279					;		DATE: 7603.30
   5280					;
   5281					;	THIS MODULE CONTAINS:
   5282					;
   5283					;	1) EXAMINE ELEVEN COMMAND CODE
EXAME - EXAMINE ELEVEN COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 152
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   5285					.SBTTL	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
   5286
   5287					;+
   5288					; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
   5289					;
   5290					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
   5291					; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
   5292					;
   5293					; INPUT ARGUMENTS:
   5294					;
   5295					;	NONE.
   5296					;
   5297					; OUTPUT ARGUMENTS:
   5298					;
   5299					;	THE ADDRESS EXAMINED IS IN ".EDELA"
   5300					;	THE EXAMINED DATA IS IN ".ELEDW"
   5301					;
   5302					; ERROR CODES RETURNED:
   5303					;
   5304					;	NONE.
   5305					;-
   5306
   5307	006470				.EXAME::
   5308	006470					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	006470	004737 	001712'			 JSR	PC,.CKARG
   5309	006474	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   5310	006476	012700 	007654'			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   5311	006502					CALL	.TSCAN		; SCAN IT
	006502	004737 	030176'			 JSR	PC,.TSCAN
   5312	006506					CALLR	@2(R0)		; DO WHAT IS SAYS TO
	006506	000170 	000002 			 JMP	@2(R0)
   5313						;
   5314	006512				10$:
   5315	006512					CALL	.GTELN		; READ THE ADDRESS
	006512	004737 	012252'			 JSR	PC,.GTELN
   5316
   5317					;	[CONTINUED ON THE FOLLOWING PAGE]
EXAME - EXAMINE ELEVEN COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 153
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   5319					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5320
   5321	006516				.EXMEE::			; EXTENDED EXAMINE ENTRY POINT
   5322	006516					CALL	.CKEOC		; CHECK FOR E-O-C
	006516	004737 	002010'			 JSR	PC,.CKEOC
   5323	006522	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   5324	006526	001027 				BNE	EXAOAI		; YES -- GIVE "OAI" ERROR
   5325	006530	013737 	000144'	000174'		MOV	.TRP4V,.SSTTB	; SET UP TRAP AT 4 TRAP
   5326	006536	010037 	000034'			MOV	R0,.EDELA	; .LEAVE SOME TRACKS
   5327	006542	011001 				MOV	(R0),R1		; DO THE EXAMINE
   5328	006544	005037 	000174'			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   5329	006550	010137 	000054'			MOV	R1,.ELEDW	; MORE TRACKS
   5330	006554					CALL	.TYELA		; TYPE THE ADDRESS
	006554	004737 	030672'			 JSR	PC,.TYELA
   5331	006560	112700 	000134 			MOVB	#'\,R0		; BACKSLASH
   5332	006564					CALL	.TYCHR		; TYPE IT
	006564	004737 	031472'			 JSR	PC,.TYCHR
   5333	006570					CALL	.TYSPC		; AND A SPACE
	006570	004737 	030644'			 JSR	PC,.TYSPC
   5334	006574	010100 				MOV	R1,R0		; DATA TO R0
   5335	006576					CALL	.TYELN		; TYPE THAT
	006576	004737 	030676'			 JSR	PC,.TYELN
   5336	006602					CALLR	.TCRLF		; END THE LINE AND EXIT
	006602	000137 	031524'			 JMP	.TCRLF
   5337						;
   5338	006606				EXAOAI:
   5339	006606					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	006606	012746 				 MOV	(PC)+,-(SP)	; "OAI" IN RAD50 TO STACK
	006610	056761 				 .RAD50	/OAI/		; ERROR IDENTIFIER
	006612	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   5340						;
EXAMF -- EXAMINE FLAGS COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 154
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   5342					.TITLE	EXAMF -- EXAMINE FLAGS COMMAND MODULE 7603.30
   5343
   5344						.IDENT	"001010"
   5345
   5346					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5347					;
   5348					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5349					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5350					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5351					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5352					;	FOR ITS ACCURACY.
   5353					;
   5354					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5355					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5356					;
   5357					;
   5358					;		MODULE: EXAMINE FLAGS COMMAND
   5359					;
   5360					;		VERSION: 01-01
   5361					;
   5362					;		AUTHOR: R. BELANGER
   5363					;
   5364					;		DATE: 7603.30
   5365					;
   5366					;	THIS MODULE CONTAINS:
   5367					;
   5368					;	1) EXAMINE FLAGS COMMAND CODE
EXAMF -- EXAMINE FLAGS COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 155
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   5370					.SBTTL	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
   5371
   5372					;+
   5373					; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
   5374					;
   5375					; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
   5376					; CONSOLE DEVICE.
   5377					;
   5378					; INPUT ARGUMENTS:
   5379					;
   5380					;	NONE.
   5381					;
   5382					; OUTPUT ARGUMENTS:
   5383					;
   5384					;	NONE.
   5385					;
   5386					; ERROR CODES RETURNED:
   5387					;
   5388					;	NONE.
   5389					;-
   5390
   5391	006614				.EXAMF::
   5392	006614					CALL	.CKEOC		; CHECK E-O-C
	006614	004737 	002010'			 JSR	PC,.CKEOC
   5393	006620					CALL	.STPKL		; STOP THE KL
	006620	004737 	026330'			 JSR	PC,.STPKL
   5394	006624					CALL	.RDFLG		; READ THE FLAGS
	006624	004737 	020112'			 JSR	PC,.RDFLG
   5395	006630					CALL	.RSTKL		; RESTART THE KL
	006630	004737 	022134'			 JSR	PC,.RSTKL
   5396	006634	010001 				MOV	R0,R1		; FLAGS TO R1
   5397	006636	001422 				BEQ	30$		; NONE ON -- SAY SO
   5398	006640	012700 	000645'			MOV	#EXFMSG,R0	; HEADER
   5399	006644					CALL	.TYLIN		; PRINT IT
	006644	004737 	031420'			 JSR	PC,.TYLIN
   5400	006650				10$:
   5401	006650	012700 	000631'			MOV	#FONMSG,R0	; ASSUME IT IS ON
   5402	006654	032701 	010000 			BIT	#BIT12,R1	; IS THE FLAG ON?
   5403	006660	001002 				BNE	20$		; YES -- GO ON
   5404	006662	012700 	000637'			MOV	#FOFMSG,R0	; NO -- SAY SO
   5405	006666				20$:
   5406	006666					CALL	.TYMSG		; PRINT THE STATE OF THE BIT
	006666	004737 	031434'			 JSR	PC,.TYMSG
   5407	006672	042701 	010000 			BIC	#BIT12,R1	; CLEAR THIS BIT OUT
   5408	006676	006301 				ASL	R1		; MOVE NEXT BIT IN
   5409	006700	001363 				BNE	10$		; LOOP TILL R1 .EQ. 0
   5410	006702	000404 				BR	40$		; DONE -- EXIT
   5411	006704				30$:
   5412	006704	012700 	000602'			MOV	#NOFMSG,R0	; "NO FLAGS"
   5413	006710					CALL	.TYMSG		; PRINT IT
	006710	004737 	031434'			 JSR	PC,.TYMSG
   5414	006714				40$:
   5415	006714					CALLR	.TCRLF		; END LINE AND RETURN
	006714	000137 	031524'			 JMP	.TCRLF
   5416						;
EXAMF -- EXAMINE FLAGS COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 156
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   5418	000602				.PSECT	MESSAG
   5419
   5420	000602				NOFMSG:
   5421	000602	   116 	   117 	   040 		.ASCIZ	%NO KL PC FLAGS ARE SET%
	000605	   113 	   114 	   040
	000610	   120 	   103 	   040
	000613	   106 	   114 	   101
	000616	   107 	   123 	   040
	000621	   101 	   122 	   105
	000624	   040 	   123 	   105
	000627	   124 	   000
   5422	000631				FONMSG:
   5423	000631	   040 	   040 	   130 		.ASCIZ	%  X  %
	000634	   040 	   040 	   000
   5424	000637				FOFMSG:
   5425	000637	   040 	   040 	   040 		.ASCIZ	%     %
	000642	   040 	   040 	   000
   5426	000645				EXFMSG:
   5427	000645	   040 	   117 	   126 		.ASCIZ	% OVF  CY0  CY1  FOV  BIS  USR  UIO  LIP  AFI  AT1  AT0  FUF  NDV%
	000650	   106 	   040 	   040
	000653	   103 	   131 	   060
	000656	   040 	   040 	   103
	000661	   131 	   061 	   040
	000664	   040 	   106 	   117
	000667	   126 	   040 	   040
	000672	   102 	   111 	   123
	000675	   040 	   040 	   125
	000700	   123 	   122 	   040
	000703	   040 	   125 	   111
	000706	   117 	   040 	   040
	000711	   114 	   111 	   120
	000714	   040 	   040 	   101
	000717	   106 	   111 	   040
	000722	   040 	   101 	   124
	000725	   061 	   040 	   040
	000730	   101 	   124 	   060
	000733	   040 	   040 	   106
	000736	   125 	   106 	   040
	000741	   040 	   116 	   104
	000744	   126 	   000
   5428
   5429	006720				.PSECT
EXAMK -- EXAMINE KL COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 157
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   5431					.TITLE	EXAMK -- EXAMINE KL COMMAND MODULE 7603.30
   5432
   5433						.IDENT	"001010"
   5434
   5435					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5436					;
   5437					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5438					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5439					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5440					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5441					;	FOR ITS ACCURACY.
   5442					;
   5443					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5444					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5445					;
   5446					;
   5447					;		MODULE: EXAMINE KL COMMAND
   5448					;
   5449					;		VERSION: 01-01
   5450					;
   5451					;		AUTHOR: R. BELANGER
   5452					;
   5453					;		DATE: 7603.30
   5454					;
   5455					;	THIS MODULE CONTAINS:
   5456					;
   5457					;	1) EXAMINE KL COMMAND CODE
EXAMK -- EXAMINE KL COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 158
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

   5459					.SBTTL	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
   5460
   5461					;+
   5462					; .EXAMK -- THE "EXAMINE KL" COMMAND
   5463					;
   5464					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
   5465					; CONSOLE DEVICE:
   5466					;
   5467					;	(A) KL PROGRAM COUNTER
   5468					;	(B) KL VMA REGISTER
   5469					;	(C) KL PI SYSTEM STATE
   5470					;	(D) KL PC FLAGS
   5471					;
   5472					; INPUT ARGUMENTS:
   5473					;
   5474					;	NONE.
   5475					;
   5476					; OUTPUT ARGUMENTS:
   5477					;
   5478					;	NONE.
   5479					;
   5480					; ERROR CODES RETURNED:
   5481					;
   5482					;	NONE.
   5483					;-
   5484
   5485	006720				.EXAMK::
   5486	006720					CALL	.CKEOC		; CHECK E-O-C
	006720	004737 	002010'			 JSR	PC,.CKEOC
   5487	006724					PUSH	.KLFLG		; SAVE ".KLFLG"
	006724	013746 	000000G			 MOV	.KLFLG,-(SP)
   5488	006730					CALL	.STPKL		; .STOP THE KL
	006730	004737 	026330'			 JSR	PC,.STPKL
   5489	006734	012702 	000746'			MOV	#EXKMS0,R2	; .MESSAGE POINTER TO R2
   5490	006740					CALL	.EXVPC		; .READ AND PRINT THE KL PC
	006740	004737 	006266'			 JSR	PC,.EXVPC
   5491	006744	012702 	000751'			MOV	#EXKMS1,R2	; .MESSAGE POINTER TO R2
   5492	006750					CALL	.EXVMA		; .READ AND PRINT THE KL VMA
	006750	004737 	006252'			 JSR	PC,.EXVMA
   5493	006754					CALL	.EXMPI		; .DISPLAY THE PI SYSTEM
	006754	004737 	010070'			 JSR	PC,.EXMPI
   5494	006760					CALL	.EXAMF		; .DISPLAY THE KL PC FLAGS
	006760	004737 	006614'			 JSR	PC,.EXAMF
   5495	006764					POP	.SVKLF		; .SET UP ".SVKLF"
	006764	012637 	000140'			 MOV	(SP)+,.SVKLF
   5496	006770					CALLR	.RSTKL		; RESTART THE KL
	006770	000137 	022134'			 JMP	.RSTKL
   5497						;
EXAMK -- EXAMINE KL COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 159
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

   5499	000746				.PSECT	MESSAG
   5500
   5501	000746				EXKMS0:
   5502	000746	   120 	   103 	   000 		.ASCIZ	%PC%
   5503
   5504	000751				EXKMS1:
   5505	000751	   126 	   115 	   101 		.ASCIZ	%VMA%
	000754	   000
   5506
   5507	006774				.PSECT
EXAMT -- EXAMINE TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 160
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

   5509					.TITLE	EXAMT -- EXAMINE TEN COMMAND MODULE 7603.30
   5510
   5511						.IDENT	"001010"
   5512
   5513					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5514					;
   5515					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5516					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5517					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5518					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5519					;	FOR ITS ACCURACY.
   5520					;
   5521					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5522					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5523					;
   5524					;
   5525					;		MODULE: EXAMINE TEN COMMAND
   5526					;
   5527					;		VERSION: 01-01
   5528					;
   5529					;		AUTHOR: R. BELANGER
   5530					;
   5531					;		DATE: 7603.30
   5532					;
   5533					;	THIS MODULE CONTAINS:
   5534					;
   5535					;	1) EXAMINE TEN COMMAND CODE
EXAMT -- EXAMINE TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 161
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   5537					.SBTTL	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
   5538
   5539					;+
   5540					; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
   5541					;
   5542					; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
   5543					; AND PRINTS THE CONTENT OF THAT ADDRESS.
   5544					;
   5545					; INPUT ARGUMENTS:
   5546					;
   5547					;	NONE.
   5548					;
   5549					; OUTPUT ARGUMENTS:
   5550					;
   5551					;	NONE.
   5552					;
   5553					; ERROR CODES RETURNED:
   5554					;
   5555					;	EMF -- EXAMINE MEMORY FAILED.
   5556					;	ESE -- EBOX STOPPED - EXAMINE
   5557					;	KLA -- KL ADDRESS ERROR
   5558					;	KCN -- KL CLOCK NOT RUNNING
   5559					;	MRA -- MISSING REQUIRED ARGUMENT
   5560					;-
   5561
   5562	006774				.EXAMT::
   5563	006774					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	006774	004737 	001712'			 JSR	PC,.CKARG
   5564	007000	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   5565	007002	012700 	007654'			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   5566	007006					CALL	.TSCAN		; SCAN THE TABLE
	007006	004737 	030176'			 JSR	PC,.TSCAN
   5567	007012					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	007012	000170 	000002 			 JMP	@2(R0)
   5568						;
   5569	007016				10$:
   5570	007016	012700 	000044'			MOV	#.EDKLX,R0	; POINT TO ADDRESS BUFFER
   5571	007022					CALL	.GTKLA		; GO GET THE ADDRESS
	007022	004737 	012302'			 JSR	PC,.GTKLA
   5572
   5573					;	[CONTINUED ON THE FOLLOWING PAGE]
EXAMT -- EXAMINE TEN COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 162
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   5575					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5576
   5577	007026				.EXMTE::			; EXTENDED EXAMINE ENTRY POINT
   5578	007026					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	007026	004737 	002010'			 JSR	PC,.CKEOC
   5579	007032	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE KL CLOCK ON?
   5580	007040	001432 				BEQ	EXTKCN		; NO -- GIVE "KCN" ERROR
   5581	007042					PUSH	#.EXBFR		; YES -- SAVE THE DATA POINTER
	007042	012746 	000056'			 MOV	#.EXBFR,-(SP)
   5582	007046	012702 	000036'			MOV	#.EDKLA,R2	; .ADDRESS BUFFER POINTER TO R2
   5583	007052	012022 				MOV	(R0)+,(R2)+	; .LOAD THE NEW ADDRESS
   5584	007054	012022 				MOV	(R0)+,(R2)+	; .INTO THE ADDRESS BUFFER
   5585	007056	011012 				MOV	(R0),(R2)	; .SO
   5586	007060	024242 				CMP	-(R2),-(R2)	; .BACK THE POINTER UP
   5587	007062					PUSH	R2		; .ADDRESS POINTER
	007062	010246 				 MOV	R2,-(SP)
   5588	007064	010601 				MOV	SP,R1		; ..POINT TO THE DATA BLOCK
   5589	007066	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   5590	007072					CALL	.EXKLM		; ..DO THE EXAMINE
	007072	004737 	005500'			 JSR	PC,.EXKLM
   5591	007076					POP	R0		; ..POINT TO THE ADDRESS
	007076	012600 				 MOV	(SP)+,R0
   5592	007100					CALL	.TYKLA		; .PRINT THE ADDRESS
	007100	004737 	031016'			 JSR	PC,.TYKLA
   5593	007104					CALL	.TYSLS		; .TYPE A SLASH
	007104	004737 	030634'			 JSR	PC,.TYSLS
   5594	007110					CALL	.TYSPC		; .AND A SPACE
	007110	004737 	030644'			 JSR	PC,.TYSPC
   5595	007114					POP	R0		; .POINT TO THE DATA
	007114	012600 				 MOV	(SP)+,R0
   5596	007116					CALL	.TYKLN		; PRINT THE DATA
	007116	004737 	031066'			 JSR	PC,.TYKLN
   5597	007122					CALLR	.TCRLF		; AND END THE LINE
	007122	000137 	031524'			 JMP	.TCRLF
   5598						;
   5599	007126				EXTKCN:
   5600	007126					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	007126	012746 				 MOV	(PC)+,-(SP)	; "KCN" IN RAD50 TO STACK
	007130	042506 				 .RAD50	/KCN/		; ERROR IDENTIFIER
	007132	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   5601						;
EXCRA -- EXAMINE SMALL REGISTER	MACRO M1108  13-JAN-78 09:14  PAGE 163
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   5603					.TITLE	EXCRA -- EXAMINE SMALL REGISTER COMMAND MODULE 7609.10
   5604
   5605						.IDENT	"001020"
   5606
   5607					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   5608					;
   5609					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   5610					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   5611					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   5612					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5613					;	FOR ITS ACCURACY.
   5614					;
   5615					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   5616					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   5617					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   5618					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   5619					;
   5620					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   5621					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   5622					;
   5623					;		MODULE: EXAMINE SMALL REGISTER COMMAND
   5624					;
   5625					;		VERSION: 01-02
   5626					;
   5627					;		AUTHOR: R. BELANGER
   5628					;
   5629					;		DATE: 7609.10
   5630					;
   5631					;	THIS MODULE CONTAINS:
   5632					;
   5633					;	1) EXAMINE SMALL REGISTER COMMAND CODE
EXCRA -- EXAMINE SMALL REGISTER	MACRO M1108  13-JAN-78 09:14  PAGE 164
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   5635					.SBTTL	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
   5636
   5637						.ENABL	LSB
   5638
   5639	007134				.EXCRA::			; CRAM ADDRESS REGISTER
   5640	007134	012700 	020416'			MOV	#.RDCRA,R0	; DISPATCH POINTER TO R0
   5641	007140	000416 				BR	10$		; DO COMMON CODE
   5642						;
   5643	007142				.EXCRL::			; CRAM LOC REGISTER
   5644	007142	012700 	020424'			MOV	#.RDCRL,R0	; DISPATCH POINTER TO R0
   5645	007146	000413 				BR	10$		; DO COMMON CODE
   5646						;
   5647	007150				.EXDRA::			; DRAM ADDRESS REGISTER
   5648	007150	012700 	020432'			MOV	#.RDDRA,R0	; DISPATCH POINTER TO R0
   5649	007154	000410 				BR	10$		; DO COMMON CODE
   5650						;
   5651	007156				.EXFER::			; FLOATING EXPONENT REGISTER
   5652	007156	012700 	020440'			MOV	#.RDFER,R0	; DISPATCH POINTER TO R0
   5653	007162	000405 				BR	10$		; DO COMMON CODE
   5654						;
   5655	007164				.EXSBR::			; CRAM SBR RET REGISTER
   5656	007164	012700 	020446'			MOV	#.RDSBR,R0	; DISPATCH POINTER TO R0
   5657	007170	000402 				BR	10$		; DO COMMON CODE
   5658						;
   5659	007172				.EXSCR::
   5660	007172	012700 	020454'			MOV	#.RDSCR,R0	; DISPATCH POINTER TO R0
   5661					;	BR	10$		; DO COMMON CODE
   5662						;
   5663
   5664					;	[CONTINUED ON THE FOLLOWING PAGE]
EXCRA -- EXAMINE SMALL REGISTER	MACRO M1108  13-JAN-78 09:14  PAGE 165
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   5666					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5667
   5668	007176				10$:				; HERE FOR SMALL REGISTER READS
   5669	007176					CALL	.CKEOC		; CHECK E-O-C
	007176	004737 	002010'			 JSR	PC,.CKEOC
   5670	007202					PUSH	R0		; SAVE DISPATCH ADDRESS
	007202	010046 				 MOV	R0,-(SP)
   5671	007204					CALL	.STPKL		; .STOP THE KL
	007204	004737 	026330'			 JSR	PC,.STPKL
   5672	007210					CALL	@(SP)+		; .READ THE REGISTER
	007210	004736 				 JSR	PC,@(SP)+
   5673	007212					PUSH	R0		; SAVE THE REGISTER DATA
	007212	010046 				 MOV	R0,-(SP)
   5674	007214					CALL	.RSTKL		; .YES -- RESTART THE KL
	007214	004737 	022134'			 JSR	PC,.RSTKL
   5675	007220	010200 				MOV	R2,R0		; .MESSAGE POINTER TO R0
   5676	007222					CALL	.TYMSG		; .PRINT IT
	007222	004737 	031434'			 JSR	PC,.TYMSG
   5677	007226					CALL	.TYSLS		; .AND A SLASH
	007226	004737 	030634'			 JSR	PC,.TYSLS
   5678	007232					CALL	.TYSPC		; .AND A SPACE
	007232	004737 	030644'			 JSR	PC,.TYSPC
   5679	007236					POP	R0		; .GET THE DATA
	007236	012600 				 MOV	(SP)+,R0
   5680	007240					CALL	.TYELN		; PRINT IT
	007240	004737 	030676'			 JSR	PC,.TYELN
   5681	007244					CALLR	.TCRLF		; END THE LINE AND EXIT
	007244	000137 	031524'			 JMP	.TCRLF
   5682						;
   5683
   5684						.DSABL	LSB
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 166
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   5686					.TITLE	EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
   5687
   5688						.IDENT	"001010"
   5689
   5690					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5691					;
   5692					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5693					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5694					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5695					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5696					;	FOR ITS ACCURACY.
   5697					;
   5698					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5699					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5700					;
   5701					;
   5702					;		MODULE: EXECUTE COMMAND
   5703					;
   5704					;		VERSION: 01-01
   5705					;
   5706					;		AUTHOR: R. BELANGER
   5707					;
   5708					;		DATE: 7603.30
   5709					;
   5710					;	THIS MODULE CONTAINS:
   5711					;
   5712					;	1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1108  13-JAN-78 09:14  PAGE 167
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   5714					.SBTTL	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
   5715
   5716					;+
   5717					; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
   5718					;
   5719					; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
   5720					;
   5721					; INPUT ARGUMENTS:
   5722					;
   5723					; 	R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
   5724					;
   5725					; OUTPUT ARGUMENTS:
   5726					;
   5727					;	NONE.
   5728					;
   5729					; ERROR CODES RETURNED:
   5730					;
   5731					;	IOC -- ILLEGAL KL OPCODE.
   5732					;	MRA -- MISSING REQUIRED ARGUMENT.
   5733					;	XTO -- KL EXECUTE TIMED OUT.
   5734					;-
   5735
   5736	007250				.EXCTC::			; HERE FROM PARSER
   5737	007250	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   5738	007252	005046 				CLR	-(SP)		; .
   5739	007254	005046 				CLR	-(SP)		; ..
   5740	007256	010600 				MOV	SP,R0		; ...POINT TO IT
   5741	007260					CALL	.GTKLN		; ...READ THE INSTRUCTION
	007260	004737 	012334'			 JSR	PC,.GTKLN
   5742	007264					CALL	.CKEOC		; ...CHECK E-O-C CHARACTER
	007264	004737 	002010'			 JSR	PC,.CKEOC
   5743	007270	032760 	000017 	000004 		BIT	#17,4(R0)	; ...CHECK HIGH PART OF OPCODE
   5744	007276	001005 				BNE	10$		; ...OK -- GO ON
   5745	007300	032760 	174000 	000002 		BIT	#^C3777,2(R0)	; ...CHECK LOW PART OF OPCODE
   5746	007306	001403 				BEQ	EXCIOC		; ...NONE THERE -- GIVE "IOC" ERROR
   5747	007310	010600 				MOV	SP,R0		; ...POINT TO THE INSTRUCTION
   5748	007312				10$:
   5749	007312					CALLR	.EXECT		; ...ALL OK -- GO DO IT
	007312	000137 	007402'			 JMP	.EXECT
   5750						;
   5751	007316				EXCIOC:
   5752	007316					ERROR$	IOC		; ERROR -- ILLEGAL OPCODE
	007316	012746 				 MOV	(PC)+,-(SP)	; "IOC" IN RAD50 TO STACK
	007320	035233 				 .RAD50	/IOC/		; ERROR IDENTIFIER
	007322	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   5753						;
EXCTF -- FAST EXECUTE MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 168
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   5755					.TITLE	EXCTF -- FAST EXECUTE MODULE 7602.17
   5756
   5757						.IDENT	"002010"
   5758
   5759					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   5760					;
   5761					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   5762					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   5763					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   5764					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5765					;	FOR ITS ACCURACY.
   5766					;
   5767					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   5768					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   5769					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   5770					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   5771					;
   5772					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   5773					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   5774					;
   5775					;
   5776					;		MODULE: FAST EXECUTE
   5777					;
   5778					;		VERSION: 02-01
   5779					;
   5780					;		AUTHOR: R. BELANGER
   5781					;
   5782					;		DATE: 7602.17
   5783					;
   5784					;	THIS MODULE CONTAINS:
   5785					;
   5786					;	1) FAST EXECUTE CODE
   5787					;
   5788					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
EXCTF -- FAST EXECUTE MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 169
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   5790					.SBTTL	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   5791
   5792					;+
   5793					; .EXCTF -- FST INTERNAL EXECUTE.
   5794					;
   5795					; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
   5796					; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
   5797					; CONTINUED
   5798					;
   5799					; INPUT ARGUMENTS:
   5800					;
   5801					;	NONE.
   5802					;
   5803					; OUTPUT ARGUMENTS:
   5804					;
   5805					;	NONE.
   5806					;
   5807					; ERROR CODES RETURNED:
   5808					;
   5809					;	NONE
   5810					;-
   5811
   5812	007324				.EXCTF::
   5813	007324					PUSH	.KLFLG		; SAVE ".KLFLG"
	007324	013746 	000000G			 MOV	.KLFLG,-(SP)
   5814	007330	005116 				COM	(SP)		; .INVERT IT
   5815	007332	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP)
   5816	007336	001013 				BNE	10$		; .NOT REALLY RUNNING -- DO OTHER XCT
   5817	007340	005116 				COM	(SP)		; .RESET SAVED ".KLFLG"
   5818	007342					PUSH	R0		; .SAVE R0
	007342	010046 				 MOV	R0,-(SP)
   5819	007344					CALL	.STPKL		; ..STOP THE KL
	007344	004737 	026330'			 JSR	PC,.STPKL
   5820	007350					POP	R1		; ..INSTRUCTION POINTER TO R1
	007350	012601 				 MOV	(SP)+,R1
   5821	007352					CALL	.KLXCT		; .EXECUTE THE INSTRUCTION
	007352	004737 	015304'			 JSR	PC,.KLXCT
   5822	007356					POP	.SVKLF		; .SET UP ".SVKLF"
	007356	012637 	000140'			 MOV	(SP)+,.SVKLF
   5823	007362					CALLR	.RSTKL		; RESTART THE KL
	007362	000137 	022134'			 JMP	.RSTKL
   5824						;
   5825	007366				10$:
   5826	007366	005726 				TST	(SP)+		; .FLUSH THE STACK
   5827	007370	022020 				CMP	(R0)+,(R0)+	; ADVANCE THE POINTER
   5828	007372					PUSH	<(R0),-(R0),-(R0)>
	007372	011046 				 MOV	(R0),-(SP)
	007374	014046 				 MOV	-(R0),-(SP)
	007376	014046 				 MOV	-(R0),-(SP)
   5829	007400	010600 				MOV	SP,R0		; ...POINT TO STACKED INSTRUCTION
   5830
   5831					;	[CONTINUED ON THE FOLLOWING PAGE]
EXCTF -- FAST EXECUTE MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 170
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   5833					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5834
   5835	007402				.EXECT::
   5836	007402	010001 				MOV	R0,R1		; ...POINTER TO R1
   5837	007404					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	007404	013746 	000000G			 MOV	.KLFLG,-(SP)
   5838	007410					CALL	.KLXCT		; ....START THE EXECUTE
	007410	004737 	015304'			 JSR	PC,.KLXCT
   5839	007414				10$:
   5840	007414					CALL	.EBCLK		; ....GIVE ONE EBOX CLOCK
	007414	004737 	005210'			 JSR	PC,.EBCLK
   5841	007420					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	007420	004737 	004742'			 JSR	PC,.DTDW1
   5842	007424	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP UP?
   5843	007430	001371 				BNE	10$		; ....YES -- WAIT TILL IT ISN'T
   5844	007432					CALL	.STCLK		; ....OUT OF HALT LOOP -- START THE CLOCK
	007432	004737 	026300'			 JSR	PC,.STCLK
   5845	007436	012701 	005000 			MOV	#5000,R1	; ....WAIT COUNT TO R1
   5846	007442				20$:
   5847	007442					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	007442	004737 	004742'			 JSR	PC,.DTDW1
   5848	007446	032700 	001000 			BIT	#D1.HLP,R0	; ....LOOK FOR THE HALT LOOP AGAIN
   5849	007452	001002 				BNE	30$		; ....IN THE HALT LOOP -- FINISH UP
   5850	007454	077106 				SOB	R1,20$		; ....NOT YET -- TRY AGAIN
   5851	007456	000424 				BR	EXECTO		; ....EXECUTE TIMED OUT
   5852						;
   5853	007460				30$:
   5854	007460	005116 				COM	(SP)		; ....INVERT OLD ".KLFLG"
   5855	007462	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
   5856	007466	001003 				BNE	40$		; ....NO -- GO ON
   5857	007470					CALL	.KLCON		; ....YES -- CONTINUE THE KL
	007470	004737 	014546'			 JSR	PC,.KLCON
   5858	007474	000412 				BR	60$		; ....AND EXIT
   5859						;
   5860	007476				40$:
   5861	007476	032716 	100000 			BIT	#KF.CLK,(SP)	; ....WAS THE CLOCK ON?
   5862	007502	001402 				BEQ	50$		; ....YES -- GO ON
   5863	007504					CALL	.STPXC		; ....NO -- STOP IT
	007504	004737 	026354'			 JSR	PC,.STPXC
   5864	007510				50$:
   5865	007510	032716 	040000 			BIT	#KF.RUN,(SP)	; ....WAS THE RUN FLOP ON??
   5866	007514	001002 				BNE	60$		; ....NO -- GO ON
   5867	007516					CALL	.STRUN		; ....YES -- SET IT
	007516	004737 	026636'			 JSR	PC,.STRUN
   5868	007522				60$:
   5869	007522	062706 	000010 			ADD	#^D8,SP		; ....RESET THE STACK
   5870	007526					RETURN			; AND EXIT
	007526	000207 				 RTS	PC
   5871	007530				EXECTO:
   5872	007530					ERROR$	XTO		; ERROR -- EXECUTE TIMED OUT
	007530	012746 				 MOV	(PC)+,-(SP)	; "XTO" IN RAD50 TO STACK
	007532	114457 				 .RAD50	/XTO/		; ERROR IDENTIFIER
	007534	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   5873						;
EXDTE -- EXAMINE DTE-20 COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 171
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   5875					.TITLE	EXDTE -- EXAMINE DTE-20 COMMAND MODULE 7603.30
   5876
   5877						.IDENT	"001010"
   5878
   5879					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5880					;
   5881					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5882					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5883					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5884					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5885					;	FOR ITS ACCURACY.
   5886					;
   5887					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5888					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5889					;
   5890					;
   5891					;		MODULE: EXAMINE DTE-20 COMMAND
   5892					;
   5893					;		VERSION: 01-01
   5894					;
   5895					;		AUTHOR: R. BELANGER
   5896					;
   5897					;		DATE: 7603.30
   5898					;
   5899					;	THIS MODULE CONTAINS:
   5900					;
   5901					;	1) EXAMINE DTE-20 COMMAND CODE
EXDTE -- EXAMINE DTE-20 COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 172
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   5903					.SBTTL	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
   5904
   5905					;+
   5906					; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
   5907					;
   5908					; THIS ROUTINE WILL READ AND DISPLAY THE CONTENT OF THE DTE-20
   5909					; DIAG1, DIAG2, DIAG3, AND STATUS REGISTERS ON THE CONSOLE DEVICE.
   5910					;
   5911					; INPUT ARGUMENTS:
   5912					;
   5913					;	NONE.
   5914					;
   5915					; OUTPUT ARGUMENTS:
   5916					;
   5917					;	NONE.
   5918					;
   5919					; ERROR CODES RETURNED:
   5920					;
   5921					;	NONE.
   5922					;-
   5923
   5924	007536				.EXDTE::
   5925	007536					CALL	.CKEOC		; CHECK E-O-C
	007536	004737 	002010'			 JSR	PC,.CKEOC
   5926	007542	012701 	007634'			MOV	#EXDTET,R1	; TABLE POINTER TO R1
   5927	007546	012702 	000004 			MOV	#^D4,R2		; ITERATION COUNT TO R2
   5928	007552				10$:
   5929	007552					CALL	@(R1)+		; READ THE REGISTER
	007552	004731 				 JSR	PC,@(R1)+
   5930	007554					PUSH	R0		; <PUSH> SAVE IT
	007554	010046 				 MOV	R0,-(SP)
   5931	007556	077203 				SOB	R2,10$		; UNTIL ALL FOUR HAVE BEEN READ
   5932	007560	012700 	000755'			MOV	#EXDMS0,R0	; MESSAGE POINTER TO R0
   5933	007564					CALL	.TYLIN		; PRINT IT
	007564	004737 	031420'			 JSR	PC,.TYLIN
   5934	007570	012702 	000004 			MOV	#^D4,R2		; ITERATION COUNT TO R2
   5935
   5936					;	[CONTINUED ON THE FOLLOWING PAGE]
EXDTE -- EXAMINE DTE-20 COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 173
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   5938					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5939
   5940	007574				20$:
   5941	007574					CALL	.TYSPC		; TYPE A <SPACE>
	007574	004737 	030644'			 JSR	PC,.TYSPC
   5942	007600	012100 				MOV	(R1)+,R0	; MESSAGE POINTER TO R0
   5943	007602					CALL	.TYMSG		; TYPE IT
	007602	004737 	031434'			 JSR	PC,.TYMSG
   5944	007606					CALL	.TYSLS		; AND A SLASH
	007606	004737 	030634'			 JSR	PC,.TYSLS
   5945	007612					CALL	.TYSPC		; AND A <SPACE>
	007612	004737 	030644'			 JSR	PC,.TYSPC
   5946	007616					POP	R0		; <POP> GET THE REGISTER
	007616	012600 				 MOV	(SP)+,R0
   5947	007620					CALL	.TYELN		; PRINT IT
	007620	004737 	030676'			 JSR	PC,.TYELN
   5948	007624					CALL	.TCRLF		; END THE LINE
	007624	004737 	031524'			 JSR	PC,.TCRLF
   5949	007630	077217 				SOB	R2,20$		; LOOP TILL DONE
   5950	007632					RETURN			; TO CALLER
	007632	000207 				 RTS	PC
   5951
   5952	007634				EXDTET:
   5953	007634	004760'				.WORD	.DTSTA
   5954	007636	004770'				.WORD	.DTDW3
   5955	007640	004750'				.WORD	.DTDW2
   5956	007642	004742'				.WORD	.DTDW1
   5957	007644	000764'				.WORD	EXDMS1
   5958	007646	000773'				.WORD	EXDMS2
   5959	007650	001002'				.WORD	EXDMS3
   5960	007652	001011'				.WORD	EXDMS4
   5961
   5962	000755				.PSECT	MESSAG
   5963
   5964	000755				EXDMS0:
   5965	000755	   104 	   124 	   105 		.ASCIZ	%DTE-20%
	000760	   055 	   062 	   060
	000763	   000
   5966	000764				EXDMS1:
   5967	000764	   104 	   111 	   101 		.ASCIZ	%DIAG 1%
	000767	   107 	   040 	   061
	000772	   000
   5968	000773				EXDMS2:
   5969	000773	   104 	   111 	   101 		.ASCIZ	%DIAG 2%
	000776	   107 	   040 	   062
	001001	   000
   5970	001002				EXDMS3:
   5971	001002	   104 	   111 	   101 		.ASCIZ	%DIAG 3%
	001005	   107 	   040 	   063
	001010	   000
   5972	001011				EXDMS4:
   5973	001011	   123 	   124 	   101 		.ASCIZ	%STATUS%
	001014	   124 	   125 	   123
	001017	   000
   5974
   5975	007654				.PSECT
EXETB -- EXAMINE EXTENSION TABL	MACRO M1108  13-JAN-78 09:14  PAGE 174
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   5977					.TITLE	EXETB -- EXAMINE EXTENSION TABLE MODULE 7603.30
   5978
   5979						.IDENT	"001010"
   5980
   5981					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   5982					;
   5983					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   5984					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   5985					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   5986					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   5987					;	FOR ITS ACCURACY.
   5988					;
   5989					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   5990					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   5991					;
   5992					;
   5993					;		MODULE: EXAMINE EXTENSION TABLE
   5994					;
   5995					;		VERSION: 01-01
   5996					;
   5997					;		AUTHOR: R. BELANGER
   5998					;
   5999					;		DATE: 7603.30
   6000					;
   6001					;	THIS MODULE CONTAINS:
   6002					;
   6003					;	1) THE EXAMINE EXTENSION TABLE
EXETB -- EXAMINE EXTENSION TABL	MACRO M1108  13-JAN-78 09:14  PAGE 175
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16

   6005					.SBTTL	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   6006
   6007	007654				.EXETB::
   6008	007654					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD
	001020	   104 	   105 	   103 		 .ASCIZ	%DECREMENT%
	001023	   122 	   105 	   115
	001026	   105 	   116 	   124
	001031	   000
	007654	001020'				 .WORD	$$CMDN		; POINTER TO "DECREMENT" SYMBOL
	007656	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	007660	006420'				 .WORD	.EXAMD		; ROUTINE TO CALL
   6009	007662					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI
	001032	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	001035	   122 	   105 	   115
	001040	   105 	   116 	   124
	001043	   000
	007662	001032'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	007664	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	007666	006430'				 .WORD	.EXAMI		; ROUTINE TO CALL
   6010	007670					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN
	001044	   116 	   105 	   130 		 .ASCIZ	%NEXT%
	001047	   124 	   000
	007670	001044'				 .WORD	$$CMDN		; POINTER TO "NEXT" SYMBOL
	007672	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	007674	006440'				 .WORD	.EXAMN		; ROUTINE TO CALL
   6011	007676					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP
	001051	   120 	   122 	   105 		 .ASCIZ	%PREVIOUS%
	001054	   126 	   111 	   117
	001057	   125 	   123 	   000
	007676	001051'				 .WORD	$$CMDN		; POINTER TO "PREVIOUS" SYMBOL
	007700	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	007702	006450'				 .WORD	.EXAMP		; ROUTINE TO CALL
   6012	007704					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ
	001062	   124 	   110 	   111 		 .ASCIZ	%THIS%
	001065	   123 	   000
	007704	001062'				 .WORD	$$CMDN		; POINTER TO "THIS" SYMBOL
	007706	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	007710	006460'				 .WORD	.EXAMZ		; ROUTINE TO CALL
   6013	007712	000000 				.WORD	0		; END OF TABLE MARKER
EXEWD -- EXAMINE ELEVEN EXTENSI	MACRO M1108  13-JAN-78 09:14  PAGE 176
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16

   6015					.TITLE	EXEWD -- EXAMINE ELEVEN EXTENSION MODULE 7603.30
   6016
   6017						.IDENT	"001010"
   6018
   6019					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6020					;
   6021					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6022					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6023					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6024					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6025					;	FOR ITS ACCURACY.
   6026					;
   6027					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6028					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6029					;
   6030					;
   6031					;		MODULE: EXAMINE ELEVEN EXTENSION
   6032					;
   6033					;		VERSION: 01-01
   6034					;
   6035					;		AUTHOR: R. BELANGER
   6036					;
   6037					;		DATE: 7603.30
   6038					;
   6039					;	THIS MODULE CONTAINS:
   6040					;
   6041					;	1) EXAMINE ELEVEN EXTENSION CODE
EXEWD -- EXAMINE ELEVEN EXTENSI	MACRO M1108  13-JAN-78 09:14  PAGE 177
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   6043					.SBTTL	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   6044
   6045						.ENABL	LSB
   6046
   6047	007714				.EXEWT::			; EXAMINE <ELEVEN> THIS
   6048	007714	013700 	000034'			MOV	.EDELA,R0	; ADDRESS TO R0
   6049	007720	000413 				BR	10$		; EXIT
   6050						;
   6051	007722				.EXEWD::			; EXAMINE <ELEVEN> DECREMENT
   6052	007722					CALL	.EDEWD		; DECREMENT IT
	007722	004737 	005326'			 JSR	PC,.EDEWD
   6053	007726	000410 				BR	10$		; EXIT THRU COMMON CODE
   6054						;
   6055	007730				.EXEWI::			; EXAMINE <ELEVEN> INCREMENT
   6056	007730					CALL	.EDEWI		; INCREMENT IT
	007730	004737 	005340'			 JSR	PC,.EDEWI
   6057	007734	000405 				BR	10$		; EXIT THRU COMMON CODE
   6058						;
   6059	007736				.EXEWN::			; EXAMINE <ELEVEN> NEXT
   6060	007736					CALL	.EDEWN		; GET THE NEXT ADDRESS
	007736	004737 	005340'			 JSR	PC,.EDEWN
   6061	007742	000402 				BR	10$		; EXIT THRU COMMON CODE
   6062						;
   6063	007744				.EXEWP::			; EXAMINE <ELEVEN> PREVIOUS
   6064	007744					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	007744	004737 	005326'			 JSR	PC,.EDEWP
   6065	007750				10$:
   6066	007750					CALLR	.EXMEE		; DO THE EXAMINE
	007750	000137 	006516'			 JMP	.EXMEE
   6067						;
   6068
   6069						.DSABL	LSB
EXITP -- COMMAND PARSER EXIT MO	MACRO M1108  13-JAN-78 09:14  PAGE 178
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   6071					.TITLE	EXITP -- COMMAND PARSER EXIT MODULE 7605.17
   6072
   6073						.IDENT	"001010"
   6074
   6075					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6076					;
   6077					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6078					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6079					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6080					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6081					;	FOR ITS ACCURACY.
   6082					;
   6083					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6084					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6085					;
   6086					;
   6087					;		MODULE: COMMAND PARSER EXIT
   6088					;
   6089					;		VERSION: 01-01
   6090					;
   6091					;		AUTHOR: R. BELANGER
   6092					;
   6093					;		DATE: 7605.17
   6094					;
   6095					;	THIS MODULE CONTAINS:
   6096					;
   6097					;	1) COMMAND PARSER EXIT CODE
   6098
   6099						.MCALL	DIR$, EXIT$S, QIOW$S
EXITP -- COMMAND PARSER EXIT MO	MACRO M1108  13-JAN-78 09:14  PAGE 179
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

   6101					.SBTTL	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   6102
   6103					;+
   6104					; .EXITP -- THE COMMAND PARSER EXIT POINT.
   6105					;
   6106					; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
   6107					;
   6108					; INPUT ARGUMENTS:
   6109					;
   6110					;	NONE.
   6111					;
   6112					; OUTPUT ARGUMENTS:
   6113					;
   6114					;	NONE.
   6115					;
   6116					; ERROR CODES RETURNED:
   6117					;
   6118					;	NONE.
   6119					;-
   6120
   6121	007754				.EXITP::
   6122					.IF NE FTDEBUG
   6123	007754	005737 	000016'			TST	.DBGSW		; LOOK AT THE DEBUG SWITCH
   6124	007760	001401 				BEQ	10$		; CLEAR -- DON'T HALT
   6125	007762	000000 				HALT			; FOR DEBUGGING
   6126	007764				10$:
   6127					.ENDC		; FTDEBUG
   6128	007764					QIOW$S	#IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
	007764	005046 				CLR	-(SP)
	007766	005046 				CLR	-(SP)
	007770	112746 	000002 			MOVB	#E.FCID,-(SP)
	007774	112766 	000000 	000001 		MOVB	#0,1(SP)
	010002	012746 	000001 			MOV	#CIDLUN,-(SP)
	010006	012746 	000000G			MOV	#IO.DET,-(SP)
	010012	012746 				MOV	(PC)+,-(SP)
	010014	   003 	   006 			.BYTE	3,$$$T1
	010016	104375 				EMT	375
   6129	010020					EXIT$S			; EXIT
	010020	012746 				MOV	(PC)+,-(SP)
	010022	   063 	   001 			.BYTE	51.,1
	010024	104375 				EMT	375
   6130	010026	000004 				IOT			; HELP....
   6131						;
EXKLD -- EXAMINE TEN EXTENSION 	MACRO M1108  13-JAN-78 09:14  PAGE 180
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

   6133					.TITLE	EXKLD -- EXAMINE TEN EXTENSION MODULE 7609.10
   6134
   6135						.IDENT	"001020"
   6136
   6137					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   6138					;
   6139					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   6140					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   6141					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   6142					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6143					;	FOR ITS ACCURACY.
   6144					;
   6145					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   6146					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   6147					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   6148					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   6149					;
   6150					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   6151					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   6152					;
   6153					;		MODULE: EXAMINE TEN EXTENSION
   6154					;
   6155					;		VERSION: 01-02
   6156					;
   6157					;		AUTHOR: R. BELANGER
   6158					;
   6159					;		DATE: 7609.10
   6160					;
   6161					;	THIS MODULE CONTAINS:
   6162					;
   6163					;	1) EXAMINE TEN EXTENSION CODE
EXKLD -- EXAMINE TEN EXTENSION 	MACRO M1108  13-JAN-78 09:14  PAGE 181
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.

   6165					.SBTTL	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   6166
   6167						.ENABL	LSB
   6168
   6169	010030				.EXKLT::			; EXAMINE <TEN> THIS
   6170	010030	012700 	000036'			MOV	#.EDKLA,R0	; ADDRESS POINTER TO R0
   6171	010034	000413 				BR	10$		; EXIT
   6172						;
   6173	010036				.EXKLD::			; EXAMINE <TEN> DECREMENT
   6174	010036					CALL	.EDKLD		; DECREMENT IT
	010036	004737 	005376'			 JSR	PC,.EDKLD
   6175	010042	000410 				BR	10$		; EXIT THRU COMMON CODE
   6176						;
   6177	010044				.EXKLI::			; EXAMINE <TEN> INCREMENT
   6178	010044					CALL	.EDKLI		; INCREMENT IT
	010044	004737 	005414'			 JSR	PC,.EDKLI
   6179	010050	000405 				BR	10$		; EXIT THRU COMMON CODE
   6180						;
   6181	010052				.EXKLN::			; EXAMINE <TEN> NEXT
   6182	010052					CALL	.EDKLN		; GET NEXT ADDRESS
	010052	004737 	005364'			 JSR	PC,.EDKLN
   6183	010056	000402 				BR	10$		; EXIT THRU COMMON CODE
   6184						;
   6185	010060				.EXKLP::			; EXAMINE <TEN> PREVIOUS
   6186	010060					CALL	.EDKLP		; GET THE PREVIOUS ADDDRESS
	010060	004737 	005352'			 JSR	PC,.EDKLP
   6187	010064				10$:
   6188	010064					CALLR	.EXMTE		; DO THE EXAMINE
	010064	000137 	007026'			 JMP	.EXMTE
   6189						;
   6190
   6191						.DSABL	LSB
EXMPI -- THE "EXAMINE PI" COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 182
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.

   6193					.TITLE	EXMPI -- THE "EXAMINE PI" COMMAND MODULE 7603.30
   6194
   6195						.IDENT	"001010"
   6196
   6197					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6198					;
   6199					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6200					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6201					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6202					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6203					;	FOR ITS ACCURACY.
   6204					;
   6205					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6206					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6207					;
   6208					;
   6209					;		MODULE: EXAMINE PI COMMAND
   6210					;
   6211					;		VERSION: 01-01
   6212					;
   6213					;		AUTHOR: R. BELANGER
   6214					;
   6215					;		DATE: 7603.30
   6216					;
   6217					;	THIS MODULE CONTAINS:
   6218					;
   6219					;	1)EXMAINE PI COMMAND CODE
EXMPI -- THE "EXAMINE PI" COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 183
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   6221					.SBTTL	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   6222
   6223					;+
   6224					; .EXMPI -- THE "EXAMINE PI" COMMAND
   6225					;
   6226					; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
   6227					; ON THE CONSOLE DEVICE.
   6228					;
   6229					; INPUT ARGUMENTS:
   6230					;
   6231					;	NONE.
   6232					;
   6233					; OUTPUT ARGUMENTS:
   6234					;
   6235					;	NONE.
   6236					;
   6237					; ERROR CODES RETURNED:
   6238					;
   6239					;	NONE.
   6240					;-
   6241
   6242	010070				.EXMPI::
   6243	010070					CALL	.CKEOC		; CHECK THE E-O-C CHARACTER
	010070	004737 	002010'			 JSR	PC,.CKEOC
   6244	010074	005002 				CLR	R2		; CLEAR R2
   6245	010076					CALL	.STPKL		; STOP THE KL
	010076	004737 	026330'			 JSR	PC,.STPKL
   6246	010102					CALL	.RDPI		; READ THE PI SYSTEM STATE
	010102	004737 	020320'			 JSR	PC,.RDPI
   6247	010106					CALL	.RSTKL		; RESTART THE KL
	010106	004737 	022134'			 JSR	PC,.RSTKL
   6248	010112	010001 				MOV	R0,R1		; DATA POINTER TO R1
   6249	010114	012700 	001067'			MOV	#EPMSG0,R0	; MESSAGE POINTER TO R0
   6250	010120					CALL	.TYMSG		; PRINT IT
	010120	004737 	031434'			 JSR	PC,.TYMSG
   6251	010124	012700 	001144'			MOV	#ONMSG,R0	; "ON"
   6252	010130	052102 				BIS	(R1)+,R2	; PI ACTIVE + PI ON TO R2
   6253	010132	032702 	000200 			BIT	#200,R2		; IS IT ON?
   6254	010136	001002 				BNE	10$		; YES -- GO ON
   6255	010140	012700 	001147'			MOV	#OFFMSG,R0	; NO -- SO SAY "OFF"
   6256
   6257					;	[CONTINUED ON THE FOLLOWING PAGE]
EXMPI -- THE "EXAMINE PI" COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 184
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   6259					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6260
   6261	010144				10$:
   6262	010144					CALL	.TYMSG		; PRINT IT
	010144	004737 	031434'			 JSR	PC,.TYMSG
   6263	010150	012700 	001103'			MOV	#EPMSG1,R0	; "PI ON"
   6264	010154					CALL	.TYMSG		; PRINT IT
	010154	004737 	031434'			 JSR	PC,.TYMSG
   6265	010160	010200 				MOV	R2,R0		; GET ACTIVE BITS
   6266	010162	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   6267	010166					CALL	.TYP3D		; PRINT THEM
	010166	004737 	030742'			 JSR	PC,.TYP3D
   6268	010172	012700 	001115'			MOV	#EPMSG2,R0	; "PI HOLD"
   6269	010176					CALL	.TYMSG		; PRINT IT
	010176	004737 	031434'			 JSR	PC,.TYMSG
   6270	010202	112100 				MOVB	(R1)+,R0	; GET THE PI HOLD BITS
   6271	010204	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   6272	010210					CALL	.TYP3D		; PRINT THEM
	010210	004737 	030742'			 JSR	PC,.TYP3D
   6273	010214	012700 	001131'			MOV	#EPMSG3,R0	; "PI GEN"
   6274	010220					CALL	.TYMSG		; PRINT IT
	010220	004737 	031434'			 JSR	PC,.TYMSG
   6275	010224	112100 				MOVB	(R1)+,R0	; GET THE GEN BITS
   6276	010226	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   6277	010232					CALL	.TYP3D		; PRINT THEM
	010232	004737 	030742'			 JSR	PC,.TYP3D
   6278	010236					CALLR	.TCRLF		; END THE LINE AND RETURN
	010236	000137 	031524'			 JMP	.TCRLF
   6279						;
   6280	001067				.PSECT	MESSAG
   6281
   6282	001067				EPMSG0:
   6283	001067	   120 	   111 	   040 		.ASCIZ	%PI ACTIVE: %
	001072	   101 	   103 	   124
	001075	   111 	   126 	   105
	001100	   072 	   040 	   000
   6284	001103				EPMSG1:
   6285	001103	   054 	   040 	   120 		.ASCIZ	%, PI ON: %
	001106	   111 	   040 	   117
	001111	   116 	   072 	   040
	001114	   000
   6286	001115				EPMSG2:
   6287	001115	   054 	   040 	   120 		.ASCIZ	%, PI HOLD: %
	001120	   111 	   040 	   110
	001123	   117 	   114 	   104
	001126	   072 	   040 	   000
   6288	001131				EPMSG3:
   6289	001131	   054 	   040 	   120 		.ASCIZ	%, PI GEN: %
	001134	   111 	   040 	   107
	001137	   105 	   116 	   072
	001142	   040 	   000
   6290	001144				ONMSG:
   6291	001144	   117 	   116 	   000 		.ASCIZ	%ON%
   6292	001147				OFFMSG:
   6293	001147	   117 	   106 	   106 		.ASCIZ	%OFF%
	001152	   000
   6294	010242				.PSECT
EXMTB -- EXAMINE COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 185
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   6296					.TITLE	EXMTB -- EXAMINE COMMAND TABLE MODULE 7703.25
   6297
   6298						.IDENT	"001020"
   6299
   6300					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6301					;
   6302					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6303					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6304					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6305					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6306					;	FOR ITS ACCURACY.
   6307					;
   6308					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6309					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6310					;
   6311					;
   6312					;		MODULE: EXAMINE COMMAND TABLE
   6313					;
   6314					;		VERSION: 01-02
   6315					;
   6316					;		AUTHOR: R. BELANGER
   6317					;
   6318					;		DATE: 7703.25
   6319					;
   6320					;	THIS MODULE CONTAINS:
   6321					;
   6322					;	1) THE EXAMINE COMMAND TABLE
EXMTB -- EXAMINE COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 186
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   6324					.SBTTL	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   6325
   6326	010242				.EXMTB::
   6327	010242					COMND$	AD,<LG.PRG!LG.RPT>,.EXAD
	001153	   101 	   104 	   000 		 .ASCIZ	%AD%
	010242	001153'				 .WORD	$$CMDN		; POINTER TO "AD" SYMBOL
	010244	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010246	006156'				 .WORD	.EXAD		; ROUTINE TO CALL
   6328	010250					COMND$	ADX,<LG.PRG!LG.RPT>,.EXADX
	001156	   101 	   104 	   130 		 .ASCIZ	%ADX%
	001161	   000
	010250	001156'				 .WORD	$$CMDN		; POINTER TO "ADX" SYMBOL
	010252	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010254	006164'				 .WORD	.EXADX		; ROUTINE TO CALL
   6329	010256					COMND$	AR,<LG.PRG!LG.RPT>,.EXARR
	001162	   101 	   122 	   000 		 .ASCIZ	%AR%
	010256	001162'				 .WORD	$$CMDN		; POINTER TO "AR" SYMBOL
	010260	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010262	006172'				 .WORD	.EXARR		; ROUTINE TO CALL
   6330	010264					COMND$	ARX,<LG.PRG!LG.RPT>,.EXARX
	001165	   101 	   122 	   130 		 .ASCIZ	%ARX%
	001170	   000
	010264	001165'				 .WORD	$$CMDN		; POINTER TO "ARX" SYMBOL
	010266	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010270	006200'				 .WORD	.EXARX		; ROUTINE TO CALL
   6331	010272					COMND$	BR,<LG.PRG!LG.RPT>,.EXBRR
	001171	   102 	   122 	   000 		 .ASCIZ	%BR%
	010272	001171'				 .WORD	$$CMDN		; POINTER TO "BR" SYMBOL
	010274	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010276	006206'				 .WORD	.EXBRR		; ROUTINE TO CALL
   6332	010300					COMND$	BRX,<LG.PRG!LG.RPT>,.EXBRX
	001174	   102 	   122 	   130 		 .ASCIZ	%BRX%
	001177	   000
	010300	001174'				 .WORD	$$CMDN		; POINTER TO "BRX" SYMBOL
	010302	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010304	006214'				 .WORD	.EXBRX		; ROUTINE TO CALL
   6333	010306					COMND$	EBUS,<LG.PRG!LG.RPT>,.EXEBS
	001200	   105 	   102 	   125 		 .ASCIZ	%EBUS%
	001203	   123 	   000
	010306	001200'				 .WORD	$$CMDN		; POINTER TO "EBUS" SYMBOL
	010310	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010312	006222'				 .WORD	.EXEBS		; ROUTINE TO CALL
   6334	010314					COMND$	FM,<LG.PRG!LG.RPT>,.EXFMR
	001205	   106 	   115 	   000 		 .ASCIZ	%FM%
	010314	001205'				 .WORD	$$CMDN		; POINTER TO "FM" SYMBOL
	010316	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010320	006230'				 .WORD	.EXFMR		; ROUTINE TO CALL
   6335	010322					COMND$	MQ,<LG.PRG!LG.RPT>,.EXMQR
	001210	   115 	   121 	   000 		 .ASCIZ	%MQ%
	010322	001210'				 .WORD	$$CMDN		; POINTER TO "MQ" SYMBOL
	010324	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010326	006236'				 .WORD	.EXMQR		; ROUTINE TO CALL
   6336	010330					COMND$	PC,<LG.ALL!LG.RPT>,.EXVPC
	001213	   120 	   103 	   000 		 .ASCIZ	%PC%
	010330	001213'				 .WORD	$$CMDN		; POINTER TO "PC" SYMBOL
	010332	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	010334	006266'				 .WORD	.EXVPC		; ROUTINE TO CALL
EXMTB -- EXAMINE COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 186-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   6337		000012 			EXRTBL==<.-.EXMTB>/6
   6338	010336					COMND$	AB,<LG.PRG!LG.RPT>,.EXVAB
	001216	   101 	   102 	   000 		 .ASCIZ	%AB%
	010336	001216'				 .WORD	$$CMDN		; POINTER TO "AB" SYMBOL
	010340	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010342	006244'				 .WORD	.EXVAB		; ROUTINE TO CALL
   6339	010344					COMND$	CRADDR,<LG.PRG!LG.RPT>,.EXCRA
	001221	   103 	   122 	   101 		 .ASCIZ	%CRADDR%
	001224	   104 	   104 	   122
	001227	   000
	010344	001221'				 .WORD	$$CMDN		; POINTER TO "CRADDR" SYMBOL
	010346	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010350	007134'				 .WORD	.EXCRA		; ROUTINE TO CALL
   6340	010352					COMND$	CRLOC,<LG.PRG!LG.RPT>,.EXCRL
	001230	   103 	   122 	   114 		 .ASCIZ	%CRLOC%
	001233	   117 	   103 	   000
	010352	001230'				 .WORD	$$CMDN		; POINTER TO "CRLOC" SYMBOL
	010354	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010356	007142'				 .WORD	.EXCRL		; ROUTINE TO CALL
   6341	010360					COMND$	DRADDR,<LG.PRG!LG.RPT>,.EXDRA
	001236	   104 	   122 	   101 		 .ASCIZ	%DRADDR%
	001241	   104 	   104 	   122
	001244	   000
	010360	001236'				 .WORD	$$CMDN		; POINTER TO "DRADDR" SYMBOL
	010362	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010364	007150'				 .WORD	.EXDRA		; ROUTINE TO CALL
   6342	010366					COMND$	DTE-20,<LG.PRG!LG.RPT>,.EXDTE
	001245	   104 	   124 	   105 		 .ASCIZ	%DTE-20%
	001250	   055 	   062 	   060
	001253	   000
	010366	001245'				 .WORD	$$CMDN		; POINTER TO "DTE-20" SYMBOL
	010370	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010372	007536'				 .WORD	.EXDTE		; ROUTINE TO CALL
   6343	010374					COMND$	ELEVEN,<LG.OPR!LG.RPT>,.EXMEL
	001254	   105 	   114 	   105 		 .ASCIZ	%ELEVEN%
	001257	   126 	   105 	   116
	001262	   000
	010374	001254'				 .WORD	$$CMDN		; POINTER TO "ELEVEN" SYMBOL
	010376	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	010400	010564'				 .WORD	.EXMEL		; ROUTINE TO CALL
   6344	010402					COMND$	FE,<LG.PRG!LG.RPT>,.EXFER
	001263	   106 	   105 	   000 		 .ASCIZ	%FE%
	010402	001263'				 .WORD	$$CMDN		; POINTER TO "FE" SYMBOL
	010404	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010406	007156'				 .WORD	.EXFER		; ROUTINE TO CALL
   6345	010410					COMND$	FLAGS,<LG.PRG!LG.RPT>,.EXAMF
	001266	   106 	   114 	   101 		 .ASCIZ	%FLAGS%
	001271	   107 	   123 	   000
	010410	001266'				 .WORD	$$CMDN		; POINTER TO "FLAGS" SYMBOL
	010412	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010414	006614'				 .WORD	.EXAMF		; ROUTINE TO CALL
   6346	010416					COMND$	KL,<LG.ALL!LG.RPT>,.EXAMK
	001274	   113 	   114 	   000 		 .ASCIZ	%KL%
	010416	001274'				 .WORD	$$CMDN		; POINTER TO "KL" SYMBOL
	010420	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	010422	006720'				 .WORD	.EXAMK		; ROUTINE TO CALL
   6347	010424					COMND$	PI,<LG.PRG!LG.RPT>,.EXMPI
EXMTB -- EXAMINE COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 186-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	001277	   120 	   111 	   000 		 .ASCIZ	%PI%
	010424	001277'				 .WORD	$$CMDN		; POINTER TO "PI" SYMBOL
	010426	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010430	010070'				 .WORD	.EXMPI		; ROUTINE TO CALL
   6348	010432					COMND$	REGSITERS,<LG.PRG!LG.RPT>,.EXREG
	001302	   122 	   105 	   107 		 .ASCIZ	%REGSITERS%
	001305	   123 	   111 	   124
	001310	   105 	   122 	   123
	001313	   000
	010432	001302'				 .WORD	$$CMDN		; POINTER TO "REGSITERS" SYMBOL
	010434	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010436	010602'				 .WORD	.EXREG		; ROUTINE TO CALL
   6349	010440					COMND$	TEN,<LG.OPR!LG.RPT>,.EXMKL
	001314	   124 	   105 	   116 		 .ASCIZ	%TEN%
	001317	   000
	010440	001314'				 .WORD	$$CMDN		; POINTER TO "TEN" SYMBOL
	010442	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	010444	010574'				 .WORD	.EXMKL		; ROUTINE TO CALL
   6350	010446					COMND$	VMA,<LG.PRG!LG.RPT>,.EXVMA
	001320	   126 	   115 	   101 		 .ASCIZ	%VMA%
	001323	   000
	010446	001320'				 .WORD	$$CMDN		; POINTER TO "VMA" SYMBOL
	010450	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010452	006252'				 .WORD	.EXVMA		; ROUTINE TO CALL
   6351	010454					COMND$	VMAH,<LG.PRG!LG.RPT>,.EXVMH
	001324	   126 	   115 	   101 		 .ASCIZ	%VMAH%
	001327	   110 	   000
	010454	001324'				 .WORD	$$CMDN		; POINTER TO "VMAH" SYMBOL
	010456	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010460	006260'				 .WORD	.EXVMH		; ROUTINE TO CALL
   6352	010462					COMND$	SBR,<LG.PRG!LG.RPT>,.EXSBR
	001331	   123 	   102 	   122 		 .ASCIZ	%SBR%
	001334	   000
	010462	001331'				 .WORD	$$CMDN		; POINTER TO "SBR" SYMBOL
	010464	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010466	007164'				 .WORD	.EXSBR		; ROUTINE TO CALL
   6353	010470					COMND$	SC,<LG.PRG!LG.RPT>,.EXSCR
	001335	   123 	   103 	   000 		 .ASCIZ	%SC%
	010470	001335'				 .WORD	$$CMDN		; POINTER TO "SC" SYMBOL
	010472	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	010474	007172'				 .WORD	.EXSCR		; ROUTINE TO CALL
   6354	010476					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD
	001340	   104 	   105 	   103 		 .ASCIZ	%DECREMENT%
	001343	   122 	   105 	   115
	001346	   105 	   116 	   124
	001351	   000
	010476	001340'				 .WORD	$$CMDN		; POINTER TO "DECREMENT" SYMBOL
	010500	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	010502	006420'				 .WORD	.EXAMD		; ROUTINE TO CALL
   6355	010504					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI
	001352	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	001355	   122 	   105 	   115
	001360	   105 	   116 	   124
	001363	   000
	010504	001352'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	010506	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	010510	006430'				 .WORD	.EXAMI		; ROUTINE TO CALL
EXMTB -- EXAMINE COMMAND TABLE 	MACRO M1108  13-JAN-78 09:14  PAGE 186-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   6356	010512					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN
	001364	   116 	   105 	   130 		 .ASCIZ	%NEXT%
	001367	   124 	   000
	010512	001364'				 .WORD	$$CMDN		; POINTER TO "NEXT" SYMBOL
	010514	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	010516	006440'				 .WORD	.EXAMN		; ROUTINE TO CALL
   6357	010520					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP
	001371	   120 	   122 	   105 		 .ASCIZ	%PREVIOUS%
	001374	   126 	   111 	   117
	001377	   125 	   123 	   000
	010520	001371'				 .WORD	$$CMDN		; POINTER TO "PREVIOUS" SYMBOL
	010522	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	010524	006450'				 .WORD	.EXAMP		; ROUTINE TO CALL
   6358	010526					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ
	001402	   124 	   110 	   111 		 .ASCIZ	%THIS%
	001405	   123 	   000
	010526	001402'				 .WORD	$$CMDN		; POINTER TO "THIS" SYMBOL
	010530	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	010532	006460'				 .WORD	.EXAMZ		; ROUTINE TO CALL
   6359	010534	000000 				.WORD	0		; END OF TABLE MARKER
EXOBJ -- EXAMINE OBJECT DISPATC	MACRO M1108  13-JAN-78 09:14  PAGE 187
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   6361					.TITLE	EXOBJ -- EXAMINE OBJECT DISPATCH MODULE 7603.30
   6362
   6363						.IDENT	"001010"
   6364
   6365					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6366					;
   6367					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6368					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6369					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6370					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6371					;	FOR ITS ACCURACY.
   6372					;
   6373					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6374					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6375					;
   6376					;
   6377					;		MODULE: EXAMINE OBJECT DISPATCH
   6378					;
   6379					;		VERSION: 01-01
   6380					;
   6381					;		AUTHOR: R. BELANGER
   6382					;
   6383					;		DATE: 7603.30
   6384					;
   6385					;	THIS MODULE CONTAINS:
   6386					;
   6387					;	1) EXAMINE OBJECT DISPATCH CODE
EXOBJ -- EXAMINE OBJECT DISPATC	MACRO M1108  13-JAN-78 09:14  PAGE 188
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16

   6389					.SBTTL	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
   6390
   6391					;+
   6392					; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
   6393					;
   6394					; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
   6395					;
   6396					; INPUT ARGUMENTS:
   6397					;
   6398					;	NONE.
   6399					;
   6400					; OUTPUT ARGUMENTS:
   6401					;
   6402					;	NONE.
   6403					;
   6404					; ERROR CODES RETURNED:
   6405					;
   6406					;	NSC -- NO SUCH COMMAND.
   6407					;-
   6408
   6409	010536				.EXOBJ::
   6410	010536	012700 	010242'			MOV	#.EXMTB,R0	; EXAMINE TABLE POINTER TO R0
   6411	010542					CALL	.TSCAN		; SCAN THE TABLE
	010542	004737 	030176'			 JSR	PC,.TSCAN
   6412	010546	011001 				MOV	(R0),R1		; LEGAL BITS TO R1
   6413	010550	005101 				COM	R1		; INVERT THEM
   6414	010552	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   6415	010556	014002 				MOV	-(R0),R2	; NAME POINTER TO R2
   6416	010560					CALLR	@4(R0)		; READ AND PRINT THE REGISTER
	010560	000170 	000004 			 JMP	@4(R0)
   6417						;
   6418	010564				.EXMEL::
   6419	010564	012703 	000002 			MOV	#^D2,R3		; PDP-11 OFFSET TO R3
   6420	010570	000137 	006470'			JMP	.EXAME		; DO THE EXAMINE
   6421						;
   6422	010574				.EXMKL::
   6423	010574	005003 				CLR	R3		; KL MEMORY OFFSET TO R3
   6424	010576	000137 	006774'			JMP	.EXAMT		; DO THE EXAMINE
   6425						;
EXREG -- EXAMINE REGISTERS COMM	MACRO M1108  13-JAN-78 09:14  PAGE 189
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16

   6427					.TITLE	EXREG -- EXAMINE REGISTERS COMMAND MODULE 7603.30
   6428
   6429						.IDENT	"001010"
   6430
   6431					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6432					;
   6433					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6434					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6435					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6436					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6437					;	FOR ITS ACCURACY.
   6438					;
   6439					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6440					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6441					;
   6442					;
   6443					;		MODULE: EXAMINE REGISTERS COMMAND
   6444					;
   6445					;		VERSION: 01-01
   6446					;
   6447					;		AUTHOR: R. BELANGER
   6448					;
   6449					;		DATE: 7603.30
   6450					;
   6451					;	THIS MODULE CONTAINS:
   6452					;
   6453					;	1) EXAMINE REGISTERS CODE
EXREG -- EXAMINE REGISTERS COMM	MACRO M1108  13-JAN-78 09:14  PAGE 190
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16

   6455					.SBTTL	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
   6456
   6457	010602				.EXREG::
   6458	010602					CALL	.CKEOC		; CHECK E-O-C
	010602	004737 	002010'			 JSR	PC,.CKEOC
   6459	010606					CALL	.STPKL		; STOP THE KL
	010606	004737 	026330'			 JSR	PC,.STPKL
   6460	010612	012701 	010242'			MOV	#.EXMTB,R1	; TABLE POINTER TO R1
   6461	010616	012703 	000012 			MOV	#EXRTBL,R3	; COUNT TO R3
   6462	010622				10$:
   6463	010622	012102 				MOV	(R1)+,R2	; MESSAGE ADDRESS TO R2
   6464	010624					PUSH	R1		; SAVE R1
	010624	010146 				 MOV	R1,-(SP)
   6465	010626					CALL	@2(R1)		; .READ AND PRINT THE REGISTER
	010626	004771 	000002 			 JSR	PC,@2(R1)
   6466	010632					POP	R1		; .RESTORE R1
	010632	012601 				 MOV	(SP)+,R1
   6467	010634	022121 				CMP	(R1)+,(R1)+	; ADVANCE THE POINTER
   6468	010636	077307 				SOB	R3,10$		; LOOP TILL COUNT EXHAUSTED
   6469	010640					CALLR	.RSTKL		; RESTART THE KL
	010640	000137 	022134'			 JMP	.RSTKL
   6470						;
FREAD -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 191
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16

   6472					.TITLE	FREAD -- DIAGNOSTIC FUNCTION READ MODULE 7609.15
   6473
   6474						.IDENT	"001020"
   6475
   6476					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   6477					;
   6478					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   6479					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   6480					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   6481					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6482					;	FOR ITS ACCURACY.
   6483					;
   6484					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   6485					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   6486					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   6487					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   6488					;
   6489					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   6490					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   6491					;
   6492					;
   6493					;		MODULE: DIAGNOSTIC FUNCTION READ
   6494					;
   6495					;		VERSION: 01-02
   6496					;
   6497					;		AUTHOR: R. BELANGER
   6498					;
   6499					;		DATE: 7609.15
   6500					;
   6501					;	THIS MODULE CONTAINS:
   6502					;
   6503					;	1) DIAGNOSTIC FUNCTION READ CODE
   6504					;	2) DIAGNOSTIC FUNCTION READ DIRECTIVE PARAMETER BLOCK
   6505
   6506						.MCALL	DIR$, $DEF, KLDR$
   6507
   6508	010644					$DEF
FREAD -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 192
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   6510					.SBTTL	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   6511
   6512					;+
   6513					; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
   6514					;
   6515					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
   6516					;
   6517					; SEQUENCE OF OPERATION:
   6518					;
   6519					;	THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
   6520					;	IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
   6521					;
   6522					; INPUT ARGUMENTS:
   6523					;
   6524					;	R0 HOLDS THE FUNCTION READ CODE
   6525					;	R1 POINTS TO A DESTINATION BUFFER
   6526					;
   6527					; OUTPUT ARGUMENTS:
   6528					;
   6529					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   6530					;	R1 POINTS TO THE CALLER'S READ BLOCK
   6531					;
   6532					; ERROR CODES RETURNED:
   6533					;
   6534					;	FRF -- FUNCTION READ FAILED.
   6535					;-
FREAD -- DIAGNOSTIC FUNCTION RE	MACRO M1108  13-JAN-78 09:14  PAGE 193
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   6537	010644				.FREAD::
   6538	010644	110037 	010731'			MOVB	R0,.KLDFR+3	; SET THE DFR# IN THE DPB
   6539	010650					DIR$	#.KLDFR		; CALL THE EXEC TO DO THE READ
	010650	012746 	010726'			MOV	#.KLDFR,-(SP)
	010654	104375 				EMT	375
   6540	010656	103420 				BCS	FRDFRF		; ERROR IF CC-C IS SET
   6541	010660	012700 	000222'			MOV	#.DFRB,R0	; POINT TO TOP OF READ BLOCK
   6542	010664	005701 				TST	R1		; TEST R1
   6543	010666	001405 				BEQ	10$		; EXIT IF R1 .EQ. 0
   6544	010670	012021 				MOV	(R0)+,(R1)+	; LOAD HIS BUFFER FROM OURS
   6545	010672	012021 				MOV	(R0)+,(R1)+
   6546	010674	011011 				MOV	(R0),(R1)
   6547	010676	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   6548	010700	024141 				CMP	-(R1),-(R1)
   6549	010702				10$:
   6550					.IF NE	FTTRAK
   6551	010702	032737 	000002 	000142'		BIT	#TR.FRD,.TRKWD	; ARE WE TRACKING FUNCTION READS?
   6552	010710	001402 				BEQ	20$		; NO -- JUST EXIT
   6553	010712					CALL	.FRTRK		; YES -- DO IT
	010712	004737 	030036'			 JSR	PC,.FRTRK
   6554	010716				20$:
   6555					.ENDC		; FTTRAK
   6556	010716					RETURN			; TO CALLER
	010716	000207 				 RTS	PC
   6557	010720				FRDFRF:
   6558	010720					ERROR$	FRF		; ERROR -- FUNCTION READ FAILED
	010720	012746 				 MOV	(PC)+,-(SP)	; "FRF" IN RAD50 TO STACK
	010722	024126 				 .RAD50	/FRF/		; ERROR IDENTIFIER
	010724	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   6559						;
   6560
   6561					; DPB FOR DIAGNOSTIC FUNCTION READ
   6562
   6563					;	!===============================================!
   6564					; 00	!	DPB SIZE	!	DIC		!
   6565					;	!-----------------------------------------------!
   6566					; 02	!	DFR OPCODE	!	DFR CODE	!
   6567					;	!-----------------------------------------------!
   6568					; 04	!	    TRANSFER BUFFER ADDRESS		!
   6569					;	!-----------------------------------------------!
   6570					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6571					;	!-----------------------------------------------!
   6572					; 10	!		DTE-20 NUMBER			!
   6573					;	!===============================================!
   6574
   6575	010726				.KLDFR::
   6576	010726					KLDR$	.-.,.DFBLK,.DREG,0
	010726	002411 				.WORD	400*5.+DR.DTE
	010730	   012 	   000 			.BYTE	DF.KLR,.-./400
	010732	000214'				.WORD	.DFBLK
	010734	000230'				.WORD	.DREG
	010736	000000 				.WORD	0
   6577		010736'			FRDTEN==.-2
FWRIT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 194
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   6579					.TITLE	FWRIT -- DIAGNOSTIC FUNCTION WRITE MODULE 7609.15
   6580
   6581						.IDENT	"001020"
   6582
   6583					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   6584					;
   6585					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   6586					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   6587					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   6588					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6589					;	FOR ITS ACCURACY.
   6590					;
   6591					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   6592					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   6593					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   6594					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   6595					;
   6596					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   6597					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   6598					;
   6599					;
   6600					;		MODULE: DIAGNOSTIC FUNCTION WRITE
   6601					;
   6602					;		VERSION: 01-02
   6603					;
   6604					;		AUTHOR: R. BELANGER
   6605					;
   6606					;		DATE: 7609.15
   6607					;
   6608					;	THIS MODULE CONTAINS:
   6609					;
   6610					;	1) DIAGNOSTIC FUNCTION WRITE CODE
   6611					;	2) DIAGNOSTIC FUNCTION WRITE DIRECTIVE PARAMETER BLOCK
   6612
   6613						.MCALL	DIR$, $DEF, KLDW$
   6614
   6615	010740					$DEF
FWRIT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 195
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6617					.SBTTL	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   6618
   6619					;+
   6620					; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   6621					;
   6622					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   6623					;
   6624					; SEQUENCE OF OPERATION:
   6625					;
   6626					; .FWRIT:
   6627					;
   6628					;	(A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
   6629					;	    IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
   6630					;	(B) THE FUNCTION WRITE IS EXECUTED.
   6631					;
   6632					; INPUT ARGUMENTS:
   6633					;
   6634					;	R0 HOLDS THE FUNCTION WRITE CODE
   6635					;	R1 POINTS TO A SOURCE BUFFER
   6636					;
   6637					; OUTPUT ARGUMENTS:
   6638					;
   6639					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   6640					;	R1 POINTS TO THE CALLER'S WRITE BLOCK
   6641					;
   6642					; ERROR CODES RETURNED:
   6643					;
   6644					;	FWF -- FUNCTION WRITE FAILED.
   6645					;-
   6646
   6647	010740				.FWRIT::
   6648	010740	110037 	011065'			MOVB	R0,.KLDFW+3	; SET THE DFW# IN THE DPB
   6649	010744	012700 	000214'			MOV	#.DFWB,R0	; POINT TO TOP OF WRITE BLOCK
   6650	010750	005701 				TST	R1		; TEST R1
   6651	010752	001405 				BEQ	10$		; ALREADY IN ".DFWB" IF R1 .EQ. 0
   6652	010754	012120 				MOV	(R1)+,(R0)+	; LOAD THE DATA BLOCK
   6653	010756	012120 				MOV	(R1)+,(R0)+
   6654	010760	011110 				MOV	(R1),(R0)
   6655	010762	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   6656	010764	024141 				CMP	-(R1),-(R1)
   6657
   6658
   6659					;	[CONTINUED ON THE FOLLOWING PAGE]
FWRIT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 196
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6661					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6662
   6663	010766				10$:
   6664	010766	042760 	177760 	000004 		BIC	#177760,4(R0)	; FLUSH EXTRANEOUS BITS
   6665	010774					DIR$	#.KLDFW		; CALL THE EXEC TO DO THE WRITE
	010774	012746 	011062'			MOV	#.KLDFW,-(SP)
	011000	104375 				EMT	375
   6666	011002	103424 				BCS	FWRFWF		; ERROR IF CC-C IS SET
   6667	011004					PUSH	R0		; SAVE THE BUFFER POINTER
	011004	010046 				 MOV	R0,-(SP)
   6668	011006	113700 	011065'			MOVB	.KLDFW+3,R0	; .GET THE WRITE CODE
   6669	011012	120027 	000110 			CMPB	R0,#FW.044	; .DID WE WRITE THE CLOCK BOARD?
   6670	011016	002406 				BLT	20$		; .NO -- JUST EXIT
   6671	011020	120027 	000116 			CMPB	R0,#FW.047	; .MAYBE -- DID WE REALLY?
   6672	011024	003003 				BGT	20$		; .NO -- JUST EXIT
   6673	011026	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; .YES -- TURN THE CLOCK BIT OFF
   6674	011034				20$:
   6675					.IF NE	FTTRAK
   6676	011034	032737 	000004 	000142'		BIT	#TR.FWR,.TRKWD	; .ARE WE TRACKING FUNCTION WRITES?
   6677	011042	001402 				BEQ	30$		; .NO -- GO ON
   6678	011044					CALL	.FWTRK		; .YES -- LEAVE TRACKS ON CONSOLE
	011044	004737 	030056'			 JSR	PC,.FWTRK
   6679	011050				30$:
   6680					.ENDC		; FTTRAK
   6681	011050					POP	R0		; .RESTORE THE BUFFER POINTER
	011050	012600 				 MOV	(SP)+,R0
   6682	011052					RETURN			; YES -- RETURN TO CALLER
	011052	000207 				 RTS	PC
   6683
   6684	011054				FWRFWF:
   6685	011054					ERROR$	FWF		; ERROR -- FUNCTION WRITE FAILED
	011054	012746 				 MOV	(PC)+,-(SP)	; "FWF" IN RAD50 TO STACK
	011056	024436 				 .RAD50	/FWF/		; ERROR IDENTIFIER
	011060	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   6686						;
   6687
   6688					; DPB FOR DIAGNOSTIC FUNCTION WRITE
   6689
   6690					;	!===============================================!
   6691					; 00	!	DPB SIZE	!	DIC		!
   6692					;	!-----------------------------------------------!
   6693					; 02	!	DFW OPCODE	!	DFW CODE	!
   6694					;	!-----------------------------------------------!
   6695					; 04	!	   TRANSFER BUFFER ADDRESS		!
   6696					;	!-----------------------------------------------!
   6697					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6698					;	!-----------------------------------------------!
   6699					; 10	!		DTE-20 NUMBER			!
   6700					;	!===============================================!
   6701
   6702	011062				.KLDFW::
   6703	011062					KLDW$	.-.,.DFBLK,.DREG,0
	011062	002411 				.WORD	400*5.+DR.DTE
	011064	   013 	   000 			.BYTE	DF.KLW,.-./400
	011066	000214'				.WORD	.DFBLK
	011070	000230'				.WORD	.DREG
	011072	000000 				.WORD		0
FWRIT -- DIAGNOSTIC FUNCTION WR	MACRO M1108  13-JAN-78 09:14  PAGE 196-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6704		011072'			FWDTEN==.-2
FXCT -- PARSER MODULE - DIAGNOS	MACRO M1108  13-JAN-78 09:14  PAGE 197
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   6706					.TITLE	FXCT -- PARSER MODULE - DIAGNOSTIC FUNCTION EXECUTE 7609.15
   6707
   6708						.IDENT	"001020"
   6709
   6710					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   6711					;
   6712					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   6713					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   6714					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   6715					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6716					;	FOR ITS ACCURACY.
   6717					;
   6718					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   6719					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   6720					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   6721					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   6722					;
   6723					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   6724					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   6725					;
   6726					;
   6727					;		MODULE: DIAGNOSTIC FUNCTION EXECUTE
   6728					;
   6729					;		VERSION: 01-02
   6730					;
   6731					;		AUTHOR: R. BELANGER
   6732					;
   6733					;		DATE: 7609.15
   6734					;
   6735					;	THIS MODULE CONTAINS:
   6736					;
   6737					;	1) DIAGNOSTIC FUNCTION EXECUTE CODE
   6738					;	2) DIAGNOSTIC FUNCTION EXECUTE DIRECTIVE PARAMETER BLOCK
   6739
   6740						.MCALL	DIR$, $DEF, KLDX$
   6741
   6742	011074					$DEF
FXCT -- PARSER MODULE - DIAGNOS	MACRO M1108  13-JAN-78 09:14  PAGE 198
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6744					.SBTTL	.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   6745					;+
   6746					; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   6747					;
   6748					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
   6749					; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
   6750					; IN THE KL STATE FLAG WORD, ".KLFLG".
   6751					;
   6752					; SEQUENCE OF OPERATION:
   6753					;
   6754					;	THE DFX IS SIMPLY EXECUTED.
   6755					;
   6756					; INPUT ARGUMENTS:
   6757					;
   6758					;	R0 CONTAINS THE FUNCTION EXECUTE CODE
   6759					;
   6760					; OUTPUT ARGUMENTS:
   6761					;
   6762					;	NONE.
   6763					;
   6764					; ERROR CODES RETURNED:
   6765					;
   6766					;	FXF -- FUNCTION EXECUTE FAILED.
   6767					;-
FXCT -- PARSER MODULE - DIAGNOS	MACRO M1108  13-JAN-78 09:14  PAGE 199
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6769	011074				.FXCT::
   6770	011074	110037 	011247'			MOVB	R0,.KLDFX+3	; SET THE EXECUTE CODE IN THE DPB
   6771	011100					DIR$	#.KLDFX		; CALL THE EXEC TO DO THE DFX
	011100	012746 	011244'			MOV	#.KLDFX,-(SP)
	011104	104375 				EMT	375
   6772	011106	103453 				BCS	FXCFXF		; ERROR IF CC-C IS SET
   6773	011110	113746 	011247'			MOVB	.KLDFX+3,-(SP)	; PUT THE EXECUTE CODE ON THE STACK
   6774	011114	012700 	100000 			MOV	#KF.CLK,R0	; .FLAG BIT TO R0
   6775	011120	121627 	000002 			CMPB	(SP),#FX.CST	; .IS DFX CODE .EQ. 1?
   6776	011124	001411 				BEQ	10$		; .YES -- DO CLOCK STARTED STUFF
   6777	011126	121627 	000016 			CMPB	(SP),#FX.SMR	; .NO -- IS DFX CODE .GT. 7?
   6778	011132	101014 				BHI	20$		; .YES -- LEAVE NOW
   6779	011134	030037 	000000G			BIT	R0,.KLFLG	; .NO -- IS THE FLAG OFF ALREADY?
   6780	011140	001426 				BEQ	40$		; .YES -- LEAVE NOW
   6781	011142	040037 	000000G			BIC	R0,.KLFLG	; .NO -- TURN IF OFF
   6782	011146	000423 				BR	40$		; .AND GO AWAY
   6783						;
   6784	011150				10$:
   6785	011150	030037 	000000G			BIT	R0,.KLFLG	; .IS THE FLAG ON ALREADY?
   6786	011154	001020 				BNE	40$		; .YES -- LEAVE NOW
   6787	011156	050037 	000000G			BIS	R0,.KLFLG	; .NO -- LIGHT IT UP
   6788	011162	000415 				BR	40$		; .AND EXIT
   6789						;
   6790	011164				20$:
   6791	011164	012700 	040000 			MOV	#KF.RUN,R0	; .DO RUN FLAG STUFF
   6792	011170	121627 	000022 			CMPB	(SP),#FX.SRF	; .SET THE RUN FLOP?
   6793	011174	001003 				BNE	30$		; .NO -- GO ON
   6794	011176	050037 	000000G			BIS	R0,.KLFLG	; .YES -- SET THE FLAG
   6795	011202	000405 				BR	40$		; .AND GO AWAY
   6796						;
   6797	011204				30$:
   6798	011204	121627 	000020 			CMPB	(SP),#FX.CRF	; .CLEAR RUN FLOP?
   6799	011210	001002 				BNE	40$		; .NO  -- JUST GO AWAY
   6800	011212	040037 	000000G			BIC	R0,.KLFLG	; .YES -- CLEAR THE FLAG
   6801
   6802					;	[CONTINUED ON THE FOLLOWING PAGE]
FXCT -- PARSER MODULE - DIAGNOS	MACRO M1108  13-JAN-78 09:14  PAGE 200
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6804					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6805
   6806	011216				40$:
   6807					.IF NE	FTTRAK
   6808	011216	032737 	000001 	000142'		BIT	#TR.FXC,.TRKWD	; .ARE WE TRACKING FUNCTION EXECUTES?
   6809	011224	001402 				BEQ	50$		; .NO -- JUST EXIT
   6810	011226					CALL	.FXTRK		; .YES -- DO IT
	011226	004737 	030076'			 JSR	PC,.FXTRK
   6811	011232				50$:
   6812					.ENDC		; FTTRAK
   6813	011232					POP	R0		; .RESTORE R0
	011232	012600 				 MOV	(SP)+,R0
   6814	011234					RETURN			; TO CALLER
	011234	000207 				 RTS	PC
   6815	011236				FXCFXF:
   6816	011236					ERROR$	FXF		; FUNCTION EXECUTE FAILED
	011236	012746 				 MOV	(PC)+,-(SP)	; "FXF" IN RAD50 TO STACK
	011240	024506 				 .RAD50	/FXF/		; ERROR IDENTIFIER
	011242	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   6817						;
   6818
   6819					; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
   6820
   6821					;	!===============================================!
   6822					; 00	!	DPB SIZE	!	DIC		!
   6823					;	!-----------------------------------------------!
   6824					; 02	!	DFX OPCODE	!	DFX CODE	!
   6825					;	!-----------------------------------------------!
   6826					; 04	!	    TRANSFER BUFFER ADDRESS		!
   6827					;	!-----------------------------------------------!
   6828					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   6829					;	!-----------------------------------------------!
   6830					; 10	!		DTE-20 NUMBER			!
   6831					;	!===============================================!
   6832
   6833
   6834	011244				.KLDFX::
   6835	011244					KLDX$	.-.,.DFBLK,.DREG,0
	011244	002411 				.WORD	400*5.+DR.DTE
	011246	   014 	   000 			.BYTE	DF.KLX,.-./400
	011250	000214'				.WORD	.DFBLK
	011252	000230'				.WORD	.DREG
	011254	000000 				.WORD	0
   6836		011254'			FXDTEN==.-2
GTCMD -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 201
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   6838					.TITLE	GTCMD -- COMMAND LINE INPUT MODULE 7603.30
   6839
   6840						.IDENT	"001010"
   6841
   6842					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   6843					;
   6844					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   6845					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   6846					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   6847					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6848					;	FOR ITS ACCURACY.
   6849					;
   6850					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   6851					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   6852					;
   6853					;
   6854					;		MODULE: COMMAND LINE INPUT
   6855					;
   6856					;		VERSION: 01-01
   6857					;
   6858					;		AUTHOR: R. BELANGER
   6859					;
   6860					;		DATE: 7603.30
   6861					;
   6862					;	THIS MODULE CONTAINS:
   6863					;
   6864					;	1) COMMAND LINE INPUT CODE
GTCMD -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 202
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22

   6866					.SBTTL	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
   6867
   6868					;+
   6869					; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
   6870					;	    BUFFER.
   6871					;
   6872					; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
   6873					; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
   6874					;
   6875					; INPUT ARGUMENTS:
   6876					;
   6877					;	R5 POINTS TO THE DESTINATION BUFFER.
   6878					;
   6879					; OUTPUT ARGUMENTS:
   6880					;
   6881					;	R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
   6882					;	".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
   6883					;	THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
   6884					;
   6885					; ERROR CODES RETURNED:
   6886					;
   6887					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
   6888					;
   6889					;	CBO -- COMMAND BUFFER OVERFLOW.
   6890					;	ILC -- ILLEGAL CHARACTER.
   6891					;-
   6892
   6893	011256				.GTCMD::
   6894	011256	010501 				MOV	R5,R1		; COMMAND BUFFER POINTER TO R1
   6895	011260				10$:
   6896	011260					PUSH	R1		; SAVE R1 ON THE STACK
	011260	010146 				 MOV	R1,-(SP)
   6897	011262					CALL	.GTLIN		; .GO GET THE COMMAND LINE
	011262	004737 	011776'			 JSR	PC,.GTLIN
   6898	011266	022601 				CMP	(SP)+,R1	; .DID THE POINTER CHANGE?
   6899	011270	001407 				BEQ	20$		; NO -- JUST EXIT
   6900	011272	122741 	000055 			CMPB	#'-,-(R1)	; YES -- WAS LAST CHARACTER LINE CONTINUATION?
   6901	011276	001004 				BNE	20$		; NO -- EXIT
   6902	011300	111100 				MOVB	(R1),R0		; YES -- PROMPT FOR CONTINUATION
   6903	011302					CALL	.TFCHR		; FORCE PRINT THE PROMPT
	011302	004737 	031456'			 JSR	PC,.TFCHR
   6904	011306	000764 				BR	10$		; AND GO GET THE REST OF THE LINE
   6905						;
   6906	011310				20$:
   6907	011310					RETURN			; TO CALLER
	011310	000207 				 RTS	PC
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 203
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22

   6909					.TITLE	GTDAT -- DATE INPUT SUBROUTINE 7707.12
   6910
   6911						.IDENT	"003060"
   6912
   6913					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   6914					;
   6915					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   6916					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   6917					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   6918					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   6919					;	FOR ITS ACCURACY.
   6920					;
   6921					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   6922					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   6923					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   6924					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   6925					;
   6926					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   6927					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   6928					;
   6929					;
   6930					;		MODULE: DATE INPUT SUBROUTINE
   6931					;
   6932					;		VERSION: 03-06
   6933					;
   6934					;		AUTHOR: R. BELANGER
   6935					;
   6936					;		DATE: 7707.12
   6937					;
   6938					;	THIS MODULE CONTAINS:
   6939					;
   6940					;	1) DATE INPUT SUBROUTINE
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 204
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   6942					.SBTTL	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   6943
   6944					;+
   6945					; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
   6946					;
   6947					; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
   6948					; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
   6949					; IN A THREE BYTE BLOCK.
   6950					;
   6951					; INPUT ARGUMENTS:
   6952					;
   6953					;	R0 POINTS TO A THREE BYTE DATA BLOCK
   6954					;	R5 POINTS TO THE INPUT STREAM
   6955					;
   6956					; OUTPUT ARGUMENTS:
   6957					;
   6958					;	R0 POINTS TO THE THREE BYTE DATA BLOCK
   6959					;
   6960					; ERROR CODES RETURNED:
   6961					;
   6962					;	DBT -- DATE BEFORE TODAY
   6963					;	DOR -- DATE OUT OF RANGE
   6964					;	IDF -- ILLEGAL DATE FORMAT
   6965					;	YOR -- YEAR OUT OF RANGE
   6966					;-
   6967
   6968						.MCALL	DIR$, GTIM$S
   6969
   6970	011312				.GTDAT::
   6971	011312	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   6972	011320	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET THE RADIX TO DECIMAL
   6973	011326					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S POINTER
	011326	010546 				 MOV	R5,-(SP)
	011330	010246 				 MOV	R2,-(SP)
	011332	010146 				 MOV	R1,-(SP)
	011334	010046 				 MOV	R0,-(SP)
   6974	011336	012701 	011756'			MOV	#.DTBUF,R1	; ....TIME BUFFER POINTER TO R1
   6975	011342					GTIM$S	R1		; ....READ CURRENT DATE AND TIME
	011342	010146 				MOV	R1,-(SP)
	011344	012746 				MOV	(PC)+,-(SP)
	011346	   073 	   002 			.BYTE	59.,2
	011350	104375 				EMT	375
   6976	011352	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT YEAR
   6977	011354	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   6978	011356	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT MONTH
   6979	011360	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   6980	011362	111120 				MOVB	(R1),(R0)+	; ....SET DEFAULT DAY
   6981	011364	010002 				MOV	R0,R2		; ....SAVE POINTER TO CALLER'S BUFFER
   6982
   6983					;	[CONTINUED ON THE FOLLOWING PAGE]
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 205
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   6985					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6986
   6987	011366	012701 	000240'			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   6988	011372	010105 				MOV	R1,R5		; ....AND R5
   6989	011374	012700 	001407'			MOV	#GTDMS0,R0	; ....PROMPT FOR DATE
   6990	011400					CALL	.TYMSF		; ....FORCE IT OUT
	011400	004737 	031426'			 JSR	PC,.TYMSF
   6991	011404					CALL	.GTLIN		; ....READ THE RESPONSE
	011404	004737 	011776'			 JSR	PC,.GTLIN
   6992	011410	001467 				BEQ	35$		; ....DEFAULT IF NULL
   6993	011412					CALL	.CKARG		; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
	011412	004737 	001712'			 JSR	PC,.CKARG
   6994	011416	001551 				BEQ	GTDIDF		; ....ILLEGAL IF ALPHABETIC
   6995	011420					PUSH	R5		; ....SAVE THE BUFFER POINTER
	011420	010546 				 MOV	R5,-(SP)
   6996	011422				10$:
   6997	011422	111504 				MOVB	(R5),R4		; .....LOOK AT ONE CHARACTER
   6998	011424	001407 				BEQ	20$		; .....DONE IF NULL
   6999	011426	122704 	000055 			CMPB	#'-,R4		; .....IS IT A <HYPHEN>?
   7000	011432	001002 				BNE	15$		; .....NO -- GO ON
   7001	011434	112715 	000040 			MOVB	#.SPACE,(R5)	; .....YES -- MAKE IT A <SPACE>
   7002	011440				15$:
   7003	011440	105725 				TSTB	(R5)+		; .....ADVANCE THE POINTER
   7004	011442	000767 				BR	10$		; .....AND LOOK FOR MORE
   7005						;
   7006
   7007					;	[CONTINUED ON THE FOLLOWING PAGE]
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 206
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   7009					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7010
   7011	011444				20$:
   7012	011444					POP	R5		; .....RESTORE THE POINTER
	011444	012605 				 MOV	(SP)+,R5
   7013	011446	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   7014	011450	005046 				CLR	-(SP)		; .....
   7015	011452	005046 				CLR	-(SP)		; ......
   7016	011454	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   7017	011456					CALL	.GTNBR		; .......READ THE DAY
	011456	004737 	013234'			 JSR	PC,.GTNBR
   7018	011462	111042 				MOVB	(R0),-(R2)	; .......AND SET IT
   7019	011464					PUSH	R0		; .......SAVE THE POINTER
	011464	010046 				 MOV	R0,-(SP)
   7020	011466					CALL	.CKARG		; .......SEE IF ALPHABETIC FOLLOWS
	011466	004737 	001712'			 JSR	PC,.CKARG
   7021	011472	002523 				BLT	GTDIDF		; .......NUMERIC -- GIVE "IDF" ERROR
   7022	011474	012700 	015644'			MOV	#.MONTB,R0	; ........MONTH TABLE POINTER TO R0
   7023	011500					CALL	.TSCAN		; ........SCAN FOR THE MONTH
	011500	004737 	030176'			 JSR	PC,.TSCAN
   7024	011504	116042 	000002 			MOVB	2(R0),-(R2)	; ........STASH THE MONTH AWAY
   7025	011510					POP	R0		; ........RESTORE THE BUFFER POINTER
	011510	012600 				 MOV	(SP)+,R0
   7026	011512	112504 				MOVB	(R5)+,R4	; .......GET THE LAST CHARACTER
   7027	011514	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   7028	011522	001020 				BNE	30$		; .......EXIT IF E-O-C
   7029	011524					CALL	.TPCLR		; .......RESET THE BUFFER
	011524	004737 	027234'			 JSR	PC,.TPCLR
   7030	011530					CALL	.CKARG		; .......SEE IF NUMERIC FOLLOWS
	011530	004737 	001712'			 JSR	PC,.CKARG
   7031	011534	001502 				BEQ	GTDIDF		; .......GIVE "IDF" ERROR IF NOT
   7032	011536					CALL	.GTNBR		; .......READ THE YEAR
	011536	004737 	013234'			 JSR	PC,.GTNBR
   7033	011542	022710 	003554 			CMP	#^D1900,(R0)	; .......DID HE SAY 19XX?
   7034	011546	003003 				BGT	25$		; .......NO -- GO ON
   7035	011550	162710 	003554 			SUB	#^D1900,(R0)	; .......YES -- FIX IT UP
   7036	011554	002475 				BLT	GTDYOR		; .......+++001 ERROR -- YOR
   7037	011556				25$:
   7038	011556	111042 				MOVB	(R0),-(R2)	; .......SET THE YEAR - 1900
   7039	011560					CALL	.CKEOC		; .......MUST HAVE E-O-C
	011560	004737 	002010'			 JSR	PC,.CKEOC
   7040	011564				30$:
   7041	011564	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   7042
   7043					;	[CONTINUED ON THE FOLLOWING PAGE]
   7044					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7045
   7046	011570				35$:
   7047	011570	011600 				MOV	(SP),R0		; ....RESTORE CALLER'S POINTER
   7048	011572	116002 	000001 			MOVB	1(R0),R2	; ....MONTH TO R2
   7049	011576	012701 	172452 			MOV	#^C5325,R1	; ....BIT MASK TO R1
   7050	011602	122702 	000002 			CMPB	#^D2,R2		; ....IS THIS FEBRUARY?
   7051	011606	001411 				BEQ	45$		; ....YES -- DO SPECIAL CKECKS
   7052	011610	126027 	000002 	000037 		CMPB	2(R0),#^D31	; ....NO -- HOW MANY DAYS?
   7053	011616	003046 				BGT	GTDDOR		; .... +++001 GIVE "DOR" ERROR IF .GT. ^D31
   7054	011620	002414 				BLT	50$		; ....ALL OK IF .LT. ^D31
   7055	011622				40$:
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 206-1
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   7056	011622	006201 				ASR	R1		; ....SHIFT THE BIT MASK
   7057	011624	077202 				SOB	R2,40$		; ....BY THE MONTH
   7058	011626	103011 				BCC	50$		; ....ALL OK IF CC-C IS CLEAR
   7059	011630	000441 				BR	GTDDOR		; .... +++001 OTHERWISE GIVE "DOR" ERROR
   7060						;
   7061	011632				45$:
   7062	011632	126027 	000002 	000035 		CMPB	2(R0),#^D29	; ....HATH FEBRUARY 29 DAYS?
   7063	011640	003035 				BGT	GTDDOR		; .... +++001 NEVER MORE -- GIVE "DOR" ERROR
   7064	011642	002403 				BLT	50$		; ....ALWAYS LESS -- EXIT
   7065	011644	132710 	000003 			BITB	#3,(R0)		; ....IS THIS A LEAP YEAR?
   7066	011650	001031 				BNE	GTDDOR		; .... +++001 NO -- GIVE "DOR" ERROR
   7067	011652				50$:
   7068	011652	012701 	011756'			MOV	#.DTBUF,R1	; ....POINT TO THE DATE BUFFER
   7069	011656	122021 				CMPB	(R0)+,(R1)+	; ....SEE IF YEAR IS OK
   7070	011660	002422 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   7071	011662	003007 				BGT	55$		; .... +++001 YES -- BEYOND THIS YEAR??
   7072	011664	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   7073	011666	122021 				CMPB	(R0)+,(R1)+	; ....IS THE MONTH OK?
   7074	011670	002416 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   7075	011672	003003 				BGT	55$		; .... +++001 YES -- BEYOND THIS YEAR??
   7076	011674	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   7077	011676	121011 				CMPB	(R0),(R1)	; ....IS THE DAY OK?
   7078	011700	002412 				BLT	GTDDBT		; .... +++001 NO -- GIVE "DBT" ERROR
   7079	011702				55$:
   7080	011702					POP	<R0,R1,R2,R5>	; ....YES -- RESTORE REGISTERS
	011702	012600 				 MOV	(SP)+,R0
	011704	012601 				 MOV	(SP)+,R1
	011706	012602 				 MOV	(SP)+,R2
	011710	012605 				 MOV	(SP)+,R5
   7081	011712	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   7082	011720	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   7083	011724					RETURN			; EXIT
	011724	000207 				 RTS	PC
GTDAT -- DATE INPUT SUBROUTINE 	MACRO M1108  13-JAN-78 09:14  PAGE 207
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   7085	011726				GTDDBT:				; +++001
   7086	011726					ERROR$	DBT		; ERROR -- DATE BEFORE TODAY
	011726	012746 				 MOV	(PC)+,-(SP)	; "DBT" IN RAD50 TO STACK
	011730	014544 				 .RAD50	/DBT/		; ERROR IDENTIFIER
	011732	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7087						;
   7088	011734				GTDDOR:				;  +++001
   7089	011734					ERROR$	DOR		; ERROR -- DATE OUT OF RANGE
	011734	012746 				 MOV	(PC)+,-(SP)	; "DOR" IN RAD50 TO STACK
	011736	015552 				 .RAD50	/DOR/		; ERROR IDENTIFIER
	011740	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7090						;
   7091	011742				GTDIDF:
   7092	011742					ERROR$	IDF		; ERROR -- ILLEGAL DATE FORMAT
	011742	012746 				 MOV	(PC)+,-(SP)	; "IDF" IN RAD50 TO STACK
	011744	034346 				 .RAD50	/IDF/		; ERROR IDENTIFIER
	011746	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7093						;
   7094	011750				GTDYOR:				;  +++001
   7095	011750					ERROR$	YOR		; ERROR -- YEAR OUT OF RANGE
	011750	012746 				 MOV	(PC)+,-(SP)	; "YOR" IN RAD50 TO STACK
	011752	117252 				 .RAD50	/YOR/		; ERROR IDENTIFIER
	011754	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7096						;
   7097	011756				.DTBUF::
   7098	011756	000000 	000000 	000000 		.WORD	0,0,0,0,0,0,0,0
	011764	000000 	000000 	000000
	011772	000000 	000000
   7099
   7100	001407				.PSECT	MESSAG
   7101
   7102	001407				GTDMS0:
   7103	001407	   104 	   101 	   124 		.ASCIZ	%DATE: %
	001412	   105 	   072 	   040
	001415	   000
   7104
   7105	011776				.PSECT
   7106
GTLIN -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 208
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   7108					.TITLE	GTLIN -- COMMAND LINE INPUT MODULE 7707.12
   7109
   7110						.IDENT	"003060"
   7111
   7112					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   7113					;
   7114					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   7115					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   7116					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   7117					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   7118					;	FOR ITS ACCURACY.
   7119					;
   7120					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   7121					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   7122					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   7123					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   7124					;
   7125					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   7126					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   7127					;
   7128					;
   7129					;		MODULE: COMMAND LINE INPUT
   7130					;
   7131					;		VERSION: 03-06
   7132					;
   7133					;		AUTHOR: R. BELANGER
   7134					;
   7135					;		DATE: 7707.12
   7136					;
   7137					;	THIS MODULE CONTAINS:
   7138					;
   7139					;	1) COMMAND LINE INPUT CODE
GTLIN -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 209
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   7141					.SBTTL	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
   7142
   7143					;+
   7144					; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
   7145					;
   7146					; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
   7147					; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
   7148					;
   7149					;	(A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
   7150					;	(B) "<TAB>" IS CONVERTED TO "<SPACE>"
   7151					;
   7152					; INPUT ARGUMENTS:
   7153					;
   7154					;	R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
   7155					;
   7156					; OUTPUT ARGUMENTS:
   7157					;
   7158					;	R1 POINTS TO THE END OF THE DESTINATION BUFFER
   7159					;
   7160					; ERROR CODES RETURNED:
   7161					;
   7162					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
   7163					;
   7164					;	CBO -- COMMAND BUFFER OVERFLOW.
   7165					;	ILC -- ILLEGAL CHARACTER.
   7166					;-
   7167
   7168						.MCALL	DIR$, QIOW$
   7169
   7170	011776				.GTLIN::
   7171	011776					PUSH	<R0,R3,R4>	; SAVE SOME REGISTERS
	011776	010046 				 MOV	R0,-(SP)
	012000	010346 				 MOV	R3,-(SP)
	012002	010446 				 MOV	R4,-(SP)
   7172	012004	012700 	000240'			MOV	#.CIBFR,R0	; ...INPUT BUFFER POINTER TO R0
   7173	012010	005037 	000064'			CLR	.INCHC		; ...CLEAR THE CHARACTER COUNTER
   7174	012014				10$:
   7175	012014					DIR$	#.CDINP		; ...READ THE LINE INTO INPUT BUFFER
	012014	012746 	012156'			MOV	#.CDINP,-(SP)
	012020	104375 				EMT	375
   7176	012022	103445 				BCS	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
   7177	012024	105737 	000004'			TSTB	.CISTS		; ...TEST THE STATUS BYTE
   7178	012030	002442 				BLT	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
   7179	012032					CALL	.TCRLF		; ...ACKNOWLEDGE THE LINE
	012032	004737 	031524'			 JSR	PC,.TCRLF
   7180	012036	013703 	000006'			MOV	.CISTS+2,R3	; ...INPUT BYTE COUNT TO R3
   7181	012042	001415 				BEQ	40$		; ...NULL LINE IF .EQ. 0
   7182	012044				20$:
   7183	012044	112004 				MOVB	(R0)+,R4	; ...GET THE CHARACTER INTO R4
   7184	012046	001440 				BEQ	GTLILC		; ...ILLEGAL IF <NULL>
   7185	012050	105764 	001360'			TSTB	.CHTAB(R4)	; ...SEE IF IT IS A LEGAL CHARACTER
   7186	012054	002417 				BLT	50$		; ...NO -- SEE IF IT IS REALLY ILLEGAL
   7187
   7188					;	[CONTINUED ON THE FOLLOWING PAGE]
GTLIN -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 210
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   7190					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7191
   7192	012056				30$:
   7193	012056	110421 				MOVB	R4,(R1)+	; ...PUT IT INTO THE OUTPUT BUFFER
   7194	012060	005237 	000064'			INC	.INCHC		; ...INCREMENT THE CHARACTER COUNT
   7195	012064	023727 	000064'	000430 		CMP	.INCHC,#.CMNDL	; ...HAVE WE OVERFLOWED?
   7196	012072	003023 				BGT	GTLCBO		; ...YES -- GIVE ERROR
   7197	012074	077315 				SOB	R3,20$	; ...NO -- LOOP TILL DONE THIS LINE
   7198	012076				40$:
   7199	012076	105011 				CLRB	(R1)		; ...MARK THE END OF LINE
   7200	012100					POP	<R4,R3,R0>	; ...RESTORE THE REGISTERS
	012100	012604 				 MOV	(SP)+,R4
	012102	012603 				 MOV	(SP)+,R3
	012104	012600 				 MOV	(SP)+,R0
   7201	012106	005737 	000064'			TST	.INCHC		; TEST THE INPUT BYTE COUNT
   7202	012112					RETURN			; TO CALLER
	012112	000207 				 RTS	PC
   7203	012114				50$:				; ...HERE TO CHECK ILLEGAL CHARACTERS
   7204	012114	122704 	000041 			CMPB	#'!,R4		; ...WAS IT A COMMENT?
   7205	012120	001766 				BEQ	40$		; ...YES -- JUST EXIT
   7206	012122	122704 	000011 			CMPB	#11,R4		; ...NO -- WAS IT A <TAB>?
   7207					.IF NE	FTLCVT
   7208						BNE	60$		; ...NO -- CONTINUE PROCESSING
   7209					.IFF
   7210	012126	001010 				BNE	GTLILC		; ...NO -- GIVE "ILC" ERROR
   7211					.IFTF
   7212	012130	112704 	000040 			MOVB	#.SPACE,R4	; ...YES -- MAKE IT A <SPACE>
   7213	012134	000750 				BR	30$		; ...AND PUT IT IN THE BUFFER
   7214						;
   7215					.IFT
   7216					60$:
   7217						CMP	#141,R4		; ...IS IT LOWER CASE?
   7218						BLT	GTLILC		; ...NO -- GIVE ERROR
   7219						CMP	#173,R4		; ...IS IT REALLY LOWER CASE?
   7220						BGT	GTLILC		; ...NO -- GIVE ERROR
   7221						BIC	#40,R4		; ...YES -- MAKE IT UPPER CASE
   7222						BR	30$		; ...AND PUT IT IN THE BUFFER
   7223						;
   7224					.ENDC		; FTLCVT
   7225	012136				70$:
   7226	012136					CALLR	.EXITP		; EXIT GRACEFULLY
	012136	000137 	007754'			 JMP	.EXITP
   7227						;
   7228	012142				GTLCBO:
   7229	012142					ERROR$	CBO		; ERROR -- COMMAND BUFFER OVERFLOW
	012142	012746 				 MOV	(PC)+,-(SP)	; "CBO" IN RAD50 TO STACK
	012144	011437 				 .RAD50	/CBO/		; ERROR IDENTIFIER
	012146	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7230						;
   7231	012150				GTLILC:
   7232	012150					ERROR$	ILC		; ERROR -- ILLEGAL CHARACTER
	012150	012746 				 MOV	(PC)+,-(SP)	; "ILC" IN RAD50 TO STACK
	012152	035043 				 .RAD50	/ILC/		; ERROR IDENTIFIER
	012154	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7233						;
GTLIN -- COMMAND LINE INPUT MOD	MACRO M1108  13-JAN-78 09:14  PAGE 211
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   7235					; THIS IS THE CONSOLE INPUT DPB
   7236
   7237	012156				.CDINP::
   7238	012156					QIOW$	IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
	012156	   003 	   010 			.BYTE	3,$$$ARG
	012160	000000G				.WORD	IO.RLB
	012162	000001 				.WORD	CIDLUN
	012164	   002 	   000 			.BYTE	E.FCID,0
	012166	000004'				.WORD	.CISTS
	012170	000000 				.WORD	0
	012172	000240'				.WORD	.CIBFR
	012174	000214 				.WORD	.CIBFL
   7239
   7240		012172'			.CDIBP=.CDINP+Q.IOPL		; CONSOLE INPUT BYTE POINTER
   7241		012174'			.CDIBC=.CDINP+Q.BYCT		; CONSOLE INPUT BYTE COUNT
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 212
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   7243					.TITLE	GTNUM -- GENERAL NUMERIC INPUT MODULE 7711.01
   7244
   7245						.IDENT	"001020"
   7246
   7247					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   7248					;
   7249					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   7250					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   7251					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   7252					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   7253					;	FOR ITS ACCURACY.
   7254					;
   7255					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   7256					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   7257					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   7258					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   7259					;
   7260					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   7261					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   7262					;
   7263					;
   7264					;		MODULE: GENERAL NUMERIC INPUT
   7265					;
   7266					;		VERSION: 01-02
   7267					;
   7268					;		AUTHOR: R. BELANGER
   7269					;
   7270					;		DATE: 7611.01
   7271					;
   7272					;	THIS MODULE CONTAINS:
   7273					;
   7274					;	1) GENERAL NUMERIC INPUT CODE
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 213
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01

   7276					.SBTTL	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
   7277
   7278					;+
   7279					; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
   7280					;
   7281					; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
   7282					; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
   7283					; ONLY 36 BIT NUMBERS.
   7284					;
   7285					; INPUT ARGUMENTS:
   7286					;
   7287					;	R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
   7288					;
   7289					; OUTPUT ARGUMENTS:
   7290					;
   7291					;	R0 POINTS TO THE PDP-11 NUMBER
   7292					;
   7293					; ERROR CODES RETURNED:
   7294					;
   7295					;	NOR -- INPUT NUMBER OUT OF RANGE.
   7296					;-
   7297
   7298	012176				.ELNCK::
   7299	012176	032760 	000010 	000004 		BIT	#10,4(R0)	; IS THIS A NEGATIVE NUMBER?
   7300	012204	001411 				BEQ	10$		; NO -- POSITIVE
   7301	012206	022760 	177777 	000004 		CMP	#-^D1,4(R0)	; YES -- ARE ALL THE BITS ON?
   7302	012214	001014 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   7303	012216	022760 	177777 	000002 		CMP	#-^D1,2(R0)	; YES -- HOW ABOUT THE SECOND WORD?
   7304	012224	001010 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   7305	012226	000406 				BR	20$		; YES -- ALL OK, EXIT
   7306						;
   7307	012230				10$:
   7308	012230	005760 	000004 			TST	4(R0)		; SEE IF HIGH WORD IS .EQ. ZERO
   7309	012234	001004 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   7310	012236	005760 	000002 			TST	2(R0)		; IS SECOND WORD .EQ. ZERO?
   7311	012242	001001 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   7312	012244				20$:
   7313	012244					RETURN			; TO CALLER
	012244	000207 				 RTS	PC
   7314	012246				ELNNOR:
   7315	012246	000137 	013360'			JMP	GTNNOR		; GIVE "NOR" ERROR
   7316						;
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 214
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05

   7318					.SBTTL	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
   7319
   7320					;+
   7321					; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
   7322					;
   7323					; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
   7324					;
   7325					; INPUT ARGUMENTS:
   7326					;
   7327					;	NONE.
   7328					;
   7329					; OUTPUT ARGUMENTS:
   7330					;
   7331					;	R0 HOLDS THE PDP-11 NUMBER.
   7332					;
   7333					; ERROR CODES RETURNED:
   7334					;
   7335					;	NOR -- INPUT NUMBER OUT OF RANGE.
   7336					;-
   7337
   7338	012252				.GTELN::
   7339	012252	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   7340	012254	005046 				CLR	-(SP)		; .
   7341	012256	005046 				CLR	-(SP)		; ..
   7342	012260	010600 				MOV	SP,R0		; ...
   7343	012262					CALL	.GTNUM		; ...GET A NUMBER
	012262	004737 	012334'			 JSR	PC,.GTNUM
   7344	012266					CALL	.ELNCK		; ...SEE IF IS REALLY A PDP-11 NUMBER
	012266	004737 	012176'			 JSR	PC,.ELNCK
   7345	012272	011000 				MOV	(R0),R0		; ...PUT THE NUMBER IN R0
   7346	012274	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   7347	012300					RETURN			; TO CALLER
	012300	000207 				 RTS	PC
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 215
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05

   7349					.SBTTL	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
   7350
   7351					;+
   7352					; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
   7353					;
   7354					; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
   7355					; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
   7356					;
   7357					; INPUT ARGUMENTS:
   7358					;
   7359					;	R0 POINTS TO A THREE WORD BUFFER
   7360					;
   7361					; OUTPUT ARGUMENTS:
   7362					;
   7363					;	R0 POINTS TO THE 22 BIT KL ADDRESS
   7364					;
   7365					; ERROR CODES RETURNED:
   7366					;
   7367					;	KLA -- KL ADDRESS ERROR.
   7368					;	NOR -- NUMBER OUT OF RANGE
   7369					;-
   7370
   7371	012302				.GTKLA::
   7372	012302					CALL	.GTNUM		; GET A NUMBER
	012302	004737 	012334'			 JSR	PC,.GTNUM
   7373	012306	005760 	000004 			TST	4(R0)		; CHECK FOR A LEGAL ADDRESS
   7374	012312	001005 				BNE	GTKKLA		; BAD NEWS -- OUT OF RANGE
   7375	012314	032760 	177600 	000002 		BIT	#^C177,2(R0)	; LOOK AT SECOND WORD
   7376	012322	001001 				BNE	GTKKLA		; SAME HERE -- OUT OF RANGE
   7377	012324					RETURN			; TO CALLER
	012324	000207 				 RTS	PC
   7378	012326				GTKKLA:
   7379	012326					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	012326	012746 				 MOV	(PC)+,-(SP)	; "KLA" IN RAD50 TO STACK
	012330	043241 				 .RAD50	/KLA/		; ERROR IDENTIFIER
	012332	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7380						;
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 216
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

   7382					.SBTTL	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
   7383
   7384					;+
   7385					; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
   7386					; .GTKLN -- ".GTNUM" BY ANOTHER NAME
   7387					;
   7388					; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
   7389					; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
   7390					;
   7391					; INPUT ARGUMENTS:
   7392					;
   7393					;	R0 POINTS TO THE DESTINATION OF THE NUMBER
   7394					;	R5 POINTS TO THE INPUT STREAM
   7395					;
   7396					; OUTPUT ARGUMENTS:
   7397					;
   7398					;	R0 POINTS TO THE NUMBER
   7399					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
   7400					;
   7401					; ERROR CODES RETURNED:
   7402					;
   7403					;	ILC -- ILLEGAL CHARACTER.
   7404					;	NOR -- NUMBER OUT OF RANGE.
   7405					;-
   7406
   7407	012334				.GTNUM::
   7408	012334				.GTKLN::
   7409	012334					PUSH	R1		; SAVE R1
	012334	010146 				 MOV	R1,-(SP)
   7410	012336					CALL	.CKSYM		; .GET OVER LEADING BLANKS
	012336	004737 	002112'			 JSR	PC,.CKSYM
   7411	012342	122715 	000077 			CMPB	#'?,(R5)	; .IS THIS AN INQUIRY?
   7412	012346	001466 				BEQ	GTNNER		; .YES -- SAY SO
   7413	012350					CALL	.TPCLR		; .NO -- CLEAR CALLER'S NUMBER
	012350	004737 	027234'			 JSR	PC,.TPCLR
   7414	012354					CALL	.GTEXP		; .READ THIS EXPRESSION
	012354	004737 	012532'			 JSR	PC,.GTEXP
   7415	012360	122715 	000040 			CMPB	#.SPACE,(R5)	; .IS THE TERMINATOR A <SPACE>?
   7416	012364	001053 				BNE	30$		; .NO -- JUST EXIT
   7417	012366					CALL	.CKARG		; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
	012366	004737 	001712'			 JSR	PC,.CKARG
   7418	012372	001454 				BEQ	GTNNER		; .NOT NUMERIC -- GIVE "NER" ERROR
   7419	012374					CALL	.TPTST		; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
	012374	004737 	027340'			 JSR	PC,.TPTST
   7420	012400	002407 				BLT	10$		; .NEGATIVE -- DON'T DO RANGE CHECK
   7421	012402	032760 	177774 	000002 		BIT	#^C3,2(R0)	; .IS THE NUMBER IN RANGE?
   7422	012410	001043 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
   7423	012412	005760 	000004 			TST	4(R0)		; .IS IT REALLY IN RANGE?
   7424	012416	001040 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
   7425
   7426					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 217
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

   7428					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7429
   7430	012420				10$:
   7431	012420	012701 	000022 			MOV	#^D18,R1	; .SHIFT COUNT TO R1
   7432	012424					CALL	.TPSHI		; .SHIFT IT
	012424	004737 	027636'			 JSR	PC,.TPSHI
   7433	012430	010001 				MOV	R0,R1		; .SAVE THE POINTER TO THE CURRENT NUMBER
   7434	012432	005046 				CLR	-(SP)		; .CLEAR A NEW BUFFER
   7435	012434	005046 				CLR	-(SP)		; ..
   7436	012436	005046 				CLR	-(SP)		; ...
   7437	012440	010600 				MOV	SP,R0		; ....POINT TO THE BUFFER
   7438	012442					PUSH	R1		; ....SAVE THE OLD POINTER
	012442	010146 				 MOV	R1,-(SP)
   7439	012444					CALL	.GTEXP		; .....READ THE NEW EXPRESSION
	012444	004737 	012532'			 JSR	PC,.GTEXP
   7440	012450					CALL	.CKEOS		; .....MUST HAVE E-O-S AT THIS POINT
	012450	004737 	002052'			 JSR	PC,.CKEOS
   7441	012454					CALL	.TPTST		; .....SEE IF THIS NUMBER IS NEGATIVE
	012454	004737 	027340'			 JSR	PC,.TPTST
   7442	012460	003005 				BGT	20$		; .....YES -- GO ON
   7443	012462	005060 	000004 			CLR	4(R0)		; .....YES -- FIX IT UP
   7444	012466	042760 	177774 	000002 		BIC	#^C3,2(R0)	; .....SO
   7445	012474				20$:
   7446	012474					POP	R1		; .....GET THE POINTER TO THE FIRST PART
	012474	012601 				 MOV	(SP)+,R1
   7447	012476	052021 				BIS	(R0)+,(R1)+	; ....ASSEMBLE THE NEW NUMBER
   7448	012500	052021 				BIS	(R0)+,(R1)+	; ....FROM BOTH HALVES
   7449	012502	051011 				BIS	(R0),(R1)	; ....SO
   7450	012504	062706 	000006 			ADD	#^D6,SP		; ....RESET THE STACK
   7451	012510	024141 				CMP	-(R1),-(R1)	; .BACK THE POINTER UP
   7452	012512	010100 				MOV	R1,R0		; .PUT IT IN R0
   7453	012514				30$:
   7454	012514					POP	R1		; .RESTORE R1
	012514	012601 				 MOV	(SP)+,R1
   7455	012516					RETURN			; TO CALLER
	012516	000207 				 RTS	PC
   7456	012520				GTNORE:
   7457	012520	000137 	013360'			JMP	GTNNOR		; GIVE "NOR" ERROR
   7458						;
   7459	012524				GTNNER:
   7460	012524					ERROR$	NER		; ERROR -- NUMERIC EXPRESSION REQUIRED
	012524	012746 				 MOV	(PC)+,-(SP)	; "NER" IN RAD50 TO STACK
	012526	054132 				 .RAD50	/NER/		; ERROR IDENTIFIER
	012530	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7461						;
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 218
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

   7463					.SBTTL	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
   7464
   7465					;+
   7466					; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
   7467					;
   7468					; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
   7469					;
   7470					; DEFINITION OF AN EXPRESSION:
   7471					;
   7472					; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
   7473					;
   7474					; INPUT ARGUMENTS:
   7475					;
   7476					;	R0 POINTS TO A THREE WORD BUFFER
   7477					;
   7478					; OUTPUT ARGUMENTS:
   7479					;
   7480					;	R0 POINTS TO THE EVALUATED EXPRESSION
   7481					;
   7482					; ERROR CODES RETURNED:
   7483					;
   7484					;	NONE.
   7485					;-
   7486
   7487	012532				.GTEXP::
   7488	012532					CALL	.GTTRM		; GET THE NEXT TERM
	012532	004737 	012626'			 JSR	PC,.GTTRM
   7489	012536				10$:
   7490	012536	122715 	000053 			CMPB	#'+,(R5)	; DID HE SAY ADD?
   7491	012542	001404 				BEQ	20$		; YES -- GO DO THE ADDITION
   7492	012544	122715 	000055 			CMPB	#'-,(R5)	; NO -- DID HE SAY SUBTRACT?
   7493	012550	001404 				BEQ	30$		; YES -- GO DO THE SUBTRACTION
   7494	012552					RETURN			; NO -- JUST RETURN
	012552	000207 				 RTS	PC
   7495
   7496					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 219
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

   7498					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7499
   7500	012554				20$:
   7501	012554	012702 	027362'			MOV	#.TPADD,R2	; DISPATCH ADDRESS TO R2
   7502	012560	000402 				BR	40$		; TO COMMON ROUTINE
   7503						;
   7504	012562				30$:
   7505	012562	012702 	027426'			MOV	#.TPSUB,R2	; DISPATCH ADDRESS TO R2
   7506	012566				40$:
   7507	012566	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
   7508	012570	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   7509	012572	005046 				CLR	-(SP)		; .
   7510	012574	005046 				CLR	-(SP)		; ..
   7511	012576	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
   7512	012600					PUSH	R2		; ...SAVE THE DISPATCH ADDRESS
	012600	010246 				 MOV	R2,-(SP)
   7513	012602					PUSH	R0		; ....AND PREVIOUS POINTER
	012602	010046 				 MOV	R0,-(SP)
   7514	012604	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
   7515	012606					CALL	.GTTRM		; .....GET THE NEXT TERM
	012606	004737 	012626'			 JSR	PC,.GTTRM
   7516	012612	010001 				MOV	R0,R1		; .....CURRENT POINTER TO R1
   7517	012614					POP	R0		; .....RESTORE PREVIOUS POINTER
	012614	012600 				 MOV	(SP)+,R0
   7518	012616					CALL	@(SP)+		; ....DO THE ADDITION OR SUBTRACTION
	012616	004736 				 JSR	PC,@(SP)+
   7519	012620	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   7520	012624	000744 				BR	10$		; AND SEE IF THERE IS MORE
   7521						;
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 220
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

   7523					.SBTTL	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
   7524
   7525					;+
   7526					; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
   7527					;
   7528					; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
   7529					;
   7530					; DEFINITION OF A TERM:
   7531					;
   7532					; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
   7533					;
   7534					; INPUT ARGUMENTS:
   7535					;
   7536					;	R0 POINTS TO A THREE WORD BUFFER
   7537					;
   7538					; OUTPUT ARGUMENTS:
   7539					;
   7540					;	R0 POINTS TO THE EVALUATED TERM
   7541					;
   7542					; ERROR CODES RETURNED:
   7543					;
   7544					;	NONE.
   7545					;-
   7546
   7547	012626				.GTTRM::
   7548	012626					CALL	.GTFCT		; GET THE NEXT FACTOR
	012626	004737 	012740'			 JSR	PC,.GTFCT
   7549	012632	001411 				BEQ	20$		; EXIT IF NULL ARGUMENT
   7550	012634				10$:
   7551	012634	122715 	000137 			CMPB	#'_,(R5)	; DID HE SAY SHIFT?
   7552	012640	001407 				BEQ	30$		; YES -- GO DO THE SHIFT
   7553	012642	122715 	000052 			CMPB	#'*,(R5)	; NO -- DID HE SAY MULTIPLY?
   7554	012646	001412 				BEQ	50$		; YES -- GO DO THE MULTIPLICATION
   7555	012650	122715 	000057 			CMPB	#'/,(R5)	; NO -- DID HE SAY DIVIDE?
   7556	012654	001404 				BEQ	40$		; YES -- GO DO THE DIVISION
   7557	012656				20$:
   7558	012656					RETURN			; NO -- JUST RETURN
	012656	000207 				 RTS	PC
   7559
   7560					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 221
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

   7562					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7563
   7564	012660				30$:
   7565	012660	012702 	027702'			MOV	#.TPSHL,R2	; DISPATCH TO R2
   7566	012664	000405 				BR	60$		; TO COMMON CODE
   7567						;
   7568	012666				40$:
   7569	012666	012702 	027000'			MOV	#.TPDIV,R2	; DISPATCH TO R2
   7570	012672	000402 				BR	60$		; TO COMMON ROUTINE
   7571						;
   7572	012674				50$:
   7573	012674	012702 	027452'			MOV	#.TPMUL,R2	; DISPATCH TO R2
   7574	012700				60$:
   7575	012700	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
   7576	012702	005046 				CLR	-(SP)		; CREATE A SCRATCH BUFFER ON THE STACK
   7577	012704	005046 				CLR	-(SP)		; .
   7578	012706	005046 				CLR	-(SP)		; ..
   7579	012710	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
   7580	012712					PUSH	R2		; ...SAVE THE DISPATCH POINTER
	012712	010246 				 MOV	R2,-(SP)
   7581	012714					PUSH	R0		; ....SAVE PREVIOUS NUMBER POINTER
	012714	010046 				 MOV	R0,-(SP)
   7582	012716	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
   7583	012720					CALL	.GTFCT		; .....GET THE NEXT FACTOR
	012720	004737 	012740'			 JSR	PC,.GTFCT
   7584	012724	010001 				MOV	R0,R1		; .....POINTER TO R1
   7585	012726					POP	R0		; .....PREVIOUS POINTER TO R0
	012726	012600 				 MOV	(SP)+,R0
   7586	012730					CALL	@(SP)+		; ....DO DIVISION OR MULTIPLICATION
	012730	004736 				 JSR	PC,@(SP)+
   7587	012732	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   7588	012736	000736 				BR	10$		; AND SEE IF THERE IS MORE
   7589						;
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 222
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   7591					.SBTTL	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
   7592
   7593					;+
   7594					; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
   7595					;
   7596					; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
   7597					;
   7598					; DEFINITION OF AN FACTOR:
   7599					;
   7600					; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
   7601					;
   7602					; INPUT ARGUMENTS:
   7603					;
   7604					;	R0 POINTS TO A THREE WORD BUFFER
   7605					;
   7606					; OUTPUT ARGUMENTS:
   7607					;
   7608					;	R0 POINTS TO THE EVALUATED FACTOR
   7609					;
   7610					; ERROR CODES RETURNED:
   7611					;
   7612					;	NONE.
   7613					;-
   7614
   7615						.ENABL	LSB
   7616
   7617	012740				.GTFCT::
   7618	012740	122715 	000136 			CMPB	#'^,(R5)	; SPECIAL RADIX?
   7619	012744	001435 				BEQ	30$		; YES -- GO HANDLE IT
   7620	012746	122715 	000050 			CMPB	#'(,(R5)	; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
   7621	012752	001517 				BEQ	65$		; YES -- GO HANDLE IT
   7622	012754	122715 	000053 			CMPB	#'+,(R5)	; NO -- IS IT A <PLUS>?
   7623	012760	001503 				BEQ	60$		; YES -- GO HANDLE <PLUS>
   7624	012762	122715 	000055 			CMPB	#'-,(R5)	; NO -- IS IT A <MINUS>?
   7625	012766	001500 				BEQ	60$		; YES -- GO HANDLE <MINUS>
   7626	012770					CALL	.GTNBR		; NO -- GO GET A NUMBER
	012770	004737 	013234'			 JSR	PC,.GTNBR
   7627	012774				10$:
   7628	012774	122715 	000047 			CMPB	#'',(R5)	; RELOCATE?
   7629	013000	001404 				BEQ	20$		; YES -- DO IT
   7630	013002	122715 	000042 			CMPB	#'",(R5)	; NO -- UNRELOCATE?
   7631	013006	001401 				BEQ	20$		; YES -- DO IT
   7632	013010				15$:
   7633	013010					RETURN			; TO CALLER
	013010	000207 				 RTS	PC
   7634
   7635					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 223
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   7637					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7638
   7639	013012				20$:
   7640	013012					PUSH	R1		; SAVE R1
	013012	010146 				 MOV	R1,-(SP)
   7641	013014	013701 	000122'			MOV	.RELWD,R1	; .RELOCATION TO R1
   7642	013020	122715 	000042 			CMPB	#'",(R5)	; .UNRELOCATE?
   7643	013024	001001 				BNE	25$		; .NO -- GO ON
   7644	013026	005401 				NEG	R1		; .YES -- NEGATE IT
   7645	013030				25$:
   7646	013030	060110 				ADD	R1,(R0)		; .COMPUTE THE FACTOR
   7647	013032	105725 				TSTB	(R5)+		; .GET OVER THE SYMBOL
   7648	013034					POP	R1		; .RESTORE R1
	013034	012601 				 MOV	(SP)+,R1
   7649	013036	000764 				BR	15$		; AND EXIT
   7650						;
   7651	013040				30$:
   7652	013040	105725 				TSTB	(R5)+		; GET OVER THE UP-ARROW
   7653	013042	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
   7654	013044					CALL	.CKARG		; .LOOK FOR A TRAILING ARGUMENT
	013044	004737 	001712'			 JSR	PC,.CKARG
   7655	013050	001417 				BEQ	GTFILC		; .ERROR IF CC-Z IS SET
   7656	013052					POP	R4		; .RESTORE THE CHARACTER
	013052	012604 				 MOV	(SP)+,R4
   7657	013054	122704 	000103 			CMPB	#'C,R4		; .COMPLEMENT?
   7658	013060	001436 				BEQ	55$		; .YES -- PROCESS COMPLEMENT
   7659	013062					PUSH	.IRADX		; .NO -- SAVE THE CURRENT RADIX
	013062	013746 	000066'			 MOV	.IRADX,-(SP)
   7660	013066	122704 	000104 			CMPB	#'D,R4		; .DECIMAL?
   7661	013072	001415 				BEQ	40$		; .YES -- PROCESS DECIMAL
   7662	013074	122704 	000102 			CMPB	#'B,R4		; .NO -- BINARY?
   7663	013100	001406 				BEQ	35$		; .YES -- PROCESS BINARY
   7664	013102	122704 	000117 			CMPB	#'O,R4		; .NO -- OCTAL?
   7665	013106	001413 				BEQ	45$		; .YES -- PROCESS OCTAL
   7666	013110				GTFILC:
   7667	013110					ERROR$	ILC		; .NO -- GIVE "ILC" ERROR
	013110	012746 				 MOV	(PC)+,-(SP)	; "ILC" IN RAD50 TO STACK
	013112	035043 				 .RAD50	/ILC/		; ERROR IDENTIFIER
	013114	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7668						;
   7669
   7670					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 224
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   7672					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7673
   7674	013116				35$:
   7675	013116	012737 	000002 	000066'		MOV	#^D2,.IRADX	; .SET THE RADIX TO BINARY
   7676	013124	000407 				BR	50$		; .TO COMMON CODE
   7677						;
   7678	013126				40$:
   7679	013126	012737 	000012 	000066'		MOV	#^D10,.IRADX	; .SET THE RADIX TO DECIMAL
   7680	013134	000403 				BR	50$		; .TO COMMON CODE
   7681						;
   7682	013136				45$:
   7683	013136	012737 	000010 	000066'		MOV	#^D8,.IRADX	; .SET THE RADIX TO OCTAL
   7684	013144				50$:
   7685	013144					CALL	.GTFCT		; .GET THE FACTOR
	013144	004737 	012740'			 JSR	PC,.GTFCT
   7686	013150					POP	.IRADX		; .RESTORE THE ORIGINAL RADIX
	013150	012637 	000066'			 MOV	(SP)+,.IRADX
   7687	013154	000707 				BR	10$		; AND EXIT
   7688						;
   7689	013156				55$:
   7690	013156					CALL	.GTFCT		; GET THE FACTOR
	013156	004737 	012740'			 JSR	PC,.GTFCT
   7691	013162					CALL	.TPCOM		; AND INVERT IT
	013162	004737 	027244'			 JSR	PC,.TPCOM
   7692	013166	000702 				BR	10$		; EXIT
   7693						;
   7694	013170				60$:
   7695	013170	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
   7696	013172					CALL	.GTFCT		; .GO LOOK FOR MORE
	013172	004737 	012740'			 JSR	PC,.GTFCT
   7697	013176	122726 	000055 			CMPB	#'-,(SP)+	; .WAS THE PREFIX A <MINUS>?
   7698	013202	001274 				BNE	10$		; NO -- JUST EXIT
   7699	013204					CALL	.TPNEG		; YES -- NEGATE IT
	013204	004737 	027254'			 JSR	PC,.TPNEG
   7700	013210	000671 				BR	10$		; AND EXIT
   7701						;
   7702	013212				65$:
   7703	013212	112504 				MOVB	(R5)+,R4	; GET OVER THE PAREN
   7704	013214					CALL	.GTEXP		; READ THIS EXPRESSION
	013214	004737 	012532'			 JSR	PC,.GTEXP
   7705	013220	122725 	000051 			CMPB	#'),(R5)+	; DID WE END IT PROPERLY?
   7706	013224	001663 				BEQ	10$		; YES -- JUST EXIT
   7707	013226					ERROR$	RPM		; NO -- ERROR -- RIGHT PARENTHESES MISSING
	013226	012746 				 MOV	(PC)+,-(SP)	; "RPM" IN RAD50 TO STACK
	013230	071415 				 .RAD50	/RPM/		; ERROR IDENTIFIER
	013232	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7708						;
   7709
   7710						.DSABL	LSB
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 225
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   7712					.SBTTL	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
   7713
   7714					;+
   7715					; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
   7716					;
   7717					; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
   7718					;
   7719					; INPUT ARGUMENTS:
   7720					;
   7721					;	R0 POINTS TO A THREE WORD BUFFER
   7722					;
   7723					; OUTPUT ARGUMENTS:
   7724					;
   7725					;	R0 POINTS TO THE EVALUATED NUMBER
   7726					;
   7727					; ERROR CODES RETURNED:
   7728					;
   7729					;	NONE.
   7730					;-
   7731
   7732	013234				.GTNBR::
   7733	013234	005037 	000064'			CLR	.INCHC		; CLEAR THE CHARACTER COUNT
   7734	013240					PUSH	R1		; SAVE R1
	013240	010146 				 MOV	R1,-(SP)
   7735	013242	005046 				CLR	-(SP)		; .SET UP THE INPUT RADIX
   7736	013244	005046 				CLR	-(SP)		; ..
   7737	013246					PUSH	.IRADX		; ...SO
	013246	013746 	000066'			 MOV	.IRADX,-(SP)
   7738	013252	010601 				MOV	SP,R1		; ....POINT TO THE INPUT RADIX
   7739	013254				10$:
   7740	013254	112504 				MOVB	(R5)+,R4	; ....GET THE CHARACTER INTO R4
   7741	013256	132764 	000002 	001360'		BITB	#CH.NUM,.CHTAB(R4)
   7742	013264	001422 				BEQ	20$		; ....EXIT IF NON-NUMERIC
   7743	013266	005237 	000064'			INC	.INCHC		; ....INCREMENT THE CHARACTER COUNT
   7744	013272	142704 	177760 			BICB	#^C17,R4	; ....FLUSH ASCII
   7745	013276	120411 				CMPB	R4,(R1)		; ....DID WE EXCEED THE INPUT RADIX?
   7746	013300	002027 				BGE	GTNNOR		; ....YES -- GIVE "NOR" ERROR
   7747	013302					CALL	.TPMUL		; ....NO -- MAKE ROOM FOR THIS DIGIT
	013302	004737 	027452'			 JSR	PC,.TPMUL
   7748	013306					PUSH	(R1)		; ....SAVE THE RADIX
	013306	011146 				 MOV	(R1),-(SP)
   7749	013310	010411 				MOV	R4,(R1)		; .....SET UP TO ADD THIS DIGIT
   7750	013312					CALL	.TPADD		; .....TO THE CUMULATIVE RESULT
	013312	004737 	027362'			 JSR	PC,.TPADD
   7751	013316	032760 	177760 	000004 		BIT	#^C17,4(R0)	; .....HAVE WE OVERFLOWED THE NUMBER?
   7752	013324	001015 				BNE	GTNNOR		; .....YES -- GIVE "NOR" ERROR
   7753	013326					POP	(R1)		; .....NO -- RESTORE THE RADIX
	013326	012611 				 MOV	(SP)+,(R1)
   7754	013330	000751 				BR	10$		; ....AND CONTINUE
   7755						;
   7756
   7757					;	[CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT 	MACRO M1108  13-JAN-78 09:14  PAGE 226
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   7759					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7760
   7761	013332				20$:
   7762	013332	062706 	000006 			ADD	#^D6,SP		; ....FLUSH THE STACK
   7763	013336					POP	R1		; .RESTORE R1
	013336	012601 				 MOV	(SP)+,R1
   7764	013340	105745 				TSTB	-(R5)		; BACK THE INPUT POINTER UP
   7765	013342	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   7766	013346	001401 				BEQ	GTNMRA		; GIVE "MRA" ERROR IF NONE THERE
   7767	013350					RETURN			; TO CALLER
	013350	000207 				 RTS	PC
   7768	013352				GTNMRA:
   7769	013352					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	013352	012746 				 MOV	(PC)+,-(SP)	; "MRA" IN RAD50 TO STACK
	013354	052021 				 .RAD50	/MRA/		; ERROR IDENTIFIER
	013356	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7770						;
   7771	013360				GTNNOR:
   7772	013360					ERROR$	NOR		; ERROR -- NUMBER OUT OF RANGE
	013360	012746 				 MOV	(PC)+,-(SP)	; "NOR" IN RAD50 TO STACK
	013362	054752 				 .RAD50	/NOR/		; ERROR IDENTIFIER
	013364	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7773						;
GTTIM -- TIME EVALUATOR MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 227
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   7775					.TITLE	GTTIM -- TIME EVALUATOR MODULE 7702.15
   7776
   7777						.IDENT	"001020"
   7778
   7779					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   7780					;
   7781					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   7782					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   7783					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   7784					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   7785					;	FOR ITS ACCURACY.
   7786					;
   7787					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   7788					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   7789					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   7790					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   7791					;
   7792					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   7793					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   7794					;
   7795					;
   7796					;		MODULE: TIME EVALUATOR
   7797					;
   7798					;		VERSION: 01-02
   7799					;
   7800					;		AUTHOR: R. BELANGER
   7801					;
   7802					;		DATE: 7702.15
   7803					;
   7804					;	THIS MODULE CONTAINS:
   7805					;
   7806					;	1) TIME EVALUATOR CODE
   7807					;
   7808					; MODIFICATIONS:
   7809					;
   7810					;	NO.	DATE		PROGRAMMER	PURPOSE
   7811					;	---	----		----------	-------
   7812					;	001	15-FEB-77	R. BELANGER	ADD NEW KLINIK FEATURES
GTTIM -- TIME EVALUATOR MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 228
.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   7814					.SBTTL	.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   7815
   7816					;+
   7817					; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
   7818					;
   7819					; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
   7820					; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
   7821					; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
   7822					;
   7823					; INPUT ARGUMENTS:
   7824					;
   7825					;	R0 POINTS TO THE DESTINATION FOR THE VALUE
   7826					;
   7827					; OUTPUT ARGUMENTS:
   7828					;
   7829					;	R0 POINTS TO THE TIME VALUE
   7830					;	CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
   7831					;
   7832					; ERROR CODES RETURNED:
   7833					;
   7834					;	ITF -- ILLEGAL TIME FORMAT
   7835					;	TOR -- TIME OUT OF RANGE
   7836					;-
   7837
   7838	013366				.GTTIM::
   7839	013366	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   7840	013374	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET THE INPUT RADIX TO DECIMAL
   7841	013402					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	013402	010546 				 MOV	R5,-(SP)
	013404	010246 				 MOV	R2,-(SP)
	013406	010146 				 MOV	R1,-(SP)
	013410	010046 				 MOV	R0,-(SP)
   7842	013412	012702 	177777 			MOV	#-^D1,R2	; ....SET DEFAULT ARGUMENT
   7843	013416	012700 	001416'			MOV	#GTTMS0,R0	; ....PROMPT FOR TIME
   7844	013422					CALL	.TYMSF		; ....FORCE IT OUT
	013422	004737 	031426'			 JSR	PC,.TYMSF
   7845	013426	012701 	000240'			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   7846	013432	010105 				MOV	R1,R5		; ....SET UP THE BUFFER POINTER
   7847	013434					CALL	.GTLIN		; ....READ THE INPUT
	013434	004737 	011776'			 JSR	PC,.GTLIN
   7848	013440	001514 				BEQ	30$		; ....EXIT IF NULL (DEFAULT)
   7849
   7850					;	[CONTINUED ON THE FOLLOWING PAGE]
GTTIM -- TIME EVALUATOR MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 229
.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   7852					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7853
   7854	013442					CALL	.CKSYM		; ....GET OVER LEADING BLANKS
	013442	004737 	002112'			 JSR	PC,.CKSYM
   7855	013446	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
   7856	013454	001106 				BNE	30$		; ....EXIT IF E-O-C
   7857	013456					CALL	.CKARG		; ....SEE WHAT FOLLOWS
	013456	004737 	001712'			 JSR	PC,.CKARG
   7858	013462	001516 				BEQ	GTTITF		; ....ERROR IF NON-NUMERIC
   7859	013464	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   7860	013466	005046 				CLR	-(SP)		; .....
   7861	013470	005046 				CLR	-(SP)		; ......
   7862	013472	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   7863	013474					CALL	.GTNBR		; .......READ HOURS
	013474	004737 	013234'			 JSR	PC,.GTNBR
   7864	013500	122704 	000072 			CMPB	#':,R4		; .......IS NEXT CHARACTER A COLON?
   7865	013504	001437 				BEQ	10$		; .......YES -- GO READ MINUTE
   7866	013506					CALL	.CKEOC		; .......NO -- MUST HAVE E-O-C
	013506	004737 	002010'			 JSR	PC,.CKEOC
   7867	013512	005046 				CLR	-(SP)		; .......SET UP A DIVISOR ON THE STACK
   7868	013514	005046 				CLR	-(SP)		; ........
   7869	013516					PUSH	#^D100		; .........SO
	013516	012746 	000144 			 MOV	#^D100,-(SP)
   7870	013522	010601 				MOV	SP,R1		; ..........POINT TO THE DIVISOR
   7871	013524					CALL	.TPDIV		; ..........DO THE DIVISION
	013524	004737 	027000'			 JSR	PC,.TPDIV
   7872	013530	022711 	000073 			CMP	#^D59,(R1)	; ..........IS THE REMAINDER .LT. ^D59?
   7873	013534	002474 				BLT	GTTTOR		; .......... +++001 NO -- GIVE "TOR" ERROR
   7874	013536					PUSH	(R1)		; ..........YES -- SAVE THE REMAINDER
	013536	011146 				 MOV	(R1),-(SP)
   7875	013540	022710 	000027 			CMP	#^D23,(R0)	; ...........IS THE HOUR OK?
   7876	013544	002470 				BLT	GTTTOR		; ........... +++001 NO -- GIVE "TOR" ERROR
   7877	013546	011000 				MOV	(R0),R0		; ...........YES -- GET IT
   7878	013550	012701 	000074 			MOV	#^D60,R1	; ...........MULTIPLIER TO R1
   7879	013554					CALL	$MUL		; ...........DO THE MULTIPLICATION
	013554	004737 	000000G			 JSR	PC,$MUL
   7880	013560	010100 				MOV	R1,R0		; ...........PRODUCT TO R0
   7881	013562	062600 				ADD	(SP)+,R0	; ...........COMPUTE SECONDS SINCE MIDNIGHT
   7882	013564	012701 	000036 			MOV	#^D30,R1	; ..........MULTIPLIER
   7883	013570					CALL	$MUL		; ..........DO IT
	013570	004737 	000000G			 JSR	PC,$MUL
   7884	013574	010102 				MOV	R1,R2		; ..........SAVE IT IN R2
   7885	013576	062706 	000006 			ADD	#^D6,SP		; ..........RESET THE STACK
   7886	013602	000431 				BR	20$		; .......AND EXIT
   7887						;
   7888
   7889					;	[CONTINUED ON THE FOLLOWING PAGE]
GTTIM -- TIME EVALUATOR MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 230
.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   7891					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7892
   7893	013604				10$:
   7894	013604	105725 				TSTB	(R5)+		; .......GET OVER THE COLON
   7895	013606	011000 				MOV	(R0),R0		; .......GET THE HOUR
   7896	013610	022700 	000027 			CMP	#^D23,R0	; .......IS THE HOUR OK?
   7897	013614	002444 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   7898	013616	012701 	000074 			MOV	#^D60,R1	; .......CONVERT TO MINUTES
   7899	013622					CALL	$MUL		; .......SO
	013622	004737 	000000G			 JSR	PC,$MUL
   7900	013626	010102 				MOV	R1,R2		; .......STASH IT AWAY
   7901	013630	010600 				MOV	SP,R0		; .......RESET POINTER
   7902	013632					CALL	.TPCLR		; .......FLUSH THE BUFFER
	013632	004737 	027234'			 JSR	PC,.TPCLR
   7903	013636					CALL	.GTNBR		; .......READ THE NEXT NUMBER
	013636	004737 	013234'			 JSR	PC,.GTNBR
   7904	013642	011000 				MOV	(R0),R0		; .......GET THE MINUTES
   7905	013644	022700 	000073 			CMP	#^D59,R0	; .......IS THE MINUTE OK?
   7906	013650	002426 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   7907	013652	060200 				ADD	R2,R0		; .......ADD THE HOUR
   7908	013654	012701 	000036 			MOV	#^D30,R1	; .......CONVERT TO SECONDS
   7909	013660					CALL	$MUL		; .......SO
	013660	004737 	000000G			 JSR	PC,$MUL
   7910	013664	010102 				MOV	R1,R2		; .......SAVE IT IN R2
   7911	013666				20$:
   7912	013666	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   7913	013672				30$:
   7914	013672					POP	R0		; ....RESTORE R0
	013672	012600 				 MOV	(SP)+,R0
   7915	013674	010210 				MOV	R2,(R0)		; ...SET THE TIME
   7916	013676					POP	<R1,R2,R5>	; ...RESTORE REGISTERS
	013676	012601 				 MOV	(SP)+,R1
	013700	012602 				 MOV	(SP)+,R2
	013702	012605 				 MOV	(SP)+,R5
   7917	013704	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   7918	013712	005737 	000064'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   7919	013716					RETURN			; AND EXIT
	013716	000207 				 RTS	PC
   7920	013720				GTTITF:
   7921	013720					ERROR$	ITF		; ERROR -- ILLEGAL TIME FORMAT
	013720	012746 				 MOV	(PC)+,-(SP)	; "ITF" IN RAD50 TO STACK
	013722	035546 				 .RAD50	/ITF/		; ERROR IDENTIFIER
	013724	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7922						;
   7923	013726				GTTTOR:				;  +++001
   7924	013726					ERROR$	TOR		; +++001 ERROR -- TIME OUT OF RANGE
	013726	012746 				 MOV	(PC)+,-(SP)	; "TOR" IN RAD50 TO STACK
	013730	077552 				 .RAD50	/TOR/		; ERROR IDENTIFIER
	013732	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   7925						;
   7926
   7927	001416				.PSECT	MESSAG
   7928
   7929	001416				GTTMS0:
   7930	001416	   124 	   111 	   115 		.ASCIZ	%TIME: %
	001421	   105 	   072 	   040
	001424	   000
GTTIM -- TIME EVALUATOR MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 230-1
.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   7931
   7932	013734				.PSECT
   7933
GTR50 -- RADIX 50 INPUT MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 231
.GTTIM	-- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   7935					.TITLE	GTR50 -- RADIX 50 INPUT MODULE 7603.30
   7936
   7937						.IDENT	"001010"
   7938
   7939					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   7940					;
   7941					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   7942					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   7943					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   7944					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   7945					;	FOR ITS ACCURACY.
   7946					;
   7947					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   7948					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   7949					;
   7950					;
   7951					;		MODULE: RADIX 50 INPUT
   7952					;
   7953					;		VERSION: 01-01
   7954					;
   7955					;		AUTHOR: R. BELANGER
   7956					;
   7957					;		DATE: 7603.30
   7958					;
   7959					;	THIS MODULE CONTAINS:
   7960					;
   7961					;	1) RADIX 50 INPUT CODE
GTR50 -- RADIX 50 INPUT MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 232
.GTR50 -- GET A .RAD50 WORD 7602.18

   7963					.SBTTL	.GTR50 -- GET A .RAD50 WORD 7602.18
   7964
   7965					;+
   7966					; .GTR50 -- GET A .RAD50 WORD
   7967					;
   7968					; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
   7969					; INPUT STREAM TO .RAD50 FORMAT.
   7970					;
   7971					; INPUT ARGUMENTS:
   7972					;
   7973					;	R5 POINTS TO THE INPUT STREAM.
   7974					;
   7975					; OUTPUT ARGUMENTS:
   7976					;
   7977					;	R0 HOLDS THE .RAD50 SYMBOL.
   7978					;
   7979					; ERROR CODES RETURNED:
   7980					;
   7981					;	NONE.
   7982					;	IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
   7983					;-
GTR50 -- RADIX 50 INPUT MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 233
.GTR50 -- GET A .RAD50 WORD 7602.18

   7985	013734				.GTR50::
   7986	013734					PUSH	<R1,R2>		; SAVE REGISTERS
	013734	010146 				 MOV	R1,-(SP)
	013736	010246 				 MOV	R2,-(SP)
   7987	013740	005046 				CLR	-(SP)		; ..SAVE A BUFFER
   7988	013742	012702 	001350'			MOV	#.T50TB,R2	; ...FACTOR TABLE POINTER TO R2
   7989	013746				10$:
   7990	013746	012201 				MOV	(R2)+,R1	; ...GET CURRENT MULTIPLIER
   7991	013750	001427 				BEQ	50$		; ...DONE IF .EQ. 0
   7992	013752	112500 				MOVB	(R5)+,R0	; ...GET THE CHARACTER INTO R0
   7993	013754	120027 	000101 			CMPB	R0,#'A		; ...IS IT ALPHABETIC?
   7994	013760	103403 				BLO	20$		; ...NO -- TRY NUMERIC
   7995	013762	120027 	000132 			CMPB	R0,#'Z		; ...IS IT REALLY ALPHABETIC?
   7996	013766	101410 				BLOS	30$		; ...YES -- ADD IT TO RESULT
   7997	013770				20$:
   7998	013770	120027 	000060 			CMPB	R0,#'0		; ...NO -- IS IT NUMERIC?
   7999	013774	103413 				BLO	40$		; ...NO -- EXIT
   8000	013776	120027 	000071 			CMPB	R0,#'9		; ...YES -- IS IT REALLY NUMERIC?
   8001	014002	101010 				BHI	40$		; ...NO -- EXIT
   8002	014004	162700 	177722 			SUB	#<<'0-36>-<'A-1>>,R0
   8003	014010				30$:
   8004	014010	162700 	000100 			SUB	#<'A-1>,R0	; ...CONVERT ALPHABETIC
   8005	014014					CALL	$MUL		; ...COMPUTE CHARACTER VALUE
	014014	004737 	000000G			 JSR	PC,$MUL
   8006	014020	060116 				ADD	R1,(SP)		; ...ACCUMULATE RESULT
   8007	014022	000751 				BR	10$		; ...AND GET NEXT CHARACTER
   8008						;
   8009	014024				40$:
   8010	014024	105745 				TSTB	-(R5)		; ...BACK UP THE BYTE POINTER
   8011	014026	010004 				MOV	R0,R4		; ...PUT THE CHARACTER IN R4
   8012	014030				50$:
   8013	014030					POP	R0		; ...RETURN THE RESULT
	014030	012600 				 MOV	(SP)+,R0
   8014	014032					POP	<R2,R1>		; ..RESTORE REGISTERS
	014032	012602 				 MOV	(SP)+,R2
	014034	012601 				 MOV	(SP)+,R1
   8015	014036	005700 				TST	R0		; LOOK AT R0
   8016	014040					RETURN			; TO CALLER
	014040	000207 				 RTS	PC
HALTC -- HALT FUNCTION MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 234
.GTR50 -- GET A .RAD50 WORD 7602.18

   8018					.TITLE	HALTC -- HALT FUNCTION MODULE 7707.12
   8019
   8020						.IDENT	"003060"
   8021
   8022					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   8023					;
   8024					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   8025					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   8026					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   8027					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8028					;	FOR ITS ACCURACY.
   8029					;
   8030					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   8031					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   8032					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   8033					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   8034					;
   8035					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   8036					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   8037					;
   8038					;
   8039					;		MODULE: HALT FUNCTION
   8040					;
   8041					;		VERSION: 03-06
   8042					;
   8043					;		AUTHOR: R. BELANGER
   8044					;
   8045					;		DATE: 7707.12
   8046					;
   8047					;	THIS MODULE CONTAINS:
   8048					;
   8049					;	1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 235
.HALTC -- THE "HALT" COMMAND 7710.11

   8051					.SBTTL	.HALTC -- THE "HALT" COMMAND 7710.11
   8052
   8053					;+
   8054					; .HALTC -- THE "HALT" COMMAND
   8055					;
   8056					; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
   8057					; AND DEPOSIT ARE STILL SUPPORTED).
   8058					;
   8059					; INPUT ARGUMENTS:
   8060					;
   8061					;	NONE.
   8062					;
   8063					; OUTPUT ARGUMENTS:
   8064					;
   8065					;	NONE.
   8066					;
   8067					; ERROR CODES RETURNED:
   8068					;
   8069					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   8070					;-
   8071
   8072	014042				.HALTC::
   8073	014042					CALL	.CKEOC		; CHECK E-O-C
	014042	004737 	002010'			 JSR	PC,.CKEOC
   8074	014046					CALLR	.KLSTP		; HALT THE KL AND RETURN
	014046	000137 	015220'			 JMP	.KLSTP
   8075						;
INICP -- COMMAND PARSER INITIAL	MACRO M1108  13-JAN-78 09:14  PAGE 236
.HALTC -- THE "HALT" COMMAND 7710.11

   8077					.TITLE	INICP -- COMMAND PARSER INITIALIZATION MODULE 7603.30
   8078
   8079						.IDENT	"001010"
   8080
   8081					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8082					;
   8083					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8084					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8085					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8086					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8087					;	FOR ITS ACCURACY.
   8088					;
   8089					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8090					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8091					;
   8092					;
   8093					;		MODULE: COMMAND PARSER INITIALIZATION
   8094					;
   8095					;		VERSION: 01-01
   8096					;
   8097					;		AUTHOR: R. BELANGER
   8098					;
   8099					;		DATE: 7603.30
   8100					;
   8101					;	THIS MODULE CONTAINS:
   8102					;
   8103					;	1) COMMAND PARSER INITIALIZATION CODE
   8104
   8105						.MCALL	ALUN$, CLEF$S, DIR$, SETF$S, SVTK$S
INICP -- COMMAND PARSER INITIAL	MACRO M1108  13-JAN-78 09:14  PAGE 237
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   8107					.SBTTL	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   8108
   8109					;+
   8110					; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
   8111					;
   8112					; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
   8113					; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
   8114					; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
   8115					;
   8116					; INPUT ARGUMENTS:
   8117					;
   8118					;	NONE.
   8119					;
   8120					; OUTPUT ARGUMENTS:
   8121					;
   8122					;	NONE.
   8123					;
   8124					; ERROR CODES RETURNED:
   8125					;
   8126					;	IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
   8127					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   8128					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   8129					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
   8130					;-
   8131
   8132	014052				.INICP::
   8133	014052	010637 	000136'			MOV	SP,.SVESP	; INIT THE STACK POINTER
   8134	014056	005005 				CLR	R5		; CLEAR THE GPR'S
   8135	014060	005004 				CLR	R4
   8136	014062	005003 				CLR	R3
   8137	014064	005002 				CLR	R2
   8138	014066	005001 				CLR	R1
   8139	014070	005000 				CLR	R0
   8140	014072					SVTK$S	#.SSTTB,#SSTLEN	; INIT SST'S
	014072	012746 	000010 			MOV	#SSTLEN,-(SP)
	014076	012746 	000174'			MOV	#.SSTTB,-(SP)
	014102	012746 				MOV	(PC)+,-(SP)
	014104	   071 	   003 			.BYTE	57.,3
	014106	104375 				EMT	375
   8141	014110	103442 				BCS	10$		; DIE IF WE CAN'T DO THAT MUCH
   8142	014112					DIR$	#.ASCOD		; ASSIGN THE CONSOLE OUTPUT DEVICE
	014112	012746 	014232'			MOV	#.ASCOD,-(SP)
	014116	104375 				EMT	375
   8143	014120	103436 				BCS	10$		; DIE IF WE CAN'T DO THAT, EITHER
   8144	014122					DIR$	#.ASCID		; ASSIGN THE CONSOLE INPUT DEVICE
	014122	012746 	014222'			MOV	#.ASCID,-(SP)
	014126	104375 				EMT	375
   8145	014130	103432 				BCS	10$		; GIVE ERROR TRAP IF CC-C IS SET
   8146
   8147					;	[CONTINUED ON THE FOLLOWING PAGE]
INICP -- COMMAND PARSER INITIAL	MACRO M1108  13-JAN-78 09:14  PAGE 238
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   8149					; 	[CONTINUED FROM THE PREVIOUS PAGE]
   8150
   8151	014132					CLEF$S	#E.FCTC		; CLEAR CONTROL-C EVENT FLAG
	014132	012746 	000000G			MOV	#E.FCTC,-(SP)
	014136	012746 				MOV	(PC)+,-(SP)
	014140	   037 	   002 			.BYTE	31.,2
	014142	104375 				EMT	375
   8152	014144					CLEF$S	#E.FHTO		; CLEAR HALT TIMEOUT EVENT FLAG
	014144	012746 	000001 			MOV	#E.FHTO,-(SP)
	014150	012746 				MOV	(PC)+,-(SP)
	014152	   037 	   002 			.BYTE	31.,2
	014154	104375 				EMT	375
   8153	014156					CLEF$S	#E.FCID		; CLEAR CONSOLE INPUT DONE EVENT FLAG
	014156	012746 	000002 			MOV	#E.FCID,-(SP)
	014162	012746 				MOV	(PC)+,-(SP)
	014164	   037 	   002 			.BYTE	31.,2
	014166	104375 				EMT	375
   8154	014170					SETF$S	#E.FCOD		; SET CONSOLE OUTPUT DONE EVENT FLAG
	014170	012746 	000003 			MOV	#E.FCOD,-(SP)
	014174	012746 				MOV	(PC)+,-(SP)
	014176	   041 	   002 			.BYTE	33.,2
	014200	104375 				EMT	375
   8155					.IF NE	FTLIST
   8156						SETF$S	#E.FLOD		; SET LIST DEVICE OUTPUT DONE EVENT FLAG
   8157					.ENDC		; FTLIST
   8158	014202					CALL	.TCRLF		; INIT CONSOLE
	014202	004737 	031524'			 JSR	PC,.TCRLF
   8159	014206					CALL	.INIC0		; INIT ".KLFLG"
	014206	004737 	014540'			 JSR	PC,.INIC0
   8160	014212	000177 	163716 			JMP	@.STRTV		; START THE PARSER
   8161						;
   8162	014216				10$:
   8163	014216					CALLR	.EXITP		; EXIT GRACEFULLY
	014216	000137 	007754'			 JMP	.EXITP
   8164						;
INICP -- COMMAND PARSER INITIAL	MACRO M1108  13-JAN-78 09:14  PAGE 239
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   8166					; ASSIGN CONSOLE INPUT DEVICE
   8167
   8168	014222				.ASCID::
   8169	014222					ALUN$	CIDLUN,TT,0
	014222	   007 	   004 			.BYTE	7,4
	014224	000001 				.WORD	CIDLUN
	014226	   124 				.ASCII	/T/
	014227	   124 				.ASCII	/T/
	014230	000000 				.WORD	0
   8170
   8171					; ASSIGN CONSOLE OUTPUT DEVICE
   8172
   8173	014232				.ASCOD::
   8174	014232					ALUN$	CODLUN,TT,0
	014232	   007 	   004 			.BYTE	7,4
	014234	000002 				.WORD	CODLUN
	014236	   124 				.ASCII	/T/
	014237	   124 				.ASCII	/T/
	014240	000000 				.WORD	0
INIT -- INTIALIZATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 240
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   8176					.TITLE	INIT -- INTIALIZATION MODULE 7603.30
   8177
   8178						.IDENT	"001010"
   8179
   8180					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8181					;
   8182					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8183					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8184					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8185					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8186					;	FOR ITS ACCURACY.
   8187					;
   8188					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8189					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8190					;
   8191					;
   8192					;		MODULE: INITIALIZATION
   8193					;
   8194					;		VERSION: 01-01
   8195					;
   8196					;		AUTHOR: R. BELANGER
   8197					;
   8198					;		DATE: 7603.30
   8199					;
   8200					;	THIS MODULE CONTAINS:
   8201					;
   8202					;	1) BUFFER INITIALIZATION CODE
   8203					;	2) ".KLFLG" INITIALIZATION CODE
   8204
   8205						.MCALL	SETF$S
INIT -- INTIALIZATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 241
.INIT -- INITIALIZATION SUBROUTINE 7509.26

   8207					.SBTTL	.INIT -- INITIALIZATION SUBROUTINE 7509.26
   8208
   8209					;+
   8210					; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
   8211					;
   8212					; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
   8213					; THE FOLLOWING REGISTERS:
   8214					;
   8215					;	(A) ".KLFLG" -- THE KL STATUS FLAG WORD,
   8216					;	(B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
   8217					;	(C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
   8218					;
   8219					; INPUT ARGUMENTS:
   8220					;
   8221					;	NONE.
   8222					;
   8223					; OUTPUT ARGUMENTS:
   8224					;
   8225					;	".KLFLG" IS SET UP
   8226					;
   8227					; ERROR CODES RETURNED:
   8228					;
   8229					;	CES -- KL CLOCK ERROR STOP.
   8230					;	CFH -- CAN'T FIND KL HALT LOOP.
   8231					;	DSF -- DTE-20 STATUS FAILURE.
   8232					;	FRF -- FUNCTION READ FAILED.
   8233					;	FWF -- FUNCTION WRITE FAILED.
   8234					;-
   8235
   8236	014242				.INIT::
   8237	014242					PUSH	R0		; SAVE R0
	014242	010046 				 MOV	R0,-(SP)
   8238	014244	000257 				CCC			; .CLEAR N, Z, V, C BITS
   8239	014246	012700 	000214'			MOV	#.DFBLK,R0	; .CLEAR THE DF BUFFERS
   8240	014252				10$:
   8241	014252	005020 				CLR	(R0)+		; .CLEAR A WORD
   8242	014254	020027 	000240'			CMP	R0,#DFBEND	; .ARE WE DONE?
   8243	014260	103774 				BLO	10$		; .NO -- KEEP GOING
   8244	014262	012737 	000200 	000000G		MOV	#KF.DEF,.KLFLG	; .YES -- INIT ".KLFLG"
   8245	014270					POP	R0		; .RESTORE R0
	014270	012600 				 MOV	(SP)+,R0
   8246
   8247					;	[CONTINUED ON THE FOLLOWING PAGE]
INIT -- INTIALIZATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 242
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   8249					.SBTTL	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   8250
   8251					;+
   8252					; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
   8253					;
   8254					; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
   8255					; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
   8256					;
   8257					;	(A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
   8258					;	(B) "KF.RUN" -- KL RUN FLOP SET FLAG,
   8259					;	(C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
   8260					;
   8261					; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
   8262					; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
   8263					;
   8264					; INPUT ARGUMENTS:
   8265					;
   8266					;	NONE.
   8267					;
   8268					; OUTPUT ARGUMENTS:
   8269					;
   8270					;	".KLFLG" IS SET UP.
   8271					;
   8272					; ERROR CODES RETURNED:
   8273					;
   8274					;	CES -- KL CLOCK ERROR STOP.
   8275					;	CFH -- CAN'T FIND KL HALT LOOP.
   8276					;	DSF -- DTE-20 STATUS FAILURE.
   8277					;	DTC -- DTE-20 CONFUSED.
   8278					;	FRF -- FUNCTION READ FAILED.
   8279					;	FWF -- FUNCTION WRITE FAILED.
   8280					;-
INIT -- INTIALIZATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 243
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   8282	014272				.INKLF::
   8283	014272					SETF$S	#E.FHTO		; SET THE HALT TIMEOUT EVENT FLAG
	014272	012746 	000001 			MOV	#E.FHTO,-(SP)
	014276	012746 				MOV	(PC)+,-(SP)
	014300	   041 	   002 			.BYTE	33.,2
	014302	104375 				EMT	375
   8284	014304	103501 				BCS	60$		; ERROR IF CC-C IS SET
   8285	014306					PUSH	<R0,R1,R2,R3>	; SAVE CALLER'S REGISTERS
	014306	010046 				 MOV	R0,-(SP)
	014310	010146 				 MOV	R1,-(SP)
	014312	010246 				 MOV	R2,-(SP)
	014314	010346 				 MOV	R3,-(SP)
   8286	014316					CALL	.DTSTA		; ....READ THE DTE-20 STATUS REGISTER
	014316	004737 	004760'			 JSR	PC,.DTSTA
   8287	014322	032700 	000010 			BIT	#ST.MOD,R0	; ....IS THE DTE-20 PRIVILEGED?
   8288	014326	001072 				BNE	INIDNP		; ....UGH, BLETCH -- NO
   8289	014330					CALL	.CESCK		; ....YES -- SEE IF CLOCK ERROR STOP IS UP
	014330	004737 	001630'			 JSR	PC,.CESCK
   8290	014334	012702 	000000G			MOV	#.KLFLG,R2	; ....FLAG POINTER TO R2
   8291	014340	042712 	140000 			BIC	#KF.CLK!KF.RUN,(R2)
   8292									; ....CLEAR THE CLOCK AND RUNNING FLAGS
   8293	014344	005037 	000044'			CLR	.EDKLX		; ....RESET THE ADDRESS TO ZERO
   8294	014350	005037 	000046'			CLR	.EDKLX+2	; ....
   8295	014354	012700 	000200 			MOV	#ED.PHY,R0	; ....PHYSICAL REFERENCE
   8296	014360	012701 	014530'			MOV	#.INEXT,R1	; ....POINT TO DATA BLOCK
   8297	014364					CALL	.EXKLM		; ....EXAMINE KL MEMORY
	014364	004737 	005500'			 JSR	PC,.EXKLM
   8298	014370	052712 	100200 			BIS	#KF.CON!KF.CLK,(R2)
   8299									; ....SET THE CLOCK RUNNING FLAG
   8300	014374	012703 	000144 			MOV	#^D100,R3	; ....LOOP COUNT TO R3
   8301	014400				10$:
   8302	014400					CALL	.DTDW1		; ....READ DIAG WORD 1
	014400	004737 	004742'			 JSR	PC,.DTDW1
   8303	014404	032700 	002000 			BIT	#D1.RUN,R0	; ....IS RUN ON?
   8304	014410	001002 				BNE	20$		; ....YES -- GO ON
   8305	014412	077306 				SOB	R3,10$		; ....NO -- LOOP TILL COUNT EXHAUSTED
   8306	014414	000405 				BR	30$		; ....CAN'T FIND IT, GIVE UP
   8307						;
   8308
   8309					;	[CONTINUED ON THE FOLLOWING PAGE]
INIT -- INTIALIZATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 244
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   8311					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8312
   8313	014416				20$:
   8314	014416	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP THERE TOO?
   8315	014422	001037 				BNE	INIDTC		; ....YES -- GIVE "DTC" ERROR
   8316	014424	052712 	040000 			BIS	#KF.RUN,(R2)	; ....NO -- FOUND IT OK, SET THE FLAG
   8317	014430				30$:
   8318	014430	011237 	000140'			MOV	(R2),.SVKLF	; ....SAVE THE CURRENT KL STATE
   8319	014434					CALL	.KLSTP		; ....STOP THE KL
	014434	004737 	015220'			 JSR	PC,.KLSTP
   8320	014440					CALL	.RDCPP		; ....READ THE CLOCK BOARD
	014440	004737 	017602'			 JSR	PC,.RDCPP
   8321	014444	005001 				CLR	R1		; ....CLEAR R1
   8322	014446	012700 	000264 			MOV	#FR.132,R0	; ....SEE IF KL OPCODES ARE ENABLED
   8323	014452					CALL	.FREAD		; ....READ IT
	014452	004737 	010644'			 JSR	PC,.FREAD
   8324	014456	032760 	000200 	000002 		BIT	#BIT07,2(R0)	; ....ARE THEY ENABLED?
   8325	014464	001402 				BEQ	40$		; ....NO -- JUST GO ON
   8326	014466	052712 	000400 			BIS	#KF.KLO,(R2)	; ....YES -- SET THE FLAG BIT
   8327	014472				40$:
   8328	014472					CALL	.KLRST		; ....RESTART THE KL
	014472	004737 	015036'			 JSR	PC,.KLRST
   8329	014476					POP	<R3,R2,R1,R0>	; ....RESTORE CALLER'S REGISTERS
	014476	012603 				 MOV	(SP)+,R3
	014500	012602 				 MOV	(SP)+,R2
	014502	012601 				 MOV	(SP)+,R1
	014504	012600 				 MOV	(SP)+,R0
   8330	014506					RETURN			; TO CALLER
	014506	000207 				 RTS	PC
   8331	014510				60$:
   8332	014510	000137 	007754'			JMP	.EXITP		; ERROR EXIT
   8333						;
   8334	014514				INIDNP:
   8335	014514					ERROR$	DNP		; ERROR -- DTE-20 NOT PRIVILEGED
	014514	012746 				 MOV	(PC)+,-(SP)	; "DNP" IN RAD50 TO STACK
	014516	015500 				 .RAD50	/DNP/		; ERROR IDENTIFIER
	014520	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   8336						;
   8337	014522				INIDTC:
   8338	014522					ERROR$	DTC		; ERROR --DTE-20 CONFUSED
	014522	012746 				 MOV	(PC)+,-(SP)	; "DTC" IN RAD50 TO STACK
	014524	016043 				 .RAD50	/DTC/		; ERROR IDENTIFIER
	014526	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   8339						;
   8340	014530				.INEXT:
   8341	014530	000044'				.WORD	.EDKLX		; ADDRESS 0
   8342	014532	000056'				.WORD	.EXBFR		; PLACE FOR DATA
INITC -- INITIALIZE COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 245
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   8344					.TITLE	INITC -- INITIALIZE COMMAND MODULE 7602.16
   8345
   8346						.IDENT	"002010"
   8347
   8348					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   8349					;
   8350					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   8351					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   8352					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   8353					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8354					;	FOR ITS ACCURACY.
   8355					;
   8356					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   8357					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   8358					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   8359					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   8360					;
   8361					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   8362					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   8363					;
   8364					;
   8365					;		MODULE: INITIALIZE COMMAND
   8366					;
   8367					;		VERSION: 02-01
   8368					;
   8369					;		AUTHOR: R. BELANGER
   8370					;
   8371					;		DATE: 7602.16
   8372					;
   8373					;	THIS MODULE CONTAINS:
   8374					;
   8375					;	1) INITIALIZE COMMAND CODE
   8376					;
   8377					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
INITC -- INITIALIZE COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 246
.INITC -- THE "INITIALIZE" COMMAND 7602.16

   8379					.SBTTL	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   8380
   8381					;+
   8382					; .INITC -- THE "INITIALIZE" COMMAND
   8383					;
   8384					; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
   8385					;
   8386					; INPUT ARGUMENTS:
   8387					;
   8388					;	NONE.
   8389					;
   8390					; OUTPUT ARGUMENTS:
   8391					;
   8392					;	".KLFLG" IS SET UP
   8393					;
   8394					; ERROR CODES RETURNED:
   8395					;
   8396					;	NONE.
   8397					;-
   8398
   8399	014534				.INITC::
   8400	014534					CALL	.CKEOC		; CHECK FOR E-O-C
	014534	004737 	002010'			 JSR	PC,.CKEOC
   8401	014540				.INIC0::
   8402	014540					CALL	.INKLF		; INIT THE PARSER
	014540	004737 	014272'			 JSR	PC,.INKLF
   8403	014544					RETURN			; AND EXIT
	014544	000207 				 RTS	PC
KLCON -- KL CONTINUE FUNCTION M	MACRO M1108  13-JAN-78 09:14  PAGE 247
.INITC -- THE "INITIALIZE" COMMAND 7602.16

   8405					.TITLE	KLCON -- KL CONTINUE FUNCTION MODULE 7707.12
   8406
   8407						.IDENT	"003060"
   8408
   8409					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   8410					;
   8411					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   8412					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   8413					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   8414					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8415					;	FOR ITS ACCURACY.
   8416					;
   8417					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   8418					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   8419					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   8420					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   8421					;
   8422					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   8423					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   8424					;
   8425					;
   8426					;		MODULE: KL CONTINUE FUNCTION
   8427					;
   8428					;		VERSION: 03-06
   8429					;
   8430					;		AUTHOR: R. BELANGER
   8431					;
   8432					;		DATE: 7707.12
   8433					;
   8434					;	THIS MODULE CONTAINS:
   8435					;
   8436					;	1) KL CONTINUE FUNCTION CODE
KLCON -- KL CONTINUE FUNCTION M	MACRO M1108  13-JAN-78 09:14  PAGE 248
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   8438					.SBTTL	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   8439
   8440					;+
   8441					; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
   8442					; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
   8443					;
   8444					; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
   8445					; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
   8446					;
   8447					; SEQUENCE OF OPERATION:
   8448					;
   8449					; .KLCON:
   8450					;
   8451					;	(A) THE KL CONTINUE FLOP IS SET,
   8452					;
   8453					; .KLGO:
   8454					;
   8455					;	(A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
   8456					;	(B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
   8457					;	    OR SINGLE PULSE MODE.
   8458					;
   8459					; INPUT ARGUMENTS:
   8460					;
   8461					;	NONE.
   8462					;
   8463					; OUTPUT ARGUMENTS:
   8464					;
   8465					;	NONE.
   8466					;
   8467					; ERROR CODES RETURNED:
   8468					;
   8469					;	CFH -- CAN'T FIND KL HALT LOOP.
   8470					;	CSK -- CAN'T START KL.
   8471					;	DSF -- DTE-20 STATUS FAILURE.
   8472					;	FRF -- FUNCTION READ FAILED.
   8473					;	FWF -- FUNCTION WRITE FAILED.
   8474					;	FXF -- FUNCTION EXECUTE FAILED.
   8475					;-
KLCON -- KL CONTINUE FUNCTION M	MACRO M1108  13-JAN-78 09:14  PAGE 249
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   8477	014546				.KLCON::
   8478	014546					PUSH	R1		; SAVE R1 ON THE STACK
	014546	010146 				 MOV	R1,-(SP)
   8479	014550	012701 	000000G			MOV	#.KLFLG,R1	; .FLAG WORD POINTER TO R1
   8480	014554				.KLGO::
   8481	014554	032711 	002000 			BIT	#KF.SPM,(R1)	; .SINGLE PULSE MODE?
   8482	014560	001027 				BNE	30$		; .YES -- JUST EXIT
   8483	014562	032711 	010000 			BIT	#KF.SIM,(R1)	; .NO -- SINGLE INSTRUCTION MODE?
   8484	014566	001002 				BNE	10$		; .YES -- GO ON
   8485	014570					CALL	.STRUN		; .NO -- SET THE KL RUN FLOP
	014570	004737 	026636'			 JSR	PC,.STRUN
   8486	014574				10$:
   8487	014574	012700 	000024 			MOV	#FX.CON,R0	; .SET THE CONTINUE BUTTON
   8488	014600					CALL	.FXCT		; .DO IT
	014600	004737 	011074'			 JSR	PC,.FXCT
   8489	014604	032711 	100000 			BIT	#KF.CLK,(R1)	; .IS THE CLOCK RUNNING?
   8490	014610	001002 				BNE	20$		; .YES -- EXIT
   8491	014612					CALL	.STCLK		; .NO -- START THE KL CLOCK
	014612	004737 	026300'			 JSR	PC,.STCLK
   8492	014616				20$:
   8493	014616	011100 				MOV	(R1),R0		; .GET ".KLFLG" INTO R0
   8494	014620	005100 				COM	R0		; .INVERT IT
   8495	014622	032700 	140000 			BIT	#KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
   8496	014626	001004 				BNE	30$		; .NO -- JUST EXIT
   8497	014630	052711 	000200 			BIS	#KF.CON,(R1)	; .YES -- KL IS NOW CONTINUEABLE
   8498	014634	105037 	000000G			CLRB	.NOHLT		; .LET RSX20F CATCH KL HALTS
   8499	014640				30$:
   8500	014640					POP	R1		; .RESTORE R1
	014640	012601 				 MOV	(SP)+,R1
   8501	014642					RETURN			; EXIT
	014642	000207 				 RTS	PC
KLHLT -- HALT KL FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 250
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   8503					.TITLE	KLHLT -- HALT KL FUNCTION MODULE 7603.30
   8504
   8505						.IDENT	"001010"
   8506
   8507					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8508					;
   8509					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8510					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8511					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8512					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8513					;	FOR ITS ACCURACY.
   8514					;
   8515					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8516					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8517					;
   8518					;
   8519					;		MODULE: HALT KL FUNCTION
   8520					;
   8521					;		VERSION: 01-01
   8522					;
   8523					;		AUTHOR: R. BELANGER
   8524					;
   8525					;		DATE: 7603.30
   8526					;
   8527					;	THIS MODULE CONTAINS:
   8528					;
   8529					;	1) KL HALT FUNCTION CODE
KLHLT -- HALT KL FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 251
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   8531					.SBTTL	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   8532
   8533					;+
   8534					; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
   8535					;	    AND SYNCH THE EBOX CLOCK LOW.
   8536					;
   8537					; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
   8538					; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
   8539					;
   8540					; SEQUENCE OF OPERATION:
   8541					;
   8542					;	(A) THE KL RUN FLOP IS TURNED OFF,
   8543					;	(B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
   8544					;	(C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
   8545					;	(D) THE KL CLOCK IS TURNED OFF,
   8546					;	(E) THE KL CLOCK IS SYNCHED LOW.
   8547					;
   8548					; INPUT ARGUMENTS:
   8549					;
   8550					;	NONE.
   8551					;
   8552					; OUTPUT ARGUMENTS:
   8553					;
   8554					;	NONE.
   8555					;
   8556					; ERROR CODES RETURNED:
   8557					;
   8558					;	CFH -- CAN'T FIND KL HALT LOOP.
   8559					;	DSF -- DTE-20 STATUS FAILURE.
   8560					;	FWF -- FUNCTION WRITE FAILED.
   8561					;	FXF -- FUNCTION EXECUTE FAILED.
   8562					;
   8563					; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
   8564					;-
   8565
   8566	014644				.KLHLT::
   8567	014644					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	014644	010046 				 MOV	R0,-(SP)
	014646	010146 				 MOV	R1,-(SP)
	014650	010246 				 MOV	R2,-(SP)
   8568	014652					CALL	.DTDW1		; ...READ DIAG WORD 1
	014652	004737 	004742'			 JSR	PC,.DTDW1
   8569	014656	032700 	004000 			BIT	#D1.CES,R0	; ...IS CLOCK ERROR STOP UP?
   8570	014662	001016 				BNE	40$		; ...YES -- JUST EXIT
   8571	014664					CALL	.CLRFF		; ...NO -- CLEAR THE RUN FLOP
	014664	004737 	002266'			 JSR	PC,.CLRFF
   8572	014670	012701 	000024 			MOV	#^D20,R1	; ...SET UP WAIT COUNT
   8573
   8574					;	[CONTINUED ON THE FOLLOWING PAGE]
KLHLT -- HALT KL FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 252
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   8576					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8577
   8578	014674				10$:
   8579	014674					CALL	.DTDW1		; ...READ THE DTE-20 DIAG WORD 1
	014674	004737 	004742'			 JSR	PC,.DTDW1
   8580	014700	032700 	001000 			BIT	#D1.HLP,R0	; ...IN THE HALT LOOP YET?
   8581	014704	001001 				BNE	20$		; ...YES -- EXIT
   8582	014706	077106 				SOB	R1,10$		; ...NO -- TRY TILL COUNT EXHAUSTED
   8583	014710				20$:
   8584	014710	005701 				TST	R1		; ...IS R1 .GT. 0?
   8585	014712	003407 				BLE	50$		; ...NO -- GO MOVE THE CLOCK MANUALLY
   8586	014714				30$:
   8587	014714					CALL	.STPXC		; ...STOP THE KL CLOCK
	014714	004737 	026354'			 JSR	PC,.STPXC
   8588	014720				40$:
   8589	014720					POP	<R2,R1,R0>	; ...RESTORE CALLER'S REGISTERS
	014720	012602 				 MOV	(SP)+,R2
	014722	012601 				 MOV	(SP)+,R1
	014724	012600 				 MOV	(SP)+,R0
   8590	014726					CALLR	.SYNXC		; SYNCH THE EBOX CLOCK LOW AND EXIT
	014726	000137 	026760'			 JMP	.SYNXC
   8591						;
   8592
   8593					; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
   8594					; THIS MEANS THAT:
   8595					;
   8596					;	(A) MICROCODE WASN'T RUNNING, OR
   8597					;	(B) MICROCODE WASN'T LOADED.
   8598
   8599	014732				50$:
   8600	014732					CALL	.STPXC		; ...MAKE SURE THE CLOCK IS OFF
	014732	004737 	026354'			 JSR	PC,.STPXC
   8601	014736	012702 	000012 			MOV	#^D10,R2	; ...ITERATION COUNT TO R2
   8602	014742				60$:
   8603	014742	012700 	000310 			MOV	#^D200,R0	; ...200 (DECIMAL) CLOCKS PER PASS
   8604	014746					CALL	.BURST		; ...BURST THE CLOCK
	014746	004737 	001600'			 JSR	PC,.BURST
   8605	014752					CALL	.DTDW1		; ...READ DTE-20 DIAG WORD 1
	014752	004737 	004742'			 JSR	PC,.DTDW1
   8606	014756	032700 	001000 			BIT	#D1.HLP,R0	; ...ARE WE IN HALT LOOP NOW?
   8607	014762	001354 				BNE	30$		; ...YES -- GO STOP AND SYNCH THE CLOCK
   8608	014764	077212 				SOB	R2,60$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   8609	014766				KLHCFH:
   8610	014766					ERROR$	CFH		; ERROR -- CAN'T FIND HALT LOOP
	014766	012746 				 MOV	(PC)+,-(SP)	; "CFH" IN RAD50 TO STACK
	014770	011670 				 .RAD50	/CFH/		; ERROR IDENTIFIER
	014772	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   8611						;
KLMTB -- KLINIK MODE TABLE MODU	MACRO M1108  13-JAN-78 09:14  PAGE 253
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   8613					.TITLE	KLMTB -- KLINIK MODE TABLE MODULE 7702.16
   8614
   8615						.IDENT	"003000"
   8616
   8617					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   8618					;
   8619					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   8620					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   8621					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   8622					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8623					;	FOR ITS ACCURACY.
   8624					;
   8625					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   8626					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   8627					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   8628					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   8629					;
   8630					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   8631					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   8632					;
   8633					;
   8634					;		MODULE: KLINIK MODE TABLE
   8635					;
   8636					;		VERSION: 03-00
   8637					;
   8638					;		AUTHOR: R. BELANGER
   8639					;
   8640					;		DATE: 7702.16
   8641					;
   8642					;	THIS MODULE CONTAINS:
   8643					;
   8644					;	1) THE KLINIK MODE TABLE
   8645					;
   8646					;	MODIFICATIONS
   8647					;
   8648					;	NO.	DATE		PROGRAMMER	PURPOSE
   8649					;	---	----		----------	--------
   8650					;	001	16-FEB-77	R. BELANGER	NEW KLINIK FEATURES
KLMTB -- KLINIK MODE TABLE MODU	MACRO M1108  13-JAN-78 09:14  PAGE 254
.KLMTB -- THE KLINIK MODE TABLE 7702.16

   8652					.SBTTL	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   8653
   8654	014774				.KLMTB::
   8655	014774					COMND$	MAINTENANCE,LG.ALL,LG.ALL
	001425	   115 	   101 	   111 		 .ASCIZ	%MAINTENANCE%
	001430	   116 	   124 	   105
	001433	   116 	   101 	   116
	001436	   103 	   105 	   000
	014774	001425'				 .WORD	$$CMDN		; POINTER TO "MAINTENANCE" SYMBOL
	014776	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015000	000007 				 .WORD	LG.ALL		; ROUTINE TO CALL
   8656	015002					COMND$	OPERATOR,LG.ALL,LG.OPR
	001441	   117 	   120 	   105 		 .ASCIZ	%OPERATOR%
	001444	   122 	   101 	   124
	001447	   117 	   122 	   000
	015002	001441'				 .WORD	$$CMDN		; POINTER TO "OPERATOR" SYMBOL
	015004	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015006	000001 				 .WORD	LG.OPR		; ROUTINE TO CALL
   8657	015010					COMND$	PROGRAMMER,LG.ALL,LG.PRM
	001452	   120 	   122 	   117 		 .ASCIZ	%PROGRAMMER%
	001455	   107 	   122 	   101
	001460	   115 	   115 	   105
	001463	   122 	   000
	015010	001452'				 .WORD	$$CMDN		; POINTER TO "PROGRAMMER" SYMBOL
	015012	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015014	000003 				 .WORD	LG.PRM		; ROUTINE TO CALL
   8658	015016	000000 				.WORD	0		; END OF TABLE MARKER
   8659
   8660	015020				.KLMT1::
   8661	015020					COMND$	REMOTE,LG.ALL,1
	001465	   122 	   105 	   115 		 .ASCIZ	%REMOTE%
	001470	   117 	   124 	   105
	001473	   000
	015020	001465'				 .WORD	$$CMDN		; POINTER TO "REMOTE" SYMBOL
	015022	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015024	000001 				 .WORD	1		; ROUTINE TO CALL
   8662	015026					COMND$	USER,LG.ALL,-1
	001474	   125 	   123 	   105 		 .ASCIZ	%USER%
	001477	   122 	   000
	015026	001474'				 .WORD	$$CMDN		; POINTER TO "USER" SYMBOL
	015030	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015032	177777 				 .WORD	-1		; ROUTINE TO CALL
   8663	015034	000000 				.WORD	0		; END OF TABLE MARKER
KLRST -- KL RESTART FUNCTION MO	MACRO M1108  13-JAN-78 09:14  PAGE 255
.KLMTB -- THE KLINIK MODE TABLE 7702.16

   8665					.TITLE	KLRST -- KL RESTART FUNCTION MODULE 7512.22
   8666
   8667						.IDENT	"002010"
   8668
   8669					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   8670					;
   8671					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   8672					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   8673					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   8674					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8675					;	FOR ITS ACCURACY.
   8676					;
   8677					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   8678					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   8679					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   8680					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   8681					;
   8682					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   8683					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   8684					;
   8685					;
   8686					;		MODULE: KL RESTART FUNCTION
   8687					;
   8688					;		VERSION: 02-01
   8689					;
   8690					;		AUTHOR: R. BELANGER
   8691					;
   8692					;		DATE: 7512.22
   8693					;
   8694					;	THIS MODULE CONTAINS:
   8695					;
   8696					;	1) KL RESTART CODE
   8697					;
   8698					;	MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN THE ".NOHLT" FLAG
KLRST -- KL RESTART FUNCTION MO	MACRO M1108  13-JAN-78 09:14  PAGE 256
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   8700					.SBTTL	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   8701
   8702					;+
   8703					; .KLRST -- SUBROUTINE TO RESTART THE KL.
   8704					;
   8705					; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
   8706					; THE SAVED KL STATE FLAG WORD.
   8707					;
   8708					; INPUT ARGUMENTS:
   8709					;
   8710					;	THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
   8711					;
   8712					; OUTPUT ARGUMENTS:
   8713					;
   8714					;	".SVKLF" IS CLEARED.
   8715					;
   8716					; ERROR CODES RETURNED:
   8717					;
   8718					;	CFH -- CAN'T FIND KL HALT LOOP.
   8719					;	DSF -- DTE-20 STATUS FAILURE.
   8720					;	FRF -- FUNCTION READ FAILED.
   8721					;	FWF -- FUNCTION WRITE FAILED.
   8722					;	FXF -- FUNCTION EXECUTE FAILED.
   8723					;-
KLRST -- KL RESTART FUNCTION MO	MACRO M1108  13-JAN-78 09:14  PAGE 257
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   8725	015036				.KLRST::
   8726	015036					PUSH	<R1,R0>		; SAVE R0 AND R1
	015036	010146 				 MOV	R1,-(SP)
	015040	010046 				 MOV	R0,-(SP)
   8727	015042	013701 	000140'			MOV	.SVKLF,R1	; ..GET COPY OF OLD FLAGS
   8728	015046	032701 	013000 			BIT	#KF.SPM!KF.SIM!KF.BRM,R1
   8729	015052	001016 				BNE	20$		; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
   8730	015054	005101 				COM	R1		; ..INVERT R1
   8731	015056	032701 	140000 			BIT	#KF.RUN!KF.CLK,R1
   8732	015062	001011 				BNE	10$		; ..BRANCH IF NOT RUNNING
   8733	015064					CALL	.STRUN		; ..SET THE RUN FLOP
	015064	004737 	026636'			 JSR	PC,.STRUN
   8734	015070	012700 	000024 			MOV	#FX.CON,R0	; ..NOW DO THE CONTINUE BUTTON
   8735	015074					CALL	.FXCT		; ..SO
	015074	004737 	011074'			 JSR	PC,.FXCT
   8736	015100	013701 	000140'			MOV	.SVKLF,R1	; ..ELSE GET THE WORD AGAIN
   8737	015104	000406 				BR	30$		; ..AND GO AWAY
   8738						;
   8739	015106				10$:
   8740	015106	005101 				COM	R1		; ..STRAIGHTEN R1 OUT
   8741	015110				20$:
   8742	015110	032701 	040000 			BIT	#KF.RUN,R1	; ..WAS RUN FLOP SET?
   8743	015114	001402 				BEQ	30$		; ..NO -- GO ON
   8744	015116					CALL	.STRUN		; ..YES -- SET THE RUN FLOP
	015116	004737 	026636'			 JSR	PC,.STRUN
   8745	015122				30$:
   8746	015122	032701 	100000 			BIT	#KF.CLK,R1	; ..WAS CLOCK RUNNING?
   8747	015126	001413 				BEQ	40$		; ..NO -- JUST EXIT
   8748	015130	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ..YES -- IS THE CLOCK ALREADY ON?
   8749	015136	001007 				BNE	40$		; ..YES -- JUST EXIT
   8750	015140					CALL	.STCLK		; ..NO -- START THE CLOCK
	015140	004737 	026300'			 JSR	PC,.STCLK
   8751	015144	032701 	040000 			BIT	#KF.RUN,R1	; ..DID WE LET IT RUN ?
   8752	015150	001402 				BEQ	40$		; ..NO -- JUST EXIT
   8753	015152	105037 	000000G			CLRB	.NOHLT		; ..YES -- LET RSX20F CHECK FOR HALTS
   8754	015156				40$:
   8755	015156					POP	<R0,R1>		; ..RESTORE R0 AND R1
	015156	012600 				 MOV	(SP)+,R0
	015160	012601 				 MOV	(SP)+,R1
   8756	015162	005037 	000140'			CLR	.SVKLF		; RESET ".SVKLF"
   8757	015166					RETURN			; AND EXIT
	015166	000207 				 RTS	PC
KLST -- KL START FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 258
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   8759					.TITLE	KLST -- KL START FUNCTION MODULE 7603.30
   8760
   8761						.IDENT	"001010"
   8762
   8763					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8764					;
   8765					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8766					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8767					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8768					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8769					;	FOR ITS ACCURACY.
   8770					;
   8771					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8772					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8773					;
   8774					;
   8775					;		MODULE: KL START FUNCTION
   8776					;
   8777					;		VERSION: 01-01
   8778					;
   8779					;		AUTHOR: R. BELANGER
   8780					;
   8781					;		DATE: 7603.30
   8782					;
   8783					;	THIS MODULE CONTAINS:
   8784					;
   8785					;	1) CONDITIONALLY ASSEMBLED KL START CODE
KLST -- KL START FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 259
.KLST -- SUBROUTINE TO START THE KL 7512.08

   8787					.SBTTL	.KLST -- SUBROUTINE TO START THE KL 7512.08
   8788
   8789					; .KLST -- SUBROUTINE TO START THE KL.
   8790					;
   8791					; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
   8792					; POINTED T0 BY R1 IN THE CALL.
   8793					;
   8794					; SEQUENCE OF OPERATION:
   8795					;
   8796					;	(A) THE KL IS STOPPED IN THE HALT LOOP,
   8797					;	(B) THE PC WORD IS LOADED INTO THE AR REGISTER,
   8798					;	(C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
   8799					;
   8800					; INPUT ARGUMENTS:
   8801					;
   8802					;	R1 POINTS TO A 23 BIT KL ADDRESS
   8803					;
   8804					; OUTPUT ARGUMENTS:
   8805					;
   8806					;	NONE.
   8807					;
   8808					; ERROR CODES RETURNED:
   8809					;
   8810					;	CFH -- CAN'T FIND KL HALT LOOP.
   8811					;	CSK -- CAN'T START KL.
   8812					;	DSF -- DTE-20 STATUS FAILURE.
   8813					;	FRF -- FUNCTION READ FAILED.
   8814					;	FWF -- FUNCTION WRITE FAILED.
   8815					;	FXF -- FUNCTION EXECUTE FAILED.
   8816					;
   8817					; NOTE:
   8818					;
   8819					;	THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
   8820					;-
KLST -- KL START FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 260
.KLST -- SUBROUTINE TO START THE KL 7512.08

   8822	015170				.KLST::
   8823	015170					PUSH	R1		; SAVE POINTER ON THE STACK
	015170	010146 				 MOV	R1,-(SP)
   8824	015172					CALL	.KLHLT		; .HALT THE KL
	015172	004737 	014644'			 JSR	PC,.KLHLT
   8825	015176	011601 				MOV	(SP),R1		; .GET THE POINTER
   8826	015200	012700 	000176 			MOV	#FW.LAR,R0	; .LOAD THE AR REGISTER
   8827	015204					CALL	.FWRIT		; .DO IT
	015204	004737 	010740'			 JSR	PC,.FWRIT
   8828	015210	012701 	000000G			MOV	#.KLFLG,R1	; .POINT TO ".KLFLG"
   8829	015214					CALLR	.KLGO		; .AND FINISH THE START
	015214	000137 	014554'			 JMP	.KLGO
   8830						;
KLSTP -- KL STOP FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 261
.KLST -- SUBROUTINE TO START THE KL 7512.08

   8832					.TITLE	KLSTP -- KL STOP FUNCTION MODULE 7603.30
   8833
   8834						.IDENT	"001010"
   8835
   8836					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8837					;
   8838					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8839					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8840					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8841					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8842					;	FOR ITS ACCURACY.
   8843					;
   8844					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8845					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8846					;
   8847					;
   8848					;		MODULE: KL STOP FUNCTION
   8849					;
   8850					;		VERSION: 01-01
   8851					;
   8852					;		AUTHOR: R. BELANGER
   8853					;
   8854					;		DATE: 7603.30
   8855					;
   8856					;	THIS MODULE CONTAINS:
   8857					;
   8858					;	1) KL STOP CODE
KLSTP -- KL STOP FUNCTION MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 262
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19

   8860					.SBTTL	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   8861
   8862					;+
   8863					; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
   8864					;
   8865					; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
   8866					; AND EXIT WITH THE KL CLOCK RUNNING.
   8867					;
   8868					; INPUT ARGUMENTS:
   8869					;
   8870					;	NONE.
   8871					;
   8872					; OUTPUT ARGUMENTS:
   8873					;
   8874					;	NONE.
   8875					;
   8876					; ERROR CODES RETURNED:
   8877					;
   8878					;	CFH -- CAN'T FIND HALT LOOP.
   8879					;	DSF -- DTE-20 STATUS FAILURE.
   8880					;	FXF -- FUNCTION EXECUTE FAILED.
   8881					;-
   8882
   8883	015220				.KLSTP::
   8884	015220	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK OFF?
   8885	015226	001002 				BNE	10$		; NO -- GO ON
   8886	015230					CALLR	.KLHLT		; YES -- HALT THE KL
	015230	000137 	014644'			 JMP	.KLHLT
   8887						;
   8888	015234				10$:
   8889	015234					PUSH	<R0,R1>		; SAVE R0 AND R1 ON THE STACK
	015234	010046 				 MOV	R0,-(SP)
	015236	010146 				 MOV	R1,-(SP)
   8890	015240	012701 	000144 			MOV	#^D100,R1	; ..SETUP WAIT COUNT
   8891	015244					CALL	.CLRFF		; ..CLEAR THE RUN FLOP
	015244	004737 	002266'			 JSR	PC,.CLRFF
   8892	015250				20$:
   8893	015250					CALL	.DTDW1		; ..READ DIAG WORD 1
	015250	004737 	004742'			 JSR	PC,.DTDW1
   8894	015254	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
   8895	015260	001001 				BNE	30$		; ..YES -- GO ON
   8896	015262	077106 				SOB	R1,20$		; ..NO -- KEEP TRYING
   8897	015264				30$:
   8898	015264	005701 				TST	R1		; ..IS R1 .GT. 0?
   8899	015266	003403 				BLE	KLSCFH		; ..NO -- GIVE "CFH" ERROR
   8900	015270					POP	<R1,R0>		; ..YES -- RESTORE REGISTERS
	015270	012601 				 MOV	(SP)+,R1
	015272	012600 				 MOV	(SP)+,R0
   8901	015274					RETURN			; TO CALLER
	015274	000207 				 RTS	PC
   8902	015276				KLSCFH:
   8903	015276					ERROR$	CFH		; ERROR -- CAN'T FIND KL HALT LOOP
	015276	012746 				 MOV	(PC)+,-(SP)	; "CFH" IN RAD50 TO STACK
	015300	011670 				 .RAD50	/CFH/		; ERROR IDENTIFIER
	015302	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
   8904						;
KLXCT -- KL EXECUTE FUNCTION MO	MACRO M1108  13-JAN-78 09:14  PAGE 263
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19

   8906					.TITLE	KLXCT -- KL EXECUTE FUNCTION MODULE 7603.30
   8907
   8908						.IDENT	"001010"
   8909
   8910					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8911					;
   8912					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8913					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8914					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8915					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8916					;	FOR ITS ACCURACY.
   8917					;
   8918					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8919					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8920					;
   8921					;
   8922					;		MODULE: KL EXECUTE FUNCTION
   8923					;
   8924					;		VERSION: 01-01
   8925					;
   8926					;		AUTHOR: R. BELANGER
   8927					;
   8928					;		DATE: 7603.30
   8929					;
   8930					;	THIS MODULE CONTAINS:
   8931					;
   8932					;	1) KL EXECUTE FUNCTION CODE
KLXCT -- KL EXECUTE FUNCTION MO	MACRO M1108  13-JAN-78 09:14  PAGE 264
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10

   8934					.SBTTL	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   8935
   8936					;+
   8937					; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
   8938					;
   8939					; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
   8940					; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
   8941					;
   8942					; SEQUENCE OF OPERATION:
   8943					;
   8944					;	(A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
   8945					;	(B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
   8946					;	(C) THE KL CONTINUE FLOP IS SET.
   8947					;
   8948					; INPUT ARGUMENTS:
   8949					;
   8950					;	R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
   8951					;
   8952					; OUTPUT ARGUMENTS:
   8953					;
   8954					;	NONE.
   8955					;
   8956					; ERROR CODES RETURNED:
   8957					;
   8958					;	CFH -- CAN'T FIND KL HALT LOOP.
   8959					;	DSF -- DTE-20 STATUS FAILURE.
   8960					;	FRF -- FUNCTION READ FAILED.
   8961					;	FWF -- FUNCTION WRITE FAILED.
   8962					;	FXF -- FUNCTION EXECUTE FAILED.
   8963					;-
   8964
   8965	015304				.KLXCT::
   8966	015304					CALL	.KLHLT		; STOP THE KL IN THE HALT LOOP
	015304	004737 	014644'			 JSR	PC,.KLHLT
   8967	015310	012700 	000176 			MOV	#FW.LAR,R0	; LOAD THE AR REGISTER
   8968	015314					CALL	.FWRIT		; DO IT
	015314	004737 	010740'			 JSR	PC,.FWRIT
   8969	015320	012700 	000024 			MOV	#FX.CON,R0	; SET THE "CONTINUE BUTTON"
   8970	015324					CALLR	.FXCT		; DO IT AND RETURN
	015324	000137 	011074'			 JMP	.FXCT
   8971						;
LDBRC -- KL CLOCK BURST COUNTER	MACRO M1108  13-JAN-78 09:14  PAGE 265
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10

   8973					.TITLE	LDBRC -- KL CLOCK BURST COUNTER LOAD FUNCTION MODULE 7603.30
   8974
   8975						.IDENT	"001010"
   8976
   8977					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   8978					;
   8979					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   8980					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   8981					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   8982					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   8983					;	FOR ITS ACCURACY.
   8984					;
   8985					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   8986					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   8987					;
   8988					;
   8989					;		MODULE: KL CLOCK BURST COUNTER LOAD FUNCTION
   8990					;
   8991					;		VERSION: 01-01
   8992					;
   8993					;		AUTHOR: R. BELANGER
   8994					;
   8995					;		DATE: 7603.30
   8996					;
   8997					;	THIS MODULE CONTAINS:
   8998					;
   8999					;	1) KL CLOCK BURST COUNTER LOAD CODE
LDBRC -- KL CLOCK BURST COUNTER	MACRO M1108  13-JAN-78 09:14  PAGE 266
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   9001					.SBTTL	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   9002
   9003					;+
   9004					; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
   9005					;	    MBOX BURST COUNT REGISTER AS IN ".LDBRG".
   9006					; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
   9007					;
   9008					; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
   9009					; WITH THE COUNT PASSED TO IT IN R0.
   9010					;
   9011					; INPUT ARGUMENTS:
   9012					;
   9013					;	R0 CONTAINS THE CLOCK COUNT
   9014					;
   9015					; OUTPUT ARGUMENTS:
   9016					;
   9017					;	NONE.
   9018					;
   9019					; ERROR CODES RETURNED:
   9020					;
   9021					;	FWF -- FUNCTION WRITE FAILED.
   9022					;	FXF -- FUNCTION EXECUTE FAILED.
   9023					;-
LDBRC -- KL CLOCK BURST COUNTER	MACRO M1108  13-JAN-78 09:14  PAGE 267
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   9025	015330				.LDBRC::
   9026	015330					CALL	.STPXC		; STOP THE KL CLOCK
	015330	004737 	026354'			 JSR	PC,.STPXC
   9027	015334				.LDBRG::
   9028	015334					PUSH	<R1,R0>		; SAVE R1 AND R0 ON THE STACK
	015334	010146 				 MOV	R1,-(SP)
	015336	010046 				 MOV	R0,-(SP)
   9029	015340					CALL	.CLDFB		; ..CLEAR THE DFW BUFFERS
	015340	004737 	002234'			 JSR	PC,.CLDFB
   9030	015344	011600 				MOV	(SP),R0		; ..GET THE BURST COUNT FROM THE STACK
   9031	015346	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   9032	015352	010037 	000214'			MOV	R0,.DFWB	; ..SET RIGHT COUNT IN THE BUFFER
   9033	015356	012700 	000104 			MOV	#FW.LBR,R0	; ..SET UP TO LOAD THE RIGHT HALF
   9034	015362	005001 				CLR	R1		; ..CLEAR R1
   9035	015364					CALL	.FWRIT		; ..DO IT
	015364	004737 	010740'			 JSR	PC,.FWRIT
   9036	015370	011600 				MOV	(SP),R0		; ..GET THE ORIGINAL COUNT FROM THE STACK
   9037	015372	012701 	177774 			MOV	#-^D4,R1	; ..SHIFT COUNT TO R1
   9038	015376					CALL	.SHIFT		; ..SHIFT IT RIGHT 4 PLACES
	015376	004737 	025702'			 JSR	PC,.SHIFT
   9039	015402	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   9040	015406	010037 	000214'			MOV	R0,.DFWB	; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
   9041	015412	005001 				CLR	R1		; ..CLEAR R1
   9042	015414	012700 	000106 			MOV	#FW.LBL,R0	; ..SET UP TO LOAD THE LEFT HALF
   9043	015420					CALL	.FWRIT		; ..DO IT
	015420	004737 	010740'			 JSR	PC,.FWRIT
   9044	015424					POP	<R0,R1>		; ..RESTORE R0 AND R1
	015424	012600 				 MOV	(SP)+,R0
	015426	012601 				 MOV	(SP)+,R1
   9045	015430					RETURN			; AND LEAVE
	015430	000207 				 RTS	PC
LDCPC -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 268
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   9047					.TITLE	LDCPC -- KL CLOCK AND PARITY CONTROL LOAD FUNCTION MODULE 7603.30
   9048
   9049						.IDENT	"001010"
   9050
   9051					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   9052					;
   9053					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   9054					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   9055					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   9056					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9057					;	FOR ITS ACCURACY.
   9058					;
   9059					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   9060					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   9061					;
   9062					;
   9063					;		MODULE: KL CLOCK AND PARITY CONTROL LOAD
   9064					;
   9065					;		VERSION: 01-01
   9066					;
   9067					;		AUTHOR: R. BELANGER
   9068					;
   9069					;		DATE: 7603.30
   9070					;
   9071					;	THIS MODULE CONTAINS:
   9072					;
   9073					;	1) KL CLOCK CONTROL LOAD CODE
   9074					;	2) KL PARITY CONTROL LOAD CODE
LDCPC -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 269
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   9076					.SBTTL	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   9077
   9078					;+
   9079					; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
   9080					; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
   9081					;
   9082					; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
   9083					; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
   9084					;
   9085					; SEQUENCE OF OPERATION:
   9086					;
   9087					; .LDCLK:
   9088					;
   9089					;	(A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
   9090					;	    PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
   9091					;	(B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
   9092					;	    CLOCK STATUS WORD (".CLKWD").
   9093					;
   9094					; .LDPAR:
   9095					;
   9096					;	(A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
   9097					;	    PARITY CONTROL REGISTER,
   9098					;	(B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
   9099					;	    CONTROL WORD (".PSCWD").
   9100					;
   9101					; INPUT ARGUMENTS:
   9102					;
   9103					;	R1 POINTS TO A PARAMETER WORD
   9104					;
   9105					; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   9106					;
   9107					;		!========================================!
   9108					;		!   DISTRIBUTION   !   SOURCE AND RATE   !
   9109					;		!========================================!
   9110					;
   9111					; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   9112					;
   9113					;		!========================================!
   9114					;		!   CONTROL BITS   !   CLOCK STOP BITS	 !
   9115					;		!========================================!
   9116					;
   9117					; OUTPUT ARGUMENTS:
   9118					;
   9119					;	R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
   9120					;
   9121					; ERROR CODES RETURNED:
   9122					;
   9123					;	FWF -- FUNCTION WRITE FAILED.
   9124					;-
LDCPC -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 270
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   9126						.ENABL	LSB
   9127
   9128	015432				.LDCLK::
   9129	015432					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	015432	004537 	021556'			 JSR	R5,.REGSV
   9130	015436	012703 	000010'			MOV	#.CLKWD,R3	; CONTROL WORD POINTER TO R3
   9131	015442	012704 	000110 			MOV	#FW.CSR,R4	; BASE CLOCK WRITE TO R4
   9132	015446	000406 				BR	10$		; DO COMMON CODE
   9133						;
   9134	015450				.LDPAR::
   9135	015450					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	015450	004537 	021556'			 JSR	R5,.REGSV
   9136	015454	012703 	000116'			MOV	#.PSCWD,R3	; CONTROL WORD POINTER TO R3
   9137	015460	012704 	000114 			MOV	#FW.IPE,R4	; BASE PARITY WRITE TO R4
   9138									; FALL INTO COMMON CODE
   9139	015464				10$:
   9140	015464	010102 				MOV	R1,R2		; CALLER'S PARAMETER POINTER TO R2
   9141	015466					CALL	.CLDFW		; CLEAR THE WRITE BUFFER
	015466	004737 	002250'			 JSR	PC,.CLDFW
   9142	015472	005001 				CLR	R1		; CLEAR R1
   9143	015474	111237 	000214'			MOVB	(R2),.DFWB	; SET LOW BYTE PARAMETER
   9144	015500	010400 				MOV	R4,R0		; DFW CODE TO R0
   9145	015502					CALL	.FWRIT		; DO IT
	015502	004737 	010740'			 JSR	PC,.FWRIT
   9146	015506	112223 				MOVB	(R2)+,(R3)+	; MARK THE NEW LOW BYTE CODE
   9147	015510	005724 				TST	(R4)+		; NEXT WRITE CODE
   9148	015512	111210 				MOVB	(R2),(R0)	; SET THE HIGH BYTE PARAMETERS
   9149	015514	010400 				MOV	R4,R0		; DFW CODE TO R0
   9150	015516					CALL	.FWRIT		; DO IT
	015516	004737 	010740'			 JSR	PC,.FWRIT
   9151	015522	111223 				MOVB	(R2),(R3)+	; MARK THE NEW HIGH BYTE CODE
   9152	015524	014300 				MOV	-(R3),R0	; PUT A COPY IN R0
   9153	015526					RETURN			; EXIT
	015526	000207 				 RTS	PC
   9154
   9155						.DSABL	LSB
LDCRA -- KL CRAM ADDRESS LOAD F	MACRO M1108  13-JAN-78 09:14  PAGE 271
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   9157					.TITLE	LDCRA -- KL CRAM ADDRESS LOAD FUNCTION MODULE 7603.30
   9158
   9159						.IDENT	"001010"
   9160
   9161					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   9162					;
   9163					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   9164					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   9165					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   9166					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9167					;	FOR ITS ACCURACY.
   9168					;
   9169					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   9170					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   9171					;
   9172					;
   9173					;		MODULE: KL CRAM ADDRESS LOAD FUNCTION
   9174					;
   9175					;		VERSION: 01-01
   9176					;
   9177					;		AUTHOR: R. BELANGER
   9178					;
   9179					;		DATE: 7603.30
   9180					;
   9181					;	THIS MODULE CONTAINS:
   9182					;
   9183					;	1) KL CRAM ADDRESS LOAD CODE
LDCRA -- KL CRAM ADDRESS LOAD F	MACRO M1108  13-JAN-78 09:14  PAGE 272
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   9185					.SBTTL	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
   9186
   9187					;+
   9188					; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
   9189					;	    KL CRAM ADDRESS REGISTER.
   9190					;
   9191					; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
   9192					; KL CRAM ADDRESS REGISTER.
   9193					;
   9194					; SEQUENCE OF OPERATION:
   9195					;
   9196					;	(A) THE KL CLOCK IS TURNED OFF (BY (B)),
   9197					;	(B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
   9198					;	(C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
   9199					;
   9200					; INPUT ARGUMENTS:
   9201					;
   9202					;	R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
   9203					;
   9204					; OUTPUT ARGUMENTS:
   9205					;
   9206					;	NONE.
   9207					;
   9208					; ERROR CODES RETURNED:
   9209					;
   9210					;	FWF -- FUNCTION WRITE FAILED.
   9211					;-
LDCRA -- KL CRAM ADDRESS LOAD F	MACRO M1108  13-JAN-78 09:14  PAGE 273
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   9213	015530				.LDCRA::
   9214	015530	042700 	170000 			BIC	#170000,R0	; CLEAR UNUSED BITS
   9215	015534					PUSH	<R1,R0>		; PUT R0 AND R1 ON THE STACK
	015534	010146 				 MOV	R1,-(SP)
	015536	010046 				 MOV	R0,-(SP)
   9216	015540					CALL	.RESTP		; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
	015540	004737 	021504'			 JSR	PC,.RESTP
   9217									; ..ALSO RETAIN CLOCK AND PARITY CONTROL
   9218	015544					CALL	.CLDFW		; ..CLEAR THE FW BUFFER
	015544	004737 	002250'			 JSR	PC,.CLDFW
   9219	015550	012700 	000214'			MOV	#.DFWB,R0	; ..SET UP THE BUFFER ADDRESS
   9220	015554	011610 				MOV	(SP),(R0)	; ..LOAD THE ADDRESS FROM THE STACK
   9221	015556	001427 				BEQ	10$		; ..LEAVE NOW IF ZERO
   9222	015560	042710 	174077 			BIC	#174077,(R0)	; ..CLEAR UNWANTED BITS
   9223	015564	012701 	000030 			MOV	#^D24,R1	; ..SHIFT COUNT TO R1
   9224	015570					CALL	.TPSHI		; ..SHIFT IT OVER
	015570	004737 	027636'			 JSR	PC,.TPSHI
   9225	015574	005001 				CLR	R1		; ..CLEAR R1
   9226	015576	012700 	000124 			MOV	#FW.CA2,R0	; ..SET UP TO WRITE IT
   9227	015602					CALL	.FWRIT		; ..DO IT
	015602	004737 	010740'			 JSR	PC,.FWRIT
   9228	015606	011610 				MOV	(SP),(R0)	; ..GET ADDRESS FROM THE STACK AGAIN
   9229	015610	042710 	177700 			BIC	#177700,(R0)	; ..CLEAR UNWANTED BITS
   9230	015614	012701 	000036 			MOV	#^D30,R1	; ..SHIFT COUNT TO R1
   9231	015620					CALL	.TPSHI		; ..SHIFT THAT OVER
	015620	004737 	027636'			 JSR	PC,.TPSHI
   9232	015624	005001 				CLR	R1		; ..CLEAR R1
   9233	015626	012700 	000122 			MOV	#FW.CA1,R0	; ..SET UP TO WRITE IT
   9234	015632					CALL	.FWRIT		; ..DO IT
	015632	004737 	010740'			 JSR	PC,.FWRIT
   9235	015636				10$:
   9236	015636					POP	<R0,R1>		; ..RESTORE REGISTERS
	015636	012600 				 MOV	(SP)+,R0
	015640	012601 				 MOV	(SP)+,R1
   9237	015642					RETURN			; EXIT TO CALLER
	015642	000207 				 RTS	PC
MONTB -- MONTH TABLE MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 274
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   9239					.TITLE	MONTB -- MONTH TABLE MODULE 7702.16
   9240
   9241						.IDENT	"003000"
   9242
   9243					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   9244					;
   9245					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   9246					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   9247					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   9248					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9249					;	FOR ITS ACCURACY.
   9250					;
   9251					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   9252					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   9253					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   9254					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   9255					;
   9256					;		MODULE: MONTH TABLE
   9257					;
   9258					;		VERSION: 03-00
   9259					;
   9260					;		AUTHOR: R. BELANGER
   9261					;
   9262					;		DATE: 7702.16
   9263					;
   9264					;	THIS MODULE CONTAINS:
   9265					;
   9266					;	1) MONTH TABLE
   9267					;
   9268					;	MODIFICATIONS:
   9269					;
   9270					;	NO.	DATE		PROGRAMMER	REASON
   9271					;	---	----		----------	------
   9272					;	001	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
MONTB -- MONTH TABLE MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 275
.MONTB -- THE MONTH TABLE 7702.16

   9274					.SBTTL	.MONTB -- THE MONTH TABLE 7702.16
   9275
   9276
   9277	015644				.MONTB::
   9278	015644					COMND$	JANUARY,LG.ALL,1.
	001501	   112 	   101 	   116 		 .ASCIZ	%JANUARY%
	001504	   125 	   101 	   122
	001507	   131 	   000
	015644	001501'				 .WORD	$$CMDN		; POINTER TO "JANUARY" SYMBOL
	015646	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015650	000001 				 .WORD	1.		; ROUTINE TO CALL
   9279	015652					COMND$	FEBRUARY,LG.ALL,2.
	001511	   106 	   105 	   102 		 .ASCIZ	%FEBRUARY%
	001514	   122 	   125 	   101
	001517	   122 	   131 	   000
	015652	001511'				 .WORD	$$CMDN		; POINTER TO "FEBRUARY" SYMBOL
	015654	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015656	000002 				 .WORD	2.		; ROUTINE TO CALL
   9280	015660					COMND$	MARCH,LG.ALL,3.
	001522	   115 	   101 	   122 		 .ASCIZ	%MARCH%
	001525	   103 	   110 	   000
	015660	001522'				 .WORD	$$CMDN		; POINTER TO "MARCH" SYMBOL
	015662	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015664	000003 				 .WORD	3.		; ROUTINE TO CALL
   9281	015666					COMND$	APRIL,LG.ALL,4.
	001530	   101 	   120 	   122 		 .ASCIZ	%APRIL%
	001533	   111 	   114 	   000
	015666	001530'				 .WORD	$$CMDN		; POINTER TO "APRIL" SYMBOL
	015670	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015672	000004 				 .WORD	4.		; ROUTINE TO CALL
   9282	015674					COMND$	MAY,LG.ALL,5.
	001536	   115 	   101 	   131 		 .ASCIZ	%MAY%
	001541	   000
	015674	001536'				 .WORD	$$CMDN		; POINTER TO "MAY" SYMBOL
	015676	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015700	000005 				 .WORD	5.		; ROUTINE TO CALL
   9283	015702					COMND$	JUNE,LG.ALL,6.
	001542	   112 	   125 	   116 		 .ASCIZ	%JUNE%
	001545	   105 	   000
	015702	001542'				 .WORD	$$CMDN		; POINTER TO "JUNE" SYMBOL
	015704	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015706	000006 				 .WORD	6.		; ROUTINE TO CALL
   9284	015710					COMND$	JULY,LG.ALL,7.
	001547	   112 	   125 	   114 		 .ASCIZ	%JULY%
	001552	   131 	   000
	015710	001547'				 .WORD	$$CMDN		; POINTER TO "JULY" SYMBOL
	015712	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015714	000007 				 .WORD	7.		; ROUTINE TO CALL
   9285	015716					COMND$	AUGUST,LG.ALL,8.
	001554	   101 	   125 	   107 		 .ASCIZ	%AUGUST%
	001557	   125 	   123 	   124
	001562	   000
	015716	001554'				 .WORD	$$CMDN		; POINTER TO "AUGUST" SYMBOL
	015720	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015722	000010 				 .WORD	8.		; ROUTINE TO CALL
   9286	015724					COMND$	SEPTEMBER,LG.ALL,9.
	001563	   123 	   105 	   120 		 .ASCIZ	%SEPTEMBER%
MONTB -- MONTH TABLE MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 275-1
.MONTB -- THE MONTH TABLE 7702.16

	001566	   124 	   105 	   115
	001571	   102 	   105 	   122
	001574	   000
	015724	001563'				 .WORD	$$CMDN		; POINTER TO "SEPTEMBER" SYMBOL
	015726	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015730	000011 				 .WORD	9.		; ROUTINE TO CALL
   9287	015732					COMND$	OCTOBER,LG.ALL,10.
	001575	   117 	   103 	   124 		 .ASCIZ	%OCTOBER%
	001600	   117 	   102 	   105
	001603	   122 	   000
	015732	001575'				 .WORD	$$CMDN		; POINTER TO "OCTOBER" SYMBOL
	015734	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015736	000012 				 .WORD	10.		; ROUTINE TO CALL
   9288	015740					COMND$	NOVEMBER,LG.ALL,11.
	001605	   116 	   117 	   126 		 .ASCIZ	%NOVEMBER%
	001610	   105 	   115 	   102
	001613	   105 	   122 	   000
	015740	001605'				 .WORD	$$CMDN		; POINTER TO "NOVEMBER" SYMBOL
	015742	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015744	000013 				 .WORD	11.		; ROUTINE TO CALL
   9289	015746					COMND$	DECEMBER,LG.ALL,12.
	001616	   104 	   105 	   103 		 .ASCIZ	%DECEMBER%
	001621	   105 	   115 	   102
	001624	   105 	   122 	   000
	015746	001616'				 .WORD	$$CMDN		; POINTER TO "DECEMBER" SYMBOL
	015750	000007 				 .WORD	LG.ALL		; LEGAL BITS
	015752	000014 				 .WORD	12.		; ROUTINE TO CALL
   9290	015754	000000 				.WORD	0		; END OF TABLE MARKER
   9291
MRCLR -- KL MASTER CLEAR FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 276
.MONTB -- THE MONTH TABLE 7702.16

   9293					.TITLE	MRCLR -- KL MASTER CLEAR FUNCTION MODULE 7607.15
   9294
   9295						.IDENT	"001010"
   9296
   9297					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   9298					;
   9299					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   9300					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   9301					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   9302					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9303					;	FOR ITS ACCURACY.
   9304					;
   9305					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   9306					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   9307					;
   9308					;
   9309					;		MODULE: KL MASTER CLEAR FUNCTION
   9310					;
   9311					;		VERSION: 01-01
   9312					;
   9313					;		AUTHOR: R. BELANGER
   9314					;
   9315					;		DATE: 7607.15
   9316					;
   9317					;	THIS MODULE CONTAINS:
   9318					;
   9319					;	1) KL MASTER CLEAR CODE
MRCLR -- KL MASTER CLEAR FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 277
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   9321					.SBTTL	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   9322
   9323					;+
   9324					; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
   9325					;
   9326					; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
   9327					; KL CLOCK TO RUN, CLEARING THE KL.
   9328					;
   9329					; SEQUENCE OF OPERATION:
   9330					;
   9331					;	(A) THE MASTER RESET FLOP IS SET,
   9332					;	(B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
   9333					;	(C) THE NXM TIMERS ARE RESYNCHRONIZED,
   9334					;	(D) THE KL CLOCK IS STOPPED AND SYNCHED,
   9335					;	(E) THE MASTER RESET FLOP IS CLEARED.
   9336					;
   9337					; INPUT ARGUMENTS:
   9338					;
   9339					;	NONE.
   9340					;
   9341					; OUTPUT ARGUMENTS:
   9342					;
   9343					;	NONE.
   9344					;
   9345					; ERROR CODES RETURNED:
   9346					;
   9347					;	FRF -- FUNCTION READ FAILED.
   9348					;	FWF -- FUNCTION WRITE FAILED.
   9349					;	FXF -- FUNCTION EXECUTE FAILED.
   9350					;-
   9351
   9352	015756				.MRCLR::
   9353	015756					PUSH	<R0,R1,R2>	; SAVE REGISTERS
	015756	010046 				 MOV	R0,-(SP)
	015760	010146 				 MOV	R1,-(SP)
	015762	010246 				 MOV	R2,-(SP)
   9354	015764	012700 	000016 			MOV	#FX.SMR,R0	; ...SET MASTER RESET FLOP
   9355	015770					CALL	.FXCT		; ...DO IT
	015770	004737 	011074'			 JSR	PC,.FXCT
   9356	015774	052737 	020000 	000000G		BIS	#KF.MRS,.KLFLG	; ...SET THE FLAG
   9357	016002					CALL	.STCLF		; ...FORCE START THE KL CLOCK
	016002	004737 	026306'			 JSR	PC,.STCLF
   9358	016006	012701 	000764 			MOV	#^D500,R1	; ...SET UP WAIT COUNT
   9359
   9360					;	[CONTINUED ON THE FOLLOWING PAGE]
MRCLR -- KL MASTER CLEAR FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 278
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   9362					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9363
   9364	016012				10$:
   9365	016012	077101 				SOB	R1,10$		; ...STALL A WHILE
   9366	016014					CALL	.STPXC		; ...STOP THE KL CLOCK
	016014	004737 	026354'			 JSR	PC,.STPXC
   9367	016020					CALL	.CLDFB		; ...CLEAR THE FUNCTION BUFFERS
	016020	004737 	002234'			 JSR	PC,.CLDFB
   9368	016024	012700 	000160 			MOV	#FW.CHN,R0	; ...CLEAR THE CHANNELS
   9369	016030					CALL	.FWRIT		; ...DO IT
	016030	004737 	010740'			 JSR	PC,.FWRIT
   9370	016034	012702 	000003 			MOV	#^D3,R2		; ...LOOP COUNT TO R2
   9371	016040				20$:				; ...HERE TO RESYNCH THE NXM TIMERS
   9372	016040	005001 				CLR	R1		; ...CLEAR R1
   9373	016042	012700 	000344 			MOV	#FR.162,R0	; ...LOOK FOR [A CHANGE COMING L]
   9374	016046					CALL	.FREAD		; ...DO THE READ
	016046	004737 	010644'			 JSR	PC,.FREAD
   9375	016052	032710 	000010 			BIT	#BIT03,(R0)	; ...IS IT THERE?
   9376	016056	001405 				BEQ	30$		; ...YES -- GO ON
   9377	016060	012700 	000004 			MOV	#FX.MBC,R0	; ...NO -- STEP THE CLOCK
   9378	016064					CALL	.FXCT		; ...DO IT
	016064	004737 	011074'			 JSR	PC,.FXCT
   9379	016070	077215 				SOB	R2,20$		; ...LOOP THREE TIMES MAX
   9380	016072				30$:
   9381	016072					CALL	.SYNXC		; ...SYNCH THE CLOCK
	016072	004737 	026760'			 JSR	PC,.SYNXC
   9382	016076	012700 	000014 			MOV	#FX.CMR,R0	; ...CLEAR MASTER RESET FLOP
   9383	016102					CALL	.FXCT		; ...DO IT
	016102	004737 	011074'			 JSR	PC,.FXCT
   9384	016106	042737 	020300 	000000G		BIC	#KF.MRS!KF.CON!KF.CES,.KLFLG
   9385									; ...CLEAR THE FLAGS
   9386	016114					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	016114	012602 				 MOV	(SP)+,R2
	016116	012601 				 MOV	(SP)+,R1
	016120	012600 				 MOV	(SP)+,R0
   9387	016122					RETURN			; EXIT TO CALLER
	016122	000207 				 RTS	PC
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 279
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   9389					.TITLE	NSETB -- NORMAL ERROR CODE TABLE 7707.12
   9390
   9391						.IDENT	"003060"
   9392
   9393					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   9394					;
   9395					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   9396					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   9397					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   9398					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9399					;	FOR ITS ACCURACY.
   9400					;
   9401					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   9402					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   9403					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   9404					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   9405					;
   9406					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   9407					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   9408					;
   9409					;
   9410					;		MODULE: NORMAL ERROR CODE TABLE
   9411					;
   9412					;		VERSION: 03-06
   9413					;
   9414					;		AUTHOR: R. BELANGER
   9415					;
   9416					;		DATE: 7707.12
   9417					;
   9418					;	THIS MODULE CONTAINS:
   9419					;
   9420					;	1) NORMAL ERROR CODE TABLE
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

   9422					.SBTTL	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   9423
   9424	016124				.NSETB::
   9425	016124					NSERR$	APE,<KL APR ERROR>
	001627	   101 	   120 	   105 		 .ASCIZ	%APE - KL APR ERROR%
	001632	   040 	   055 	   040
	001635	   113 	   114 	   040
	001640	   101 	   120 	   122
	001643	   040 	   105 	   122
	001646	   122 	   117 	   122
	001651	   000
	016124	004305 				 .RAD50	/APE/		; "APE" IN .RAD50
	016126	001627'				 .WORD	APEMSG		; POINTER TO MESSAGE
   9426						;
   9427	016130					NSERR$	BAE,<BURST ARGUMENT ERROR>
	001652	   102 	   101 	   105 		 .ASCIZ	%BAE - BURST ARGUMENT ERROR%
	001655	   040 	   055 	   040
	001660	   102 	   125 	   122
	001663	   123 	   124 	   040
	001666	   101 	   122 	   107
	001671	   125 	   115 	   105
	001674	   116 	   124 	   040
	001677	   105 	   122 	   122
	001702	   117 	   122 	   000
	016130	006255 				 .RAD50	/BAE/		; "BAE" IN .RAD50
	016132	001652'				 .WORD	BAEMSG		; POINTER TO MESSAGE
   9428						;
   9429	016134					NSERR$	CAE,<KL CRAM ADDRESS ERROR>
	001705	   103 	   101 	   105 		 .ASCIZ	%CAE - KL CRAM ADDRESS ERROR%
	001710	   040 	   055 	   040
	001713	   113 	   114 	   040
	001716	   103 	   122 	   101
	001721	   115 	   040 	   101
	001724	   104 	   104 	   122
	001727	   105 	   123 	   123
	001732	   040 	   105 	   122
	001735	   122 	   117 	   122
	001740	   000
	016134	011355 				 .RAD50	/CAE/		; "CAE" IN .RAD50
	016136	001705'				 .WORD	CAEMSG		; POINTER TO MESSAGE
   9430	016140					NSERR$	CBO,<COMMAND BUFFER OVERFLOW>
	001741	   103 	   102 	   117 		 .ASCIZ	%CBO - COMMAND BUFFER OVERFLOW%
	001744	   040 	   055 	   040
	001747	   103 	   117 	   115
	001752	   115 	   101 	   116
	001755	   104 	   040 	   102
	001760	   125 	   106 	   106
	001763	   105 	   122 	   040
	001766	   117 	   126 	   105
	001771	   122 	   106 	   114
	001774	   117 	   127 	   000
	016140	011437 				 .RAD50	/CBO/		; "CBO" IN .RAD50
	016142	001741'				 .WORD	CBOMSG		; POINTER TO MESSAGE
   9431	016144					NSERR$	CDI,<CLEAR DATE ILLEGAL>
	001777	   103 	   104 	   111 		 .ASCIZ	%CDI - CLEAR DATE ILLEGAL%
	002002	   040 	   055 	   040
	002005	   103 	   114 	   105
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002010	   101 	   122 	   040
	002013	   104 	   101 	   124
	002016	   105 	   040 	   111
	002021	   114 	   114 	   105
	002024	   107 	   101 	   114
	002027	   000
	016144	011551 				 .RAD50	/CDI/		; "CDI" IN .RAD50
	016146	001777'				 .WORD	CDIMSG		; POINTER TO MESSAGE
   9432	016150					NSERR$	CFH,<CAN'T FIND KL HALT LOOP>
	002030	   103 	   106 	   110 		 .ASCIZ	%CFH - CAN'T FIND KL HALT LOOP%
	002033	   040 	   055 	   040
	002036	   103 	   101 	   116
	002041	   047 	   124 	   040
	002044	   106 	   111 	   116
	002047	   104 	   040 	   113
	002052	   114 	   040 	   110
	002055	   101 	   114 	   124
	002060	   040 	   114 	   117
	002063	   117 	   120 	   000
	016150	011670 				 .RAD50	/CFH/		; "CFH" IN .RAD50
	016152	002030'				 .WORD	CFHMSG		; POINTER TO MESSAGE
   9433	016154					NSERR$	CLE,<CONSOLE LIMIT EXCEEDED>
	002066	   103 	   114 	   105 		 .ASCIZ	%CLE - CONSOLE LIMIT EXCEEDED%
	002071	   040 	   055 	   040
	002074	   103 	   117 	   116
	002077	   123 	   117 	   114
	002102	   105 	   040 	   114
	002105	   111 	   115 	   111
	002110	   124 	   040 	   105
	002113	   130 	   103 	   105
	002116	   105 	   104 	   105
	002121	   104 	   000
	016154	012245 				 .RAD50	/CLE/		; "CLE" IN .RAD50
	016156	002066'				 .WORD	CLEMSG		; POINTER TO MESSAGE
   9434	016160					NSERR$	CNR,<COMMAND IS NOT REPEATABLE>
	002123	   103 	   116 	   122 		 .ASCIZ	%CNR - COMMAND IS NOT REPEATABLE%
	002126	   040 	   055 	   040
	002131	   103 	   117 	   115
	002134	   115 	   101 	   116
	002137	   104 	   040 	   111
	002142	   123 	   040 	   116
	002145	   117 	   124 	   040
	002150	   122 	   105 	   120
	002153	   105 	   101 	   124
	002156	   101 	   102 	   114
	002161	   105 	   000
	016160	012402 				 .RAD50	/CNR/		; "CNR" IN .RAD50
	016162	002123'				 .WORD	CNRMSG		; POINTER TO MESSAGE
   9435	016164					NSERR$	CPE,<CAN'T PHASE EBOX>
	002163	   103 	   120 	   105 		 .ASCIZ	%CPE - CAN'T PHASE EBOX%
	002166	   040 	   055 	   040
	002171	   103 	   101 	   116
	002174	   047 	   124 	   040
	002177	   120 	   110 	   101
	002202	   123 	   105 	   040
	002205	   105 	   102 	   117
	002210	   130 	   000
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	016164	012505 				 .RAD50	/CPE/		; "CPE" IN .RAD50
	016166	002163'				 .WORD	CPEMSG		; POINTER TO MESSAGE
   9436						;
   9437					.IF NE	FTDRAM
   9438						NSERR$	DAE,<KL DRAM ADDRESS ERROR>
   9439					.ENDC		; FTDRAM
   9440	016170					NSERR$	DAV,<DATE ALREADY VALID>
	002212	   104 	   101 	   126 		 .ASCIZ	%DAV - DATE ALREADY VALID%
	002215	   040 	   055 	   040
	002220	   104 	   101 	   124
	002223	   105 	   040 	   101
	002226	   114 	   122 	   105
	002231	   101 	   104 	   131
	002234	   040 	   126 	   101
	002237	   114 	   111 	   104
	002242	   000
	016170	014476 				 .RAD50	/DAV/		; "DAV" IN .RAD50
	016172	002212'				 .WORD	DAVMSG		; POINTER TO MESSAGE
   9441	016174					NSERR$	DBT,<DATE BEFORE TODAY>
	002243	   104 	   102 	   124 		 .ASCIZ	%DBT - DATE BEFORE TODAY%
	002246	   040 	   055 	   040
	002251	   104 	   101 	   124
	002254	   105 	   040 	   102
	002257	   105 	   106 	   117
	002262	   122 	   105 	   040
	002265	   124 	   117 	   104
	002270	   101 	   131 	   000
	016174	014544 				 .RAD50	/DBT/		; "DBT" IN .RAD50
	016176	002243'				 .WORD	DBTMSG		; POINTER TO MESSAGE
   9442	016200					NSERR$	DCK,<DIVIDE CHECK>
	002273	   104 	   103 	   113 		 .ASCIZ	%DCK - DIVIDE CHECK%
	002276	   040 	   055 	   040
	002301	   104 	   111 	   126
	002304	   111 	   104 	   105
	002307	   040 	   103 	   110
	002312	   105 	   103 	   113
	002315	   000
	016200	014603 				 .RAD50	/DCK/		; "DCK" IN .RAD50
	016202	002273'				 .WORD	DCKMSG		; POINTER TO MESSAGE
   9443	016204					NSERR$	DMF,<DEPOSIT KL MEMORY FAILED>
	002316	   104 	   115 	   106 		 .ASCIZ	%DMF - DEPOSIT KL MEMORY FAILED%
	002321	   040 	   055 	   040
	002324	   104 	   105 	   120
	002327	   117 	   123 	   111
	002332	   124 	   040 	   113
	002335	   114 	   040 	   115
	002340	   105 	   115 	   117
	002343	   122 	   131 	   040
	002346	   106 	   101 	   111
	002351	   114 	   105 	   104
	002354	   000
	016204	015416 				 .RAD50	/DMF/		; "DMF" IN .RAD50
	016206	002316'				 .WORD	DMFMSG		; POINTER TO MESSAGE
   9444	016210					NSERR$	DOR,<DATE OUT OF RANGE>
	002355	   104 	   117 	   122 		 .ASCIZ	%DOR - DATE OUT OF RANGE%
	002360	   040 	   055 	   040
	002363	   104 	   101 	   124
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002366	   105 	   040 	   117
	002371	   125 	   124 	   040
	002374	   117 	   106 	   040
	002377	   122 	   101 	   116
	002402	   107 	   105 	   000
	016210	015552 				 .RAD50	/DOR/		; "DOR" IN .RAD50
	016212	002355'				 .WORD	DORMSG		; POINTER TO MESSAGE
   9445	016214					NSERR$	DNP,<DTE-20 IS NOT PRIVILEGED>
	002405	   104 	   116 	   120 		 .ASCIZ	%DNP - DTE-20 IS NOT PRIVILEGED%
	002410	   040 	   055 	   040
	002413	   104 	   124 	   105
	002416	   055 	   062 	   060
	002421	   040 	   111 	   123
	002424	   040 	   116 	   117
	002427	   124 	   040 	   120
	002432	   122 	   111 	   126
	002435	   111 	   114 	   105
	002440	   107 	   105 	   104
	002443	   000
	016214	015500 				 .RAD50	/DNP/		; "DNP" IN .RAD50
	016216	002405'				 .WORD	DNPMSG		; POINTER TO MESSAGE
   9446	016220					NSERR$	DSF,<DTE-20 STATUS FAILED>
	002444	   104 	   123 	   106 		 .ASCIZ	%DSF - DTE-20 STATUS FAILED%
	002447	   040 	   055 	   040
	002452	   104 	   124 	   105
	002455	   055 	   062 	   060
	002460	   040 	   123 	   124
	002463	   101 	   124 	   125
	002466	   123 	   040 	   106
	002471	   101 	   111 	   114
	002474	   105 	   104 	   000
	016220	015776 				 .RAD50	/DSF/		; "DSF" IN .RAD50
	016222	002444'				 .WORD	DSFMSG		; POINTER TO MESSAGE
   9447	016224					NSERR$	DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
	002477	   104 	   124 	   103 		 .ASCIZ	%DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
	002502	   040 	   055 	   040
	002505	   104 	   124 	   105
	002510	   055 	   062 	   060
	002513	   040 	   103 	   117
	002516	   116 	   106 	   125
	002521	   123 	   105 	   104
	002524	   040 	   055 	   040
	002527	   122 	   125 	   116
	002532	   040 	   101 	   116
	002535	   104 	   040 	   110
	002540	   101 	   114 	   124
	002543	   040 	   114 	   117
	002546	   117 	   120 	   000
	016224	016043 				 .RAD50	/DTC/		; "DTC" IN .RAD50
	016226	002477'				 .WORD	DTCMSG		; POINTER TO MESSAGE
   9448						;
   9449	016230					NSERR$	ECT,<EBOX CLOCK TIMEOUT>
	002551	   105 	   103 	   124 		 .ASCIZ	%ECT - EBOX CLOCK TIMEOUT%
	002554	   040 	   055 	   040
	002557	   105 	   102 	   117
	002562	   130 	   040 	   103
	002565	   114 	   117 	   103
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002570	   113 	   040 	   124
	002573	   111 	   115 	   105
	002576	   117 	   125 	   124
	002601	   000
	016230	017714 				 .RAD50	/ECT/		; "ECT" IN .RAD50
	016232	002551'				 .WORD	ECTMSG		; POINTER TO MESSAGE
   9450	016234					NSERR$	EMF,<EXAMINE KL MEMORY FAILED>
	002602	   105 	   115 	   106 		 .ASCIZ	%EMF - EXAMINE KL MEMORY FAILED%
	002605	   040 	   055 	   040
	002610	   105 	   130 	   101
	002613	   115 	   111 	   116
	002616	   105 	   040 	   113
	002621	   114 	   040 	   115
	002624	   105 	   115 	   117
	002627	   122 	   131 	   040
	002632	   106 	   101 	   111
	002635	   114 	   105 	   104
	002640	   000
	016234	020516 				 .RAD50	/EMF/		; "EMF" IN .RAD50
	016236	002602'				 .WORD	EMFMSG		; POINTER TO MESSAGE
   9451	016240					NSERR$	EOC,<END OF COMMAND REQUIRED>
	002641	   105 	   117 	   103 		 .ASCIZ	%EOC - END OF COMMAND REQUIRED%
	002644	   040 	   055 	   040
	002647	   105 	   116 	   104
	002652	   040 	   117 	   106
	002655	   040 	   103 	   117
	002660	   115 	   115 	   101
	002663	   116 	   104 	   040
	002666	   122 	   105 	   121
	002671	   125 	   111 	   122
	002674	   105 	   104 	   000
	016240	020633 				 .RAD50	/EOC/		; "EOC" IN .RAD50
	016242	002641'				 .WORD	EOCMSG		; POINTER TO MESSAGE
   9452	016244					NSERR$	EPE,<EBUS PARITY ERROR>
	002677	   105 	   120 	   105 		 .ASCIZ	%EPE - EBUS PARITY ERROR%
	002702	   040 	   055 	   040
	002705	   105 	   102 	   125
	002710	   123 	   040 	   120
	002713	   101 	   122 	   111
	002716	   124 	   131 	   040
	002721	   105 	   122 	   122
	002724	   117 	   122 	   000
	016244	020705 				 .RAD50	/EPE/		; "EPE" IN .RAD50
	016246	002677'				 .WORD	EPEMSG		; POINTER TO MESSAGE
   9453	016250					NSERR$	ESD,<EBOX STOPPED - DEPOSIT>
	002727	   105 	   123 	   104 		 .ASCIZ	%ESD - EBOX STOPPED - DEPOSIT%
	002732	   040 	   055 	   040
	002735	   105 	   102 	   117
	002740	   130 	   040 	   123
	002743	   124 	   117 	   120
	002746	   120 	   105 	   104
	002751	   040 	   055 	   040
	002754	   104 	   105 	   120
	002757	   117 	   123 	   111
	002762	   124 	   000
	016250	021074 				 .RAD50	/ESD/		; "ESD" IN .RAD50
	016252	002727'				 .WORD	ESDMSG		; POINTER TO MESSAGE
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

   9454	016254					NSERR$	ESE,<EBOX STOPPED - EXAMINE>
	002764	   105 	   123 	   105 		 .ASCIZ	%ESE - EBOX STOPPED - EXAMINE%
	002767	   040 	   055 	   040
	002772	   105 	   102 	   117
	002775	   130 	   040 	   123
	003000	   124 	   117 	   120
	003003	   120 	   105 	   104
	003006	   040 	   055 	   040
	003011	   105 	   130 	   101
	003014	   115 	   111 	   116
	003017	   105 	   000
	016254	021075 				 .RAD50	/ESE/		; "ESE" IN .RAD50
	016256	002764'				 .WORD	ESEMSG		; POINTER TO MESSAGE
   9455						;
   9456	016260					NSERR$	IDF,<ILLEGAL DATE FORMAT>
	003021	   111 	   104 	   106 		 .ASCIZ	%IDF - ILLEGAL DATE FORMAT%
	003024	   040 	   055 	   040
	003027	   111 	   114 	   114
	003032	   105 	   107 	   101
	003035	   114 	   040 	   104
	003040	   101 	   124 	   105
	003043	   040 	   106 	   117
	003046	   122 	   115 	   101
	003051	   124 	   000
	016260	034346 				 .RAD50	/IDF/		; "IDF" IN .RAD50
	016262	003021'				 .WORD	IDFMSG		; POINTER TO MESSAGE
   9457	016264					NSERR$	IFC,<ILLEGAL FUNCTION CODE>
	003053	   111 	   106 	   103 		 .ASCIZ	%IFC - ILLEGAL FUNCTION CODE%
	003056	   040 	   055 	   040
	003061	   111 	   114 	   114
	003064	   105 	   107 	   101
	003067	   114 	   040 	   106
	003072	   125 	   116 	   103
	003075	   124 	   111 	   117
	003100	   116 	   040 	   103
	003103	   117 	   104 	   105
	003106	   000
	016264	034463 				 .RAD50	/IFC/		; "IFC" IN .RAD50
	016266	003053'				 .WORD	IFCMSG		; POINTER TO MESSAGE
   9458	016270					NSERR$	IOC,<ILLEGAL KL OPCODE>
	003107	   111 	   117 	   103 		 .ASCIZ	%IOC - ILLEGAL KL OPCODE%
	003112	   040 	   055 	   040
	003115	   111 	   114 	   114
	003120	   105 	   107 	   101
	003123	   114 	   040 	   113
	003126	   114 	   040 	   117
	003131	   120 	   103 	   117
	003134	   104 	   105 	   000
	016270	035233 				 .RAD50	/IOC/		; "IOC" IN .RAD50
	016272	003107'				 .WORD	IOCMSG		; POINTER TO MESSAGE
   9459	016274					NSERR$	IRC,<ILLEGAL REPEAT COUNT>
	003137	   111 	   122 	   103 		 .ASCIZ	%IRC - ILLEGAL REPEAT COUNT%
	003142	   040 	   055 	   040
	003145	   111 	   114 	   114
	003150	   105 	   107 	   101
	003153	   114 	   040 	   122
	003156	   105 	   120 	   105
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003161	   101 	   124 	   040
	003164	   103 	   117 	   125
	003167	   116 	   124 	   000
	016274	035423 				 .RAD50	/IRC/		; "IRC" IN .RAD50
	016276	003137'				 .WORD	IRCMSG		; POINTER TO MESSAGE
   9460	016300					NSERR$	ITF,<ILLEGAL TIME FORMAT>
	003172	   111 	   124 	   106 		 .ASCIZ	%ITF - ILLEGAL TIME FORMAT%
	003175	   040 	   055 	   040
	003200	   111 	   114 	   114
	003203	   105 	   107 	   101
	003206	   114 	   040 	   124
	003211	   111 	   115 	   105
	003214	   040 	   106 	   117
	003217	   122 	   115 	   101
	003222	   124 	   000
	016300	035546 				 .RAD50	/ITF/		; "ITF" IN .RAD50
	016302	003172'				 .WORD	ITFMSG		; POINTER TO MESSAGE
   9461	016304					NSERR$	ITN,<ILLEGAL TASK NAME>
	003224	   111 	   124 	   116 		 .ASCIZ	%ITN - ILLEGAL TASK NAME%
	003227	   040 	   055 	   040
	003232	   111 	   114 	   114
	003235	   105 	   107 	   101
	003240	   114 	   040 	   124
	003243	   101 	   123 	   113
	003246	   040 	   116 	   101
	003251	   115 	   105 	   000
	016304	035556 				 .RAD50	/ITN/		; "ITN" IN .RAD50
	016306	003224'				 .WORD	ITNMSG		; POINTER TO MESSAGE
   9462						;
   9463	016310					NSERR$	KCN,<KL CLOCK IS OFF>
	003254	   113 	   103 	   116 		 .ASCIZ	%KCN - KL CLOCK IS OFF%
	003257	   040 	   055 	   040
	003262	   113 	   114 	   040
	003265	   103 	   114 	   117
	003270	   103 	   113 	   040
	003273	   111 	   123 	   040
	003276	   117 	   106 	   106
	003301	   000
	016310	042506 				 .RAD50	/KCN/		; "KCN" IN .RAD50
	016312	003254'				 .WORD	KCNMSG		; POINTER TO MESSAGE
   9464	016314					NSERR$	KLA,<KL ADDRESS ERROR>
	003302	   113 	   114 	   101 		 .ASCIZ	%KLA - KL ADDRESS ERROR%
	003305	   040 	   055 	   040
	003310	   113 	   114 	   040
	003313	   101 	   104 	   104
	003316	   122 	   105 	   123
	003321	   123 	   040 	   105
	003324	   122 	   122 	   117
	003327	   122 	   000
	016314	043241 				 .RAD50	/KLA/		; "KLA" IN .RAD50
	016316	003302'				 .WORD	KLAMSG		; POINTER TO MESSAGE
   9465	016320					NSERR$	KLR,<ILLEGAL WHILE KL IS RUNNING>
	003331	   113 	   114 	   122 		 .ASCIZ	%KLR - ILLEGAL WHILE KL IS RUNNING%
	003334	   040 	   055 	   040
	003337	   111 	   114 	   114
	003342	   105 	   107 	   101
	003345	   114 	   040 	   127
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003350	   110 	   111 	   114
	003353	   105 	   040 	   113
	003356	   114 	   040 	   111
	003361	   123 	   040 	   122
	003364	   125 	   116 	   116
	003367	   111 	   116 	   107
	003372	   000
	016320	043262 				 .RAD50	/KLR/		; "KLR" IN .RAD50
	016322	003331'				 .WORD	KLRMSG		; POINTER TO MESSAGE
   9466	016324					NSERR$	KNC,<KL IS NOT CONTINUABLE>
	003373	   113 	   116 	   103 		 .ASCIZ	%KNC - KL IS NOT CONTINUABLE%
	003376	   040 	   055 	   040
	003401	   113 	   114 	   040
	003404	   111 	   123 	   040
	003407	   116 	   117 	   124
	003412	   040 	   103 	   117
	003415	   116 	   124 	   111
	003420	   116 	   125 	   101
	003423	   102 	   114 	   105
	003426	   000
	016324	043363 				 .RAD50	/KNC/		; "KNC" IN .RAD50
	016326	003373'				 .WORD	KNCMSG		; POINTER TO MESSAGE
   9467	016330					NSERR$	KWE,<KLINIK WINDOW ERROR>
	003427	   113 	   127 	   105 		 .ASCIZ	%KWE - KLINIK WINDOW ERROR%
	003432	   040 	   055 	   040
	003435	   113 	   114 	   111
	003440	   116 	   111 	   113
	003443	   040 	   127 	   111
	003446	   116 	   104 	   117
	003451	   127 	   040 	   105
	003454	   122 	   122 	   117
	003457	   122 	   000
	016330	044135 				 .RAD50	/KWE/		; "KWE" IN .RAD50
	016332	003427'				 .WORD	KWEMSG		; POINTER TO MESSAGE
   9468						;
   9469	016334					NSERR$	MRA,<MISSING REQUIRED ARGUMENT>
	003461	   115 	   122 	   101 		 .ASCIZ	%MRA - MISSING REQUIRED ARGUMENT%
	003464	   040 	   055 	   040
	003467	   115 	   111 	   123
	003472	   123 	   111 	   116
	003475	   107 	   040 	   122
	003500	   105 	   121 	   125
	003503	   111 	   122 	   105
	003506	   104 	   040 	   101
	003511	   122 	   107 	   125
	003514	   115 	   105 	   116
	003517	   124 	   000
	016334	052021 				 .RAD50	/MRA/		; "MRA" IN .RAD50
	016336	003461'				 .WORD	MRAMSG		; POINTER TO MESSAGE
   9470						;
   9471	016340					NSERR$	NDI,<NULL DATE ILLEGAL>
	003521	   116 	   104 	   111 		 .ASCIZ	%NDI - NULL DATE ILLEGAL%
	003524	   040 	   055 	   040
	003527	   116 	   125 	   114
	003532	   114 	   040 	   104
	003535	   101 	   124 	   105
	003540	   040 	   111 	   114
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003543	   114 	   105 	   107
	003546	   101 	   114 	   000
	016340	054051 				 .RAD50	/NDI/		; "NDI" IN .RAD50
	016342	003521'				 .WORD	NDIMSG		; POINTER TO MESSAGE
   9472	016344					NSERR$	NER,<NUMERIC EXPRESSION REQUIRED>
	003551	   116 	   105 	   122 		 .ASCIZ	%NER - NUMERIC EXPRESSION REQUIRED%
	003554	   040 	   055 	   040
	003557	   116 	   125 	   115
	003562	   105 	   122 	   111
	003565	   103 	   040 	   105
	003570	   130 	   120 	   122
	003573	   105 	   123 	   123
	003576	   111 	   117 	   116
	003601	   040 	   122 	   105
	003604	   121 	   125 	   111
	003607	   122 	   105 	   104
	003612	   000
	016344	054132 				 .RAD50	/NER/		; "NER" IN .RAD50
	016346	003551'				 .WORD	NERMSG		; POINTER TO MESSAGE
   9473	016350					NSERR$	NOR,<INPUT NUMBER OUT OF RANGE>
	003613	   116 	   117 	   122 		 .ASCIZ	%NOR - INPUT NUMBER OUT OF RANGE%
	003616	   040 	   055 	   040
	003621	   111 	   116 	   120
	003624	   125 	   124 	   040
	003627	   116 	   125 	   115
	003632	   102 	   105 	   122
	003635	   040 	   117 	   125
	003640	   124 	   040 	   117
	003643	   106 	   040 	   122
	003646	   101 	   116 	   107
	003651	   105 	   000
	016350	054752 				 .RAD50	/NOR/		; "NOR" IN .RAD50
	016352	003613'				 .WORD	NORMSG		; POINTER TO MESSAGE
   9474	016354					NSERR$	NPI,<NULL PASSWORD ILLEGAL>
	003653	   116 	   120 	   111 		 .ASCIZ	%NPI - NULL PASSWORD ILLEGAL%
	003656	   040 	   055 	   040
	003661	   116 	   125 	   114
	003664	   114 	   040 	   120
	003667	   101 	   123 	   123
	003672	   127 	   117 	   122
	003675	   104 	   040 	   111
	003700	   114 	   114 	   105
	003703	   107 	   101 	   114
	003706	   000
	016354	055011 				 .RAD50	/NPI/		; "NPI" IN .RAD50
	016356	003653'				 .WORD	NPIMSG		; POINTER TO MESSAGE
   9475	016360					NSERR$	NST,<NO SUCH TASK>
	003707	   116 	   123 	   124 		 .ASCIZ	%NST - NO SUCH TASK%
	003712	   040 	   055 	   040
	003715	   116 	   117 	   040
	003720	   123 	   125 	   103
	003723	   110 	   040 	   124
	003726	   101 	   123 	   113
	003731	   000
	016360	055214 				 .RAD50	/NST/		; "NST" IN .RAD50
	016362	003707'				 .WORD	NSTMSG		; POINTER TO MESSAGE
   9476	016364					NSERR$	NTI,<NULL TIME ILLEGAL>
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003732	   116 	   124 	   111 		 .ASCIZ	%NTI - NULL TIME ILLEGAL%
	003735	   040 	   055 	   040
	003740	   116 	   125 	   114
	003743	   114 	   040 	   124
	003746	   111 	   115 	   105
	003751	   040 	   111 	   114
	003754	   114 	   105 	   107
	003757	   101 	   114 	   000
	016364	055251 				 .RAD50	/NTI/		; "NTI" IN .RAD50
	016366	003732'				 .WORD	NTIMSG		; POINTER TO MESSAGE
   9477						;
   9478	016370					NSERR$	OAI,<ODD ADDRESS ILLEGAL>
	003762	   117 	   101 	   111 		 .ASCIZ	%OAI - ODD ADDRESS ILLEGAL%
	003765	   040 	   055 	   040
	003770	   117 	   104 	   104
	003773	   040 	   101 	   104
	003776	   104 	   122 	   105
	004001	   123 	   123 	   040
	004004	   111 	   114 	   114
	004007	   105 	   107 	   101
	004012	   114 	   000
	016370	056761 				 .RAD50	/OAI/		; "OAI" IN .RAD50
	016372	003762'				 .WORD	OAIMSG		; POINTER TO MESSAGE
   9479	016374					NSERR$	OFC,<ODD FUNCTION CODE>
	004014	   117 	   106 	   103 		 .ASCIZ	%OFC - ODD FUNCTION CODE%
	004017	   040 	   055 	   040
	004022	   117 	   104 	   104
	004025	   040 	   106 	   125
	004030	   116 	   103 	   124
	004033	   111 	   117 	   116
	004036	   040 	   103 	   117
	004041	   104 	   105 	   000
	016374	057263 				 .RAD50	/OFC/		; "OFC" IN .RAD50
	016376	004014'				 .WORD	OFCMSG		; POINTER TO MESSAGE
   9480						;
   9481	016400					NSERR$	PTL,<PASSWORD TOO LONG>
	004044	   120 	   124 	   114 		 .ASCIZ	%PTL - PASSWORD TOO LONG%
	004047	   040 	   055 	   040
	004052	   120 	   101 	   123
	004055	   123 	   127 	   117
	004060	   122 	   104 	   040
	004063	   124 	   117 	   117
	004066	   040 	   114 	   117
	004071	   116 	   107 	   000
	016400	063454 				 .RAD50	/PTL/		; "PTL" IN .RAD50
	016402	004044'				 .WORD	PTLMSG		; POINTER TO MESSAGE
   9482						;
   9483	016404					NSERR$	RPM,<RIGHT PARENTHESES MISSING>
	004074	   122 	   120 	   115 		 .ASCIZ	%RPM - RIGHT PARENTHESES MISSING%
	004077	   040 	   055 	   040
	004102	   122 	   111 	   107
	004105	   110 	   124 	   040
	004110	   120 	   101 	   122
	004113	   105 	   116 	   124
	004116	   110 	   105 	   123
	004121	   105 	   123 	   040
	004124	   115 	   111 	   123
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	004127	   123 	   111 	   116
	004132	   107 	   000
	016404	071415 				 .RAD50	/RPM/		; "RPM" IN .RAD50
	016406	004074'				 .WORD	RPMMSG		; POINTER TO MESSAGE
   9484						;
   9485	016410					NSERR$	SCF,<SET CLOCK FAILED>
	004134	   123 	   103 	   106 		 .ASCIZ	%SCF - SET CLOCK FAILED%
	004137	   040 	   055 	   040
	004142	   123 	   105 	   124
	004145	   040 	   103 	   114
	004150	   117 	   103 	   113
	004153	   040 	   106 	   101
	004156	   111 	   114 	   105
	004161	   104 	   000
	016410	073476 				 .RAD50	/SCF/		; "SCF" IN .RAD50
	016412	004134'				 .WORD	SCFMSG		; POINTER TO MESSAGE
   9486	016414					NSERR$	SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
	004163	   123 	   113 	   111 		 .ASCIZ	%SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
	004166	   040 	   055 	   040
	004171	   123 	   105 	   124
	004174	   040 	   113 	   114
	004177	   111 	   116 	   111
	004202	   113 	   040 	   111
	004205	   114 	   114 	   105
	004210	   107 	   101 	   114
	004213	   040 	   127 	   110
	004216	   111 	   114 	   105
	004221	   040 	   113 	   114
	004224	   111 	   116 	   111
	004227	   113 	   040 	   101
	004232	   103 	   124 	   111
	004235	   126 	   105 	   000
	016414	074201 				 .RAD50	/SKI/		; "SKI" IN .RAD50
	016416	004163'				 .WORD	SKIMSG		; POINTER TO MESSAGE
   9487	016420					NSERR$	SPF,<SET PARITY FAILED>
	004240	   123 	   120 	   106 		 .ASCIZ	%SPF - SET PARITY FAILED%
	004243	   040 	   055 	   040
	004246	   123 	   105 	   124
	004251	   040 	   120 	   101
	004254	   122 	   111 	   124
	004257	   131 	   040 	   106
	004262	   101 	   111 	   114
	004265	   105 	   104 	   000
	016420	074506 				 .RAD50	/SPF/		; "SPF" IN .RAD50
	016422	004240'				 .WORD	SPFMSG		; POINTER TO MESSAGE
   9488	016424					NSERR$	SZI,<START AT ZERO ILLEGAL>
	004270	   123 	   132 	   111 		 .ASCIZ	%SZI - START AT ZERO ILLEGAL%
	004273	   040 	   055 	   040
	004276	   123 	   124 	   101
	004301	   122 	   124 	   040
	004304	   101 	   124 	   040
	004307	   132 	   105 	   122
	004312	   117 	   040 	   111
	004315	   114 	   114 	   105
	004320	   107 	   101 	   114
	004323	   000
	016424	075331 				 .RAD50	/SZI/		; "SZI" IN .RAD50
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	016426	004270'				 .WORD	SZIMSG		; POINTER TO MESSAGE
   9489						;
   9490	016430					NSERR$	TAA,<TASK IS ALREADY ACTIVE>
	004324	   124 	   101 	   101 		 .ASCIZ	%TAA - TASK IS ALREADY ACTIVE%
	004327	   040 	   055 	   040
	004332	   124 	   101 	   123
	004335	   113 	   040 	   111
	004340	   123 	   040 	   101
	004343	   114 	   122 	   105
	004346	   101 	   104 	   131
	004351	   040 	   101 	   103
	004354	   124 	   111 	   126
	004357	   105 	   000
	016430	076451 				 .RAD50	/TAA/		; "TAA" IN .RAD50
	016432	004324'				 .WORD	TAAMSG		; POINTER TO MESSAGE
   9491	016434					NSERR$	TOR,<TIME OUT OF RANGE>
	004361	   124 	   117 	   122 		 .ASCIZ	%TOR - TIME OUT OF RANGE%
	004364	   040 	   055 	   040
	004367	   124 	   111 	   115
	004372	   105 	   040 	   117
	004375	   125 	   124 	   040
	004400	   117 	   106 	   040
	004403	   122 	   101 	   116
	004406	   107 	   105 	   000
	016434	077552 				 .RAD50	/TOR/		; "TOR" IN .RAD50
	016436	004361'				 .WORD	TORMSG		; POINTER TO MESSAGE
   9492						;
   9493	016440					NSERR$	UNL,<KL MICROCODE NOT LOADED>
	004411	   125 	   116 	   114 		 .ASCIZ	%UNL - KL MICROCODE NOT LOADED%
	004414	   040 	   055 	   040
	004417	   113 	   114 	   040
	004422	   115 	   111 	   103
	004425	   122 	   117 	   103
	004430	   117 	   104 	   105
	004433	   040 	   116 	   117
	004436	   124 	   040 	   114
	004441	   117 	   101 	   104
	004444	   105 	   104 	   000
	016440	102574 				 .RAD50	/UNL/		; "UNL" IN .RAD50
	016442	004411'				 .WORD	UNLMSG		; POINTER TO MESSAGE
   9494						;
   9495	016444					NSERR$	VFY,<DEPOSIT VERIFY FAILED>
	004447	   126 	   106 	   131 		 .ASCIZ	%VFY - DEPOSIT VERIFY FAILED%
	004452	   040 	   055 	   040
	004455	   104 	   105 	   120
	004460	   117 	   123 	   111
	004463	   124 	   040 	   126
	004466	   105 	   122 	   111
	004471	   106 	   131 	   040
	004474	   106 	   101 	   111
	004477	   114 	   105 	   104
	004502	   000
	016444	105211 				 .RAD50	/VFY/		; "VFY" IN .RAD50
	016446	004447'				 .WORD	VFYMSG		; POINTER TO MESSAGE
   9496						;
   9497	016450					NSERR$	WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
	004503	   127 	   122 	   115 		 .ASCIZ	%WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
NSETB -- NORMAL ERROR CODE TABL	MACRO M1108  13-JAN-78 09:14  PAGE 280-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	004506	   040 	   055 	   040
	004511	   103 	   117 	   115
	004514	   115 	   101 	   116
	004517	   104 	   040 	   116
	004522	   117 	   124 	   040
	004525	   101 	   126 	   101
	004530	   111 	   114 	   101
	004533	   102 	   114 	   105
	004536	   040 	   111 	   116
	004541	   040 	   124 	   110
	004544	   111 	   123 	   040
	004547	   103 	   117 	   116
	004552	   123 	   117 	   114
	004555	   105 	   040 	   115
	004560	   117 	   104 	   105
	004563	   000
	016450	111235 				 .RAD50	/WRM/		; "WRM" IN .RAD50
	016452	004503'				 .WORD	WRMMSG		; POINTER TO MESSAGE
   9498						;
   9499	016454					NSERR$	YOR,<YEAR OUT OF RANGE>
	004564	   131 	   117 	   122 		 .ASCIZ	%YOR - YEAR OUT OF RANGE%
	004567	   040 	   055 	   040
	004572	   131 	   105 	   101
	004575	   122 	   040 	   117
	004600	   125 	   124 	   040
	004603	   117 	   106 	   040
	004606	   122 	   101 	   116
	004611	   107 	   105 	   000
	016454	117252 				 .RAD50	/YOR/		; "YOR" IN .RAD50
	016456	004564'				 .WORD	YORMSG		; POINTER TO MESSAGE
   9500						;
   9501	016460					NSERR$	XTO,<KL EXECUTE TIMED OUT>
	004614	   130 	   124 	   117 		 .ASCIZ	%XTO - KL EXECUTE TIMED OUT%
	004617	   040 	   055 	   040
	004622	   113 	   114 	   040
	004625	   105 	   130 	   105
	004630	   103 	   125 	   124
	004633	   105 	   040 	   124
	004636	   111 	   115 	   105
	004641	   104 	   040 	   117
	004644	   125 	   124 	   000
	016460	114457 				 .RAD50	/XTO/		; "XTO" IN .RAD50
	016462	004614'				 .WORD	XTOMSG		; POINTER TO MESSAGE
   9502						;
   9503	016464	000000 				.WORD	0		; END OF TABLE MARKER
   9504					.TITLE	NULLC -- NULL COMMAND MODULE 7603.30
   9505
   9506						.IDENT	"001010"
   9507
   9508					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   9509					;
   9510					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   9511					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   9512					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   9513					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9514					;	FOR ITS ACCURACY.
   9515					;
NULLC -- NULL COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 280-13
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

   9516					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   9517					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   9518					;
   9519					;
   9520					;		MODULE: NULL COMMAND
   9521					;
   9522					;		VERSION: 01-01
   9523					;
   9524					;		AUTHOR: R. BELANGER
   9525					;
   9526					;		DATE: 7603.30
   9527					;
   9528					;	THIS MODULE CONTAINS:
   9529					;
   9530					;	1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 281
.NULLC -- THE NULL COMMAND 7602.10

   9532					.SBTTL	.NULLC -- THE NULL COMMAND 7602.10
   9533
   9534	016466				.NULLC::
   9535	016466	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; RESET THE COMMAND NAME
   9536	016474					CALLR	.CKEOC		; CHECK E-O-C CHARACTER
	016474	000137 	002010'			 JMP	.CKEOC
   9537						;
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 282
.NULLC -- THE NULL COMMAND 7602.10

   9539					.TITLE	PARER -- ERROR DECODER MODULE 7609.24
   9540
   9541						.IDENT	"001020"
   9542
   9543					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   9544					;
   9545					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   9546					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   9547					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   9548					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9549					;	FOR ITS ACCURACY.
   9550					;
   9551					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   9552					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   9553					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   9554					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   9555					;
   9556					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   9557					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   9558					;
   9559					;
   9560					;		MODULE: ERROR DECODER
   9561					;
   9562					;		VERSION: 01-02
   9563					;
   9564					;		AUTHOR: R. BELANGER
   9565					;
   9566					;		DATE: 7609.24
   9567					;
   9568					;	THIS MODULE CONTAINS:
   9569					;
   9570					;	1) ERROR DECODER
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 283
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   9572					.SBTTL	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
   9573
   9574					;+
   9575					; .PARER -- ERROR DECODE AND PRINT ROUTINE.
   9576					;
   9577					; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
   9578					; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
   9579					; CALLED FROM THE TRAP HANDLER, ".PTTRP".
   9580					;
   9581					; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
   9582					; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
   9583					; WILL ISSUE A "UEC" ERROR CODE.
   9584					;
   9585					; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
   9586					; THIER ENTRIES LOOK LIKE THIS:
   9587					;
   9588					;	!===============================!
   9589					;	!	.RAD50 ERROR CODE	!
   9590					;	!-------------------------------!
   9591					;	!	DISPATCH ADDRESS	!
   9592					;	!-------------------------------!
   9593					;	!	MESSAGE POINTER		!
   9594					;	!===============================!
   9595					;
   9596					; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
   9597					; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
   9598					;
   9599					;	!===============================!
   9600					;	!	.RAD50 ERROR CODE	!
   9601					;	!-------------------------------!
   9602					;	!	MESSAGE POINTER		!
   9603					;	!===============================!
   9604					;
   9605					; INPUT ARGUMENTS:
   9606					;
   9607					;	R0 HOLDS THE .RAD50 ERROR CODE
   9608					;
   9609					; OUTPUT ARGUMENTS:
   9610					;
   9611					;	NONE.
   9612					;
   9613					; ERROR MESSAGES RETURNED:
   9614					;
   9615					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
   9616					;	THE PARSER EXITS.
   9617					;
   9618					;	UEC -- UNMATCHED ERROR CODE.
   9619					;-
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 284
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   9621	016500				.PARER::
   9622	016500					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	016500	010046 				 MOV	R0,-(SP)
	016502	010146 				 MOV	R1,-(SP)
	016504	010246 				 MOV	R2,-(SP)
   9623	016506	012701 	026024'			MOV	#.SPETB,R1	; ...SPECIAL ERRORS GET CHECKED FIRST
   9624	016512				10$:
   9625	016512	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   9626	016514	001405 				BEQ	30$		; ...END-OF-TABLE TRY OTHER ERROR CODES
   9627	016516	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   9628	016520	001402 				BEQ	20$		; ...YES -- DISPATCH TO SPECIAL HANDLER
   9629	016522	022121 				CMP	(R1)+,(R1)+	; ...NO -- GET OVER DISPATCH
   9630	016524	000772 				BR	10$		; ...AND TRY THE NEXT ONE
   9631						;
   9632	016526				20$:
   9633	016526	000131 				JMP	@(R1)+		; ...AWAY TO SPECIAL ROUTINE
   9634						;
   9635	016530				30$:
   9636	016530	012701 	016124'			MOV	#.NSETB,R1	; ...TABLE POINTER TO R1
   9637	016534				40$:
   9638	016534	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   9639	016536	001521 				BEQ	PARUEC		; ...END-OF-TABLE -- GIVE UEC ERROR
   9640	016540	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   9641	016542	001402 				BEQ	50$		; ...YES -- PRINT THE MESSAGE
   9642	016544	005721 				TST	(R1)+		; ...NO -- GET OVER MESSAGE POINTER
   9643	016546	000772 				BR	40$		; ...AND TRY NEXT CODE
   9644						;
   9645	016550				50$:
   9646	016550					CALL	PARERC		; ...DO COMMON OUTPUT CODE
	016550	004737 	016730'			 JSR	PC,PARERC
   9647	016554				PARERX:
   9648	016554					POP	<R2,R1,R0>	; ...RESTORE THE REGISTERS
	016554	012602 				 MOV	(SP)+,R2
	016556	012601 				 MOV	(SP)+,R1
	016560	012600 				 MOV	(SP)+,R0
   9649	016562					CALLR	.TCRLF		; END THE LINE AND RETURN
	016562	000137 	031524'			 JMP	.TCRLF
   9650						;
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 285
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9652					.SBTTL	.PARER -- SPECIAL ERROR ROUTINES 7609.24
   9653
   9654						.ENABL	LSB
   9655
   9656	016566				.SEAMB::
   9657	016566				.SENSK::
   9658	016566					CALL	PARERC		; ...DO COMMON CODE
	016566	004737 	016730'			 JSR	PC,PARERC
   9659	016572				10$:
   9660	016572	112500 				MOVB	(R5)+,R0	; ...LOAD THE OFFENDING SYMBOL
   9661	016574	132760 	000034 	001360'		BITB	#CH.END,.CHTAB(R0)
   9662	016602	001017 				BNE	30$		; ...UNTIL THE END
   9663	016604					CALL	.TYCHR		; ...OUTPUT THE CHARACTER
	016604	004737 	031472'			 JSR	PC,.TYCHR
   9664	016610	000770 				BR	10$		; ...CONTINUE
   9665						;
   9666	016612				.SEILC::
   9667	016612				.SEILS::
   9668	016612				.SEIPC::
   9669	016612					CALL	PARERC		; ...DO COMMON CODE
	016612	004737 	016730'			 JSR	PC,PARERC
   9670	016616	110400 				MOVB	R4,R0		; ...GET THE CHARACTER
   9671	016620	122700 	000040 			CMPB	#.SPACE,R0	; ...IS IT A CONTROL CHARACTER?
   9672	016624	003404 				BLE	20$		; ...NO -- JUST PRINT IT
   9673	016626					CALL	.TYUPA		; ...YES -- TYPE AN <UPARROW>
	016626	004737 	030654'			 JSR	PC,.TYUPA
   9674	016632	052700 	000100 			BIS	#100,R0		; ...MAKE IT A PRINTING CHARACTER
   9675	016636				20$:
   9676	016636					CALL	.TYCHR		; ...PRINT THE CHARACTER
	016636	004737 	031472'			 JSR	PC,.TYCHR
   9677	016642				30$:
   9678	016642	112700 	000042 			MOVB	#'",R0		; ...END QUOTE
   9679	016646					CALL	.TYCHR		; ...PRINT THAT
	016646	004737 	031472'			 JSR	PC,.TYCHR
   9680	016652	000740 				BR	PARERX		; ...AND EXIT
   9681						;
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 286
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9683	016654				.SEFRF::
   9684	016654					PUSH	.KLDFR+2	; ...SAVE THE READ CODE
	016654	013746 	010730'			 MOV	.KLDFR+2,-(SP)
   9685	016660	000405 				BR	40$		; ....TO COMMON CODE
   9686						;
   9687	016662				.SEFWF::
   9688	016662					PUSH	.KLDFW+2	; ...SAVE THE WRITE CODE
	016662	013746 	011064'			 MOV	.KLDFW+2,-(SP)
   9689	016666	000402 				BR	40$		; ....TO COMMON CODE
   9690						;
   9691	016670				.SEFXF::
   9692	016670					PUSH	.KLDFX+2	; ...SAVE THE EXECUTE CODE
	016670	013746 	011246'			 MOV	.KLDFX+2,-(SP)
   9693	016674				40$:
   9694	016674					CALL	PARERC		; ....DO COMMON STUFF
	016674	004737 	016730'			 JSR	PC,PARERC
   9695	016700					POP	R0		; ....GET THE CODE
	016700	012600 				 MOV	(SP)+,R0
   9696	016702	000300 				SWAB	R0		; ...SWAP THE BYTES
   9697	016704	042700 	177400 			BIC	#^C377,R0	; ...CLEAR JUNK
   9698	016710	006200 				ASR	R0		; ...DIVIDE BY 2
   9699	016712					CALL	.TYP3D		; ...PRINT CODE
	016712	004737 	030742'			 JSR	PC,.TYP3D
   9700	016716	012700 	004647'			MOV	#FLDMSG,R0	; ...END MESSAGE
   9701	016722					CALL	.TYMSG		; ...PRINT IT
	016722	004737 	031434'			 JSR	PC,.TYMSG
   9702	016726	000712 				BR	PARERX		; ...AND EXIT
   9703						;
   9704
   9705	004647				.PSECT	MESSAG
   9706
   9707	004647				FLDMSG:
   9708	004647	   040 	   106 	   101 		.ASCIZ	% FAILED%
	004652	   111 	   114 	   105
	004655	   104 	   000
   9709	016730				.PSECT
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 287
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9711					; THIS IS THE COMMON ERROR CODE ROUTINE
   9712
   9713	016730				PARERC:
   9714	016730	012700 	000011'			MOV	#PARMSG,R0	; ...PREAMBLE
   9715	016734					CALL	.TYMSG		; ...PRINT IT
	016734	004737 	031434'			 JSR	PC,.TYMSG
   9716	016740	012700 	000133 			MOV	#'[,R0		; ...LEFT BRACKET
   9717	016744					CALL	.TYCHR		; ...PRINT IT
	016744	004737 	031472'			 JSR	PC,.TYCHR
   9718	016750	013700 	000002'			MOV	.CCMDN,R0	; ...CURRENT COMMAND NAME
   9719	016754					CALL	.TYMSG		; ...PRINT IT
	016754	004737 	031434'			 JSR	PC,.TYMSG
   9720	016760	012700 	000135 			MOV	#'],R0		; ...RIGHT BRACKET
   9721	016764					CALL	.TYCHR		; ...PRINT IT
	016764	004737 	031472'			 JSR	PC,.TYCHR
   9722	016770					CALL	.TYSPC		; ...<SPACE>
	016770	004737 	030644'			 JSR	PC,.TYSPC
   9723	016774	011100 				MOV	(R1),R0		; ...ERROR MESSAGE
   9724	016776					CALLR	.TYMSG		; ...PRINT IT AND RETURN
	016776	000137 	031434'			 JMP	.TYMSG
   9725						;
   9726	017002				PARUEC:
   9727	017002					PUSH	R0		; ...SAVE THE ERROR CODE
	017002	010046 				 MOV	R0,-(SP)
   9728	017004	012701 	017024'			MOV	#UECMSP,R1	; ...."UEC" MESSAGE POINTER TO R1
   9729	017010					CALL	PARERC		; ....DO COMMON CODE
	017010	004737 	016730'			 JSR	PC,PARERC
   9730	017014					POP	R0		; ....RESTORE THE ERROR CODE
	017014	012600 				 MOV	(SP)+,R0
   9731	017016					CALL	.TYR50		; ...PRINT IT
	017016	004737 	031710'			 JSR	PC,.TYR50
   9732	017022	000707 				BR	30$		; ...AND EXIT
   9733						;
   9734
   9735						.DSABL	LSB
   9736
   9737	017024				UECMSP:
   9738	017024	004657'				.WORD	UECMSG
   9739
   9740	004657				.PSECT	MESSAG
   9741
   9742	004657				UECMSG:
   9743	004657	   125 	   116 	   115 		.ASCIZ	%UNMATCHED ERROR CODE "%
	004662	   101 	   124 	   103
	004665	   110 	   105 	   104
	004670	   040 	   105 	   122
	004673	   122 	   117 	   122
	004676	   040 	   103 	   117
	004701	   104 	   105 	   040
	004704	   042 	   000
   9744
   9745	017026				.PSECT
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 288
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9747	017026				.SECES::
   9748	017026					CALL	PARERC		; ...DO COMMON CODE
	017026	004737 	016730'			 JSR	PC,PARERC
   9749	017032					CALL	.RDIPE		; ...READ THE ERROR BITS
	017032	004737 	020236'			 JSR	PC,.RDIPE
   9750	017036					PUSH	R0		; ....SAVE THEM
	017036	010046 				 MOV	R0,-(SP)
   9751	017040	001420 				BEQ	30$		; ....BAD NEWS IF NONE THERE
   9752	017042	012701 	017116'			MOV	#SPCEST,R1	; ....TABLE POINTER TO R1
   9753	017046				10$:
   9754	017046	032716 	000001 			BIT	#BIT00,(SP)	; ....IS THE BIT ON
   9755	017052	001407 				BEQ	20$		; ....NO -- GO ON
   9756	017054	011100 				MOV	(R1),R0		; ....YES -- SAY SO
   9757	017056					CALL	.TYMSG		; ....PRINT IT
	017056	004737 	031434'			 JSR	PC,.TYMSG
   9758	017062					CALL	.TYCOM		; ....PRINT A COMMA
	017062	004737 	030614'			 JSR	PC,.TYCOM
   9759	017066					CALL	.TYSPC		; ....AND A SPACE
	017066	004737 	030644'			 JSR	PC,.TYSPC
   9760	017072				20$:
   9761	017072	005721 				TST	(R1)+		; ....ADVANCE THE POINTER
   9762	017074	006216 				ASR	(SP)		; ....SHIFT THE ERROR BITS
   9763	017076	001363 				BNE	10$		; ....AND KEEP GOING
   9764	017100	000404 				BR	40$		; ....FINISHED -- EXIT
   9765						;
   9766	017102				30$:
   9767	017102	012700 	004746'			MOV	#NEBMSG,R0	; ....NO ERROR BIT ARE SET
   9768	017106					CALL	.TYMSG		; ....SAY SO
	017106	004737 	031434'			 JSR	PC,.TYMSG
   9769	017112				40$:
   9770	017112	005726 				TST	(SP)+		; ....FLUSH THE STACK
   9771	017114	000617 				BR	PARERX		; ...AND EXIT
   9772						;
   9773	017116				SPCEST:
   9774	017116	004733'				.WORD	ERSMSG
   9775	017120	004706'				.WORD	CESMS0
   9776	017122	004713'				.WORD	CESMS1
   9777	017124	004720'				.WORD	CESMS2
   9778	017126	004723'				.WORD	CESMS3
PARER -- ERROR DECODER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 289
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9780	004706				.PSECT	MESSAG
   9781
   9782	004706				CESMS0:
   9783	004706	   104 	   122 	   101 		.ASCIZ	%DRAM%
	004711	   115 	   000
   9784	004713				CESMS1:
   9785	004713	   103 	   122 	   101 		.ASCIZ	%CRAM%
	004716	   115 	   000
   9786	004720				CESMS2:
   9787	004720	   106 	   115 	   000 		.ASCIZ	%FM%
   9788	004723				CESMS3:
   9789	004723	   106 	   123 	   055 		.ASCIZ	%FS-STOP%
	004726	   123 	   124 	   117
	004731	   120 	   000
   9790	004733				ERSMSG:
   9791	004733	   105 	   122 	   122 		.ASCIZ	%ERROR STOP%
	004736	   117 	   122 	   040
	004741	   123 	   124 	   117
	004744	   120 	   000
   9792	004746				NEBMSG:
   9793	004746	   116 	   117 	   040 		.ASCIZ	%NO ERROR STOP BITS SET%
	004751	   105 	   122 	   122
	004754	   117 	   122 	   040
	004757	   123 	   124 	   117
	004762	   120 	   040 	   102
	004765	   111 	   124 	   123
	004770	   040 	   123 	   105
	004773	   124 	   000
   9794
   9795	017130				.PSECT
PTOAT -- TRAP AT 4 TRAP MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 290
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   9797					.TITLE	PTOAT -- TRAP AT 4 TRAP MODULE 7606.15
   9798
   9799						.IDENT	"001010"
   9800
   9801					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
   9802					;
   9803					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
   9804					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
   9805					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
   9806					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9807					;	FOR ITS ACCURACY.
   9808					;
   9809					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
   9810					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
   9811					;
   9812					;
   9813					;		MODULE: TRAP AT 4 TRAP
   9814					;
   9815					;		VERSION: 01-01
   9816					;
   9817					;		AUTHOR: R. BELANGER
   9818					;
   9819					;		DATE: 7606.15
   9820					;
   9821					;	THIS MODULE CONTAINS:
   9822					;
   9823					;	1) TRAP AT 4 TRAP CODE
PTOAT -- TRAP AT 4 TRAP MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 291
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   9825					.SBTTL	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
   9826
   9827					;+
   9828					; .PTOAT -- TRAP AT 4 TRAP HANDLER.
   9829					;
   9830					; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
   9831					; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
   9832					; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
   9833					; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
   9834					;
   9835					; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
   9836					; THE FOLLOWING INFORMATION:
   9837					;
   9838					;		!=======================================!
   9839					; 2(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   9840					;		!---------------------------------------!
   9841					; (SP)==>	!	  TRAP PROGRAM COUNTER		!
   9842					;		!=======================================!
   9843					;
   9844					; ERROR CODES RETURNED:
   9845					;
   9846					;	NONE.
   9847					;-
   9848
   9849	017130				.PTOAT::
   9850	017130					POP	.TRPPC		; ..SAVE THE TRAP PC
	017130	012637 	000152'			 MOV	(SP)+,.TRPPC
   9851	017134					POP	.TRPPS		; .AND THE TRAP PSW
	017134	012637 	000154'			 MOV	(SP)+,.TRPPS
   9852	017140					CALL	R5,.REGSV	; SAVE THE REGISTERS FROM TRAP
	017140	004537 	021556'			 JSR	R5,.REGSV
   9853	017144					PUSH	R0		; AND R0
	017144	010046 				 MOV	R0,-(SP)
   9854	017146	012737 	017230'	000174'		MOV	#.PTDIE,.SSTTB	; .SET UP TO DIE ON RECURSION
   9855	017154					CALL	.TCRLF		; .GIVE A FREE <CRLF>
	017154	004737 	031524'			 JSR	PC,.TCRLF
   9856	017160	012700 	004775'			MOV	#PTOATM,R0	; .GET THE MESSAGE POINTER
   9857	017164					CALL	.TYMSG		; .TYPE IT
	017164	004737 	031434'			 JSR	PC,.TYMSG
   9858	017170	013700 	000034'			MOV	.EDELA,R0	; .ADDRESS TO R0
   9859	017174					CALL	.TYELN		; .TYPE THAT
	017174	004737 	030676'			 JSR	PC,.TYELN
   9860	017200					CALL	.TCRLF		; .AND A CRLF
	017200	004737 	031524'			 JSR	PC,.TCRLF
   9861					.IF NE	FTDEBUG
   9862	017204	005737 	000016'			TST	.DBGSW		; .IS THE DEBUG SWITCH SET?
   9863	017210	001403 				BEQ	10$		; .NO -- JUST RESTART
   9864	017212					POP	R0		; .RESTORE R0
	017212	012600 				 MOV	(SP)+,R0
   9865	017214					CALL	@(SP)+		; .AND THE REGISTERS
	017214	004736 				 JSR	PC,@(SP)+
   9866	017216	000000 				HALT			; SO WE CAN LOOK
   9867	017220				10$:
   9868					.ENDC		; FTDEBUG
   9869	017220	005037 	000174'			CLR	.SSTTB		; RESET THE TRAP VECTOR
   9870	017224	000177 	160704 			JMP	@.STRTV		; .AND START OVER
   9871						;
PTOAT -- TRAP AT 4 TRAP MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 291-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   9872
   9873	004775				.PSECT	MESSAG
   9874
   9875	004775				PTOATM:
   9876	004775	   120 	   101 	   122 		.ASCIZ	%PAR -- ILLEGAL MEMORY REFERENCE TO: %
	005000	   040 	   055 	   055
	005003	   040 	   111 	   114
	005006	   114 	   105 	   107
	005011	   101 	   114 	   040
	005014	   115 	   105 	   115
	005017	   117 	   122 	   131
	005022	   040 	   122 	   105
	005025	   106 	   105 	   122
	005030	   105 	   116 	   103
	005033	   105 	   040 	   124
	005036	   117 	   072 	   040
	005041	   000
   9877
   9878	017230				.PSECT
PTTRP -- TRAP HANDLER MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 292
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   9880					.TITLE	PTTRP -- TRAP HANDLER MODULE 7609.24
   9881
   9882						.IDENT	"002010"
   9883
   9884					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
   9885					;
   9886					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
   9887					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
   9888					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
   9889					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
   9890					;	FOR ITS ACCURACY.
   9891					;
   9892					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
   9893					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
   9894					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
   9895					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
   9896					;
   9897					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
   9898					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   9899					;
   9900					;
   9901					;		MODULE: TRAP HANDLER
   9902					;
   9903					;		VERSION: 02-01
   9904					;
   9905					;		AUTHOR: R. BELANGER
   9906					;
   9907					;		DATE: 7609.24
   9908					;
   9909					;	THIS MODULE CONTAINS:
   9910					;
   9911					;	1) TRAP HANDLER CODE
   9912					;
   9913					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
   9914					;		AND TO CHANGE CALL FROM ".KLRST" TO ".RSTKL"
PTTRP -- TRAP HANDLER MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 293
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24

   9916					.SBTTL	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
   9917
   9918					;+
   9919					; .PTDIE -- RECURSIVE TRAP HANDLER.
   9920					;
   9921					; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
   9922					; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
   9923					; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
   9924					; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
   9925					; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
   9926					; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
   9927					;
   9928					; ERROR CODES RETURNED:
   9929					;
   9930					;	NONE.
   9931					;-
   9932
   9933
   9934	017230				.PTDIE::
   9935	017230	005337 	000150'			DEC	.TRPIP		; ..DECREMENT THE INTERLOCK
   9936	017234	001423 				BEQ	20$		; ..KILL NOW IF RECURSIVE
   9937	017236					PUSH	R0		; ..SAVE R0
	017236	010046 				 MOV	R0,-(SP)
   9938	017240	012700 	000174'			MOV	#.SSTTB,R0	; ...TABLE POINTER TO R0
   9939	017244				10$:
   9940	017244	005020 				CLR	(R0)+		; ...CLEAR THIS ENTRY
   9941	017246	020027 	000212'			CMP	R0,#SSTTBE	; ...ARE WE DONE?
   9942	017252	003774 				BLE	10$		; ...NO -- KEEP GOING
   9943	017254					CALL	.TCRLF		; ...START THE LINE
	017254	004737 	031524'			 JSR	PC,.TCRLF
   9944	017260	012700 	005042'			MOV	#PTRTEM,R0	; ...RECURSIVE ERROR MESSAGE
   9945	017264					CALL	.TYLIN		; ...PRINT IT
	017264	004737 	031420'			 JSR	PC,.TYLIN
   9946	017270	016600 	000002 			MOV	2(SP),R0	; ...GET THE TRAP PC
   9947	017274					CALL	.TYELN		; ...TYPE THAT
	017274	004737 	030676'			 JSR	PC,.TYELN
   9948	017300					CALL	.TCRLF		; ...END THE LINE
	017300	004737 	031524'			 JSR	PC,.TCRLF
   9949	017304				20$:
   9950	017304	000004 				IOT			; ...AND GO AWAY
   9951						;
PTTRP -- TRAP HANDLER MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 294
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   9953					.SBTTL	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
   9954
   9955					;+
   9956					; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
   9957					;
   9958					; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
   9959					; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
   9960					; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
   9961					; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
   9962					; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
   9963					;
   9964					; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
   9965					;		  ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
   9966					;
   9967					; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
   9968					;		  STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
   9969					;		  THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
   9970					;		  RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
   9971					;
   9972					; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
   9973					;		  THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
   9974					;		  THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
   9975					;		  OF THE KL. THE VALUE OF "TC.ERR" IS 0.
   9976					;
   9977					; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
   9978					;		  THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
   9979					;		  THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
   9980					;		  ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
   9981					;
   9982					; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
   9983					; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
   9984					;
   9985					; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
   9986					; THE FOLLOWING INFORMATION:
   9987					;
   9988					;		!=======================================!
   9989					; 6(SP)==>	!	    TRAP ERROR CODE		!
   9990					;		!---------------------------------------!
   9991					; 4(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   9992					;		!---------------------------------------!
   9993					; 2(SP)==>	!	  TRAP PROGRAM COUNTER		!
   9994					;		!---------------------------------------!
   9995					; (SP)==>	!	  TRAP STATUS BYTE * 2		!
   9996					;		!=======================================!
   9997					;
   9998					; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
   9999					;
  10000					; ERROR CODES RETURNED:
  10001					;
  10002					;	RTH -- RECURSION IN TRAP HANDLER.
  10003					;	UEC -- UNMATCHED ERROR CODE.
  10004					;-
PTTRP -- TRAP HANDLER MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 295
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

  10006	017306				.PTTRP::
  10007	017306	005337 	000150'			DEC	.TRPIP		; ....DECREMENT THE TRAP IN PROGRESS FLAG
  10008	017312	002471 				BLT	30$		; ....SECOND RECURSION -- KILL TASK
  10009	017314	011637 	000156'			MOV	(SP),.TRPSB	; ....SAVE THE TRAP STATUS BYTE
  10010	017320	016637 	000002 	000152'		MOV	2(SP),.TRPPC	; ....SAVE THE TRAP PC
  10011	017326	016637 	000004 	000154'		MOV	4(SP),.TRPPS	; ....SAVE THE TRAP PSW
  10012	017334	016637 	000006 	000146'		MOV	6(SP),.TRPEC	; ....SAVE THE TRAP ERROR CODE
  10013	017342					CALL	R5,.REGSV	; ....SAVE TRAP REGISTERS
	017342	004537 	021556'			 JSR	R5,.REGSV
  10014	017346					PUSH	R0		; ....SAVE R0 TOO
	017346	010046 				 MOV	R0,-(SP)
  10015	017350	105737 	000156'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
  10016	017354	003405 				BLE	10$		; .....DON'T TRY TO RECOVER THE KL
  10017	017356	005737 	000140'			TST	.SVKLF		; .....DID WE SAVE THE PREVIOUS STATE?
  10018	017362	001402 				BEQ	10$		; .....NO -- FORGET RECOVERY
  10019	017364					CALL	.RSTKL		; .....RESTORE THE KL
	017364	004737 	022134'			 JSR	PC,.RSTKL
  10020	017370				10$:
  10021	017370	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; .....RESET THE INPUT RADIX
  10022	017376	013737 	000120'	000106'		MOV	.RDXSV,.ORADX	; .....AND OUTPUT RADIX
  10023	017404	122737 	000004 	000156'		CMPB	#TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
  10024	017412	001425 				BEQ	20$		; .....YES -- JUST RESTART THE PARSER
  10025	017414	013700 	000160'			MOV	.TRPTV,R0	; .....NO -- IS THIS A NORMAL TRAP??
  10026	017420	001406 				BEQ	15$		; .....YES -- GO ON
  10027	017422	010006 				MOV	R0,SP		; .....NO -- RESET THE STACK
  10028	017424	005237 	000150'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
  10029	017430	005037 	000160'			CLR	.TRPTV		; .....RESET THE TRAP TRAP VECTOR
  10030	017434					CALLR	@(SP)+		; .....AND GO AWAY TO OTHER ROUTINE
	017434	000136 				 JMP	@(SP)+
  10031						;
  10032	017436				15$:
  10033	017436					CALL	.TCRLF		; .....GIVE A FREE <CRLF>
	017436	004737 	031524'			 JSR	PC,.TCRLF
  10034	017442	013700 	000146'			MOV	.TRPEC,R0	; .....GET THE ERROR CODE IN R0
  10035	017446					CALL	.PARER		; .....DECODE AND PRINT THE ERROR
	017446	004737 	016500'			 JSR	PC,.PARER
  10036	017452	005737 	000150'			TST	.TRPIP		; .....IS THIS A RECURSIVE TRAP?
  10037	017456	001407 				BEQ	30$		; .....YES -- GIVE UP
  10038	017460	105737 	000156'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
  10039	017464	002413 				BLT	40$		; .....RECOVER THE ERROR
  10040	017466				20$:
  10041	017466	005237 	000150'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
  10042	017472	000177 	160436 			JMP	@.STRTV		; .....RESTART THE PARSER
  10043						;
  10044
  10045					;	[CONTINUED ON THE FOLLOWING PAGE]
PTTRP -- TRAP HANDLER MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 296
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

  10047					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10048
  10049	017476				30$:				; .....HERE ON RECURSIVE TRAP
  10050	017476	012700 	005112'			MOV	#PTRTHM,R0	; .....MESSAGE POINTER
  10051	017502					CALL	.TYLIN		; .....PRINT IT
	017502	004737 	031420'			 JSR	PC,.TYLIN
  10052	017506					CALL	.TCRLF		; .....END THE LINE
	017506	004737 	031524'			 JSR	PC,.TCRLF
  10053	017512	000004 				IOT			; .....AND GO "RIBIT"
  10054						;
  10055	017514				40$:				; .....HERE TO RECOVER THE ERROR
  10056	017514	005237 	000150'			INC	.TRPIP		; .....DECREMENT THE INTERLOCK
  10057	017520					POP	R0		; .....RESTORE R0
	017520	012600 				 MOV	(SP)+,R0
  10058	017522					CALL	@(SP)+		; ....AND THE OTHER REGISTERS
	017522	004736 				 JSR	PC,@(SP)+
  10059	017524	005726 				TST	(SP)+		; ....GET OVER THE TRAP STATUS BYTE
  10060	017526	000002 				RTI			; ...TO WHEREVER WE WERE CALLED FROM
  10061						;
  10062
  10063	005042				.PSECT	MESSAG
  10064
  10065	005042				PTRTEM:
  10066	005042	   120 	   101 	   122 		.ASCIZ	%PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
	005045	   040 	   055 	   055
	005050	   040 	   052 	   106
	005053	   101 	   124 	   101
	005056	   114 	   052 	   040
	005061	   122 	   105 	   103
	005064	   125 	   122 	   123
	005067	   111 	   126 	   105
	005072	   040 	   124 	   122
	005075	   101 	   120 	   040
	005100	   106 	   122 	   117
	005103	   115 	   040 	   120
	005106	   103 	   072 	   040
	005111	   000
  10067	005112				PTRTHM:
  10068	005112	   120 	   101 	   122 		.ASCIZ	%PAR -- RTH - RECURSION IN TRAP HANDLER%
	005115	   040 	   055 	   055
	005120	   040 	   122 	   124
	005123	   110 	   040 	   055
	005126	   040 	   122 	   105
	005131	   103 	   125 	   122
	005134	   123 	   111 	   117
	005137	   116 	   040 	   111
	005142	   116 	   040 	   124
	005145	   122 	   101 	   120
	005150	   040 	   110 	   101
	005153	   116 	   104 	   114
	005156	   105 	   122 	   000
  10069
  10070	017530				.PSECT
QUITC -- QUIT COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 297
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

  10072					.TITLE	QUITC -- QUIT COMMAND MODULE 7603.30
  10073
  10074						.IDENT	"001010"
  10075
  10076					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10077					;
  10078					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10079					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10080					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10081					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10082					;	FOR ITS ACCURACY.
  10083					;
  10084					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10085					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10086					;
  10087					;
  10088					;		MODULE: QUIT COMMAND
  10089					;
  10090					;		VERSION: 01-01
  10091					;
  10092					;		AUTHOR: R. BELANGER
  10093					;
  10094					;		DATE: 7603.30
  10095					;
  10096					;	THIS MODULE CONTAINS:
  10097					;
  10098					;	1) QUIT COMAND CODE
QUITC -- QUIT COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 298
.QUITC -- THE "QUIT" COMMAND 7602.16

  10100					.SBTTL	.QUITC -- THE "QUIT" COMMAND 7602.16
  10101
  10102					;+
  10103					; .QUITC -- THE "QUIT" COMMAND.
  10104					;
  10105					; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
  10106					;
  10107					; INPUT ARGUMENTS:
  10108					;
  10109					;	NONE.
  10110					;
  10111					; OUTPUT ARGUMENTS:
  10112					;
  10113					;	NONE.
  10114					;
  10115					; ERROR CODES RETURNED:
  10116					;
  10117					;	NONE.
  10118					;-
  10119
  10120	017530				.QUITC::
  10121	017530					CALL	.CKEOC		; MUST HAVE E-O-C
	017530	004737 	002010'			 JSR	PC,.CKEOC
  10122	017534					CALLR	.EXITP		; EXIT THE PARSER
	017534	000137 	007754'			 JMP	.EXITP
  10123						;
RDAPR -- KL APR STATUS READ MOD	MACRO M1108  13-JAN-78 09:14  PAGE 299
.QUITC -- THE "QUIT" COMMAND 7602.16

  10125					.TITLE	RDAPR -- KL APR STATUS READ MODULE 7603.30
  10126
  10127						.IDENT	"001010"
  10128
  10129					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10130					;
  10131					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10132					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10133					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10134					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10135					;	FOR ITS ACCURACY.
  10136					;
  10137					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10138					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10139					;
  10140					;
  10141					;		MODULE: KL APR STATUS READ
  10142					;
  10143					;		VERSION: 01-01
  10144					;
  10145					;		AUTHOR: R. BELANGER
  10146					;
  10147					;		DATE: 7603.30
  10148					;
  10149					;	THIS MODULE CONTAINS:
  10150					;
  10151					;	1) KL APR STATUS READ CODE
RDAPR -- KL APR STATUS READ MOD	MACRO M1108  13-JAN-78 09:14  PAGE 300
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

  10153					.SBTTL	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
  10154
  10155					;+
  10156					; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
  10157					;
  10158					; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
  10159					; THAT ERROR STATE IN R0 AND ".APRWD".
  10160					;
  10161					; THE FORMAT OF THE DATA RETURNED IS:
  10162					;
  10163					;	AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
  10164					;	AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
  10165					;	AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
  10166					;	AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
  10167					;	AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
  10168					;	AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
  10169					;	AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
  10170					;
  10171					; INPUT ARGUMENTS:
  10172					;
  10173					;	NONE.
  10174					;
  10175					; OUTPUT ARGUMENTS:
  10176					;
  10177					;	R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
  10178					;	".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
  10179					;
  10180					; ERROR CODES RETURNED:
  10181					;
  10182					;	FRF -- FUNCTION READ FAILED.
  10183					;-
  10184
  10185	017540				.RDAPR::
  10186	017540					PUSH	R1		; SAVE R1 ON THE STACK
	017540	010146 				 MOV	R1,-(SP)
  10187	017542	005001 				CLR	R1		; .CLEAR R1
  10188	017544	012700 	000220 			MOV	#FR.APR,R0	; .FR TO READ APR ERRORS
  10189	017550					CALL	.FREAD		; .READ APR ERRORS
	017550	004737 	010644'			 JSR	PC,.FREAD
  10190	017554	012701 	177751 			MOV	#-^D23,R1	; .SHIFT COUNT TO R1
  10191	017560					CALL	.TPSHI		; .SHIFT ERROR BITS INTO POSITION
	017560	004737 	027636'			 JSR	PC,.TPSHI
  10192	017564	042710 	177600 			BIC	#177600,(R0)	; .FLUSH UNWANTED BITS
  10193	017570	011037 	000000'			MOV	(R0),.APRWD	; .SAVE THE WORD
  10194	017574	011000 				MOV	(R0),R0		; .PUT A COPY IN R0
  10195	017576					POP	R1		; .RESTORE R1
	017576	012601 				 MOV	(SP)+,R1
  10196	017600					RETURN			; AND GO AWAY
	017600	000207 				 RTS	PC
RDCPP -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 301
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

  10198					.TITLE	RDCPP -- KL CLOCK AND PARITY CONTROL READ MODULE 7603.30
  10199
  10200						.IDENT	"001010"
  10201
  10202					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10203					;
  10204					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10205					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10206					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10207					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10208					;	FOR ITS ACCURACY.
  10209					;
  10210					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10211					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10212					;
  10213					;
  10214					;		MODULE: KL CLOCK AND PARITY CONTROL READ
  10215					;
  10216					;		VERSION: 01-01
  10217					;
  10218					;		AUTHOR: R. BELANGER
  10219					;
  10220					;		DATE: 7603.30
  10221					;
  10222					;	THIS MODULE CONTAINS:
  10223					;
  10224					;	1) KL CLOCK AND PARITY CONTROL READ CODE
  10225					;	2) KL CLOCK AND PARITY CONTROL DECODER TABLES
RDCPP -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 302
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

  10227					.SBTTL	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
  10228
  10229					;+
  10230					; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
  10231					;	    CHECKING PARAMETERS.
  10232					;
  10233					; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
  10234					; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
  10235					; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
  10236					;
  10237					; INPUT ARGUMENTS:
  10238					;
  10239					;	NONE.
  10240					;
  10241					; OUTPUT ARGUMENTS:
  10242					;
  10243					;	".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
  10244					;	PARITY ENABLES.
  10245					;
  10246					; ERROR CODES RETURNED:
  10247					;
  10248					;	FRF -- FUNCTION READ FAILED.
  10249					;-
  10250
  10251	017602				.RDCPP::
  10252	017602					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	017602	004537 	021556'			 JSR	R5,.REGSV
  10253	017606					PUSH	R0		; R0 TOO
	017606	010046 				 MOV	R0,-(SP)
  10254	017610	012704 	000004 			MOV	#^D4,R4		; .USE R4 AS A COUNTER
  10255	017614	012703 	017756'			MOV	#RDCPT1,R3	; .BIT TEST TABLE POINTER TO R3
  10256	017620	012705 	017746'			MOV	#RDCPT3,R5	; .SAVE AREA POINTER TO R5
  10257	017624				10$:
  10258	017624	112300 				MOVB	(R3)+,R0	; .FR CODE TO R0
  10259	017626	005001 				CLR	R1		; .CLEAR R1
  10260	017630					CALL	.FREAD		; .READ A WORD
	017630	004737 	010644'			 JSR	PC,.FREAD
  10261	017634	011025 				MOV	(R0),(R5)+	; .SAVE BITS 20 THRU 35 IN TABLE
  10262	017636	077406 				SOB	R4,10$		; .READ ALL FOUR OF THEM
  10263	017640	005037 	000010'			CLR	.CLKWD		; .CLEAR THE OLD CLOCK PARAMETERS
  10264	017644	005037 	000116'			CLR	.PSCWD		; .AND THE OLD PARITY STOP PARAMETERS
  10265
  10266					;	[CONTINUED ON THE FOLLOWING PAGE]
RDCPP -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 303
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

  10268					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10269
  10270	017650	012700 	000004 			MOV	#^D4,R0		; .DO OUTER LOOP 4 TIMES
  10271	017654	012705 	017746'			MOV	#RDCPT3,R5	; .KL SAVE AREA POINTER TO R5
  10272	017660				20$:
  10273	017660	012704 	000004 			MOV	#^D4,R4		; .DO INNER LOOP 4 TIMES
  10274	017664	012702 	017736'			MOV	#RDCPT2,R2	; .KL MASK POINTER TO R2
  10275	017670				30$:
  10276	017670	012701 	000010'			MOV	#.CLKWD,R1	; .CLOCK WORD POINTER TO R1
  10277	017674	020427 	000002 			CMP	R4,#^D2		; .IS INNER LOOP COUNT .GT. 2?
  10278	017700	101004 				BHI	50$		; .YES -- CONTINUE
  10279	017702	001001 				BNE	40$		; .NO -- IS IT  .LT. 2?
  10280	017704	005115 				COM	(R5)		; .NO -- INVERT THE WORD SO REST OF CODE WORKS
  10281	017706				40$:
  10282	017706	012701 	000116'			MOV	#.PSCWD,R1	; .DO PARITY WORD
  10283	017712				50$:
  10284	017712	041311 				BIC	(R3),(R1)	; .FLUSH THE BIT IN THE FLAG WORD
  10285	017714	031215 				BIT	(R2),(R5)	; .TEST THE BIT WE READ IN THIS WORD
  10286	017716	001401 				BEQ	60$		; .BRANCH IF BIT IS OFF
  10287	017720	051311 				BIS	(R3),(R1)	; .TURN THE BIT ON IN THE FLAG WORD
  10288	017722				60$:
  10289	017722	022322 				CMP	(R3)+,(R2)+	; .ADVANCE THE MASK POINTERS
  10290	017724	077417 				SOB	R4,30$		; .DO INNER LOOP 4 TIMES
  10291	017726	005125 				COM	(R5)+		; .ADVANCE THE SAVE AREA POINTER
  10292									; .AND STRAIGHTEN THE WORD OUT
  10293	017730	077025 				SOB	R0,20$		; .DO OUTER LOOP 4 TIMES
  10294	017732					POP	R0		; .GIVE R0 BACK
	017732	012600 				 MOV	(SP)+,R0
  10295	017734					RETURN			; AND GO AWAY
	017734	000207 				 RTS	PC
  10296
  10297					; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
  10298
  10299	017736				RDCPT2:
  10300	017736	000010 				.WORD	BIT03		; KL BIT 32
  10301	017740	000004 				.WORD	BIT02		; KL BIT 33
  10302	017742	000002 				.WORD	BIT01		; KL BIT 34
  10303	017744	000001 				.WORD	BIT00		; KL BIT 35
  10304
  10305					; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
  10306
  10307	017746				RDCPT3:
  10308	017746	000000 				.WORD	0		; FR.104 BITS 20 - 35
  10309	017750	000000 				.WORD	0		; FR.105 BITS 20 - 35
  10310	017752	000000 				.WORD	0		; FR.106 BITS 20 - 35
  10311	017754	000000 				.WORD	0		; FR.107 BITS 20 - 35
RDCPP -- KL CLOCK AND PARITY CO	MACRO M1108  13-JAN-78 09:14  PAGE 304
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

  10313					; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
  10314					; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
  10315					; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
  10316					; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
  10317
  10318	017756				RDCPT1:
  10319	017756	   210 				.BYTE	FR.104
  10320	017757	   212 				.BYTE	FR.105
  10321	017760	   214 				.BYTE	FR.106
  10322	017761	   216 				.BYTE	FR.107
  10323	017762	000010 				.WORD	CS.CS2		; CLK SOURCE 2 H [FR.104 - BIT 32]
  10324									; [FW 44 - BIT 32]
  10325	017764	000000 				.WORD	0		; BLANK [FR.104 - BIT 33]
  10326	017766	000010 				.WORD	IP.FMP		; FM PAR EN L [FR.104 - BIT 34]
  10327									; [FW 46 - BIT 32]
  10328	017770	000000 				.WORD	0		; BLANK [FR.104 - BIT 35]
  10329	017772	000004 				.WORD	CS.CS1		; CLK SOURCE 1 H [FR.105 - BIT 32]
  10330									; [FW 44 - BIT 33]
  10331	017774	002000 				.WORD	CD.CRC		; CLK CRAM DIS H [FR.105 - BIT 33]
  10332									; [FW 45 - BIT 33]
  10333	017776	000004 				.WORD	IP.CRP		; CRAM PAR EN L [FR.105 - BIT 34]
  10334									; [FW 46 - BIT 33]
  10335	020000	000000 				.WORD	0		; BLANK [FR.105 BIT - 35]
  10336	020002	000002 				.WORD	CR.CR2		; CLK RATE 2 H [FR.106 - BIT 32]
  10337									; [FW 44 - BIT 34]
  10338	020004	001000 				.WORD	CD.DPC		; CLK EDP DIS H [FR.106 - BIT 33]
  10339									; [FW 45 - BIT 34]
  10340	020006	000002 				.WORD	IP.DRP		; DRAM PAR EN L [FR.106 - BIT 34]
  10341									; [FW 46 - BIT 34]
  10342	020010	001000 				.WORD	AP.ARP		; AR/ARX PAR EN L [FR.106 - BIT 35]
  10343									; [FW 47 - BIT 34]
  10344	020012	000001 				.WORD	CR.CR1		; CLK RATE 1 H [FR.107 - BIT 32]
  10345									; [FW 44 - BIT 35]
  10346	020014	000400 				.WORD	CD.CLC		; CLK CTL DIS H [FR.107 - BIT 33]
  10347									; [FW 45 - BIT 35]
  10348	020016	000001 				.WORD	IP.FSS		; FS STOP EN L [FR.107 -BIT 34]
  10349									; [FW 46 - BIT 35]
  10350	020020	000400 				.WORD	AP.EIP		; CLK ERR STOP EN L [FR.107 - BIT 35]
  10351									; [FW 47 - BIT 35]
RDDPB -- KL DATA PATH BOARD REA	MACRO M1108  13-JAN-78 09:14  PAGE 305
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

  10353					.TITLE	RDDPB -- KL DATA PATH BOARD READ FUNCTION MODULE 7603.30
  10354
  10355						.IDENT	"001010"
  10356
  10357					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10358					;
  10359					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10360					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10361					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10362					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10363					;	FOR ITS ACCURACY.
  10364					;
  10365					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10366					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10367					;
  10368					;
  10369					;		MODULE: KL DATA PATH BOARD READ FUNCTION
  10370					;
  10371					;		VERSION: 01-01
  10372					;
  10373					;		AUTHOR: R. BELANGER
  10374					;
  10375					;		DATE: 7603.30
  10376					;
  10377					;	THIS MODULE CONTAINS:
  10378					;
  10379					;	1) KL DATA PATH BOARD READ CODE
RDDPB -- KL DATA PATH BOARD REA	MACRO M1108  13-JAN-78 09:14  PAGE 306
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

  10381					.SBTTL	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
  10382
  10383					;+
  10384					; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
  10385					; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
  10386					; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
  10387					; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
  10388					; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
  10389					; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
  10390					; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
  10391					; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
  10392					; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
  10393					;
  10394					; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
  10395					; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
  10396					;
  10397					; INPUT ARGUMENTS:
  10398					;
  10399					;	R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
  10400					;
  10401					; OUTPUT ARGUMENTS:
  10402					;
  10403					;	R0 CONTAINS A POINTER TO THE DATA.
  10404					;
  10405					; ERROR CODES RETURNED:
  10406					;
  10407					;	FRF -- FUNCTION READ FAILED.
  10408					;-
RDDPB -- KL DATA PATH BOARD REA	MACRO M1108  13-JAN-78 09:14  PAGE 307
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

  10410						.ENABL	LSB
  10411
  10412	020022				.RDADR::
  10413	020022	012700 	000256 			MOV	#FR.RAD,R0	; READ THE KL ADDER
  10414	020026	000427 				BR	10$		; COMMON CODE
  10415						;
  10416	020030				.RDADX::
  10417	020030	012700 	000254 			MOV	#FR.ADX,R0	; READ THE KL ADDER EXTENSION
  10418	020034	000424 				BR	10$		; COMMON CODE
  10419						;
  10420	020036				.RDARR::
  10421	020036	012700 	000240 			MOV	#FR.RAR,R0	; READ THE KL ARITHMETIC REGISTER
  10422	020042	000421 				BR	10$		; COMMON CODE
  10423						;
  10424	020044				.RDARX::
  10425	020044	012700 	000252 			MOV	#FR.ARX,R0	; READ THE KL AR EXTENSION REGISTER
  10426	020050	000416 				BR	10$		; COMMON CODE
  10427						;
  10428	020052				.RDBRR::
  10429	020052	012700 	000242 			MOV	#FR.RBR,R0	; READ THE KL BUFFER REGISTER
  10430	020056	000413 				BR	10$		; COMMON CODE
  10431						;
  10432	020060				.RDBRX::
  10433	020060	012700 	000250 			MOV	#FR.BRX,R0	; READ THE KL BR EXTENSION REGISTER
  10434	020064	000410 				BR	10$		; COMMON CODE
  10435						;
  10436	020066				.RDEBS::
  10437	020066	012700 	000356 			MOV	#FR.EBS,R0	; READ THE KL EBUS REGISTER
  10438	020072	000405 				BR	10$		; COMMON CODE
  10439						;
  10440	020074				.RDFMR::
  10441	020074	012700 	000246 			MOV	#FR.RFM,R0	; READ THE KL FAST MEMORY REGISTER
  10442	020100	000402 				BR	10$		; COMMON CODE
  10443						;
  10444	020102				.RDMQR::
  10445	020102	012700 	000244 			MOV	#FR.RMQ,R0	; READ THE KL MULTIPLIER QUOTIENT REGISTER
  10446									; FALL INTO COMMON CODE
  10447	020106				10$:
  10448	020106					CALLR	.FREAD		; READ IT AND EXIT
	020106	000137 	010644'			 JMP	.FREAD
  10449						;
  10450
  10451						.DSABL	LSB
RDFLG -- KL PC FLAG READ FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 308
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

  10453					.TITLE	RDFLG -- KL PC FLAG READ FUNCTION MODULE 7603.30
  10454
  10455						.IDENT	"001010"
  10456
  10457					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10458					;
  10459					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10460					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10461					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10462					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10463					;	FOR ITS ACCURACY.
  10464					;
  10465					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10466					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10467					;
  10468					;
  10469					;		MODULE: KL PC FLAG READ FUNCTION
  10470					;
  10471					;		VERSION: 01-01
  10472					;
  10473					;		AUTHOR: R. BELANGER
  10474					;
  10475					;		DATE: 7603.30
  10476					;
  10477					;	THIS MODULE CONTAINS:
  10478					;
  10479					;	1) KL PC FLAG READ CODE
RDFLG -- KL PC FLAG READ FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 309
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

  10481					.SBTTL	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
  10482
  10483					;+
  10484					; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
  10485					;
  10486					; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
  10487					;
  10488					; INPUT ARGUMENTS:
  10489					;
  10490					;	NONE.
  10491					;
  10492					; OUTPUT ARGUMENTS:
  10493					;
  10494					;	R0 CONTAINS THE KL PC FLAGS
  10495					;
  10496					; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
  10497					;
  10498					;	BIT #	PC FLAG BIT AND MEANING		KL BIT
  10499					;	-----	----------------------------	--------
  10500					;
  10501					;	12	PC.OVF -- KL OVERFLOW FLAG -- 00
  10502					;	11	PC.CY0 -- KL CARRY 0 FLAG -- 01
  10503					;	10	PC.CY1 -- KL CARRY 1 FLAG -- 02
  10504					;	09	PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
  10505					;	08	PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
  10506					;	07	PC.USR -- KL USER MODE FLAG -- 05
  10507					;	06	PC.UIO -- KL USER IOT MODE FLAG -- 06
  10508					;	05	PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
  10509					;	04	PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
  10510					;	03	PC.AT1 -- KL APR TRAP 1 FLAG -- 09
  10511					;	02	PC.AT0 -- KL APR TRAP 0 FLAG -- 10
  10512					;	01	PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
  10513					;	00	PC.NDV -- KL NO DIVIDE FLAG -- 12
  10514					;
  10515					; ERROR CODES RETURNED:
  10516					;
  10517					;	FRF -- FUNCTION READ FAILED.
  10518					;-
RDFLG -- KL PC FLAG READ FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 310
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

  10520	020112				.RDFLG::
  10521	020112					PUSH	<R1,R2>		; SAVE R1 AND R2 ON THE STACK
	020112	010146 				 MOV	R1,-(SP)
	020114	010246 				 MOV	R2,-(SP)
  10522	020116	005001 				CLR	R1		; ..CLEAR R1
  10523	020120	005002 				CLR	R2		; ..AND R2
  10524	020122	012700 	000202 			MOV	#FR.101,R0	; ..FR CODE FOR LOW FLAGS
  10525	020126					CALL	.FREAD		; ..READ THEM
	020126	004737 	010644'			 JSR	PC,.FREAD
  10526	020132	012701 	177764 			MOV	#-^D12,R1	; ..SHIFT COUNT TO R1
  10527	020136					CALL	.TPSHI		; ..SHIFT OUR WORD
	020136	004737 	027636'			 JSR	PC,.TPSHI
  10528	020142	042710 	177700 			BIC	#177700,(R0)	; ..MASK OUT FLAG BITS
  10529	020146	051002 				BIS	(R0),R2		; ..PUT THE LOW FLAGS IN R2
  10530	020150	005001 				CLR	R1		; ..AGAIN
  10531	020152	012700 	000200 			MOV	#FR.100,R0	; ..FR CODE FOR MOST OF THE FLAGS
  10532	020156					CALL	.FREAD		; ..READ THEM
	020156	004737 	010644'			 JSR	PC,.FREAD
  10533	020162	012701 	177772 			MOV	#-^D6,R1	; ..SHIFT COUNT TO R1
  10534	020166					CALL	.TPSHI		; ..SHIFT THE DATA
	020166	004737 	027636'			 JSR	PC,.TPSHI
  10535	020172	042710 	170077 			BIC	#170077,(R0)	; ..JUST THE BITS WE WANT
  10536	020176	051002 				BIS	(R0),R2		; ..SAVE THE HIGH FLAGS IN R2
  10537	020200	005001 				CLR	R1		; ..CLEAR R1 AGAIN
  10538	020202	012700 	000264 			MOV	#FR.132,R0	; ..FR CODE FOR LAST FLAG BIT
  10539	020206					CALL	.FREAD		; ..READ IT
	020206	004737 	010644'			 JSR	PC,.FREAD
  10540	020212	032760 	000001 	000004 		BIT	#BIT00,4(R0)	; ..IS IT ON?
  10541	020220	001402 				BEQ	10$		; ..NO -- JUST EXIT
  10542	020222	052702 	010000 			BIS	#PC.OVF,R2	; ..YES -- SET IT IN OUR WORD
  10543	020226				10$:
  10544	020226	010200 				MOV	R2,R0		; ..PUT A COPY IN R0
  10545	020230					POP	<R2,R1>		; ..RESTORE REGISTERS
	020230	012602 				 MOV	(SP)+,R2
	020232	012601 				 MOV	(SP)+,R1
  10546	020234					RETURN			; TO CALLER
	020234	000207 				 RTS	PC
RDIPE -- KL INTERNAL PARITY ERR	MACRO M1108  13-JAN-78 09:14  PAGE 311
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

  10548					.TITLE	RDIPE -- KL INTERNAL PARITY ERROR READ FUNCTION MODULE 7603.30
  10549
  10550						.IDENT	"001010"
  10551
  10552					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10553					;
  10554					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10555					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10556					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10557					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10558					;	FOR ITS ACCURACY.
  10559					;
  10560					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10561					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10562					;
  10563					;
  10564					;		MODULE: KL INTERNAL PARITY ERROR READ FUNCTION
  10565					;
  10566					;		VERSION: 01-01
  10567					;
  10568					;		AUTHOR: R. BELANGER
  10569					;
  10570					;		DATE: 7603.30
  10571					;
  10572					;	THIS MODULE CONTAINS:
  10573					;
  10574					;	1) KL INTERNAL PARITY ERROR READ CODE
RDIPE -- KL INTERNAL PARITY ERR	MACRO M1108  13-JAN-78 09:14  PAGE 312
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13

  10576					.SBTTL	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
  10577
  10578					;+
  10579					; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
  10580					;
  10581					; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
  10582					; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
  10583					;
  10584					;	(A) BIT00 ("PE.CES") [CLK ERROR STOP H],
  10585					;	(B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
  10586					;	(C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
  10587					;	(D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
  10588					;	(E) BIT04 ("PE.FSS") [CLK FS ERROR H].
  10589					;
  10590					; INPUT ARGUMENTS:
  10591					;
  10592					;	NONE.
  10593					;
  10594					; OUTPUT ARGUMENTS:
  10595					;	R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
  10596					;
  10597					; ERROR CODES RETURNED:
  10598					;
  10599					;	FRF -- FUNCTION READ FAILED.
  10600					;-
  10601
  10602	020236				.RDIPE::
  10603	020236					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	020236	004537 	021556'			 JSR	R5,.REGSV
  10604	020242	012702 	000204 			MOV	#FR.102,R2	; BASE FUNCTION READ TO R2
  10605	020246	012703 	000040 			MOV	#BIT05,R3	; MASK BIT TO R3
  10606	020252	012704 	000110'			MOV	#.PEWRD,R4	; WORD POINTER TO R4
  10607	020256	005014 				CLR	(R4)		; CLEAR THE WORD
  10608	020260	012705 	000001 			MOV	#BIT00,R5	; BASE WORD MASK TO R5
  10609	020264	005001 				CLR	R1		; CLEAR R1
  10610	020266				10$:
  10611	020266	010200 				MOV	R2,R0		; GET THE FR NUMBER
  10612	020270					CALL	.FREAD		; DO THE READ
	020270	004737 	010644'			 JSR	PC,.FREAD
  10613	020274	030310 				BIT	R3,(R0)		; IS THE BIT ON?
  10614	020276	001401 				BEQ	20$		; NO -- GO ON
  10615	020300	050514 				BIS	R5,(R4)		; YES -- SET THE BIT IN THE WORD
  10616	020302				20$:
  10617	020302	062702 	000002 			ADD	#^D2,R2		; NEXT FUNCTION READ
  10618	020306	006305 				ASL	R5		; SHIFT THE WORD MASK
  10619	020310	020503 				CMP	R5,R3		; ARE WE DONE?
  10620	020312	001365 				BNE	10$		; NO -- KEEP GOING
  10621	020314	011400 				MOV	(R4),R0		; YES -- PUT THE WORD IN R0
  10622	020316					RETURN			; AND GO AWAY
	020316	000207 				 RTS	PC
RDPI -- KL PI STATUS READ FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 313
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13

  10624					.TITLE	RDPI -- KL PI STATUS READ FUNCTION MODULE 7603.30
  10625
  10626						.IDENT	"001010"
  10627
  10628					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10629					;
  10630					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10631					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10632					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10633					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10634					;	FOR ITS ACCURACY.
  10635					;
  10636					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10637					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10638					;
  10639					;
  10640					;		MODULE: KL PI STATUS READ FUNCTION
  10641					;
  10642					;		VERSION: 01-01
  10643					;
  10644					;		AUTHOR: R. BELANGER
  10645					;
  10646					;		DATE: 7603.30
  10647					;
  10648					;	THIS MODULE CONTAINS:
  10649					;
  10650					;	1) KL PI STATUS READ CODE
RDPI -- KL PI STATUS READ FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 314
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16

  10652					.SBTTL	.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
  10653
  10654					;+
  10655					; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
  10656					;
  10657					; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
  10658					; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
  10659					; RETURN.
  10660					;
  10661					; WORD 0 OF ".PITAB" CONTAINS:
  10662					;
  10663					;	(A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
  10664					;	(B) PI ACTIVE (BIT 07),
  10665					;	(C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
  10666					;
  10667					; WORD 2 OF ".PITAB" CONTAINS:
  10668					;
  10669					;	(A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
  10670					;
  10671					; INPUT ARGUMENTS:
  10672					;
  10673					;	NONE.
  10674					;
  10675					; OUTPUT ARGUMENTS:
  10676					;
  10677					;	R0 POINTS TO ".PITAB".
  10678					;
  10679					; ERROR CODES RETURNED:
  10680					;
  10681					;	FRF -- FUNCTION READ FAILED.
  10682					;-
RDPI -- KL PI STATUS READ FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 315
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16

  10684	020320				.RDPI::
  10685	020320					PUSH	<R1,R2,R3>	; SAVE REGISTERS
	020320	010146 				 MOV	R1,-(SP)
	020322	010246 				 MOV	R2,-(SP)
	020324	010346 				 MOV	R3,-(SP)
  10686	020326	012703 	020400'			MOV	#RDPITB,R3	; ...TABLE POINTER TO R3
  10687	020332	012702 	000112'			MOV	#.PITAB,R2	; ...SAVE AREA POINTER TO R2
  10688	020336				10$:
  10689	020336	005001 				CLR	R1		; ...CLEAR R1
  10690	020340	012300 				MOV	(R3)+,R0	; ...FR CODE TO R0
  10691	020342					CALL	.FREAD		; ...READ IT
	020342	004737 	010644'			 JSR	PC,.FREAD
  10692	020346	012301 				MOV	(R3)+,R1	; ...SHIFT COUNT TO R1
  10693	020350					CALL	.TPSHI		; ...SHIFT IT
	020350	004737 	027636'			 JSR	PC,.TPSHI
  10694	020354	042310 				BIC	(R3)+,(R0)	; ...CLEAR UNWANTED BIT(S)
  10695	020356	011022 				MOV	(R0),(R2)+	; ...PUT IT IN SAVE AREA
  10696	020360	022703 	020414'			CMP	#RDPITE,R3	; ...ARE WE AT END OF TABLE?
  10697	020364	001364 				BNE	10$		; ...NO -- KEEP GOING
  10698	020366	011300 				MOV	(R3),R0		; ...YES -- POINT TO SAVE AREA
  10699	020370					POP	<R3,R2,R1>	; ...RESTORE REGISTERS
	020370	012603 				 MOV	(SP)+,R3
	020372	012602 				 MOV	(SP)+,R2
	020374	012601 				 MOV	(SP)+,R1
  10700	020376					RETURN			; TO CALLER
	020376	000207 				 RTS	PC
  10701
  10702	020400				RDPITB:
  10703	020400	000200 				.WORD	FR.PI0		; FIRST READ CODE
  10704	020402	177756 				.WORD	-^D18		; SHIFT COUNT
  10705	020404	100000 				.WORD	BIT15		; MASK
  10706	020406	000202 				.WORD	FR.PI1		; SECOND READ CODE
  10707	020410	177756 				.WORD	-^D18		; SHIFT COUNT
  10708	020412	177600 				.WORD	177600		; MASK
  10709		020414'			RDPITE=.
  10710	020414	000112'				.WORD	.PITAB		; POINTER TO SAVE AREA
RDSMR -- KL SMALL REGISTER READ	MACRO M1108  13-JAN-78 09:14  PAGE 316
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16

  10712					.TITLE	RDSMR -- KL SMALL REGISTER READ FUNCTION MODULE 7603.30
  10713
  10714						.IDENT	"001010"
  10715
  10716					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10717					;
  10718					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10719					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10720					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10721					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10722					;	FOR ITS ACCURACY.
  10723					;
  10724					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10725					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10726					;
  10727					;
  10728					;		MODULE: KL SMALL REGISTER READ FUNCTION
  10729					;
  10730					;		VERSION: 01-01
  10731					;
  10732					;		AUTHOR: R. BELANGER
  10733					;
  10734					;		DATE: 7603.30
  10735					;
  10736					;	THIS MODULE CONTAINS:
  10737					;
  10738					;	1)	KL SMALL REGISTER READ CODE
RDSMR -- KL SMALL REGISTER READ	MACRO M1108  13-JAN-78 09:14  PAGE 317
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

  10740					.SBTTL	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
  10741
  10742					;+
  10743					; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
  10744					; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
  10745					; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
  10746					; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
  10747					; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
  10748					; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
  10749					;
  10750					; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
  10751					; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
  10752					; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
  10753					;
  10754					; INPUT ARGUMENTS:
  10755					;
  10756					;	NONE.
  10757					;
  10758					; OUTPUT ARGUMENTS:
  10759					;
  10760					;	R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
  10761					;
  10762					; ERROR CODES RETURNED:
  10763					;
  10764					;	FRF -- FUNCTION READ FAILED.
  10765					;-
  10766
  10767						.ENABL	LSB
  10768
  10769	020416				.RDCRA::
  10770	020416	012700 	020544'			MOV	#CRATAB,R0	; POINT TO CRAM ADDRESS TABLE
  10771	020422	000416 				BR	10$		; DO COMMON CODE
  10772						;
  10773	020424				.RDCRL::
  10774	020424	012700 	020560'			MOV	#CRLTAB,R0	; POINT TO CR LOC TABLE
  10775	020430	000413 				BR	10$		; DO COMMON CODE
  10776						;
  10777	020432				.RDDRA::
  10778	020432	012700 	020574'			MOV	#DRATAB,R0	; POINT TO DRAM ADDR TABLE
  10779	020436	000410 				BR	10$		; DO COMMON CODE
  10780						;
  10781	020440				.RDFER::
  10782	020440	012700 	020610'			MOV	#FERTAB,R0	; POINT TO FE TABLE
  10783	020444	000405 				BR	10$		; DO COMMON CODE
  10784						;
  10785	020446				.RDSBR::
  10786	020446	012700 	020624'			MOV	#SBRTAB,R0	; POINT TO CRAM SBR RET TABLE
  10787	020452	000402 				BR	10$		; DO COMMON CODE
  10788						;
  10789	020454				.RDSCR::
  10790	020454	012700 	020640'			MOV	#SCRTAB,R0	; POINT TO SHIFT COUNT TABLE
  10791					;	BR	10$		; FALL INTO COMMON CODE
  10792
  10793					;	[CONTINUED ON THE FOLLOWING PAGE]
RDSMR -- KL SMALL REGISTER READ	MACRO M1108  13-JAN-78 09:14  PAGE 318
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

  10795					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10796
  10797	020460				10$:				; HERE FROM PREVIOUS PAGE
  10798	020460					PUSH	<R1,R2>		; SAVE CALLER'S REGISTERS
	020460	010146 				 MOV	R1,-(SP)
	020462	010246 				 MOV	R2,-(SP)
  10799	020464	010002 				MOV	R0,R2		; ..POINTER TO R2
  10800	020466	005001 				CLR	R1		; ..CLEAR R1
  10801	020470	012200 				MOV	(R2)+,R0	; ..READ THE HIGH ORDER BITS
  10802	020472					CALL	.FREAD		; ..DO IT
	020472	004737 	010644'			 JSR	PC,.FREAD
  10803	020476	012201 				MOV	(R2)+,R1	; ..SHIFT COUNT TO R1
  10804	020500					CALL	.TPSHI		; ..SHIFT IT
	020500	004737 	027636'			 JSR	PC,.TPSHI
  10805	020504	042210 				BIC	(R2)+,(R0)	; ..MASK OUT UNWANTED BITS
  10806	020506					PUSH	(R0)		; ..SAVE THE BITS
	020506	011046 				 MOV	(R0),-(SP)
  10807	020510	012200 				MOV	(R2)+,R0	; ...READ THE LOW ORDER BITS
  10808	020512	005001 				CLR	R1		; ...CLEAR R1
  10809	020514					CALL	.FREAD		; ...DO IT
	020514	004737 	010644'			 JSR	PC,.FREAD
  10810	020520	012201 				MOV	(R2)+,R1	; ...SHIFT COUNT TO R1
  10811	020522					CALL	.TPSHI		; ...SHIFT IT
	020522	004737 	027636'			 JSR	PC,.TPSHI
  10812	020526	042210 				BIC	(R2)+,(R0)	; ...MASK OUT UNWANTED BITS
  10813	020530	051610 				BIS	(SP),(R0)	; ...SET IN THE HIGH ORDER BITS
  10814	020532	011000 				MOV	(R0),R0		; ...PUT IT IN R0
  10815	020534	005726 				TST	(SP)+		; ...CLEAR THE STACK
  10816	020536					POP	<R2,R1>		; ..RESTORE REGISTERS
	020536	012602 				 MOV	(SP)+,R2
	020540	012601 				 MOV	(SP)+,R1
  10817	020542					RETURN			; TO CALLER
	020542	000207 				 RTS	PC
RDSMR -- KL SMALL REGISTER READ	MACRO M1108  13-JAN-78 09:14  PAGE 319
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

  10819					; TABLES FOR SMALL REGISTER READS
  10820
  10821	020544				CRATAB:
  10822	020544	000312 				.WORD	FR.CA1		; FR FOR CRAM ADDR HIGH BITS
  10823	020546	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
  10824	020550	174077 				.WORD	174077		; BIT MASK FOR SAME
  10825	020552	000310 				.WORD	FR.CA2		; FR FOR CRAM ADDR LOW BITS
  10826	020554	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
  10827	020556	177700 				.WORD	177700		; BIT MASK FOR SAME
  10828
  10829	020560				CRLTAB:
  10830	020560	000316 				.WORD	FR.CL1		; FR FOR CRAM LOC HIGH BITS
  10831	020562	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
  10832	020564	174077 				.WORD	174077		; BIT MASK FOR SAME
  10833	020566	000314 				.WORD	FR.CL2		; FR FOR CRAM LOC LOW BITS
  10834	020570	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
  10835	020572	177700 				.WORD	177700		; BIT MASK FOR SAME
  10836
  10837	020574				DRATAB:
  10838	020574	000260 				.WORD	FR.DA1		; FR FOR DRAM ADDR HIGH BITS
  10839	020576	177764 				.WORD	-^D12		; SHIFT COUNT FOR SAME
  10840	020600	177077 				.WORD	177077		; BIT MASK FOR SAME
  10841	020602	000262 				.WORD	FR.DA2		; FR FOR DRAM ADDR LOW BITS
  10842	020604	177756 				.WORD	-^D18		; SHIFT COUNT FOR SAME
  10843	020606	177700 				.WORD	177700		; BIT MASK FOR SAME
  10844
  10845	020610				FERTAB:
  10846	020610	000266 				.WORD	FR.FE1		; FR FOR FE HIGH BITS
  10847	020612	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
  10848	020614	176037 				.WORD	176037		; BIT MASK FOR SAME
  10849	020616	000264 				.WORD	FR.FE2		; FR FOR FE LOW BITS
  10850	020620	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
  10851	020622	177740 				.WORD	177740		; BIT MASK FOR SAME
  10852
  10853	020624				SBRTAB:
  10854	020624	000306 				.WORD	FR.SR1		; FR FOR SBR RET HIGH BITS
  10855	020626	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
  10856	020630	174077 				.WORD	174077		; BIT MASK FOR SAME
  10857	020632	000304 				.WORD	FR.SR2		; FR FOR SBR RET LOW BITS
  10858	020634	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
  10859	020636	177700 				.WORD	177700		; BIT MASK FOR SAME
  10860
  10861	020640				SCRTAB:
  10862	020640	000262 				.WORD	FR.SC1		; FR FOR SHIFT COUNT HIGH BITS
  10863	020642	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
  10864	020644	177417 				.WORD	177417		; BIT MASK FOR SAME
  10865	020646	000260 				.WORD	FR.SC2		; FR FOR SHIFT COUNT LOW BITS
  10866	020650	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
  10867	020652	177760 				.WORD	177760		; BIT MASK FOR SAME
RDVXX -- KL VMA BOARD READ FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 320
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

  10869					.TITLE	RDVXX -- KL VMA BOARD READ FUNCTION MODULE 7603.30
  10870
  10871						.IDENT	"001010"
  10872
  10873					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10874					;
  10875					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  10876					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  10877					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  10878					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  10879					;	FOR ITS ACCURACY.
  10880					;
  10881					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  10882					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  10883					;
  10884					;
  10885					;		MODULE: KL VMA BOARD READ FUNCTION
  10886					;
  10887					;		VERSION: 01-01
  10888					;
  10889					;		AUTHOR: R. BELANGER
  10890					;
  10891					;		DATE: 7603.30
  10892					;
  10893					;	THIS MODULE CONTAINS:
  10894					;
  10895					;	1) KL VMA BOARD READ CODE
  10896					;	2) KL VMA BOARD READ TABLES
RDVXX -- KL VMA BOARD READ FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 321
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

  10898					.SBTTL	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
  10899
  10900					;+
  10901					; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
  10902					; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
  10903					; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
  10904					; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
  10905					;
  10906					; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
  10907					; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
  10908					;
  10909					; INPUT ARGUMENTS:
  10910					;
  10911					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
  10912					;
  10913					; OUTPUT ARGUMENTS:
  10914					;
  10915					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
  10916					;
  10917					; ERROR CODES RETURNED:
  10918					;
  10919					;	FRF -- FUNCTION READ FAILED.
  10920					;-
  10921
  10922						.ENABL	LSB
  10923
  10924	020654				.RDVPC::
  10925	020654	012700 	021004'			MOV	#PCTAB,R0	; POINTER TO PC TABLE
  10926	020660	000410 				BR	10$
  10927						;
  10928	020662				.RDVAB::
  10929	020662	012700 	021012'			MOV	#ABTAB,R0	; POINTER TO ADDRESS BREAK TABLE
  10930	020666	000405 				BR	10$
  10931						;
  10932	020670				.RDVMA::
  10933	020670	012700 	021020'			MOV	#VMATB,R0	; POINTER TO VMA TABLE
  10934	020674	000402 				BR	10$
  10935						;
  10936	020676				.RDVMH::
  10937	020676	012700 	021026'			MOV	#VMHTB,R0	; POINTER TO VMAH TABLE
  10938	020702				10$:
  10939	020702					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	020702	004537 	021556'			 JSR	R5,.REGSV
  10940	020706	010005 				MOV	R0,R5		; TABLE POINTER TO R5
  10941	020710	012704 	000004 			MOV	#^D4,R4		; ITERATION COUNT TO R4
  10942	020714	010103 				MOV	R1,R3		; USER BUFFER ADDRESS TO R3
  10943	020716	012502 				MOV	(R5)+,R2	; FUNCTION READ BASE TO R2
  10944	020720					PUSH	(R5)+		; MASK WORD TO TOP OF THE STACK
	020720	012546 				 MOV	(R5)+,-(SP)
  10945	020722	011505 				MOV	(R5),R5		; .SHIFT BASE TO R5
  10946	020724	010100 				MOV	R1,R0		; .CLEAR CALLER'S AREA
  10947	020726					CALL	.TPCLR		; .SO
	020726	004737 	027234'			 JSR	PC,.TPCLR
  10948
  10949					;	[CONTINUED ON THE FOLLOWING PAGE]
RDVXX -- KL VMA BOARD READ FUNC	MACRO M1108  13-JAN-78 09:14  PAGE 322
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

  10951					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10952
  10953	020732				20$:				; .GET HERE FROM .RDVXX, ABOVE
  10954	020732	010200 				MOV	R2,R0		; .SET THE FUNCTION READ NUMBER
  10955	020734	006300 				ASL	R0		; .TIMES 2
  10956	020736	005001 				CLR	R1		; .CLEAR R1
  10957	020740					CALL	.FREAD		; .READ IT
	020740	004737 	010644'			 JSR	PC,.FREAD
  10958	020744	041620 				BIC	(SP),(R0)+	; .SP POINTS TO BIT MASK
  10959	020746	041610 				BIC	(SP),(R0)	; .R0 POINTS TO READ BLOCK
  10960	020750	005740 				TST	-(R0)		; .NOW BACK THE POINTER UP
  10961	020752	010501 				MOV	R5,R1		; .GET THE SHIFT COUNT INTO R1
  10962	020754					CALL	.TPSHI		; .AND SHIFT IT
	020754	004737 	027636'			 JSR	PC,.TPSHI
  10963	020760	052023 				BIS	(R0)+,(R3)+	; .SET THE BITS IN THE USER BUFFER
  10964	020762	051013 				BIS	(R0),(R3)	; .SO
  10965	020764	005743 				TST	-(R3)		; .BACK CALLER'S POINTER UP
  10966	020766	122225 				CMPB	(R2)+,(R5)+	; .INCREMENT READ NUMBER AND SHIFT COUNT
  10967	020770	077420 				SOB	R4,20$		; .DO THIS FOUR TIMES
  10968	020772	042763 	177600 	000002 		BIC	#177600,2(R3)	; .GET RID OF BITS HIGHER THAN 13
  10969	021000	005726 				TST	(SP)+		; CLEAR THE STACK
  10970	021002					RETURN			; RETURN TO CALLER
	021002	000207 				 RTS	PC
  10971
  10972						.DSABL	LSB
  10973
  10974					; TABLES FOR VMA BOARD READS
  10975
  10976	021004				PCTAB:
  10977	021004	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
  10978	021006	135673 				.WORD	135673		; BIT MASK   "  "     "
  10979	021010	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
  10980	021012				ABTAB:
  10981	021012	000150 				.WORD	FR.150/2	; BASE READ FOR ADDRESS BREAK REGISTER
  10982	021014	167356 				.WORD	167356		; BIT MASK   "	   "	  "	 "
  10983	021016	000000 				.WORD	0		; SHIFT CNT  "	   "	  "	 "
  10984	021020				VMATB:
  10985	021020	000154 				.WORD	FR.154/2	; BASE READ FOR VMA REGISTER
  10986	021022	135673 				.WORD	135673		; BIT MASK   "	 "     "
  10987	021024	177776 				.WORD	-^D2		; SHIFT CNT  "	 "     "
  10988	021026				VMHTB:
  10989	021026	000154 				.WORD	FR.154/2	; BASE READ FOR VMAH REGISTER
  10990	021030	167356 				.WORD	167356		; BIT MASK   "	 "	"
  10991	021032	000000 				.WORD	0		; SHIFT CNT  "	 "	"
REPTC -- REPEAT COMMAND MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 323
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

  10993					.TITLE	REPTC -- REPEAT COMMAND MODULE 7703.25
  10994
  10995						.IDENT	"001020"
  10996
  10997					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  10998					;
  10999					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11000					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11001					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11002					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11003					;	FOR ITS ACCURACY.
  11004					;
  11005					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11006					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11007					;
  11008					;
  11009					;		MODULE: REPEAT COMMAND
  11010					;
  11011					;		VERSION: 01-02
  11012					;
  11013					;		AUTHOR: R. BELANGER
  11014					;
  11015					;		DATE: 7703.25
  11016					;
  11017					;	THIS MODULE CONTAINS:
  11018					;
  11019					;	1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 324
.REPTC -- THE "REPEAT" COMMAND 7703.25

  11021					.SBTTL	.REPTC -- THE "REPEAT" COMMAND 7703.25
  11022
  11023					;+
  11024					; .REPTC -- THE "REPEAT" COMMAND
  11025					;
  11026					; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
  11027					; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
  11028					;
  11029					; INPUT ARGUMENTS:
  11030					;
  11031					;	NONE.
  11032					;
  11033					; OUTPUT ARGUMENTS:
  11034					;
  11035					;	R0 POINTS TO A 36 BIT REPEAT COUNT
  11036					;
  11037					; ERROR CODES RETURNED:
  11038					;
  11039					;	IRC -- ILLEGAL REPEAT COUNT
  11040					;-
  11041
  11042	021034				.REPTC::
  11043	021034	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE CURRENT INPUT RADIX
  11044	021042	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET IT TO DECIMAL
  11045	021050	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  11046	021052	005046 				CLR	-(SP)		; .
  11047	021054	005046 				CLR	-(SP)		; ..
  11048	021056	010600 				MOV	SP,R0		; ...POINT TO IT
  11049	021060					CALL	.GTKLN		; ...READ THE NUMBER
	021060	004737 	012334'			 JSR	PC,.GTKLN
  11050	021064	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; ...RESET INPUT RADIX
  11051	021072					CALL	.TPTST		; ...SEE WHAT WE GOT
	021072	004737 	027340'			 JSR	PC,.TPTST
  11052	021076	003410 				BLE	REPIRC		; ...ILLEGAL IF .LE. 0
  11053	021100					CALL	.CKEOC		; ...CHECK E-O-C
	021100	004737 	002010'			 JSR	PC,.CKEOC
  11054	021104	105725 				TSTB	(R5)+		; ...GET OVER THE E-O-C CHARACTER
  11055	021106					CALL	.DOCMD		; ...CONTINUE PROCESSING THE LINE
	021106	004737 	003334'			 JSR	PC,.DOCMD
  11056	021112	062706 	000006 			ADD	#^D6,SP		; ...FLUSH THE STACK
  11057	021116					RETURN			; TO CALLER
	021116	000207 				 RTS	PC
  11058	021120				REPIRC:
  11059	021120					ERROR$	IRC		; ERROR -- ILLEGAL REPEAT COUNT
	021120	012746 				 MOV	(PC)+,-(SP)	; "IRC" IN RAD50 TO STACK
	021122	035423 				 .RAD50	/IRC/		; ERROR IDENTIFIER
	021124	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11060						;
RESET -- RESET KL RESET FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 325
.REPTC -- THE "REPEAT" COMMAND 7703.25

  11062					.TITLE	RESET -- RESET KL RESET FUNCTION MODULE 7603.30
  11063
  11064						.IDENT	"001010"
  11065
  11066					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11067					;
  11068					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11069					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11070					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11071					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11072					;	FOR ITS ACCURACY.
  11073					;
  11074					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11075					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11076					;
  11077					;
  11078					;		MODULE: KL RESET FUNCTION
  11079					;
  11080					;		VERSION: 01-01
  11081					;
  11082					;		AUTHOR: R. BELANGER
  11083					;
  11084					;		DATE: 7603.30
  11085					;
  11086					;	THIS MODULE CONTAINS:
  11087					;
  11088					;	1) KL RESET CODE
  11089					;	2) KL RESET TABLES
RESET -- RESET KL RESET FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 326
.RESET -- KL RESET SUBROUTINES 7511.18

  11091					.SBTTL	.RESET -- KL RESET SUBROUTINES 7511.18
  11092
  11093					;+
  11094					; .RESET -- SUBROUTINE TO RESET THE KL.
  11095					;
  11096					; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
  11097					; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
  11098					;
  11099					; SEQUENCE OF OPERATION:
  11100					;
  11101					;	(A) THE DTE-20 IS CLEARED,
  11102					;	(B) THE MASTER RESET SUBROUTINE IS INVOKED,
  11103					;	(C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
  11104					;	    (THIS IS A FULL KL MASTER RESET).
  11105					;
  11106					; INPUT ARGUMENTS:
  11107					;
  11108					;	NONE.
  11109					;
  11110					; OUTPUT ARGUMENTS:
  11111					;
  11112					;	NONE.
  11113					;
  11114					; ERROR CODES RETURNED:
  11115					;
  11116					;	DSF -- DTE-20 STATUS FAILURE.
  11117					;	FRF -- FUNCTION READ FAILED.
  11118					;	FWF -- FUNCTION WRITE FAILED.
  11119					;	FXF -- FUNCTION EXECUTE FAILED.
  11120					;-
RESET -- RESET KL RESET FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 327
.RESET -- KL RESET SUBROUTINES 7511.18

  11122	021126				.RESET::
  11123	021126					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	021126	010046 				 MOV	R0,-(SP)
	021130	010146 				 MOV	R1,-(SP)
	021132	010246 				 MOV	R2,-(SP)
  11124	021134					CALL	.RESTD		; ...RESET THE DTE-20
	021134	004737 	021420'			 JSR	PC,.RESTD
  11125	021140	012702 	021244'			MOV	#RESETT,R2	; ...FUNCTION TABLE POINTER TO R2
  11126	021144					CALL	.STPXC		; ...STOP THE KL CLOCK
	021144	004737 	026354'			 JSR	PC,.STPXC
  11127	021150	005046 				CLR	-(SP)		; ...CLEAR A TEMP BUFFER
  11128	021152	010601 				MOV	SP,R1		; ....POINT TO TEMP BUFFER
  11129	021154	005011 				CLR	(R1)		; ....CLEAR IT
  11130	021156					CALL	.LDCLK		; ....CLEAR THE CLOCKS OUT
	021156	004737 	015432'			 JSR	PC,.LDCLK
  11131	021162					CALL	.LDPAR		; ....RESET THE PARITY REGISTERS
	021162	004737 	015450'			 JSR	PC,.LDPAR
  11132	021166					CALL	.MRCLR		; ....DO MASTER RESET STUFF
	021166	004737 	015756'			 JSR	PC,.MRCLR
  11133	021172					CALL	.CLDFB		; ....CLEAR THE FUNCTION BUFFERS
	021172	004737 	002234'			 JSR	PC,.CLDFB
  11134	021176				10$:
  11135	021176	005001 				CLR	R1		; ....CLEAR R1
  11136	021200	112200 				MOVB	(R2)+,R0	; ....FUNCTION WRITE CODE TO R0
  11137	021202					CALL	.FWRIT		; ....DO THE WRITE
	021202	004737 	010740'			 JSR	PC,.FWRIT
  11138	021206	022702 	021252'			CMP	#RSTEND,R2	; ....ARE WE CLOSE TO END?
  11139	021212	101371 				BHI	10$		; ....NO -- KEEP GOING
  11140	021214	112210 				MOVB	(R2)+,(R0)	; ....YES -- GET THE DATA
  11141	021216	111200 				MOVB	(R2),R0		; ....FOR LAST WRITE
  11142	021220					CALL	.FWRIT		; ....DO IT
	021220	004737 	010740'			 JSR	PC,.FWRIT
  11143	021224	005726 				TST	(SP)+		; ....CLEAR THE STACK
  11144	021226					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	021226	012602 				 MOV	(SP)+,R2
	021230	012601 				 MOV	(SP)+,R1
	021232	012600 				 MOV	(SP)+,R0
  11145	021234	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
  11146	021242					RETURN			; TO CALLER
	021242	000207 				 RTS	PC
  11147
  11148					; TABLE OF FUNCTION WRITE CODES FOR RESET
  11149
  11150	021244				RESETT:
  11151	021244	   104 				.BYTE	FW.LBR		; CLEAR BURST COUNTER - RIGHT
  11152	021245	   106 				.BYTE	FW.LBL		; CLEAR BURST COUNTER - LEFT
  11153	021246	   124 				.BYTE	FW.CA2		; CLEAR CRAM DIAG ADDR - LEFT
  11154	021247	   122 				.BYTE	FW.CA1		; CLEAR CRAM DIAG ADDR - RIGHT
  11155	021250	   156 				.BYTE	FW.KLO		; ENABLE KL OPCODES
  11156	021251	   174 				.BYTE	FW.EBL		; EBUS LOAD
  11157		021252'			RSTEND=.
  11158	021252	   012 				.BYTE	12		; DATA FOR
  11159	021253	   162 				.BYTE	FW.MBX		; MBOX CONTROL
  11160					.EVEN
RESTB -- RESET COMMAND TABLE MO	MACRO M1108  13-JAN-78 09:14  PAGE 328
.RESET -- KL RESET SUBROUTINES 7511.18

  11162					.TITLE	RESTB -- RESET COMMAND TABLE MODULE 7603.30
  11163
  11164						.IDENT	"001010"
  11165
  11166					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11167					;
  11168					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11169					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11170					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11171					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11172					;	FOR ITS ACCURACY.
  11173					;
  11174					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11175					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11176					;
  11177					;
  11178					;		MODULE: RESET COMMAND TABLE
  11179					;
  11180					;		VERSION: 01-01
  11181					;
  11182					;		AUTHOR: R. BELANGER
  11183					;
  11184					;		DATE: 7603.30
  11185					;
  11186					;	THIS MODULE CONTAINS:
  11187					;
  11188					;	1) THE RESET COMMAND TABLE
RESTB -- RESET COMMAND TABLE MO	MACRO M1108  13-JAN-78 09:14  PAGE 329
.RESTB -- THE RESET COMMAND TABLE 7602.18

  11190					.SBTTL	.RESTB -- THE RESET COMMAND TABLE 7602.18
  11191
  11192	021254				.RESTB::
  11193	021254					COMND$	ALL,<LG.PRG!LG.RPT>,.RSALL
	005161	   101 	   114 	   114 		 .ASCIZ	%ALL%
	005164	   000
	021254	005161'				 .WORD	$$CMDN		; POINTER TO "ALL" SYMBOL
	021256	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021260	021614'				 .WORD	.RSALL		; ROUTINE TO CALL
  11194	021262					COMND$	APR,<LG.PRG!LG.RPT>,.RSAPR
	005165	   101 	   120 	   122 		 .ASCIZ	%APR%
	005170	   000
	021262	005165'				 .WORD	$$CMDN		; POINTER TO "APR" SYMBOL
	021264	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021266	021712'				 .WORD	.RSAPR		; ROUTINE TO CALL
  11195	021270					COMND$	DTE-20,<LG.PRG!LG.RPT>,.RSDTE
	005171	   104 	   124 	   105 		 .ASCIZ	%DTE-20%
	005174	   055 	   062 	   060
	005177	   000
	021270	005171'				 .WORD	$$CMDN		; POINTER TO "DTE-20" SYMBOL
	021272	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021274	021662'				 .WORD	.RSDTE		; ROUTINE TO CALL
  11196	021276					COMND$	ERROR,<LG.RPT!LG.PRG>,.RSERR
	005200	   105 	   122 	   122 		 .ASCIZ	%ERROR%
	005203	   117 	   122 	   000
	021276	005200'				 .WORD	$$CMDN		; POINTER TO "ERROR" SYMBOL
	021300	000402 				 .WORD	LG.RPT!LG.PRG		; LEGAL BITS
	021302	021720'				 .WORD	.RSERR		; ROUTINE TO CALL
  11197	021304					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN
	005206	   111 	   116 	   111 		 .ASCIZ	%INITIALIZE%
	005211	   124 	   111 	   101
	005214	   114 	   111 	   132
	005217	   105 	   000
	021304	005206'				 .WORD	$$CMDN		; POINTER TO "INITIALIZE" SYMBOL
	021306	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021310	021666'				 .WORD	.RSTIN		; ROUTINE TO CALL
  11198	021312					COMND$	IO,<LG.PRG!LG.RPT>,.RSTIO
	005221	   111 	   117 	   000 		 .ASCIZ	%IO%
	021312	005221'				 .WORD	$$CMDN		; POINTER TO "IO" SYMBOL
	021314	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021316	021726'				 .WORD	.RSTIO		; ROUTINE TO CALL
  11199	021320					COMND$	PAG,<LG.PRG!LG.RPT>,.RSPAG
	005224	   120 	   101 	   107 		 .ASCIZ	%PAG%
	005227	   000
	021320	005224'				 .WORD	$$CMDN		; POINTER TO "PAG" SYMBOL
	021322	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021324	021774'				 .WORD	.RSPAG		; ROUTINE TO CALL
  11200	021326					COMND$	PI,<LG.PRG!LG.RPT>,.RSTPI
	005230	   120 	   111 	   000 		 .ASCIZ	%PI%
	021326	005230'				 .WORD	$$CMDN		; POINTER TO "PI" SYMBOL
	021330	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	021332	021734'				 .WORD	.RSTPI		; ROUTINE TO CALL
  11201	021334	000000 				.WORD	0		; END OF TABLE MARKER
RESTC -- RESET COMMAND DISPATCH	MACRO M1108  13-JAN-78 09:14  PAGE 330
.RESTB -- THE RESET COMMAND TABLE 7602.18

  11203					.TITLE	RESTC -- RESET COMMAND DISPATCH 7707.12
  11204
  11205						.IDENT	"003060"
  11206
  11207					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  11208					;
  11209					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  11210					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  11211					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  11212					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11213					;	FOR ITS ACCURACY.
  11214					;
  11215					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  11216					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  11217					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  11218					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  11219					;
  11220					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  11221					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  11222					;
  11223					;
  11224					;		MODULE: RESET COMMAND DISPATCH
  11225					;
  11226					;		VERSION: 03-06
  11227					;
  11228					;		AUTHOR: R. BELANGER
  11229					;
  11230					;		DATE: 7707.12
  11231					;
  11232					;	THIS MODULE CONTAINS:
  11233					;
  11234					;	1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH	MACRO M1108  13-JAN-78 09:14  PAGE 331
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11

  11236					.SBTTL	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
  11237
  11238					;+
  11239					; .RESTC -- THE "RESET" COMMAND DISPATCH
  11240					;
  11241					; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
  11242					; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
  11243					;
  11244					; INPUT ARGUMENTS:
  11245					;
  11246					;	NONE.
  11247					;
  11248					; OUTPUT ARGUMENTS:
  11249					;
  11250					;	R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
  11251					;
  11252					; ERROR CODES RETURNED:
  11253					;
  11254					;	KLR -- ILLEGAL WHILE KL IS RUNNING.
  11255					;-
  11256
  11257	021336				.RESTC::
  11258	021336	111504 				MOVB	(R5),R4		; LOOK AT THIS CHARACTER
  11259	021340	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  11260	021346	001015 				BNE	10$		; DEFAULT RESET ON E-O-C
  11261	021350					CALL	.CKARG		; GET OVER LEADING BLANKS
	021350	004737 	001712'			 JSR	PC,.CKARG
  11262	021354	012700 	021254'			MOV	#.RESTB,R0	; TABLE POINTER TO R0
  11263	021360					CALL	.TSCAN		; SCAN THE TABLE
	021360	004737 	030176'			 JSR	PC,.TSCAN
  11264	021364	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
  11265	021366	005101 				COM	R1		; INVERT THEM
  11266	021370	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
  11267	021374					CALL	.CKEOC		; CHECK FOR E-O-C
	021374	004737 	002010'			 JSR	PC,.CKEOC
  11268	021400					CALLR	@(R0)+		; DO THE RESET
	021400	000130 				 JMP	@(R0)+
  11269						;
  11270	021402				10$:
  11271	021402					CALL	.CKRNP		; SEE IF THE KL IS RUNNING
	021402	004737 	002154'			 JSR	PC,.CKRNP
  11272	021406					CALL	.STPKL		; STOP THE KL
	021406	004737 	026330'			 JSR	PC,.STPKL
  11273	021412					CALL	.RESTP		; RESET THE KL
	021412	004737 	021504'			 JSR	PC,.RESTP
  11274	021416					RETURN			; AND EXIT
	021416	000207 				 RTS	PC
RESTD -- DTE-20 RESET FUNCTION 	MACRO M1108  13-JAN-78 09:14  PAGE 332
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11

  11276					.TITLE	RESTD -- DTE-20 RESET FUNCTION MODULE 7607.20
  11277
  11278						.IDENT	"001010"
  11279
  11280					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11281					;
  11282					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11283					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11284					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11285					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11286					;	FOR ITS ACCURACY.
  11287					;
  11288					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11289					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11290					;
  11291					;
  11292					;		MODULE: DTE-20 RESET FUNCTION
  11293					;
  11294					;		VERSION: 01-01
  11295					;
  11296					;		AUTHOR: R. BELANGER
  11297					;
  11298					;		DATE: 7607.20
  11299					;
  11300					;	THIS MODULE CONTAINS:
  11301					;
  11302					;	1) DTE-20 RESET CODE
  11303					;	2) DTE-20 RESET TABLES
RESTD -- DTE-20 RESET FUNCTION 	MACRO M1108  13-JAN-78 09:14  PAGE 333
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20

  11305					.SBTTL	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
  11306
  11307					;+
  11308					; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
  11309					;
  11310					; THIS SUBROUTINE RESETS THE DTE-20.
  11311					;
  11312					; SEQUENCE OF OPERATION:
  11313					;
  11314					;	(A) THE DTE-20 IS CLEARED.
  11315					;
  11316					; INPUT ARGUMENTS:
  11317					;
  11318					;	NONE.
  11319					;
  11320					; OUTPUT ARGUMENTS:
  11321					;
  11322					;	NONE.
  11323					;
  11324					; ERROR CODES RETURNED:
  11325					;
  11326					;	DSF -- DTE-20 STATUS FAILURE.
  11327					;	FRF -- FUNCTION READ FAILED.
  11328					;	FWF -- FUNCTION WRITE FAILED.
  11329					;	FXF -- FUNCTION EXECUTE FAILED.
  11330					;-
  11331
  11332	021420				.RESTD::
  11333	021420	012700 	021440'			MOV	#D2RST,R0	; DIAG WORD 2 RESET
  11334	021424					CALL	.DWDW2		; WRITE IT
	021424	004737 	004674'			 JSR	PC,.DWDW2
  11335	021430	012700 	021442'			MOV	#D3RST,R0	; DIAG WORD 3 RESET
  11336	021434					CALLR	.DWDW3		; WRITE IT
	021434	000137 	004714'			 JMP	.DWDW3
  11337						;
  11338	021440				D2RST:
  11339	021440	000100 				.WORD	D2.RST		; DIAG WORD 2 RESET
  11340	021442				D3RST:
  11341	021442	000001 				.WORD	D3.RST		; DIAG WORD 3 RESET
RESTI -- KL DEFAULT RESET FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 334
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20

  11343					.TITLE	RESTI -- KL DEFAULT RESET FUNCTION MODULE 7607.19
  11344
  11345						.IDENT	"001010"
  11346
  11347					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11348					;
  11349					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11350					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11351					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11352					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11353					;	FOR ITS ACCURACY.
  11354					;
  11355					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11356					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11357					;
  11358					;
  11359					;		MODULE: KL DEFAULT RESET FUNCTION
  11360					;
  11361					;		VERSION: 01-01
  11362					;
  11363					;		AUTHOR: R. BELANGER
  11364					;
  11365					;		DATE: 7607.19
  11366					;
  11367					;	THIS MODULE CONTAINS:
  11368					;
  11369					;	1) KL DEFAULT RESET CODE
RESTI -- KL DEFAULT RESET FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 335
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19

  11371					.SBTTL	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
  11372
  11373					;+
  11374					; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
  11375					;	    KL CLOCK ENABLES AND PARITY STOPS.
  11376					;
  11377					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
  11378					; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
  11379					;
  11380					; SEQUENCE OF OPERATION:
  11381					;
  11382					;	(A) ".RESET" IS INVOKED,
  11383					;	(B) NORMAL KL CLOCKS ARE ENABLED,
  11384					;	(C) NORMAL KL PARITY STOPS ARE ENABLED.
  11385					;
  11386					; INPUT ARGUMENTS:
  11387					;
  11388					;	NONE.
  11389					;
  11390					; OUTPUT ARGUMENTS:
  11391					;
  11392					;	NONE.
  11393					;
  11394					; ERROR CODES RETURNED:
  11395					;
  11396					;	DSF -- DTE-20 STATUS FAILURE.
  11397					;	FRF -- FUNCTION READ FAILED.
  11398					;	FWF -- FUNCTION WRITE FAILED.
  11399					;	FXF -- FUNCTION EXECUTE FAILED.
  11400					;-
RESTI -- KL DEFAULT RESET FUNCT	MACRO M1108  13-JAN-78 09:14  PAGE 336
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19

  11402	021444				.RESTI::
  11403	021444					PUSH	R1		; SAVE R1
	021444	010146 				 MOV	R1,-(SP)
  11404	021446	005046 				CLR	-(SP)		; .CLEAR A LOCATION ON THE STACK
  11405	021450					CALL	.RESET		; ..RESET THE KL
	021450	004737 	021126'			 JSR	PC,.RESET
  11406	021454	010601 				MOV	SP,R1		; ..POINT TO SCRATCH BUFFER
  11407	021456	012716 	000000 			MOV	#CC.NRM,(SP)	; ..SET UP NORMAL CLOCK ENABLES
  11408	021462					CALL	.LDCLK		; ..SET THEM
	021462	004737 	015432'			 JSR	PC,.LDCLK
  11409	021466	012716 	001416 			MOV	#PS.NRM,(SP)	; ..SET UP NORMAL PARITY ENABLES
  11410	021472					CALL	.LDPAR		; ..SET THEM
	021472	004737 	015450'			 JSR	PC,.LDPAR
  11411	021476	005726 				TST	(SP)+		; ..CLEAR THE STACK
  11412	021500					POP	R1		; .RESTORE R1
	021500	012601 				 MOV	(SP)+,R1
  11413	021502					RETURN			; TO CALLER
	021502	000207 				 RTS	PC
RESTP -- KL NORMAL RESET FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 337
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19

  11415					.TITLE	RESTP -- KL NORMAL RESET FUNCTION MODULE 7603.30
  11416
  11417						.IDENT	"001010"
  11418
  11419					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11420					;
  11421					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11422					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11423					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11424					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11425					;	FOR ITS ACCURACY.
  11426					;
  11427					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11428					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11429					;
  11430					;
  11431					;		MODULE: KL NORMAL RESET FUNCTION
  11432					;
  11433					;		VERSION: 01-01
  11434					;
  11435					;		AUTHOR: R. BELANGER
  11436					;
  11437					;		DATE: 7603.30
  11438					;
  11439					;	THIS MODULE CONTAINS:
  11440					;
  11441					;	1) KL NORMAL RESET CODE
RESTP -- KL NORMAL RESET FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 338
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

  11443					.SBTTL	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
  11444
  11445					;+
  11446					; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
  11447					;	    PREVIOUS KL PARITY STOPS.
  11448					;
  11449					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
  11450					; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
  11451					;
  11452					; SEQUENCE OF OPERATION:
  11453					;
  11454					;	(A) ".RESET" IS INVOKED.
  11455					;	(B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
  11456					;	    REENABLED.
  11457					;
  11458					; INPUT ARGUMENTS:
  11459					;
  11460					;	NONE.
  11461					;
  11462					; OUTPUT ARGUMENTS:
  11463					;
  11464					;	NONE.
  11465					;
  11466					; ERROR CODES RETURNED:
  11467					;
  11468					;	DSF -- DTE-20 STATUS FAILURE.
  11469					;	FRF -- FUNCTION READ FAILED.
  11470					;	FWF -- FUNCTION WRITE FAILED.
  11471					;	FXF -- FUNCTION EXECUTE FAILED.
  11472					;-
RESTP -- KL NORMAL RESET FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 339
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

  11474	021504				.RESTP::
  11475	021504					PUSH	R1		; SAVE R1
	021504	010146 				 MOV	R1,-(SP)
  11476	021506					CALL	.STPXC		; .STOP THE KL CLOCK
	021506	004737 	026354'			 JSR	PC,.STPXC
  11477	021512					CALL	.RDCPP		; .READ CURRENT CLOCK AND PARITY ENABLES
	021512	004737 	017602'			 JSR	PC,.RDCPP
  11478	021516					PUSH	.PSCWD		; .SAVE THE PARITY CONTROL WORD
	021516	013746 	000116'			 MOV	.PSCWD,-(SP)
  11479	021522					PUSH	.CLKWD		; ..SAVE THE CLOCK CONTROL WORD
	021522	013746 	000010'			 MOV	.CLKWD,-(SP)
  11480	021526					CALL	.RESET		; ...DO A MASTER RESET
	021526	004737 	021126'			 JSR	PC,.RESET
  11481	021532	010601 				MOV	SP,R1		; ...POINT TO THE CLOCK WORD
  11482	021534					CALL	.LDCLK		; ...LOAD THE CLOCKS AGAIN
	021534	004737 	015432'			 JSR	PC,.LDCLK
  11483	021540	005726 				TST	(SP)+		; ...FLUSH SAVED CLOCK WORD
  11484	021542	010601 				MOV	SP,R1		; ..POINT TO THE PARITY WORD
  11485	021544					CALL	.LDPAR		; ..LOAD THE PARITY STOPS
	021544	004737 	015450'			 JSR	PC,.LDPAR
  11486	021550	005726 				TST	(SP)+		; ..FLUSH THE PARITY WORD
  11487	021552					POP	R1		; .RESTORE R1
	021552	012601 				 MOV	(SP)+,R1
  11488	021554					RETURN			; AND GO AWAY
	021554	000207 				 RTS	PC
RGSAV -- REGISTER SAVE / RESTOR	MACRO M1108  13-JAN-78 09:14  PAGE 340
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

  11490					.TITLE	RGSAV -- REGISTER SAVE / RESTORE MODULE 7603.30
  11491
  11492						.IDENT	"001010"
  11493
  11494					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11495					;
  11496					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11497					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11498					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11499					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11500					;	FOR ITS ACCURACY.
  11501					;
  11502					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11503					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11504					;
  11505					;
  11506					;		MODULE: REGISTER SAVE / RESTORE
  11507					;
  11508					;		VERSION: 01-01
  11509					;
  11510					;		AUTHOR: R. BELANGER
  11511					;
  11512					;		DATE: 7603.30
  11513					;
  11514					;	THIS MODULE CONTAINS:
  11515					;
  11516					;	1) REGISTER SAVE / RESTORE CODE
RGSAV -- REGISTER SAVE / RESTOR	MACRO M1108  13-JAN-78 09:14  PAGE 341
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

  11518					.SBTTL	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
  11519
  11520					;+
  11521					; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
  11522					;
  11523					; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
  11524					;
  11525					;	RETURN			; RETURNS TO HIGHER LEVEL
  11526					;		-OR-
  11527					;	CALL	@(SP)+		; RETURNS TO SAME LEVEL
  11528					;
  11529					; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
  11530					; WILL NEST.
  11531					;
  11532					; CALLING SEQUENCE IS:
  11533					;
  11534					;	CALL	R5,.REGSV
  11535					;	ONLY RETURN
  11536					;-
  11537
  11538	021556				.REGSV::			; DEFINE AS GLOBAL
  11539	021556					PUSH	<R4,R3,R2,R1,R5>
	021556	010446 				 MOV	R4,-(SP)
	021560	010346 				 MOV	R3,-(SP)
	021562	010246 				 MOV	R2,-(SP)
	021564	010146 				 MOV	R1,-(SP)
	021566	010546 				 MOV	R5,-(SP)
  11540	021570	016605 	000012 			MOV	12(SP),R5	; .....RESTORE R5
  11541	021574	000241 				CLC			; .....CLEAR CC-C
  11542	021576					CALL	@(SP)+		; .....RETURN WITH RESTORE ADDRESS ON THE STACK
	021576	004736 				 JSR	PC,@(SP)+
  11543
  11544					; HERE TO RESTORE R1 - R5 AND RETURN
  11545
  11546	021600					POP	<R1,R2,R3,R4,R5>
	021600	012601 				 MOV	(SP)+,R1
	021602	012602 				 MOV	(SP)+,R2
	021604	012603 				 MOV	(SP)+,R3
	021606	012604 				 MOV	(SP)+,R4
	021610	012605 				 MOV	(SP)+,R5
  11547	021612					RETURN			; RETURN
	021612	000207 				 RTS	PC
RSALL -- RESET ALL COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 342
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

  11549					.TITLE	RSALL -- RESET ALL COMMAND MODULE 7602.18
  11550
  11551						.IDENT	"002010"
  11552
  11553					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  11554					;
  11555					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  11556					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  11557					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  11558					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11559					;	FOR ITS ACCURACY.
  11560					;
  11561					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  11562					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  11563					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  11564					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  11565					;
  11566					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  11567					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  11568					;
  11569					;
  11570					;		MODULE: RESET ALL COMMAND
  11571					;
  11572					;		VERSION: 02-01
  11573					;
  11574					;		AUTHOR: R. BELANGER
  11575					;
  11576					;		DATE: 7602.18
  11577					;
  11578					;	THIS MODULE CONTAINS:
  11579					;
  11580					;	1) RESET ALL COMMAND CODE
  11581					;
  11582					;	MODIFIED BY A. PECKHAM 7612.10 TO REMOVE REFERENCES TO .SECFL
RSALL -- RESET ALL COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 343
.RSALL -- THE "RESET ALL" COMMAND 7602.18

  11584					.SBTTL	.RSALL -- THE "RESET ALL" COMMAND 7602.18
  11585
  11586	021614				.RSALL::
  11587	021614					PUSH	.KLFLG		; SAVE ".KLFLG"
	021614	013746 	000000G			 MOV	.KLFLG,-(SP)
  11588	021620	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
  11589	021624	001427 				BEQ	RSAKCN		; .NO -- GIVE "KCN" ERROR
  11590	021626					CALL	.STPKL		; .STOP THE KL
	021626	004737 	026330'			 JSR	PC,.STPKL
  11591	021632					CALLR	.RESTD		; RESET THE DTE-20
	021632	000137 	021420'			 JMP	.RESTD
  11592	021636					CALL	.RSAPR		; .RESET APR
	021636	004737 	021712'			 JSR	PC,.RSAPR
  11593	021642					CALL	.RSPAG		; .RESET PAG
	021642	004737 	021774'			 JSR	PC,.RSPAG
  11594	021646					CALL	.RSTPI		; .RESET PI
	021646	004737 	021734'			 JSR	PC,.RSTPI
  11595	021652					POP	.SVKLF		; .SET UP ".SVKLF"
	021652	012637 	000140'			 MOV	(SP)+,.SVKLF
  11596	021656					CALLR	.RSTKL		; RESTART THE KL
	021656	000137 	022134'			 JMP	.RSTKL
  11597						;
  11598	021662				.RSDTE::
  11599	021662					CALLR	.RESTD		; RESET THE DTE-20
	021662	000137 	021420'			 JMP	.RESTD
  11600						;
  11601	021666				.RSTIN::
  11602	021666					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	021666	004737 	002164'			 JSR	PC,.CKRUN
  11603	021672					CALL	.STPKL		; STOP THE KL
	021672	004737 	026330'			 JSR	PC,.STPKL
  11604	021676					CALL	.RESTI		; RESET TO DEFAULTS
	021676	004737 	021444'			 JSR	PC,.RESTI
  11605	021702					RETURN			; AND EXIT
	021702	000207 				 RTS	PC
  11606	021704				RSAKCN:
  11607	021704					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	021704	012746 				 MOV	(PC)+,-(SP)	; "KCN" IN RAD50 TO STACK
	021706	042506 				 .RAD50	/KCN/		; ERROR IDENTIFIER
	021710	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11608						;
RSAPR -- RESET APR COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 344
.RSALL -- THE "RESET ALL" COMMAND 7602.18

  11610					.TITLE	RSAPR -- RESET APR COMMAND MODULE 7607.21
  11611
  11612						.IDENT	"001010"
  11613
  11614					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11615					;
  11616					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11617					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11618					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11619					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11620					;	FOR ITS ACCURACY.
  11621					;
  11622					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11623					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11624					;
  11625					;
  11626					;		MODULE: RESET APR COMMAND
  11627					;
  11628					;		VERSION: 01-01
  11629					;
  11630					;		AUTHOR: R. BELANGER
  11631					;
  11632					;		DATE: 7607.21
  11633					;
  11634					;	THIS MODULE CONTAINS:
  11635					;
  11636					;	1) RESET APR COMMAND CODE
RSAPR -- RESET APR COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 345
.RSTPI -- THE "RESET PI" COMMAND 7607.21

  11638					 .SBTTL	.RSTPI -- THE "RESET PI" COMMAND 7607.21
  11639
  11640						.ENABL	LSB
  11641
  11642	021712				.RSAPR::			; RESET APR
  11643	021712	012700 	021744'			MOV	#RSAPRI,R0	; INSTRUCTION POINTER TO R0
  11644	021716	000410 				BR	10$		; DO COMMON CODE
  11645						;
  11646	021720				.RSERR::			; RESET ERROR
  11647	021720	012700 	021752'			MOV	#RSERRI,R0	; INSTRUCTION POINTER TO R0
  11648	021724	000405 				BR	10$		; DO COMMON CODE
  11649						;
  11650	021726				.RSTIO::			; RESET IO
  11651	021726	012700 	021760'			MOV	#RSTIOI,R0	; INSTRUCTION POINTER TO R0
  11652	021732	000402 				BR	10$		; DO COMMON CODE
  11653						;
  11654	021734				.RSTPI::			; RESET PI
  11655	021734	012700 	021766'			MOV	#RSTPII,R0	; INSTRUCTION POINTER TO R0
  11656	021740				10$:
  11657	021740					CALLR	.EXCTF		; EXECUTE IT
	021740	000137 	007324'			 JMP	.EXCTF
  11658						;
  11659	021744				RSAPRI:
  11660	021744					IOKL$	CONO	APR,,267760
	021744	   360 	   157 			 .BYTE	$$A,$$B
	021746	   001 	   002 			 .BYTE	$$C,$$D
	021750	   016 	   000 			 .BYTE	$$E,$$F
  11661	021752				RSERRI:
  11662	021752					IOKL$	CONO	APR,,27760
	021752	   360 	   057 			 .BYTE	$$A,$$B
	021754	   000 	   002 			 .BYTE	$$C,$$D
	021756	   016 	   000 			 .BYTE	$$E,$$F
  11663	021760				RSTIOI:
  11664	021760					IOKL$	CONO	APR,,200000
	021760	   000 	   000 			 .BYTE	$$A,$$B
	021762	   001 	   002 			 .BYTE	$$C,$$D
	021764	   016 	   000 			 .BYTE	$$E,$$F
  11665	021766				RSTPII:
  11666	021766					IOKL$	CONO	PI,,10000
	021766	   000 	   020 			 .BYTE	$$A,$$B
	021770	   000 	   006 			 .BYTE	$$C,$$D
	021772	   016 	   000 			 .BYTE	$$E,$$F
  11667
  11668						.DSABL	LSB
RSPAG -- RESET PAG COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 346
.RSTPI -- THE "RESET PI" COMMAND 7607.21

  11670					.TITLE	RSPAG -- RESET PAG COMMAND MODULE 7607.21
  11671
  11672						.IDENT	"001010"
  11673
  11674					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11675					;
  11676					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11677					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11678					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11679					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11680					;	FOR ITS ACCURACY.
  11681					;
  11682					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11683					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11684					;
  11685					;
  11686					;		MODULE: RESET PAG COMMAND
  11687					;
  11688					;		VERSION: 01-01
  11689					;
  11690					;		AUTHOR: R. BELANGER
  11691					;
  11692					;		DATE: 7607.21
  11693					;
  11694					;	THIS MODULE CONTAINS:
  11695					;
  11696					;	1) RESET PAG COMMAND CODE
RSPAG -- RESET PAG COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 347
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

  11698					.SBTTL	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
  11699
  11700	021774				.RSPAG::
  11701	021774					PUSH	.KLFLG		; SAVE ".KLFLG"
	021774	013746 	000000G			 MOV	.KLFLG,-(SP)
  11702	022000	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
  11703	022004	001442 				BEQ	RSPKCN		; .NO -- GIVE "KCN" ERROR
  11704	022006					CALL	.STPKL		; .STOP THE KL
	022006	004737 	026330'			 JSR	PC,.STPKL
  11705	022012					PUSH	R1		; .SAVE R1
	022012	010146 				 MOV	R1,-(SP)
  11706	022014					PUSH	#16		; ..BUILD A CLEAR WORD ON THE STACK
	022014	012746 	000016 			 MOV	#16,-(SP)
  11707	022020	005046 				CLR	-(SP)		; ...
  11708	022022	005046 				CLR	-(SP)		; ....
  11709	022024	010601 				MOV	SP,R1		; .....GET THE POINTER
  11710	022026	005046 				CLR	-(SP)		; .....NOW SET UP
  11711	022030					PUSH	#100		; ......SCRATCH ADDRESS
	022030	012746 	000100 			 MOV	#100,-(SP)
  11712	022034	010600 				MOV	SP,R0		; .......GET THE POINTER
  11713	022036					PUSH	R1		; .......DATA POINTER TO STACK
	022036	010146 				 MOV	R1,-(SP)
  11714	022040					PUSH	R0		; ........ADDRESS POINTER TO STACK
	022040	010046 				 MOV	R0,-(SP)
  11715	022042	010601 				MOV	SP,R1		; .........BLOCK POINTER TO R1
  11716	022044	012700 	000040 			MOV	#ED.EXV,R0	; .........EXEC VIRTUAL SPACE
  11717	022050					CALL	.DPKLM		; .........DO THE DEPOSIT
	022050	004737 	005532'			 JSR	PC,.DPKLM
  11718	022054	062706 	000016 			ADD	#^D14,SP	; .........RESET THE STACK
  11719	022060	012700 	022120'			MOV	#RSPGI0,R0	; ..INSTRUCTION POINTER TO R0
  11720	022064					CALL	.EXCTF		; ..EXECUTE IT
	022064	004737 	007324'			 JSR	PC,.EXCTF
  11721	022070	012700 	022126'			MOV	#RSPGI1,R0	; ..NEXT INSTRUCTION
  11722	022074					CALL	.EXCTF		; ..EXECUTE IT
	022074	004737 	007324'			 JSR	PC,.EXCTF
  11723	022100					POP	R1		; ..RESTORE R1
	022100	012601 				 MOV	(SP)+,R1
  11724	022102					POP	.SVKLF		; .SET UP ".SVKLF"
	022102	012637 	000140'			 MOV	(SP)+,.SVKLF
  11725	022106					CALLR	.RSTKL		; RESART THE KL AND EXIT
	022106	000137 	022134'			 JMP	.RSTKL
  11726						;
RSPAG -- RESET PAG COMMAND MODU	MACRO M1108  13-JAN-78 09:14  PAGE 348
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

  11728	022112				RSPKCN:
  11729	022112					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	022112	012746 				 MOV	(PC)+,-(SP)	; "KCN" IN RAD50 TO STACK
	022114	042506 				 .RAD50	/KCN/		; ERROR IDENTIFIER
	022116	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11730						;
  11731	022120				RSPGI0:
  11732	022120					IOKL$	CONO	PAG,,0
	022120	   000 	   000 			 .BYTE	$$A,$$B
	022122	   000 	   012 			 .BYTE	$$C,$$D
	022124	   016 	   000 			 .BYTE	$$E,$$F
  11733	022126				RSPGI1:
  11734	022126					IOKL$	DATAO	PAG,,100
	022126	   100 	   000 			 .BYTE	$$A,$$B
	022130	   200 	   011 			 .BYTE	$$C,$$D
	022132	   016 	   000 			 .BYTE	$$E,$$F
RSTKL -- KL RESTART MODULE 7611	MACRO M1108  13-JAN-78 09:14  PAGE 349
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

  11736					.TITLE	RSTKL -- KL RESTART MODULE 7611.17
  11737
  11738						.IDENT	"002010"
  11739
  11740					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  11741					;
  11742					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  11743					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  11744					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  11745					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11746					;	FOR ITS ACCURACY.
  11747					;
  11748					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  11749					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  11750					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  11751					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  11752					;
  11753					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  11754					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  11755					;
  11756					;
  11757					;		MODULE: KL RESTART
  11758					;
  11759					;		VERSION: 02-01
  11760					;
  11761					;		AUTHOR: R. BELANGER
  11762					;
  11763					;		DATE: 7611.17
  11764					;
  11765					;	THIS MODULE CONTAINS:
  11766					;
  11767					;	1) KL RESTART CODE
  11768					;
  11769					;	MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
RSTKL -- KL RESTART MODULE 7611	MACRO M1108  13-JAN-78 09:14  PAGE 350
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17

  11771					.SBTTL	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
  11772
  11773					;+
  11774					; .RSTKL -- SUBROUTINE TO RESTART THE KL
  11775					;
  11776					; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
  11777					;
  11778					; INPUT ARGUMENTS:
  11779					;
  11780					;	THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
  11781					;	THE KL IS TO BE RESTORED.
  11782					;
  11783					; OUTPUT ARGUMENTS:
  11784					;
  11785					;	".SVKLF" IS CLEARED.
  11786					;
  11787					; ERROR CODES RETURNED:
  11788					;
  11789					;	NONE.
  11790					;-
  11791
  11792	022134				.RSTKL::
  11793	022134	032737 	040000 	000140'		BIT	#KF.RUN,.SVKLF	; DID WE STOP THE KL?
  11794	022142	001404 				BEQ	10$		; NO -- JUST RETURN
  11795	022144					CALL	.KLRST		; YES -- RESTART THE KL
	022144	004737 	015036'			 JSR	PC,.KLRST
  11796	022150	105037 	000000G			CLRB	.NOHLT		; LET RSX20F DETECT HALTS
  11797	022154				10$:
  11798	022154	005037 	000140'			CLR	.SVKLF		; CLEAR SAVED FLAGS
  11799	022160					RETURN			; TO CALLER
	022160	000207 				 RTS	PC
RUNCM -- RUN COMMAND MODULE 760	MACRO M1108  13-JAN-78 09:14  PAGE 351
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17

  11801					.TITLE	RUNCM -- RUN COMMAND MODULE 7607.14
  11802
  11803						.IDENT	"001010"
  11804
  11805					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  11806					;
  11807					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  11808					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  11809					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  11810					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11811					;	FOR ITS ACCURACY.
  11812					;
  11813					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  11814					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  11815					;
  11816					;
  11817					;		MODULE: RUN COMMAND
  11818					;
  11819					;		VERSION: 01-01
  11820					;
  11821					;		AUTHOR: R. BELANGER
  11822					;
  11823					;		DATE: 7607.14
  11824					;
  11825					;	THIS MODULE CONTAINS:
  11826					;
  11827					;	1) RUN COMMAND CODE
  11828					;	2) REQUEST DIRECTIVE PARAMETER BLOCK
  11829
  11830						.MCALL	DIR$, RQST$
RUNCM -- RUN COMMAND MODULE 760	MACRO M1108  13-JAN-78 09:14  PAGE 352
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

  11832					.SBTTL	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
  11833
  11834					;+
  11835					; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
  11836					;
  11837					; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
  11838					; AND EXITS THE COMMAND PARSER
  11839					;
  11840					; INPUT ARGUMENTS:
  11841					;
  11842					;	NONE.
  11843					;
  11844					; OUTPUT ARGUMENTS:
  11845					;
  11846					;	NONE.
  11847					;
  11848					; ERROR CODES RETURNED:
  11849					;
  11850					;	ITN -- ILLEGAL TASK NAME
  11851					;	NST -- NO SUCH TASK
  11852					;	TAA -- TASK IS ALREADY ACTIVE
  11853					;-
  11854
  11855	022162				.RUNCM::
  11856	022162					CALL	.CKSYM		; GET OVER LEADING BLANKS
	022162	004737 	002112'			 JSR	PC,.CKSYM
  11857	022166					CALL	.GTR50		; GET THE .RAD50 TASK NAME
	022166	004737 	013734'			 JSR	PC,.GTR50
  11858	022172	001425 				BEQ	RUNITN		; BAD NEWS IF NONE THERE
  11859	022174					PUSH	R0		; SAVE THE TASK NAME
	022174	010046 				 MOV	R0,-(SP)
  11860	022176					CALL	.GTR50		; .READ THE SECOND HALF
	022176	004737 	013734'			 JSR	PC,.GTR50
  11861	022202					CALL	.CKEOC		; .MUST HAVE E-O-C
	022202	004737 	002010'			 JSR	PC,.CKEOC
  11862	022206					POP	.RNDPB+4	; .SET THE TASK NAME IN THE DPB
	022206	012637 	022274'			 MOV	(SP)+,.RNDPB+4
  11863	022212					DIR$	#.RNDPB		; REQUEST THE TASK
	022212	012746 	022270'			MOV	#.RNDPB,-(SP)
	022216	104375 				EMT	375
  11864	022220	103402 				BCS	10$		; ERROR IF CC-C IS SET
  11865	022222					CALLR	.EXITP		; EXIT
	022222	000137 	007754'			 JMP	.EXITP
  11866						;
  11867
  11868					;	[CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN COMMAND MODULE 760	MACRO M1108  13-JAN-78 09:14  PAGE 353
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

  11870					;	[CONTINUED FROM THE PREVIOUS PAGE]
  11871
  11872	022226				10$:
  11873	022226	013700 	000000G			MOV	$DSW,R0		; LOOK AT THE DIRECTIVE STATUS
  11874	022232	022700 	000000G			CMP	#IE.INS,R0	; IS THERE SUCH A TASK?
  11875	022236	001406 				BEQ	RUNNST		; NO -- GIVE "NST" ERROR
  11876	022240	022700 	000000G			CMP	#IE.ACT,R0	; YES -- IS IT ALREADY ACTIVE?
  11877	022244	001406 				BEQ	RUNTAA		; YES -- GIVE "TAA" ERROR
  11878	022246				RUNITN:
  11879	022246					ERROR$	ITN		; ERROR -- ILLEGAL TASK NAME
	022246	012746 				 MOV	(PC)+,-(SP)	; "ITN" IN RAD50 TO STACK
	022250	035556 				 .RAD50	/ITN/		; ERROR IDENTIFIER
	022252	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11880						;
  11881	022254				RUNNST:
  11882	022254					ERROR$	NST		; ERROR -- NO SUCH TASK
	022254	012746 				 MOV	(PC)+,-(SP)	; "NST" IN RAD50 TO STACK
	022256	055214 				 .RAD50	/NST/		; ERROR IDENTIFIER
	022260	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11883						;
  11884	022262				RUNTAA:
  11885	022262					ERROR$	TAA		; ERROR -- TASK ALREADY ACTIVE
	022262	012746 				 MOV	(PC)+,-(SP)	; "TAA" IN RAD50 TO STACK
	022264	076451 				 .RAD50	/TAA/		; ERROR IDENTIFIER
	022266	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  11886						;
RUNCM -- RUN COMMAND MODULE 760	MACRO M1108  13-JAN-78 09:14  PAGE 354
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

  11888					; DPB FOR REQUEST DIRECTIVE
  11889
  11890					;	!===============================================!
  11891					; 00	!	DPB SIZE	!	  DIC		!
  11892					;	!-----------------------------------------------!
  11893					; 02	!	    TASK NAME IN .RAD50 (HIGH)		!
  11894					;	!-----------------------------------------------!
  11895					; 04	!	    TASK NAME IN .RAD50 (LOW)		!
  11896					;	!-----------------------------------------------!
  11897					; 06	!	     PARTITION NAME (IGNORED)		!
  11898					;	!-----------------------------------------------!
  11899					; 10	!	     PARTITION NAME (IGNORED)		!
  11900					;	!-----------------------------------------------!
  11901					; 12	!		TASK PRIORITY			!
  11902					;	!-----------------------------------------------!
  11903					; 14	!		UIC (IGNORED)			!
  11904					;	!===============================================!
  11905
  11906	022270				.RNDPB::
  11907	022270					RQST$	...TSK,,,,
	022270	   013 	   007 			.BYTE	11.,7
	022272	131574 	100003 			.RAD50	/...TSK/
	022276	000000 	000000 			.WORD	0,0
	022302	000000 				.WORD
	022304	   000 	   000 			.BYTE	,
SCCLK -- SET / CLEAR CLOCK DISP	MACRO M1108  13-JAN-78 09:14  PAGE 355
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

  11909					.TITLE	SCCLK -- SET / CLEAR CLOCK DISPATCH MODULE 7608.19
  11910
  11911						.IDENT	"002010"
  11912
  11913					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  11914					;
  11915					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  11916					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  11917					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  11918					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  11919					;	FOR ITS ACCURACY.
  11920					;
  11921					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  11922					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  11923					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  11924					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  11925					;
  11926					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  11927					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  11928					;
  11929					;
  11930					;		MODULE: SET / CLEAR CLOCK DISPATCH
  11931					;
  11932					;		VERSION: 02-01
  11933					;
  11934					;		AUTHOR: R. BELANGER
  11935					;
  11936					;		DATE: 7608.19
  11937					;
  11938					;	THIS MODULE CONTAINS:
  11939					;
  11940					;	1) SET / CLEAR CLOCK DISPATCH CODE
  11941					;
  11942					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
SCCLK -- SET / CLEAR CLOCK DISP	MACRO M1108  13-JAN-78 09:14  PAGE 356
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  11944					.SBTTL	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
  11945
  11946					;+
  11947					; .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH.
  11948					; .SCFSS -- THE "SET / CLEAR FS-STOP" COMMAND DISPATCH.
  11949					; .SCPAR -- THE "SET / CLEAR PARITY-STOP" COMMAND DISPATCH.
  11950					;
  11951					; THESE SUBROUTINES WILL SET OR CLEAR THE SPECIFIED KL INTERNAL
  11952					; PARITY STOP ENABLE AS DIRECTED BY THE INPUT STREAM.
  11953					;
  11954					; INPUT ARGUMENTS:
  11955					;
  11956					;	THE CURRENT PARITY STOP ENABLES ARE IN ".PSCWD"
  11957					;	THE CURRENT CLOCK PARAMETERS ARE IN ".CLKWD"
  11958					;
  11959					; OUTPUT ARGUMENTS:
  11960					;
  11961					;	THE NEW PARITY STOP ENABLES ARE IN ".PSCWD".
  11962					;	THE NEW CLOCK PARAMETERS ARE IN ".CLKWD"
  11963					;
  11964					; ERROR CODES RETURNED:
  11965					;
  11966					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
  11967					;-
  11968
  11969						.ENABL	LSB
  11970
  11971	022306				.SCCLK::			; SET / CLEAR "CLOCK"
  11972	022306					CALL	.CKARG		; MUST HAVE AN ARGUMENT
	022306	004737 	001712'			 JSR	PC,.CKARG
  11973	022312	012703 	022530'			MOV	#SCCLKT,R3	; TABLE POINTER TO R3
  11974	022316	000415 				BR	10$		; DO COMMON CODE
  11975						;
  11976	022320				.SCFSS::			; SET / CLEAR "FS-STOP"
  11977	022320					CALL	.CKEOC		; MUST BE E-O-C
	022320	004737 	002010'			 JSR	PC,.CKEOC
  11978	022324	012703 	022542'			MOV	#SCPART,R3	; TABLE POINTER TO R3
  11979	022330					CALL	40$		; READ THE CURRENT PARAMETERS
	022330	004737 	022462'			 JSR	PC,40$
  11980	022334					CALL	.SCPFS		; SET THE CONTROL WORD UP
	022334	004737 	025242'			 JSR	PC,.SCPFS
  11981	022340	000425 				BR	20$		; AND GO SET IT
  11982						;
  11983	022342				.SCPST::			; SET / CLEAR "PARITY-STOP"
  11984	022342					CALL	.CKARG		; MUST HAVE AN ARGUMENT
	022342	004737 	001712'			 JSR	PC,.CKARG
  11985	022346	012703 	022542'			MOV	#SCPART,R3	; TABLE POINTER TO R3
  11986					;	BR	10$		; DO COMMON CODE
  11987						;
  11988
  11989					;	[CONTINUED ON THE FOLLOWING PAGE]
SCCLK -- SET / CLEAR CLOCK DISP	MACRO M1108  13-JAN-78 09:14  PAGE 357
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  11991					;	[CONTINUED FROM THE PREVIOUS PAGE]
  11992
  11993	022352				10$:
  11994	022352					CALL	40$		; READ THE CURRENT PARAMETERS
	022352	004737 	022462'			 JSR	PC,40$
  11995	022356	011300 				MOV	(R3),R0		; TABLE POINTER TO R0
  11996	022360					CALL	.TSCAN		; SCAN THE TABLE
	022360	004737 	030176'			 JSR	PC,.TSCAN
  11997	022364					CALL	@2(R0)		; DO WHAT IT SAYS TO
	022364	004770 	000002 			 JSR	PC,@2(R0)
  11998	022370	111504 				MOVB	(R5),R4		; GET THE LAST CHARACTER INTO R4
  11999	022372	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  12000	022400	001005 				BNE	20$		; E-O-C -- GO SET PARITY STOPS
  12001	022402	122704 	000054 			CMPB	#.COMMA,R4	; NOT E-O-C -- IS IT A <COMMA>?
  12002	022406	001037 				BNE	SCPILS		; NO -- GIVE "ILS" ERROR
  12003	022410	105725 				TSTB	(R5)+		; YES -- GET OVER THE COMMA
  12004	022412	000757 				BR	10$		; AND GO ON
  12005						;
  12006	022414				20$:
  12007	022414	005723 				TST	(R3)+		; ADVANCE THE POINTER
  12008	022416					PUSH	R1		; SAVE NEW CONTROL WORD
	022416	010146 				 MOV	R1,-(SP)
  12009	022420	010601 				MOV	SP,R1		; .POINT TO THE ENABLE WORD
  12010	022422					PUSH	.KLFLG		; .SAVE ".KLFLG"
	022422	013746 	000000G			 MOV	.KLFLG,-(SP)
  12011	022426					CALL	.KLHLT		; ..STOP THE KL
	022426	004737 	014644'			 JSR	PC,.KLHLT
  12012	022432					CALL	@(R3)+		; ..LOAD THE PARAMETERS
	022432	004733 				 JSR	PC,@(R3)+
  12013	022434					POP	.SVKLF		; ..SET UP ".SVKLF"
	022434	012637 	000140'			 MOV	(SP)+,.SVKLF
  12014	022440					CALL	.RDCPP		; .READ BACK WHAT WE WROTE
	022440	004737 	017602'			 JSR	PC,.RDCPP
  12015	022444	023326 				CMP	@(R3)+,(SP)+	; .DID WE READ WHAT WE WROTE
  12016	022446	001401 				BEQ	30$		; YES -- GO ON
  12017	022450					CALLR	@(R3)+		; NO -- GIVE THE PROPER ERROR
	022450	000133 				 JMP	@(R3)+
  12018						;
  12019	022452				30$:
  12020	022452	005723 				TST	(R3)+		; GET OVER THE ERROR POINTER
  12021	022454					CALL	.KLRST		; RESTART THE KL
	022454	004737 	015036'			 JSR	PC,.KLRST
  12022	022460					CALLR	@(R3)+		; DISPLAY CURRENT PARAMETERS AND EXIT
	022460	000133 				 JMP	@(R3)+
  12023						;
  12024
  12025					;	[CONTINUED ON THE FOLLOWING PAGE]
SCCLK -- SET / CLEAR CLOCK DISP	MACRO M1108  13-JAN-78 09:14  PAGE 358
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  12027					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12028
  12029	022462				40$:
  12030	022462					CALL	.CKRUN		; INSURE WE CAN DO THIS
	022462	004737 	002164'			 JSR	PC,.CKRUN
  12031	022466					CALL	.STPKL		; STOP THE KL10
	022466	004737 	026330'			 JSR	PC,.STPKL
  12032	022472					CALL	.RDCPP		; READ CLOCK AND PARITY
	022472	004737 	017602'			 JSR	PC,.RDCPP
  12033	022476	017301 	000004 			MOV	@4(R3),R1	; DESIRED CONTROL WORD TO R1
  12034	022502					CALLR	.RSTKL		; RESTART THE KL AND EXIT
	022502	000137 	022134'			 JMP	.RSTKL
  12035						;
  12036
  12037						.DSABL	LSB
  12038
  12039	022506				SCPILS:
  12040	022506					ERROR$	ILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
	022506	012746 				 MOV	(PC)+,-(SP)	; "ILS" IN RAD50 TO STACK
	022510	035063 				 .RAD50	/ILS/		; ERROR IDENTIFIER
	022512	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12041						;
  12042	022514				SCPSCF:
  12043	022514					ERROR$	SCF		; ERROR -- SET CLOCK FAILED
	022514	012746 				 MOV	(PC)+,-(SP)	; "SCF" IN RAD50 TO STACK
	022516	073476 				 .RAD50	/SCF/		; ERROR IDENTIFIER
	022520	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12044						;
  12045	022522				SCPSPF:
  12046	022522					ERROR$	SPF		; ERROR -- SET PARITY FAILED
	022522	012746 				 MOV	(PC)+,-(SP)	; "SPF" IN RAD50 TO STACK
	022524	074506 				 .RAD50	/SPF/		; ERROR IDENTIFIER
	022526	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12047						;
  12048	022530				SCCLKT:
  12049	022530	023106'				.WORD	.SCCTB		; TABLE TO SCAN
  12050	022532	015432'				.WORD	.LDCLK		; LOAD ROUTINE
  12051	022534	000010'				.WORD	.CLKWD		; PARAMETER WORD
  12052	022536	022514'				.WORD	SCPSCF		; ERROR ROUTINE
  12053	022540	032334'				.WORD	.WHTCA		; DISPLAY ROUTINE
  12054	022542				SCPART:
  12055	022542	025270'				.WORD	.SCPTB		; TABLE TO SCAN
  12056	022544	015450'				.WORD	.LDPAR		; LOAD ROUTINE
  12057	022546	000116'				.WORD	.PSCWD		; PARAMETER WORD
  12058	022550	022522'				.WORD	SCPSPF		; ERROR ROUTINE
  12059	022552	033544'				.WORD	.WHTPA		; DISPLAY ROUTINE
SCCON -- SET / CLEAR CONSOLE CO	MACRO M1108  13-JAN-78 09:14  PAGE 359
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19

  12061					.TITLE	SCCON -- SET / CLEAR CONSOLE COMMAND MODULE 7702.16
  12062
  12063						.IDENT	"003000"
  12064
  12065					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  12066					;
  12067					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  12068					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  12069					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  12070					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12071					;	FOR ITS ACCURACY.
  12072					;
  12073					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  12074					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  12075					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  12076					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  12077					;
  12078					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  12079					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  12080					;
  12081					;
  12082					;		MODULE: SET / CLEAR CONSOLE COMMAND
  12083					;
  12084					;		VERSION: 03-00
  12085					;
  12086					;		AUTHOR: R. BELANGER
  12087					;
  12088					;		DATE: 7702.16
  12089					;
  12090					;	THIS MODULE CONTAINS:
  12091					;
  12092					;	1) SET / CLEAR CONSOLE COMMAND CODE
  12093					;
  12094					;	MODIFICATIONS:
  12095					;
  12096					;	NO.	DATE		PROGRAMMER	REASON
  12097					;	---	----		----------	------
  12098					;	001	28-FEB-77	R. BELANGER	CHANGE "ECL"ERROR TO "CLE"
SCCON -- SET / CLEAR CONSOLE CO	MACRO M1108  13-JAN-78 09:14  PAGE 360
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16

  12100					.SBTTL	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
  12101
  12102						.ENABL	LSB
  12103
  12104	022554				.SCCON::
  12105	022554	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12106	022560	001016 				BNE	10$		; YES -- SET OPERATOR
  12107	022562	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  12108	022570	001017 				BNE	.SCCOP		; E-O-C -- SET PROGRAMMER
  12109	022572					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	022572	004737 	002074'			 JSR	PC,.CKOBJ
  12110	022576	012700 	022700'			MOV	#.SCCOT,R0	; TABLE POINTER TO R0
  12111	022602					CALL	.TSCAN		; SCAN THE TABLE
	022602	004737 	030176'			 JSR	PC,.TSCAN
  12112	022606					CALL	.CKEOC		; MUST HAVE E-O-C
	022606	004737 	002010'			 JSR	PC,.CKEOC
  12113	022612					CALLR	@2(R0)		; EXECUTE THE COMMAND
	022612	000170 	000002 			 JMP	@2(R0)
  12114						;
  12115	022616				10$:
  12116	022616					CALL	.CKEOC		; MUST HAVE E-O-C IF CLEAR
	022616	004737 	002010'			 JSR	PC,.CKEOC
  12117	022622				.SCCOO::
  12118	022622	012701 	000001 			MOV	#LG.OPR,R1	; OPERATOR CONSULE
  12119	022626	000405 				BR	20$		; EXIT
  12120						;
  12121	022630				.SCCOP::
  12122	022630	012701 	000003 			MOV	#LG.PRM,R1	; PROGRAMMER CONSOLE
  12123	022634	000402 				BR	20$		; EXIT
  12124						;
  12125	022636				.SCCOM::
  12126	022636	012701 	000007 			MOV	#LG.ALL,R1	; MAINTENANCE CONSOLE
  12127	022642				20$:
  12128	022642	105737 	000000G			TSTB	.KLNSW+0	; +++001 IS REMOTE KLINIK MODE ENABLED?
  12129	022646	003403 				BLE	30$		; +++001 NO -- GO ON
  12130	022650	120137 	000001G			CMPB	R1,.KLNMD+1	; +++001 YES -- CAN WE DO THIS?
  12131	022654	003006 				BGT	SCCCLE		; NO -- GIVE "CLE" ERROR
  12132	022656				30$:
  12133	022656	010137 	000000G			MOV	R1,.FEMOD	; YES -- SET THE CONSOLE MODE
  12134	022662					CALLR	.WHCON		; PRINT CONSOLE MODE AND EXIT
	022662	000137 	032556'			 JMP	.WHCON
  12135						;
  12136	022666				.SCCOU::
  12137	022666					CALLR	.EXITP		; EXIT TO USER CONSOLE
	022666	000137 	007754'			 JMP	.EXITP
  12138						;
  12139	022672				SCCCLE:
  12140	022672					ERROR$	CLE		; ERROR -- CONSOLE LIMIT EXCEEDED
	022672	012746 				 MOV	(PC)+,-(SP)	; "CLE" IN RAD50 TO STACK
	022674	012245 				 .RAD50	/CLE/		; ERROR IDENTIFIER
	022676	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12141						;
  12142
  12143						.DSABL	LSB
SCCOT -- SET CONSOLE COMMAND TA	MACRO M1108  13-JAN-78 09:14  PAGE 361
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16

  12145					.TITLE	SCCOT -- SET CONSOLE COMMAND TABLE MODULE 7603.30
  12146
  12147						.IDENT	"001010"
  12148
  12149					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12150					;
  12151					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12152					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12153					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12154					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12155					;	FOR ITS ACCURACY.
  12156					;
  12157					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12158					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12159					;
  12160					;
  12161					;		MODULE: SET CONSOLE COMMAND TABLE
  12162					;
  12163					;		VERSION: 01-01
  12164					;
  12165					;		AUTHOR: R. BELANGER
  12166					;
  12167					;		DATE: 7603.30
  12168					;
  12169					;	THIS MODULE CONTAINS:
  12170					;
  12171					;	1) THE SET CONSOLE COMMAND TABLE
SCCOT -- SET CONSOLE COMMAND TA	MACRO M1108  13-JAN-78 09:14  PAGE 362
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12

  12173					.SBTTL	.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
  12174
  12175	022700				.SCCOT::
  12176	022700					COMND$	MAINTENANCE,LG.OPR,.SCCOM
	005233	   115 	   101 	   111 		 .ASCIZ	%MAINTENANCE%
	005236	   116 	   124 	   105
	005241	   116 	   101 	   116
	005244	   103 	   105 	   000
	022700	005233'				 .WORD	$$CMDN		; POINTER TO "MAINTENANCE" SYMBOL
	022702	000001 				 .WORD	LG.OPR		; LEGAL BITS
	022704	022636'				 .WORD	.SCCOM		; ROUTINE TO CALL
  12177	022706					COMND$	OPERATOR,LG.OPR,.SCCOO
	005247	   117 	   120 	   105 		 .ASCIZ	%OPERATOR%
	005252	   122 	   101 	   124
	005255	   117 	   122 	   000
	022706	005247'				 .WORD	$$CMDN		; POINTER TO "OPERATOR" SYMBOL
	022710	000001 				 .WORD	LG.OPR		; LEGAL BITS
	022712	022622'				 .WORD	.SCCOO		; ROUTINE TO CALL
  12178	022714					COMND$	PROGRAMMER,LG.OPR,.SCCOP
	005260	   120 	   122 	   117 		 .ASCIZ	%PROGRAMMER%
	005263	   107 	   122 	   101
	005266	   115 	   115 	   105
	005271	   122 	   000
	022714	005260'				 .WORD	$$CMDN		; POINTER TO "PROGRAMMER" SYMBOL
	022716	000001 				 .WORD	LG.OPR		; LEGAL BITS
	022720	022630'				 .WORD	.SCCOP		; ROUTINE TO CALL
  12179	022722					COMND$	USER,LG.OPR,.SCCOU
	005273	   125 	   123 	   105 		 .ASCIZ	%USER%
	005276	   122 	   000
	022722	005273'				 .WORD	$$CMDN		; POINTER TO "USER" SYMBOL
	022724	000001 				 .WORD	LG.OPR		; LEGAL BITS
	022726	022666'				 .WORD	.SCCOU		; ROUTINE TO CALL
  12180	022730	000000 				.WORD	0		; END OF TABLE MARKER
SCCRF -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 363
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12

  12182					.TITLE	SCCRF -- SET / CLEAR CLOCK COMMAND MODULE 7603.30
  12183
  12184						.IDENT	"001010"
  12185
  12186					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12187					;
  12188					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12189					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12190					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12191					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12192					;	FOR ITS ACCURACY.
  12193					;
  12194					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12195					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12196					;
  12197					;
  12198					;		MODULE: SET / CLEAR CLOCK COMMAND
  12199					;
  12200					;		VERSION: 01-01
  12201					;
  12202					;		AUTHOR: R. BELANGER
  12203					;
  12204					;		DATE: 7603.30
  12205					;
  12206					;	THIS MODULE CONTAINS:
  12207					;
  12208					;	1) SET / CLEAR CLOCK COMMAND CODE
SCCRF -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 364
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  12210					.SBTTL	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
  12211
  12212						.ENABL	LSB
  12213
  12214	022732				.SCCLN::			; SET / CLEAR CLOCK "NORMAL"
  12215	022732	005001 				CLR	R1		; CLEAR THE PARAMETER WORD
  12216	022734				.SCCRF::			; SET / CLEAR CLOCK "FULL"
  12217	022734	005002 				CLR	R2		; "FULL" CLOCK RATE
  12218	022736	000410 				BR	10$		; DO COMMON CODE
  12219						;
  12220	022740				.SCCRH::			; SET / CLEAR CLOCK "HALF"
  12221	022740	012702 	000001 			MOV	#CR.HLF,R2	; "HALF" CLOCK RATE
  12222	022744	000405 				BR	10$		; DO COMMON CODE
  12223						;
  12224	022746				.SCCRQ::			; SET / CLEAR CLOCK "QUARTER"
  12225	022746	012702 	000002 			MOV	#CR.QTR,R2	; "QUARTER" CLOCK RATE
  12226	022752	000402 				BR	10$		; DO COMMON CODE
  12227						;
  12228	022754				.SCCRS::			; SET / CLEAR CLOCK "SLOW"
  12229	022754	012702 	000003 			MOV	#CR.SLO,R2	; "SLOW" CLOCK RATE
  12230	022760				10$:
  12231	022760	042701 	000003 			BIC	#CR.ALL,R1	; CLEAR OUT THE OLD CLOCK RATE
  12232	022764	000422 				BR	40$		; AND GO DO CLEAR CHECK
  12233						;
  12234	022766				.SCCSE::			; SET / CLEAR CLOCK "EXTERNAL"
  12235	022766	012700 	005300'			MOV	#CCEMSG,R0	; ASK "ARE YOU SURE"
  12236	022772					CALL	.TYMSG		; PRINT IT
	022772	004737 	031434'			 JSR	PC,.TYMSG
  12237	022776					CALL	.YESNO		; ASK "YES OR NO"
	022776	004737 	034130'			 JSR	PC,.YESNO
  12238	023002	103403 				BCS	20$		; SAID "NO" IF CC-C IS SET
  12239	023004	012702 	000010 			MOV	#CS.EXT,R2	; "EXTERNAL" CLOCK SOURCE
  12240	023010	000406 				BR	30$		; DO COMMNON CODE
  12241						;
  12242	023012				20$:
  12243	023012	000177 	155116 			JMP	@.STRTV		; RESTART THE PARSER
  12244						;
  12245	023016				.SCCSI::			; SET / CLEAR CLOCK "INTERNAL"
  12246	023016	005002 				CLR	R2		; "INTERNAL" CLOCK SOURCE
  12247	023020	000402 				BR	30$		; DO COMMON CODE
  12248						;
  12249	023022				.SCCSM::			; SET / CLEAR CLOCK "MARGIN"
  12250	023022	012702 	000004 			MOV	#CS.MGN,R2	; "MARGIN" CLOCK SOURCE
  12251	023026				30$:
  12252	023026	042701 	000014 			BIC	#CS.ALL,R1	; CLEAR OUT THE OLD CLOCK SOURCE
  12253	023032				40$:
  12254	023032	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12255	023036	001002 				BNE	50$		; YES -- JUST EXIT
  12256	023040	050201 				BIS	R2,R1		; NO -- SET THE NEW CLOCK PARAMETERS
  12257	023042	000401 				BR	60$		; AND EXIT
  12258						;
  12259	023044				50$:
  12260	023044	040201 				BIC	R2,R1		; CLEAR THE NEW CLOCK PARAMETERS
  12261	023046				60$:
  12262	023046					RETURN			; EXIT
	023046	000207 				 RTS	PC
  12263
SCCRF -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 364-1
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  12264						.DSABL	LSB
SCCRF -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 365
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  12266						.ENABL	LSB
  12267
  12268	023050				.SCCEC::			; SET / CLEAR CLOCK "CRAM"
  12269	023050	012702 	002000 			MOV	#CD.CRC,R2	; "CRAM" CLOCK ENABLE
  12270	023054	000405 				BR	10$		; DO COMMON CODE
  12271						;
  12272	023056				.SCCED::			; SET / CLEAR CLOCK "DATA-PATH"
  12273	023056	012702 	001000 			MOV	#CD.DPC,R2	; "DATA-PATH" CLOCK ENABLE
  12274	023062	000402 				BR	10$		; DO COMMON CODE
  12275						;
  12276	023064				.SCCEE::			; SET / CLEAR CLOCK "CONTROL"
  12277	023064	012702 	000400 			MOV	#CD.CLC,R2	; "CONTROL" CLOCK ENABLE
  12278	023070				10$:
  12279	023070	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12280	023074	001402 				BEQ	20$		; NO -- SET THE NEW CLOCK ENABLE
  12281	023076	050201 				BIS	R2,R1		; YES -- SET THE DISABLE
  12282	023100	000401 				BR	30$		; AND EXIT
  12283						;
  12284	023102				20$:
  12285	023102	040201 				BIC	R2,R1		; CLEAR THE DISABLE
  12286	023104				30$:
  12287	023104					RETURN			; AND EXIT
	023104	000207 				 RTS	PC
  12288
  12289						.DSABL	LSB
  12290
  12291	005300				.PSECT	MESSAG
  12292
  12293	005300				CCEMSG:
  12294	005300	   007 	   177 	   177 		.ASCII	<007><177><177><007><177><177><007><177><177>
	005303	   007 	   177 	   177
	005306	   007 	   177 	   177
  12295	005311	   040 	   103 	   117 		.ASCIZ	% CONFIRM EXTERNAL CLOCK SOURCE%
	005314	   116 	   106 	   111
	005317	   122 	   115 	   040
	005322	   105 	   130 	   124
	005325	   105 	   122 	   116
	005330	   101 	   114 	   040
	005333	   103 	   114 	   117
	005336	   103 	   113 	   040
	005341	   123 	   117 	   125
	005344	   122 	   103 	   105
	005347	   000
  12296
  12297	023106				.PSECT
SCCTB -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 366
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09

  12299					.TITLE	SCCTB -- SET / CLEAR CLOCK COMMAND TABLE MODULE 7603.30
  12300
  12301						.IDENT	"001010"
  12302
  12303					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12304					;
  12305					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12306					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12307					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12308					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12309					;	FOR ITS ACCURACY.
  12310					;
  12311					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12312					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12313					;
  12314					;
  12315					;		MODULE: SET / CLEAR CLOCK COMMAND TABLE
  12316					;
  12317					;		VERSION: 01-01
  12318					;
  12319					;		AUTHOR: R. BELANGER
  12320					;
  12321					;		DATE: 7603.30
  12322					;
  12323					;	THIS MODULE CONTAINS:
  12324					;
  12325					;	1) THE SET / CLEAR CLOCK COMMAND TABLE
SCCTB -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 367
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

  12327					.SBTTL	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
  12328
  12329	023106				.SCCTB::
  12330	023106					COMND$	NORMAL,<LG.MNT!LG.RPT>,.SCCLN
	005350	   116 	   117 	   122 		 .ASCIZ	%NORMAL%
	005353	   115 	   101 	   114
	005356	   000
	023106	005350'				 .WORD	$$CMDN		; POINTER TO "NORMAL" SYMBOL
	023110	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023112	022732'				 .WORD	.SCCLN		; ROUTINE TO CALL
  12331	023114					COMND$	CRAM,<LG.MNT!LG.RPT>,.SCCEC
	005357	   103 	   122 	   101 		 .ASCIZ	%CRAM%
	005362	   115 	   000
	023114	005357'				 .WORD	$$CMDN		; POINTER TO "CRAM" SYMBOL
	023116	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023120	023050'				 .WORD	.SCCEC		; ROUTINE TO CALL
  12332	023122					COMND$	DATA-PATH,<LG.MNT!LG.RPT>,.SCCED
	005364	   104 	   101 	   124 		 .ASCIZ	%DATA-PATH%
	005367	   101 	   055 	   120
	005372	   101 	   124 	   110
	005375	   000
	023122	005364'				 .WORD	$$CMDN		; POINTER TO "DATA-PATH" SYMBOL
	023124	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023126	023056'				 .WORD	.SCCED		; ROUTINE TO CALL
  12333	023130					COMND$	CONTROL,<LG.MNT!LG.RPT>,.SCCEE
	005376	   103 	   117 	   116 		 .ASCIZ	%CONTROL%
	005401	   124 	   122 	   117
	005404	   114 	   000
	023130	005376'				 .WORD	$$CMDN		; POINTER TO "CONTROL" SYMBOL
	023132	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023134	023064'				 .WORD	.SCCEE		; ROUTINE TO CALL
  12334	023136					COMND$	EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE
	005406	   105 	   130 	   124 		 .ASCIZ	%EXTERNAL%
	005411	   105 	   122 	   116
	005414	   101 	   114 	   000
	023136	005406'				 .WORD	$$CMDN		; POINTER TO "EXTERNAL" SYMBOL
	023140	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023142	022766'				 .WORD	.SCCSE		; ROUTINE TO CALL
  12335	023144					COMND$	INTERNAL,<LG.MNT!LG.RPT>,.SCCSI
	005417	   111 	   116 	   124 		 .ASCIZ	%INTERNAL%
	005422	   105 	   122 	   116
	005425	   101 	   114 	   000
	023144	005417'				 .WORD	$$CMDN		; POINTER TO "INTERNAL" SYMBOL
	023146	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023150	023016'				 .WORD	.SCCSI		; ROUTINE TO CALL
  12336	023152					COMND$	MARGIN,<LG.MNT!LG.RPT>,.SCCSM
	005430	   115 	   101 	   122 		 .ASCIZ	%MARGIN%
	005433	   107 	   111 	   116
	005436	   000
	023152	005430'				 .WORD	$$CMDN		; POINTER TO "MARGIN" SYMBOL
	023154	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023156	023022'				 .WORD	.SCCSM		; ROUTINE TO CALL
  12337	023160					COMND$	FULL,<LG.MNT!LG.RPT>,.SCCRF
	005437	   106 	   125 	   114 		 .ASCIZ	%FULL%
	005442	   114 	   000
	023160	005437'				 .WORD	$$CMDN		; POINTER TO "FULL" SYMBOL
	023162	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
SCCTB -- SET / CLEAR CLOCK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 367-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

	023164	022734'				 .WORD	.SCCRF		; ROUTINE TO CALL
  12338	023166					COMND$	HALF,<LG.MNT!LG.RPT>,.SCCRH
	005444	   110 	   101 	   114 		 .ASCIZ	%HALF%
	005447	   106 	   000
	023166	005444'				 .WORD	$$CMDN		; POINTER TO "HALF" SYMBOL
	023170	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023172	022740'				 .WORD	.SCCRH		; ROUTINE TO CALL
  12339	023174					COMND$	QUARTER,<LG.MNT!LG.RPT>,.SCCRQ
	005451	   121 	   125 	   101 		 .ASCIZ	%QUARTER%
	005454	   122 	   124 	   105
	005457	   122 	   000
	023174	005451'				 .WORD	$$CMDN		; POINTER TO "QUARTER" SYMBOL
	023176	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023200	022746'				 .WORD	.SCCRQ		; ROUTINE TO CALL
  12340	023202					COMND$	SLOW,<LG.MNT!LG.RPT>,.SCCRS
	005461	   123 	   114 	   117 		 .ASCIZ	%SLOW%
	005464	   127 	   000
	023202	005461'				 .WORD	$$CMDN		; POINTER TO "SLOW" SYMBOL
	023204	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	023206	022754'				 .WORD	.SCCRS		; ROUTINE TO CALL
  12341	023210	000000 				.WORD	0		; END OF TABLE MARKER
SCDAT -- SET DATE MODULE 7703.0	MACRO M1108  13-JAN-78 09:14  PAGE 368
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

  12343					.TITLE	SCDAT -- SET DATE MODULE 7703.04
  12344
  12345						.IDENT	"003000"
  12346
  12347					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  12348					;
  12349					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  12350					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  12351					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  12352					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12353					;	FOR ITS ACCURACY.
  12354					;
  12355					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  12356					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  12357					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  12358					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  12359					;
  12360					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  12361					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  12362					;
  12363					;		MODULE: END STATEMENT
  12364					;
  12365					;		VERSION: 03-00
  12366					;
  12367					;		AUTHOR: R. BELANGER
  12368					;
  12369					;		DATE: 7703.04
  12370					;
  12371					;	THIS MODULE CONTAINS:
  12372					;
  12373					;	1) SET CLEAR DATE CODE
  12374
  12375
  12376						.MCALL	.ENB6,.INH6
SCDAT -- SET DATE MODULE 7703.0	MACRO M1108  13-JAN-78 09:14  PAGE 369
.SCDAT -- "SET DATE" COMMAND 7703.04

  12378					.SBTTL	.SCDAT -- "SET DATE" COMMAND 7703.04
  12379
  12380					;+
  12381					; .SCDAT -- THE "SET DATE" COMMAND
  12382					;
  12383					; THIS SUBROUTINE WILL ACCEPT A DATE AND TIME AS THE SYSTEM DATE AND TIME
  12384					; IF AND ONLY IF THE SYSTEM DATE VALID FLAG IS OFF.
  12385					;
  12386					; INPUT ARGUMENTS:
  12387					;
  12388					;	NONE.
  12389					;
  12390					; OUTPUT ARGUMENTS:
  12391					;
  12392					;	THE SYSTEM DATE IS SET AS SPECIFIED
  12393					;
  12394					; ERROR CODES RETURNED:
  12395					;
  12396					;	CDI -- CLEAR DATE ILLEGAL
  12397					;	DAV -- DATE ALREADY VALID
  12398					;	NDI -- NULL DATE ILLEGAL
  12399					;	NTI -- NULL TIME ILLEGAL
  12400					;-
  12401
  12402	023212				.SCDAT::
  12403	023212	005737 	000104'			TST	.NOTSW		; IS THIS A "CLEAR"??
  12404	023216	001125 				BNE	SCDCDI		; YES -- GIVE "CDI" ERROR
  12405	023220	005737 	000000G			TST	.DATE3		; NO -- IS TIME ALREADY VALID?
  12406	023224	001125 				BNE	SCDDAV		; YES -- GIVE "DAV" ERROR
  12407	023226					CALL	.CKEOC		; NO -- MUST HAVE E-O-C
	023226	004737 	002010'			 JSR	PC,.CKEOC
  12408	023232	005046 				CLR	-(SP)		; CLEAR BUFFER ON STACK
  12409	023234	005046 				CLR	-(SP)		; .SO
  12410	023236	010600 				MOV	SP,R0		; ..POINT TO IT
  12411	023240					CALL	.GTDAT		; ..READ THE DATE
	023240	004737 	011312'			 JSR	PC,.GTDAT
  12412	023244	001520 				BEQ	SCDNDI		; ..ERROR IF NULL
  12413	023246	005046 				CLR	-(SP)		; ..SPACE FOR TIME
  12414	023250	010600 				MOV	SP,R0		; ...POINT TO IT
  12415	023252					CALL	.GTTIM		; ...READ THE TIME
	023252	004737 	013366'			 JSR	PC,.GTTIM
  12416	023256	001516 				BEQ	SCDNTI		; ...ERROR IF NULL
  12417	023260	116600 	000002 			MOVB	2(SP),R0	; ...YEAR TO R0
  12418	023264	162700 	000114 			SUB	#^D76,R0	; ...MINUS 1976
  12419	023270	010002 				MOV	R0,R2		; ...SAVE RESULT IN R2
  12420	023272	001406 				BEQ	10$		; ...GO ON IF .EQ. 0
  12421	023274	012701 	000555 			MOV	#^D365,R1	; ...CONVERT TO DAYS
  12422	023300					CALL	$MUL		; ...SO
	023300	004737 	000000G			 JSR	PC,$MUL
  12423	023304	010100 				MOV	R1,R0		; ...RESULT TO R0
  12424	023306	005200 				INC	R0		; ...PLUS 1 FOR 1976
  12425
  12426					;	[CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET DATE MODULE 7703.0	MACRO M1108  13-JAN-78 09:14  PAGE 370
.SCDAT -- "SET DATE" COMMAND 7703.04

  12428					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12429
  12430	023310				10$:
  12431	023310	116601 	000003 			MOVB	3(SP),R1	; ...MONTH TO R1
  12432	023314	006301 				ASL	R1		; ...MAKE A WORD INDEX
  12433	023316	066100 	023530'			ADD	CDMTB-2(R1),R0	; ...ADD DAYS TO THIS MONTH
  12434	023322	005702 				TST	R2		; ...IS THIS 1976?
  12435	023324	001412 				BEQ	30$		; ...YES -- GO ON
  12436	023326	132702 	000003 			BITB	#3,R2		; ...NO -- IS THIS A LEAP YEAR?
  12437	023332	001004 				BNE	20$		; ...NO -- GO ON
  12438	023334	022701 	000002 			CMP	#2,R1		; ...YES -- BEYOND FEBRUARY?
  12439	023340	002401 				BLT	20$		; ...YES -- GO ON
  12440	023342	005302 				DEC	R2		; ...NO -- SUBTRACT ONE FOR THIS YEAR
  12441	023344				20$:
  12442	023344	006202 				ASR	R2		; ...DIVIDE DIFFERENCE BY 4
  12443	023346	006202 				ASR	R2		; ...SO
  12444	023350	060200 				ADD	R2,R0		; ...ADD OFFSET FOR LEAP YEARS
  12445	023352				30$:
  12446	023352	116601 	000004 			MOVB	4(SP),R1	; ...DATE TO R1
  12447	023356	005301 				DEC	R1		; ...MINUS 1
  12448	023360	060100 				ADD	R1,R0		; ...ADD IT IN
  12449	023362	012701 	000007 			MOV	#^D7,R1		; ...DIVIDE BY DAYS PER WEEK
  12450	023366					CALL	$DIV		; ...SO
	023366	004737 	000000G			 JSR	PC,$DIV
  12451	023372	010100 				MOV	R1,R0		; ...DAY OF WEEK OFFSET TO R0
  12452	023374	010601 				MOV	SP,R1		; ...STACK POINTER TO R1
  12453	023376					.INH6			; ...DISALLOW INTERRUPTS
	023376	013746 	177776 			MOV	@#PS,-(SP)
	023402	112737 	000300 	177776 		MOVB	#300,@#PS
  12454	023410	116037 	023522'	000000G		MOVB	DOWTAB(R0),.DOW	;;; ...SET DAY OF WEEK FROM TABLE
  12455	023416	012137 	000000G			MOV	(R1)+,.SSM	;;; ...SET THE TIME
  12456	023422	112100 				MOVB	(R1)+,R0	;;; ...GET THE YEAR
  12457	023424	062700 	003554 			ADD	#^D1900,R0	;;; ...PLUS 1900
  12458	023430	010037 	000000G			MOV	R0,.YEAR	;;; ...SET IT
  12459	023434	105311 				DECB	(R1)		;;; ...COMPUTE TRUE MONTH
  12460	023436	112137 	000000G			MOVB	(R1)+,.MON	;;; ...SET IT
  12461	023442	105311 				DECB	(R1)		;;; ...COMPUTE TRUE DAY
  12462	023444	111137 	000000G			MOVB	(R1),.DAY	;;; ...SET IT
  12463	023450	012737 	000001 	000000G		MOV	#1,.DATE3	;;; ...SET THE VALID FLAG
  12464	023456					.ENB6			;;; ...ALLOW INTERRUPTS
	023456	012637 	177776 			MOV	(SP)+,@#PS
  12465	023462	062706 	000006 			ADD	#^D6,SP		; ...RESET STACK
  12466	023466					CALLR	.WHDAT		; DISPLAY TIME AND EXIT
	023466	000137 	032626'			 JMP	.WHDAT
  12467						;
SCDAT -- SET DATE MODULE 7703.0	MACRO M1108  13-JAN-78 09:14  PAGE 371
.SCDAT -- "SET DATE" COMMAND 7703.04

  12469	023472				SCDCDI:
  12470	023472					ERROR$	CDI		; ERROR -- CLEAR DATE ILLEGAL
	023472	012746 				 MOV	(PC)+,-(SP)	; "CDI" IN RAD50 TO STACK
	023474	011551 				 .RAD50	/CDI/		; ERROR IDENTIFIER
	023476	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12471						;
  12472	023500				SCDDAV:
  12473	023500					ERROR$	DAV		; ERROR -- DATE ALREADY VALID
	023500	012746 				 MOV	(PC)+,-(SP)	; "DAV" IN RAD50 TO STACK
	023502	014476 				 .RAD50	/DAV/		; ERROR IDENTIFIER
	023504	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12474						;
  12475	023506				SCDNDI:
  12476	023506					ERROR$	NDI		; ERROR -- NULL DATE ILLEGAL
	023506	012746 				 MOV	(PC)+,-(SP)	; "NDI" IN RAD50 TO STACK
	023510	054051 				 .RAD50	/NDI/		; ERROR IDENTIFIER
	023512	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12477						;
  12478	023514				SCDNTI:
  12479	023514					ERROR$	NTI		; ERROR -- NULL TIME ILLEGAL
	023514	012746 				 MOV	(PC)+,-(SP)	; "NTI" IN RAD50 TO STACK
	023516	055251 				 .RAD50	/NTI/		; ERROR IDENTIFIER
	023520	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12480						;
  12481
  12482	023522				DOWTAB:
  12483	023522	   003 	   004 			.BYTE	3,4
  12484	023524	   005 	   006 			.BYTE	5,6
  12485	023526	   000 	   001 			.BYTE	0,1
  12486	023530	   002 				.BYTE	2
  12487						.EVEN
  12488
  12489	023532				CDMTB:
  12490	023532	000000 				.WORD	0
  12491	023534	000037 				.WORD	^D31
  12492	023536	000073 				.WORD	^D59
  12493	023540	000132 				.WORD	^D90
  12494	023542	000170 				.WORD	^D120
  12495	023544	000227 				.WORD	^D151
  12496	023546	000265 				.WORD	^D181
  12497	023550	000324 				.WORD	^D212
  12498	023552	000363 				.WORD	^D243
  12499	023554	000421 				.WORD	^D273
  12500	023556	000460 				.WORD	^D304
  12501	023560	000516 				.WORD	^D334
SCINC -- SET / CLEAR INCREMENT 	MACRO M1108  13-JAN-78 09:14  PAGE 372
.SCDAT -- "SET DATE" COMMAND 7703.04

  12503					.TITLE	SCINC -- SET / CLEAR INCREMENT COMMAND MODULE 7606.20
  12504
  12505						.IDENT	"001010"
  12506
  12507					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12508					;
  12509					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12510					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12511					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12512					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12513					;	FOR ITS ACCURACY.
  12514					;
  12515					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12516					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12517					;
  12518					;
  12519					;		MODULE: SET / CLEAR INCREMENT COMMAND
  12520					;
  12521					;		VERSION: 01-01
  12522					;
  12523					;		AUTHOR: R. BELANGER
  12524					;
  12525					;		DATE: 7606.20
  12526					;
  12527					;	THIS MODULE CONTAINS:
  12528					;
  12529					;	1) SET CLEAR INCREMENT COMMAND CODE
SCINC -- SET / CLEAR INCREMENT 	MACRO M1108  13-JAN-78 09:14  PAGE 373
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20

  12531					.SBTTL	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
  12532
  12533	023562				.SCINC::			; SET/CLEAR "INCREMENT"
  12534	023562	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12535	023566	001016 				BNE	10$		; YES -- JUST CLEAR IT
  12536	023570	005046 				CLR	-(SP)		; NO -- CLEAR A BUFFER ON THE STACK
  12537	023572	005046 				CLR	-(SP)		; .
  12538	023574	005046 				CLR	-(SP)		; ..
  12539	023576	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  12540	023600					CALL	.GTNUM		; ...READ THE NUMBER
	023600	004737 	012334'			 JSR	PC,.GTNUM
  12541	023604					CALL	.CKEOC		; ...MUST HAVE E-O-C
	023604	004737 	002010'			 JSR	PC,.CKEOC
  12542	023610	012701 	000070'			MOV	#.KLINC,R1	; ...POINT TO THE INCREMENT
  12543	023614					POP	(R1)+		; ...LOAD THE NEW INCREMENT
	023614	012621 				 MOV	(SP)+,(R1)+
  12544	023616					POP	(R1)+		; ..
	023616	012621 				 MOV	(SP)+,(R1)+
  12545	023620					POP	(R1)		; .
	023620	012611 				 MOV	(SP)+,(R1)
  12546	023622	000406 				BR	20$		; AND EXIT
  12547						;
  12548	023624				10$:
  12549	023624					CALL	.CKEOC		; MUST HAVE E-O-C
	023624	004737 	002010'			 JSR	PC,.CKEOC
  12550	023630	012700 	000070'			MOV	#.KLINC,R0	; POINT TO THE  INCREMENT
  12551	023634					CALL	.TPCLR		; CLEAR IT
	023634	004737 	027234'			 JSR	PC,.TPCLR
  12552	023640				20$:
  12553	023640					CALLR	.WHINC		; PRINT INCREMENT AND EXIT
	023640	000137 	033040'			 JMP	.WHINC
  12554						;
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 374
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20

  12556					.TITLE	SCKLN -- SET / CLEAR KLINIK COMMAND MODULE 7709.20
  12557
  12558						.IDENT	"003030"
  12559
  12560					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  12561					;
  12562					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  12563					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  12564					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  12565					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12566					;	FOR ITS ACCURACY.
  12567					;
  12568					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  12569					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  12570					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  12571					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  12572					;
  12573					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  12574					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  12575					;
  12576					;
  12577					;		MODULE: SET / CLEAR KLINIK COMMAND
  12578					;
  12579					;		VERSION: 03-03
  12580					;
  12581					;		AUTHOR: R. BELANGER
  12582					;
  12583					;		DATE: 7709.20
  12584					;
  12585					;	THIS MODULE CONTAINS:
  12586					;
  12587					;	1) SET / CLEAR "KLINIK" COMMAND CODE
  12588					;
  12589					; MODIFICATIONS:
  12590					;
  12591					;	NO.	DATE		PROGRAMMER	REASON
  12592					;	---	----		----------	------
  12593					;	001	24-NOV-76	R. BELANGER	FIX BUG IN TIME COMPARE
  12594					;	002	16-FEB-77	R. BELANGER	MODIFY FOR NEW KLINIK
  12595					;	003	01-JUL-77	R. BELANGER	ADD KLINIK ERROR LOGGING
  12596					;	004	20-SEP-77	R. BELANGER	DON'T INVOKE KLD IF NO
  12597					;						PARAMETERS SET
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 375
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12599					.SBTTL	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
  12600
  12601					;+
  12602					; .SCKLN -- THE SET / CLEAR KLINIK COMMAND
  12603					;
  12604					; THIS SUBROUTINE WILL SET OR CLEAR THE KLINIK PARAMETERS FOR THE
  12605					; RSX20F FRONT END. THE CLEAR COMMAND SIMPLY CLEARS THE KLINIK
  12606					; THE KLINIK ENABLE FLAG AND REQUESTS THE KLINIK TERMINATION TASK
  12607					; "KLD" IN ORDER THAT THE OPERATOR BE NOTIFIED.
  12608					;
  12609					; THE "SET KLINIK" COMMAND WILL PROMPT THE OPERATOR FOR THE REQUIRED
  12610					; KLINIK PARAMETERS, VALIDATE THEM AND PASS THEM TO THE RSX20F EXECUTIVE.
  12611					;
  12612					; INPUT ARGUMENTS:
  12613					;
  12614					;	NONE.
  12615					;
  12616					; OUTPUT ARGUMENTS:
  12617					;
  12618					;	NONE.
  12619					;
  12620					; ERROR CODES RETURNED:
  12621					;
  12622					;	IPC -- ILLEGAL PASSWORD CHARACTER.
  12623					;	KWE -- KLINIK WINDOW ERROR.
  12624					;	NPI -- NULL PASSWORD ILLEGAL.
  12625					;	PTL -- PASSWORD TOO LONG.
  12626					;	SKI -- SET KLINIK ILLEGA WHILE ACTIVE.
  12627					;-
  12628
  12629						.MCALL	.ENB6,.INH6,WTSE$S,CLEF$S
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 376
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12631						.ENABL	LSB
  12632
  12633	023644				.SCKLN::
  12634	023644					CALL	.CKEOC		; MUST HAVE E-O-C
	023644	004737 	002010'			 JSR	PC,.CKEOC
  12635	023650	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12636	023654	001402 				BEQ	10$		; NO -- GO ON
  12637	023656	000137 	024564'			JMP	80$		; YES -- DO IT
  12638						;
  12639	023662				10$:
  12640	023662	105737 	000000G			TSTB	.KLNSW+0	; +++002 IS KLINIK ALREADY ACTIVE??
  12641	023666	001055 				BNE	SCKSKI		; +++002 YES -- COMPLAIN
  12642	023670					PUSH	R5		; SET UP TO GET KLINIK PARAMETERS
	023670	010546 				 MOV	R5,-(SP)
  12643	023672	012700 	005601'			MOV	#SCKMS4,R0	; .+++002 MESSAGE POINTER TO R0
  12644	023676					CALL	.TYMSF		; .+++002 FORCE IT OUT
	023676	004737 	031426'			 JSR	PC,.TYMSF
  12645	023702	012701 	000240'			MOV	#.CIBFR,R1	; .+++002 BUFFER POINTER TO R1
  12646	023706	010105 				MOV	R1,R5		; .+++002 AND R5
  12647	023710					CALL	.GTLIN		; .+++002 READ KLINIK MODE
	023710	004737 	011776'			 JSR	PC,.GTLIN
  12648	023714	012700 	015020'			MOV	#.KLMT1,R0	; .+++002 KLINIK MODE TABLE POINTER TO R0
  12649	023720					CALL	.TSCAN		; .+++002 SCAN THE TABLE
	023720	004737 	030176'			 JSR	PC,.TSCAN
  12650	023724	116046 	000002 			MOVB	2(R0),-(SP)	; .+++002 KLINIK MODE FLAG TO STACK
  12651	023730	100461 				BMI	25$		; +++002 READ WINDOW DATA IF USER
  12652	023732	012700 	005466'			MOV	#SCKMS0,R0	; ..MESSAGE POINTER TO R0
  12653	023736					CALL	.TYMSF		; ..FORCE THE MESSAGE
	023736	004737 	031426'			 JSR	PC,.TYMSF
  12654	023742	012701 	000240'			MOV	#.CIBFR,R1	; ..USE THE INPUT DEVICE BUFFER
  12655	023746					CALL	.GTLIN		; ..READ THE LINE
	023746	004737 	011776'			 JSR	PC,.GTLIN
  12656	023752	001415 				BEQ	SCKNPI		; ..GIVE "NPI" ERROR IF NULL PASSWORD
  12657	023754	013700 	000064'			MOV	.INCHC,R0	; ..CHARACTER COUNT TO R0
  12658	023760	022700 	000006 			CMP	#^D6,R0		; ..IS THE PASSWORD TOO LONG?
  12659	023764	002413 				BLT	SCKPTL		; ..YES -- GIVE "PTL" ERROR
  12660	023766	160001 				SUB	R0,R1		; ..NO -- ADJUST THE STRING POINTER
  12661	023770	012702 	025026'			MOV	#KLNPWD,R2	; ..POINT TO THE PASSWORD
  12662	023774	005022 				CLR	(R2)+		; ..CLEAR IT
  12663	023776	005022 				CLR	(R2)+		; ..
  12664	024000	005012 				CLR	(R2)		; ..SO
  12665	024002	024242 				CMP	-(R2),-(R2)	; ..RESET THE POINTER
  12666	024004	000415 				BR	15$		; ..AND GO ON
  12667						;
  12668
  12669					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 377
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12671					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12672
  12673	024006				SCKNPI:
  12674	024006					ERROR$	NPI		; ERROR -- NULL PASSWORD ILLEGAL
	024006	012746 				 MOV	(PC)+,-(SP)	; "NPI" IN RAD50 TO STACK
	024010	055011 				 .RAD50	/NPI/		; ERROR IDENTIFIER
	024012	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12675						;
  12676	024014				SCKPTL:
  12677	024014					ERROR$	PTL		; ERROR -- PASSWORD TOO LONG
	024014	012746 				 MOV	(PC)+,-(SP)	; "PTL" IN RAD50 TO STACK
	024016	063454 				 .RAD50	/PTL/		; ERROR IDENTIFIER
	024020	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12678						;
  12679	024022				SCKSKI:
  12680	024022					ERROR$	SKI		; ERROR -- ILLEGAL WHILE KLINIK ACTIVE
	024022	012746 				 MOV	(PC)+,-(SP)	; "SKI" IN RAD50 TO STACK
	024024	074201 				 .RAD50	/SKI/		; ERROR IDENTIFIER
	024026	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12681						;
  12682	024030				SCKIPC:
  12683	024030	011204 				MOV	(R2),R4		; OFFENDING CHARACTER TO R4
  12684	024032					ERROR$	IPC		; ERROR -- ILLEGAL PASSWORD CHARACTER
	024032	012746 				 MOV	(PC)+,-(SP)	; "IPC" IN RAD50 TO STACK
	024034	035303 				 .RAD50	/IPC/		; ERROR IDENTIFIER
	024036	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12685						;
  12686
  12687					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 378
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12689					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12690
  12691	024040				15$:
  12692	024040	112112 				MOVB	(R1)+,(R2)	; ..LOAD THE PASSWORD
  12693	024042	122712 	000060 			CMPB	#'0,(R2)	; ..SEE IF NUMERIC
  12694	024046	003370 				BGT	SCKIPC		; ..TOO SMALL -- GIVE "IPC" ERROR
  12695	024050	122712 	000071 			CMPB	#'9,(R2)	; ..IN RANGE?
  12696	024054	002006 				BGE	20$		; ..YES -- GO ON
  12697	024056	122712 	000101 			CMPB	#'A,(R2)	; ..NO -- IS THE CHARACTER ALPHABETIC?
  12698	024062	003362 				BGT	SCKIPC		; ..TOO SMALL -- GIVE "IPC" ERROR
  12699	024064	122722 	000132 			CMPB	#'Z,(R2)+	; ..IS IT REALLY IN RANGE?
  12700	024070	002757 				BLT	SCKIPC		; ..TOO BIG  -- GIVE "IPC" ERROR
  12701	024072				20$:
  12702	024072	077016 				SOB	R0,15$		; ..OK -- LOOP UNTIL DONE
  12703	024074				25$:
  12704	024074	012700 	005501'			MOV	#SCKMS1,R0	; .."FROM" MESSAGE POINTER
  12705	024100					CALL	.TYMSG		; ..PRINT IT
	024100	004737 	031434'			 JSR	PC,.TYMSG
  12706	024104	005046 				CLR	-(SP)		; ..CLEAR A BUFFER FOR THE START DATE
  12707	024106	005046 				CLR	-(SP)		; ...
  12708	024110	010600 				MOV	SP,R0		; ....POINT TO IT
  12709	024112					CALL	.GTDAT		; ....GET WINDOW OPEN DATE
	024112	004737 	011312'			 JSR	PC,.GTDAT
  12710	024116	012700 	005501'			MOV	#SCKMS1,R0	; ....SAME MESSAGE
  12711	024122					CALL	.TYMSG		; ....PRINT IT
	024122	004737 	031434'			 JSR	PC,.TYMSG
  12712	024126	005046 				CLR	-(SP)		; ....CLEAR A SPACE FOR THE START TIME
  12713	024130	010600 				MOV	SP,R0		; .....POINT TO IT
  12714	024132					CALL	.GTTIM		; .....GET WINDOW OPEN TIME
	024132	004737 	013366'			 JSR	PC,.GTTIM
  12715	024136	001002 				BNE	30$		; .....GO ON IF NOT DEFAULT
  12716	024140	013716 	000000G			MOV	.SSM,(SP)	; .....ELSE SET DEFAULT FROM THE SYSTEM
  12717	024144				30$:
  12718	024144	012700 	005525'			MOV	#SCKMS2,R0	; ....."TO" MESSAGE POINTER
  12719	024150					CALL	.TYMSG		; .....OUTPUT THAT
	024150	004737 	031434'			 JSR	PC,.TYMSG
  12720	024154	005046 				CLR	-(SP)		; .....CLEAR A BUFFER FOR THE END DATE
  12721	024156	005046 				CLR	-(SP)		; ......
  12722	024160	010600 				MOV	SP,R0		; .......POINT TO IT
  12723	024162					CALL	.GTDAT		; .......GET THE END DATE
	024162	004737 	011312'			 JSR	PC,.GTDAT
  12724	024166	001044 				BNE	50$		; .......GO ON IF NOT DEFAULT
  12725	024170	016616 	000006 			MOV	6(SP),(SP)	; .......+++002 DEFAULT -- GET OPEN DATE
  12726	024174	016666 	000010 	000002 		MOV	10(SP),2(SP)	; .......+++002 LOAD IT INTO CLOSE DATE
  12727	024202	105720 				TSTB	(R0)+		; .......GET OVER THE YEAR
  12728	024204	112002 				MOVB	(R0)+,R2	; .......MONTH TO R2
  12729	024206	105210 				INCB	(R0)		; .......INCREMENT THE DATE
  12730	024210	122702 	000002 			CMPB	#^D2,R2		; .......IS THIS FEBRUARY?
  12731	024214	001422 				BEQ	45$		; .......YES -- HANDLE SPECIAL CASE
  12732	024216	122710 	000036 			CMPB	#^D30,(R0)	; .......NO -- HOW MANY DAYS?
  12733	024222	002026 				BGE	50$		; .......ALL OK IF .LE. 30.
  12734	024224	012701 	172452 			MOV	#^C5325,R1	; .......BIT MASK TO R1
  12735
  12736					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 379
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12738					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12739
  12740	024230				35$:
  12741	024230	006201 				ASR	R1		; .......SHIFT IT RIGHT
  12742	024232	077202 				SOB	R2,35$		; .......TILL DONE
  12743	024234	103021 				BCC	50$		; .......ALL OK IF CC-C IS CLEAR
  12744	024236				40$:
  12745	024236	112710 	000001 			MOVB	#^D1,(R0)	; .......SET THE DAY TO 1
  12746	024242	105240 				INCB	-(R0)		; .......INCREMENT THE MONTH
  12747	024244	122710 	000014 			CMPB	#^D12,(R0)	; .......DECEMBER?
  12748	024250	002013 				BGE	50$		; .......YES -- GO ON
  12749	024252	012710 	000001 			MOV	#^D1,(R0)	; .......NO -- SET THE MONTH TO JANUARY
  12750	024256	105240 				INCB	-(R0)		; .......AND INCREMENT THE YEAR
  12751	024260	000407 				BR	50$		; .......EXIT
  12752						;
  12753	024262				45$:
  12754	024262	122710 	000034 			CMPB	#^D28,(R0)	; .......28 DAYS?
  12755	024266	002004 				BGE	50$		; .......YES -- GO ON
  12756	024270	132760 	000003 	177776 		BITB	#3,-2(R0)	; .......NO -- LEAP YEAR?
  12757	024276	001357 				BNE	40$		; .......NO -- SET TO MARCH 1
  12758	024300				50$:
  12759	024300	012700 	005525'			MOV	#SCKMS2,R0	; .......SAME MESSAGE FOR END TIME
  12760	024304					CALL	.TYMSG		; .......PRINT IT
	024304	004737 	031434'			 JSR	PC,.TYMSG
  12761	024310	005046 				CLR	-(SP)		; .......CLEAR A SPACE FOR THE END TIME
  12762	024312	010600 				MOV	SP,R0		; ........POINT TO IT
  12763	024314					CALL	.GTTIM		; ........GET THE END TIME
	024314	004737 	013366'			 JSR	PC,.GTTIM
  12764	024320	001002 				BNE	55$		; ........GO ON IF NOT DEFAULT
  12765	024322	016616 	000006 			MOV	6(SP),(SP)	; ........ELSE SET DEFAULT
  12766	024326				55$:
  12767	024326	126666 	000002 	000010 		CMPB	2(SP),10(SP)	; ........ARE THE YEARS IN RANGE?
  12768	024334	002416 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
  12769	024336	003020 				BGT	60$		; ........YES -- SAME YEAR?
  12770	024340	126666 	000003 	000011 		CMPB	3(SP),11(SP)	; ........YES -- ARE THE MONTHS OK?
  12771	024346	002411 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
  12772	024350	003013 				BGT	60$		; ........YES -- SAME MONTH?
  12773	024352	126666 	000004 	000012 		CMPB	4(SP),12(SP)	; ........YES -- ARE THE DATES OK?
  12774	024360	002404 				BLT	SCKKWE		; ........+++002 NO -- GIVE "KWE" ERROR
  12775	024362	003006 				BGT	60$		; ........YES -- SAME DATE?
  12776	024364	021666 	000006 			CMP	(SP),6(SP)	; ........+++001 YES -- ARE THE TIMES OK?
  12777	024370	101003 				BHI	60$		; ........+++002 YES -- GO ON
  12778	024372				SCKKWE:
  12779	024372					ERROR$	KWE		; ERROR -- KLINIK WINDOW ERROR
	024372	012746 				 MOV	(PC)+,-(SP)	; "KWE" IN RAD50 TO STACK
	024374	044135 				 .RAD50	/KWE/		; ERROR IDENTIFIER
	024376	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  12780
  12781					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 380
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12783					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12784
  12785	024400				60$:
  12786	024400	005000 				CLR	R0		; ........CLEAR R0
  12787	024402	105766 	000014 			TSTB	14(SP)		; ........LOOK AT THE KLINIK MODE
  12788	024406	002423 				BLT	65$		; ........GO ON IF USER
  12789	024410	012700 	005552'			MOV	#SCKMS3,R0	; ........ASK FOR HIGHEST CONSOLE MODE
  12790	024414					CALL	.TYMSF		; ........FORCE IT
	024414	004737 	031426'			 JSR	PC,.TYMSF
  12791	024420	012701 	000240'			MOV	#.CIBFR,R1	; ........POINT TO THE INPUT BUFFER
  12792	024424	010105 				MOV	R1,R5		; ........AND R5 TOO
  12793	024426					CALL	.GTLIN		; ........READ THE RESPONSE
	024426	004737 	011776'			 JSR	PC,.GTLIN
  12794	024432					CALL	.CKOBJ		; ........MUST HAVE AN OBJECT
	024432	004737 	002074'			 JSR	PC,.CKOBJ
  12795	024436	012700 	014774'			MOV	#.KLMTB,R0	; ........TABLE POINTER TO R0
  12796	024442					CALL	.TSCAN		; ........SCAN THE TABLE
	024442	004737 	030176'			 JSR	PC,.TSCAN
  12797	024446	116000 	000002 			MOVB	2(R0),R0	; ........SAVE THE CONSOLE MODE
  12798	024452					CALL	.CKEOC		; ........MUST HAVE E-O-C
	024452	004737 	002010'			 JSR	PC,.CKEOC
  12799	024456				65$:
  12800	024456					.INH6			; ........+++002 DISALLOW INTERRUPTS
	024456	013746 	177776 			MOV	@#PS,-(SP)
	024462	112737 	000300 	177776 		MOVB	#300,@#PS
  12801	024470					POP	R3		;;; .........+++003 SAVED PSW TO R3
	024470	012603 				 MOV	(SP)+,R3
  12802	024472	110037 	000001G			MOVB	R0,.KLNMD+1	;;; ........SET THE CONSOLE MODE
  12803	024476					POP	.KLNTT		;;; ........SET THE END TIME
	024476	012637 	000000G			 MOV	(SP)+,.KLNTT
  12804	024502					POP	.KLNTD		;;; .......GET THE END DATE
	024502	012637 	000000G			 MOV	(SP)+,.KLNTD
  12805	024506					POP	.KLNTD+2	;;; ......BOTH HALVES
	024506	012637 	000002G			 MOV	(SP)+,.KLNTD+2
  12806	024512					POP	.KLNFT		;;; .....SET THE START TIME
	024512	012637 	000000G			 MOV	(SP)+,.KLNFT
  12807	024516					POP	.KLNFD		;;; ....POINT TO THE START DATE
	024516	012637 	000000G			 MOV	(SP)+,.KLNFD
  12808	024522					POP	.KLNFD+2	;;; ...BOTH HALVES
	024522	012637 	000002G			 MOV	(SP)+,.KLNFD+2
  12809	024526	112637 	000000G			MOVB	(SP)+,.KLNMD+0	;;; ..+++002 SET THE KLINIK MODE
  12810	024532	002410 				BLT	75$		;;; .GO ON IF USER
  12811	024534	012702 	000006 			MOV	#^D6,R2		;;; .CHARACTER COUNT TO R2
  12812	024540	012701 	000000G			MOV	#.KLNPW,R1	;;; .POINT TO THE PASSWORD
  12813	024544	012700 	025026'			MOV	#KLNPWD,R0	;;; .POINT TO OURS
  12814
  12815					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 381
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12817					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12818
  12819	024550				70$:
  12820	024550	112021 				MOVB	(R0)+,(R1)+	;;; .LOAD THE PASSWORD
  12821	024552	077202 				SOB	R2,70$		;;; .LOOP TILL DONE
  12822	024554				75$:				;;; .+++002
  12823	024554	010337 	177776 			MOV	R3,@#PS		;;; +++003 ENABLE INTERRUPTS
  12824	024560					POP	R5		; .RESTORE R5
	024560	012605 				 MOV	(SP)+,R5
  12825	024562	000421 				BR	85$		; AND EXIT
  12826						;
  12827	024564				80$:
  12828	024564	105737 	000000G			TSTB	.KLNMD+0	; +++004 ANYTHING TO CLEAR??
  12829	024570	001502 				BEQ	100$		; +++004 NO -- JUST TELL OPERATOR ITS ALREADY CLEAR
  12830	024572					.INH6			; +++002 DISALLOW INTERRUPTS
	024572	013746 	177776 			MOV	@#PS,-(SP)
	024576	112737 	000300 	177776 		MOVB	#300,@#PS
  12831	024604	105037 	000000G			CLRB	.KLNMD+0	;;; +++002 CLEAR KLINIK
  12832	024610	105037 	000000G			CLRB	.KLNPW+0	;;; CLEAR THE KLINIK PASSWORD
  12833	024614	112737 	000001 	000001G		MOVB	#1,.KLNSW+1	;;; +++002 MARK THAT WE WANT A CLEAR
  12834	024622					.ENB6			;;; +++002 ENABLE INTERRUPTS
	024622	012637 	177776 			MOV	(SP)+,@#PS
  12835	024626				85$:
  12836	024626	032737 	000000G	000002G		BIT	#EF.PR1,.COMEF+2 ; +++002 ANY THING THERE TO GET THIS?
  12837	024634	001460 				BEQ	100$		; +++002 NO -- GO ON
  12838	024636					CLEF$S	#E.FKLN		; +++003 RESET THE FLAG
	024636	012746 	000004 			MOV	#E.FKLN,-(SP)
	024642	012746 				MOV	(PC)+,-(SP)
	024644	   037 	   002 			.BYTE	31.,2
	024646	104375 				EMT	375
  12839	024650	012700 	000000G			MOV	#.KLNPB,R0	; +++002 BUFFER POINTER TO R0
  12840	024654	012710 	000000G			MOV	#KLNPLN,(R0)	; +++002 BUFFER SIZE TO HEADER
  12841	024660	012701 	100000G			MOV	#BC.SKP+100000,R1 ; +++002 FUNCTION CODE TO R1
  12842	024664	005002 				CLR	R2		; +++002 NO EVENT FLAG
  12843	024666	012703 	000000G			MOV	#D.CCPU,R3	; +++002 DEVICE CODE TO R3
  12844	024672					CALL	..STIN		; +++002 SEND THE NEW PARAMETERS
	024672	004737 	000000G			 JSR	PC,..STIN
  12845	024676	012702 	000000C			MOV	#KLNLGL/2,R2	; +++003 ARGUMENT COUNT TO R2
  12846	024702	012701 	000000G			MOV	#.KLNPE,R1	; +++003 INPUT BLOCK POINTER
  12847	024706	012700 	025026'			MOV	#KLNLGE,R0	; +++003 OUTPUT BLOCK POINTER
  12848	024712				90$:				; +++003
  12849	024712	014140 				MOV	-(R1),-(R0)	; +++003 LOAD THE PARAMETERS
  12850	024714	077202 				SOB	R2,90$		; +++003 LOOP TILL DONE
  12851	024716	012702 	000001 			MOV	#1,R2		; +++003 ASSUME "SET"
  12852	024722	005737 	000104'			TST	.NOTSW		; +++003 IS IT??
  12853	024726	001401 				BEQ	95$		; +++003 YES -- GO ON
  12854	024730	005402 				NEG	R2		; +++003 NO -- INVERT IT
  12855
  12856					;	[CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 382
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12858					;	[CONTINUED FROM THE PREVIOUS PAGE]
  12859
  12860	024732				95$:				; +++003
  12861	024732	105740 				TSTB	-(R0)		; +++003 GET OVER THE LOG CODE
  12862	024734	110240 				MOVB	R2,-(R0)	; +++003 SET THE EVENT CODE
  12863	024736	005740 				TST	-(R0)		; +++003 BACK OVER THE LOG FLAG
  12864	024740	012740 	000022 			MOV	#22,-(R0)	; +++003 SET THE PACKET SIZE
  12865	024744	012701 	100000G			MOV	#BC.HDS+100000,R1 ; +++003 FUNCTION CODE TO R1
  12866	024750	012702 	000004 			MOV	#E.FKLN,R2	; +++003 EVENT FLAG TO R2
  12867	024754	012703 	000000G			MOV	#D.CKLN,R3	; +++003 DEVICE CODE TO R3
  12868	024760					CALL	..STIN		; +++003 LOG IT
	024760	004737 	000000G			 JSR	PC,..STIN
  12869	024764					WTSE$S	#E.FKLN		; +++003 WAIT FOR IT
	024764	012746 	000004 			MOV	#E.FKLN,-(SP)
	024770	012746 				MOV	(PC)+,-(SP)
	024772	   051 	   002 			.BYTE	41.,2
	024774	104375 				EMT	375
  12870	024776				100$:				; +++002
  12871	024776					CALLR	.WHKLN		; TELL THE STATE AND EXIT
	024776	000137 	033126'			 JMP	.WHKLN
  12872						;
  12873
  12874						.DSABL	LSB
SCKLN -- SET / CLEAR KLINIK COM	MACRO M1108  13-JAN-78 09:14  PAGE 383
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12876	025002				KLNLOG:
  12877	025002	000000 				.WORD	0
  12878	025004	000000G				.WORD	DV.LOG
  12879	025006	000000G				.WORD	K.LSCK
  12880	025010	000000 	000000 	000000 		.WORD	0,0,0
  12881	025016	000000 	000000 	000000 		.WORD	0,0,0
  12882	025024	000000 				.WORD	0
  12883		025026'			KLNLGE=.
  12884
  12885	025026				KLNPWD:
  12886	025026	000000 	000000 	000000 		.WORD	0,0,0		; TEMP PASSWORD STORAGE
  12887	005466				.PSECT	MESSAG
  12888
  12889	005466				SCKMS0:
  12890	005466	   120 	   101 	   123 		.ASCIZ	%PASSWORD: %
	005471	   123 	   127 	   117
	005474	   122 	   104 	   072
	005477	   040 	   000
  12891	005501				SCKMS1:
  12892	005501	   101 	   103 	   103 		.ASCIZ	%ACCESS WINDOW OPEN %
	005504	   105 	   123 	   123
	005507	   040 	   127 	   111
	005512	   116 	   104 	   117
	005515	   127 	   040 	   117
	005520	   120 	   105 	   116
	005523	   040 	   000
  12893	005525				SCKMS2:
  12894	005525	   101 	   103 	   103 		.ASCIZ	%ACCESS WINDOW CLOSE %
	005530	   105 	   123 	   123
	005533	   040 	   127 	   111
	005536	   116 	   104 	   117
	005541	   127 	   040 	   103
	005544	   114 	   117 	   123
	005547	   105 	   040 	   000
  12895	005552				SCKMS3:
  12896	005552	   110 	   111 	   107 		.ASCIZ	%HIGHEST CONSOLE MODE: %
	005555	   110 	   105 	   123
	005560	   124 	   040 	   103
	005563	   117 	   116 	   123
	005566	   117 	   114 	   105
	005571	   040 	   115 	   117
	005574	   104 	   105 	   072
	005577	   040 	   000
  12897	005601				SCKMS4:
  12898	005601	   113 	   114 	   111 		.ASCIZ	%KLINIK MODE: %
	005604	   116 	   111 	   113
	005607	   040 	   115 	   117
	005612	   104 	   105 	   072
	005615	   040 	   000
  12899	025034				.PSECT
SCMEM -- SET / CLEAR MEMORY COM	MACRO M1108  13-JAN-78 09:14  PAGE 384
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20

  12901					.TITLE	SCMEM -- SET / CLEAR MEMORY COMMAND MODULE 7607.08
  12902
  12903						.IDENT	"001010"
  12904
  12905					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12906					;
  12907					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12908					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12909					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12910					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12911					;	FOR ITS ACCURACY.
  12912					;
  12913					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12914					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12915					;
  12916					;
  12917					;		MODULE: SET / CLEAR MEMORY COMMAND
  12918					;
  12919					;		VERSION: 01-01
  12920					;
  12921					;		AUTHOR: R. BELANGER
  12922					;
  12923					;		DATE: 7607.08
  12924					;
  12925					;	THIS MODULE CONTAINS:
  12926					;
  12927					;	1) SET / CLEAR MEMORY COMMAND CODE
SCMEM -- SET / CLEAR MEMORY COM	MACRO M1108  13-JAN-78 09:14  PAGE 385
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08

  12929					.SBTTL	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
  12930
  12931						.ENABL	LSB
  12932
  12933	025034				.SCMEM::			; SET / CLEAR "MEMORY"
  12934	025034	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  12935	025040	001015 				BNE	10$		; YES -- GO DO THE CLEAR
  12936	025042					CALL	.CKOBJ		; NO -- MUST HAVE AN OBJECT
	025042	004737 	002074'			 JSR	PC,.CKOBJ
  12937	025046	012700 	025112'			MOV	#.SCMTB,R0	; TABLE POINTER TO R0
  12938	025052					CALL	.TSCAN		; SCAN IT
	025052	004737 	030176'			 JSR	PC,.TSCAN
  12939	025056					CALL	.CKEOC		; MUST BE E-O-C
	025056	004737 	002010'			 JSR	PC,.CKEOC
  12940	025062					CALLR	@2(R0)		; DISPATCH FOR OBJECT
	025062	000170 	000002 			 JMP	@2(R0)
  12941						;
  12942	025066				.SCMEL::			; SET MEMORY ELEVEN
  12943	025066	012700 	000002 			MOV	#^D2,R0		; ELEVEN OFFSET IS 2
  12944	025072	000403 				BR	20$		; DO COMMON STUFF
  12945	025074				10$:
  12946	025074					CALL	.CKEOC		; MUST HAVE E-O-C TO CLEAR
	025074	004737 	002010'			 JSR	PC,.CKEOC
  12947	025100				.SCMKL::
  12948	025100	005000 				CLR	R0		; TEN OFFSET IS 0
  12949	025102				20$:
  12950	025102	010037 	000102'			MOV	R0,.MEMFL	; SET THE FLAG
  12951	025106					CALLR	.WHMEM		; AND EXIT
	025106	000137 	033452'			 JMP	.WHMEM
  12952						;
  12953
  12954						.DSABL	LSB
SCMTB -- SET / CLEAR MEMORY COM	MACRO M1108  13-JAN-78 09:14  PAGE 386
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08

  12956					.TITLE	SCMTB -- SET / CLEAR MEMORY COMMAND TABLE MODULE 7603.30
  12957
  12958						.IDENT	"001010"
  12959
  12960					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12961					;
  12962					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12963					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12964					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  12965					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  12966					;	FOR ITS ACCURACY.
  12967					;
  12968					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  12969					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  12970					;
  12971					;
  12972					;		MODULE: SET / CLEAR COMMAND TABLE
  12973					;
  12974					;		VERSION: 01-01
  12975					;
  12976					;		AUTHOR: R. BELANGER
  12977					;
  12978					;		DATE: 7603.30
  12979					;
  12980					;	THIS MODULE CONTAINS:
  12981					;
  12982					;	1) THE SET / CLEAR MEMORY COMMAND TABLE
SCMTB -- SET / CLEAR MEMORY COM	MACRO M1108  13-JAN-78 09:14  PAGE 387
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18

  12984					.SBTTL	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
  12985
  12986	025112				.SCMTB::
  12987	025112					COMND$	ELEVEN,LG.OPR,.SCMEL
	005617	   105 	   114 	   105 		 .ASCIZ	%ELEVEN%
	005622	   126 	   105 	   116
	005625	   000
	025112	005617'				 .WORD	$$CMDN		; POINTER TO "ELEVEN" SYMBOL
	025114	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025116	025066'				 .WORD	.SCMEL		; ROUTINE TO CALL
  12988	025120					COMND$	TEN,LG.OPR,.SCMKL
	005626	   124 	   105 	   116 		 .ASCIZ	%TEN%
	005631	   000
	025120	005626'				 .WORD	$$CMDN		; POINTER TO "TEN" SYMBOL
	025122	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025124	025100'				 .WORD	.SCMKL		; ROUTINE TO CALL
  12989	025126	000000 				.WORD	0		; END OF TABLE MARKER
SCNOT -- SET / CLEAR NOT COMMAN	MACRO M1108  13-JAN-78 09:14  PAGE 388
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18

  12991					.TITLE	SCNOT -- SET / CLEAR NOT COMMAND MODULE 7603.30
  12992
  12993						.IDENT	"001010"
  12994
  12995					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  12996					;
  12997					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  12998					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  12999					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13000					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13001					;	FOR ITS ACCURACY.
  13002					;
  13003					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13004					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13005					;
  13006					;
  13007					;		MODULE: SET / CLEAR NOT COMMAND MODULE
  13008					;
  13009					;		VERSION: 01-01
  13010					;
  13011					;		AUTHOR: R. BELANGER
  13012					;
  13013					;		DATE: 7603.30
  13014					;
  13015					;	THIS MODULE CONTAINS:
  13016					;
  13017					;	1) SET / CLEAR NOT COMMAND CODE
SCNOT -- SET / CLEAR NOT COMMAN	MACRO M1108  13-JAN-78 09:14  PAGE 389
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19

  13019					.SBTTL	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
  13020
  13021	025130				.SCNOT::			; SET/CLEAR "NO"
  13022	025130					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	025130	004737 	002074'			 JSR	PC,.CKOBJ
  13023	025134	005137 	000104'			COM	.NOTSW		; INVERT THE "NOT" SWITCH
  13024	025140					CALLR	.SETC0		; AND GET NEXT OBJECT
	025140	000137 	025656'			 JMP	.SETC0
  13025						;
SCOFS -- SET / CLEAR OFFSET COM	MACRO M1108  13-JAN-78 09:14  PAGE 390
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19

  13027					.TITLE	SCOFS -- SET / CLEAR OFFSET COMMAND MODULE 7603.30
  13028
  13029						.IDENT	"001010"
  13030
  13031					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13032					;
  13033					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13034					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13035					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13036					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13037					;	FOR ITS ACCURACY.
  13038					;
  13039					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13040					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13041					;
  13042					;
  13043					;		MODULE: SET / CLEAR OFFSET COMMAND
  13044					;
  13045					;		VERSION: 01-01
  13046					;
  13047					;		AUTHOR: R. BELANGER
  13048					;
  13049					;		DATE: 7603.30
  13050					;
  13051					;	THIS MODULE CONTAINS:
  13052					;
  13053					;	1) SET / CLEAR OFFSET COMMAND CODE
SCOFS -- SET / CLEAR OFFSET COM	MACRO M1108  13-JAN-78 09:14  PAGE 391
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19

  13055					.SBTTL	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
  13056
  13057	025144				.SCOFS::			; SET/CLEAR "OFFSET"
  13058	025144	012700 	000000'			MOV	#.APRWD,R0	; DEFAULT OFFSET
  13059	025150	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  13060	025154	001002 				BNE	10$		; YES -- JUST EXIT
  13061	025156					CALL	.GTELN		; NO -- READ NEW OFFSET
	025156	004737 	012252'			 JSR	PC,.GTELN
  13062	025162				10$:
  13063	025162					CALL	.CKEOC		; MUST HAVE E-O-C
	025162	004737 	002010'			 JSR	PC,.CKEOC
  13064	025166	010037 	000122'			MOV	R0,.RELWD	; SET IT
  13065	025172					CALLR	.WHOFS		; PRINT IT AND RETURN
	025172	000137 	033504'			 JMP	.WHOFS
  13066						;
SCPAR -- SET / CLEAR PARITY STO	MACRO M1108  13-JAN-78 09:14  PAGE 392
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19

  13068					.TITLE	SCPAR -- SET / CLEAR PARITY STOP COMMAND MODULE 7603.30
  13069
  13070						.IDENT	"001010"
  13071
  13072					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13073					;
  13074					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13075					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13076					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13077					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13078					;	FOR ITS ACCURACY.
  13079					;
  13080					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13081					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13082					;
  13083					;
  13084					;		MODULE: SET / CLEAR PARITY STOP COMMAND
  13085					;
  13086					;		VERSION: 01-01
  13087					;
  13088					;		AUTHOR: R. BELANGER
  13089					;
  13090					;		DATE: 7603.30
  13091					;
  13092					;	THIS MODULE CONTAINS:
  13093					;
  13094					;	1) SET / CLEAR PARITY STOP COMMAND CODE
SCPAR -- SET / CLEAR PARITY STO	MACRO M1108  13-JAN-78 09:14  PAGE 393
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08

  13096					.SBTTL	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
  13097
  13098						.ENABL	LSB
  13099
  13100	025176				.SCPAL::			; SET CLEAR PARITY-STOP "ALL"
  13101	025176	012702 	001416 			MOV	#PS.NRM,R2	; NORMAL PARITY STOPS
  13102	025202	000421 				BR	10$		; DO COMMON CODE
  13103						;
  13104	025204				.SCPAR::			; SET / CLEAR PARITY-STOP "AR"
  13105	025204	012702 	001000 			MOV	#AP.ARP,R2	; AR / ARX PARITY STOP
  13106	025210	000416 				BR	10$		; DO COMMON CODE
  13107						;
  13108	025212				.SCPCR::			; SET / CLEAR PARITY-STOP "CRAM"
  13109	025212	012702 	000004 			MOV	#IP.CRP,R2	; CRAM PARITY STOP
  13110	025216	000413 				BR	10$		; DO COMMON CODE
  13111						;
  13112	025220				.SCPDR::			; SET / CLEAR PARITY-STOP "DRAM"
  13113	025220	012702 	000002 			MOV	#IP.DRP,R2	; DRAM PARITY STOP
  13114	025224	000410 				BR	10$		; DO COMMON CODE
  13115						;
  13116	025226				.SCPEN::			; SET / CLEAR PARITY-STOP "ENABLE"
  13117	025226	012702 	000400 			MOV	#AP.EIP,R2	; PARITY STOP ENABLE
  13118	025232	000405 				BR	10$		; DO COMMON CODE
  13119						;
  13120	025234				.SCPFM::			; SET / CLEAR PARITY-STOP "FM"
  13121	025234	012702 	000010 			MOV	#IP.FMP,R2	; FAST MEMORY PARITY STOP
  13122	025240	000402 				BR	10$		; DO COMMON CODE
  13123						;
  13124	025242				.SCPFS::			; SET / CLEAR PARITY-STOP "FS-STOP"
  13125	025242	012702 	000001 			MOV	#IP.FSS,R2	; FS STOP
  13126	025246				10$:
  13127	025246	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  13128	025252	001402 				BEQ	20$		; NO -- GO ON
  13129	025254	040201 				BIC	R2,R1		; YES -- CLEAR THE ENABLE
  13130	025256					RETURN			; EXIT
	025256	000207 				 RTS	PC
  13131	025260				20$:
  13132	025260	052701 	000400 			BIS	#AP.EIP,R1	; ENABLE THE ERROR STOPS
  13133	025264	050201 				BIS	R2,R1		; SET THE ENABLES
  13134	025266					RETURN			; TO CALLER
	025266	000207 				 RTS	PC
  13135
  13136						.DSABL	LSB
SCPTB -- SET / CLEAR PARITY-STO	MACRO M1108  13-JAN-78 09:14  PAGE 394
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08

  13138					.TITLE	SCPTB -- SET / CLEAR PARITY-STOP COMMAND TABLE MODULE 7603.30
  13139
  13140						.IDENT	"001010"
  13141
  13142					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13143					;
  13144					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13145					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13146					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13147					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13148					;	FOR ITS ACCURACY.
  13149					;
  13150					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13151					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13152					;
  13153					;
  13154					;		MODULE: SET / CLEAR PARITY-STOP COMMAND TABLE
  13155					;
  13156					;		VERSION: 01-01
  13157					;
  13158					;		AUTHOR: R. BELANGER
  13159					;
  13160					;		DATE: 7603.30
  13161					;
  13162					;	THIS MODULE CONTAINS:
  13163					;
  13164					;	1) THE SET / CLEAR PARITY-STOP COMMAND TABLE
SCPTB -- SET / CLEAR PARITY-STO	MACRO M1108  13-JAN-78 09:14  PAGE 395
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10

  13166					.SBTTL	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
  13167
  13168	025270				.SCPTB::
  13169	025270					COMND$	ALL,LG.MNT,.SCPAL
	005632	   101 	   114 	   114 		 .ASCIZ	%ALL%
	005635	   000
	025270	005632'				 .WORD	$$CMDN		; POINTER TO "ALL" SYMBOL
	025272	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025274	025176'				 .WORD	.SCPAL		; ROUTINE TO CALL
  13170	025276					COMND$	AR,LG.MNT,.SCPAR
	005636	   101 	   122 	   000 		 .ASCIZ	%AR%
	025276	005636'				 .WORD	$$CMDN		; POINTER TO "AR" SYMBOL
	025300	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025302	025204'				 .WORD	.SCPAR		; ROUTINE TO CALL
  13171	025304					COMND$	CRAM,LG.MNT,.SCPCR
	005641	   103 	   122 	   101 		 .ASCIZ	%CRAM%
	005644	   115 	   000
	025304	005641'				 .WORD	$$CMDN		; POINTER TO "CRAM" SYMBOL
	025306	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025310	025212'				 .WORD	.SCPCR		; ROUTINE TO CALL
  13172	025312					COMND$	DRAM,LG.MNT,.SCPDR
	005646	   104 	   122 	   101 		 .ASCIZ	%DRAM%
	005651	   115 	   000
	025312	005646'				 .WORD	$$CMDN		; POINTER TO "DRAM" SYMBOL
	025314	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025316	025220'				 .WORD	.SCPDR		; ROUTINE TO CALL
  13173	025320					COMND$	ENABLE,LG.MNT,.SCPEN
	005653	   105 	   116 	   101 		 .ASCIZ	%ENABLE%
	005656	   102 	   114 	   105
	005661	   000
	025320	005653'				 .WORD	$$CMDN		; POINTER TO "ENABLE" SYMBOL
	025322	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025324	025226'				 .WORD	.SCPEN		; ROUTINE TO CALL
  13174	025326					COMND$	FM,LG.MNT,.SCPFM
	005662	   106 	   115 	   000 		 .ASCIZ	%FM%
	025326	005662'				 .WORD	$$CMDN		; POINTER TO "FM" SYMBOL
	025330	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025332	025234'				 .WORD	.SCPFM		; ROUTINE TO CALL
  13175	025334					COMND$	FS-STOP,LG.MNT,.SCPFS
	005665	   106 	   123 	   055 		 .ASCIZ	%FS-STOP%
	005670	   123 	   124 	   117
	005673	   120 	   000
	025334	005665'				 .WORD	$$CMDN		; POINTER TO "FS-STOP" SYMBOL
	025336	000004 				 .WORD	LG.MNT		; LEGAL BITS
	025340	025242'				 .WORD	.SCPFS		; ROUTINE TO CALL
  13176	025342	000000 				.WORD	0		; END OF TABLE MARKER
SCRLD -- SET / CLEAR RELOAD COM	MACRO M1108  13-JAN-78 09:14  PAGE 396
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10

  13178					.TITLE	SCRLD -- SET / CLEAR RELOAD COMMAND MODULE 7603.30
  13179
  13180						.IDENT	"001010"
  13181
  13182					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13183					;
  13184					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13185					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13186					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13187					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13188					;	FOR ITS ACCURACY.
  13189					;
  13190					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13191					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13192					;
  13193					;
  13194					;		MODULE: SET / CLEAR RELOAD COMMAND
  13195					;
  13196					;		VERSION: 01-01
  13197					;
  13198					;		AUTHOR: R. BELANGER
  13199					;
  13200					;		DATE: 7603.30
  13201					;
  13202					;	THIS MODULE CONTAINS:
  13203					;
  13204					;	1) SET / CLEAR RELOAD COMMAND CODE
SCRLD -- SET / CLEAR RELOAD COM	MACRO M1108  13-JAN-78 09:14  PAGE 397
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19

  13206					.SBTTL	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
  13207
  13208	025344				.SCRLD::			; SET/CLEAR "RELOAD"
  13209	025344					CALL	.CKEOC		; MUST HAVE E-O-C
	025344	004737 	002010'			 JSR	PC,.CKEOC
  13210	025350	013737 	000104'	000000G		MOV	.NOTSW,.KLRLD	; SET/CLEAR THE SWITCH
  13211	025356					CALLR	.WHRLD		; PRINT THE STATE AND EXIT
	025356	000137 	033730'			 JMP	.WHRLD
  13212						;
SCRPT -- SET / CLEAR REPEAT COM	MACRO M1108  13-JAN-78 09:14  PAGE 398
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19

  13214					.TITLE	SCRPT -- SET / CLEAR REPEAT COMMAND MODULE 7703.25
  13215
  13216						.IDENT	"001020"
  13217
  13218					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13219					;
  13220					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13221					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13222					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13223					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13224					;	FOR ITS ACCURACY.
  13225					;
  13226					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13227					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13228					;
  13229					;
  13230					;		MODULE: SET / CLEAR REPEAT COMMAND
  13231					;
  13232					;		VERSION: 01-02
  13233					;
  13234					;		AUTHOR: R. BELANGER
  13235					;
  13236					;		DATE: 7703.25
  13237					;
  13238					;	THIS MODULE CONTAINS:
  13239					;
  13240					;	1) SET / CLEAR REPEAT COMMAND CODE
SCRPT -- SET / CLEAR REPEAT COM	MACRO M1108  13-JAN-78 09:14  PAGE 399
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25

  13242					.SBTTL	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
  13243
  13244	025362				.SCRPT::
  13245	025362	013737 	000066'	000120'		MOV	.IRADX,.RDXSV	; SAVE CURRENT INPUT RADIX
  13246	025370	012737 	000012 	000066'		MOV	#^D10,.IRADX	; SET IT TO DECIMAL
  13247	025376	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  13248	025400	005046 				CLR	-(SP)		; .
  13249	025402	005046 				CLR	-(SP)		; ..
  13250	025404	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  13251	025406	005737 	000104'			TST	.NOTSW		; ...IS THIS A CLEAR?
  13252	025412	001002 				BNE	10$		; ...YES -- DO THE CLEAR
  13253	025414					CALL	.GTKLN		; ...NO -- READ THE NEW REPEAT COUNT
	025414	004737 	012334'			 JSR	PC,.GTKLN
  13254	025420				10$:
  13255	025420					CALL	.CKEOC		; ...MUST HAVE E-O-C
	025420	004737 	002010'			 JSR	PC,.CKEOC
  13256	025424	012701 	000124'			MOV	#.RPTCT,R1	; ...POINT TO THE CURRENT REPEAT COUNT
  13257	025430					POP	<(R1)+,(R1)+,(R1)>
	025430	012621 				 MOV	(SP)+,(R1)+
	025432	012621 				 MOV	(SP)+,(R1)+
	025434	012611 				 MOV	(SP)+,(R1)
  13258	025436	013700 	000132'			MOV	.RPTPT,R0	; POINT TO THE STACKED REPEAT COUNT
  13259	025442					CALL	.TPCLR		; CLEAR IT OUT
	025442	004737 	027234'			 JSR	PC,.TPCLR
  13260	025446	013737 	000120'	000066'		MOV	.RDXSV,.IRADX	; RESET INPUT RADIX
  13261	025454					CALLR	.WHRPT		; PRINT THE NEW REPEAT COUNT AND EXIT
	025454	000137 	033052'			 JMP	.WHRPT
  13262						;
SCTRK -- SET / CLEAR TRACK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 400
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25

  13264					.TITLE	SCTRK -- SET / CLEAR TRACK COMMAND MODULE 7603.30
  13265
  13266						.IDENT	"001010"
  13267
  13268					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13269					;
  13270					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13271					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13272					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13273					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13274					;	FOR ITS ACCURACY.
  13275					;
  13276					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13277					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13278					;
  13279					;
  13280					;		MODULE: SET / CLEAR TRACK COMMAND
  13281					;
  13282					;		VERSION: 01-01
  13283					;
  13284					;		AUTHOR: R. BELANGER
  13285					;
  13286					;		DATE: 7603.30
  13287					;
  13288					;	THIS MODULE CONTAINS:
  13289					;
  13290					;	1) SET / CLEAR TRACK CODE
SCTRK -- SET / CLEAR TRACK COMM	MACRO M1108  13-JAN-78 09:14  PAGE 401
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19

  13292					.SBTTL	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
  13293
  13294	025460				.SCTRK::			; SET/CLEAR "TRACK"
  13295	025460					CALL	.CKEOC		; MUST HAVE E-O-C
	025460	004737 	002010'			 JSR	PC,.CKEOC
  13296	025464	005001 				CLR	R1		; CLEAR R1
  13297	025466	005737 	000104'			TST	.NOTSW		; IS THIS A CLEAR?
  13298	025472	001001 				BNE	10$		; YES -- GO ON
  13299	025474	005101 				COM	R1		; NO -- INVERT THE SWITCH
  13300	025476				10$:
  13301	025476	010137 	000142'			MOV	R1,.TRKWD	; SET/CLEAR THE SWITCH
  13302	025502					CALLR	.WHTRK		; PRINT STATE AND RETURN
	025502	000137 	033762'			 JMP	.WHTRK
  13303						;
SETTB -- SET / CLEAR COMMAND TA	MACRO M1108  13-JAN-78 09:14  PAGE 402
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19

  13305					.TITLE	SETTB -- SET / CLEAR COMMAND TABLE MODULE 7703.25
  13306
  13307						.IDENT	"003000"
  13308
  13309					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13310					;
  13311					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  13312					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13313					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13314					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13315					;	FOR ITS ACCURACY.
  13316					;
  13317					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13318					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13319					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13320					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13321					;
  13322					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13323					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13324					;
  13325					;
  13326					;		MODULE: SET / CLEAR COMMAND TABLE
  13327					;
  13328					;		VERSION: 03-00
  13329					;
  13330					;		AUTHOR: R. BELANGER
  13331					;
  13332					;		DATE: 7703.25
  13333					;
  13334					;	THIS MODULE CONTAINS:
  13335					;
  13336					;	1) THE SET / CLEAR COMMAND TABLE
  13337					;
  13338					;	MODIFICATIONS:
  13339					;
  13340					;	NO.	DATE		PROGRAMMER	REASON
  13341					;	---	----		----------	------
  13342					;	001	28-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
  13343					;	002	04-MAR-77	R. BELANGER	ADD SET DATE
SETTB -- SET / CLEAR COMMAND TA	MACRO M1108  13-JAN-78 09:14  PAGE 403
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

  13345					.SBTTL	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
  13346
  13347	025506				.SETTB::
  13348	025506					COMND$	CLOCK,<LG.MNT!LG.RPT>,.SCCLK
	005675	   103 	   114 	   117 		 .ASCIZ	%CLOCK%
	005700	   103 	   113 	   000
	025506	005675'				 .WORD	$$CMDN		; POINTER TO "CLOCK" SYMBOL
	025510	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	025512	022306'				 .WORD	.SCCLK		; ROUTINE TO CALL
  13349	025514					COMND$	CONSOLE,LG.OPR,.SCCON
	005703	   103 	   117 	   116 		 .ASCIZ	%CONSOLE%
	005706	   123 	   117 	   114
	005711	   105 	   000
	025514	005703'				 .WORD	$$CMDN		; POINTER TO "CONSOLE" SYMBOL
	025516	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025520	022554'				 .WORD	.SCCON		; ROUTINE TO CALL
  13350	025522					COMND$	DATE,LG.PRG,.SCDAT
	005713	   104 	   101 	   124 		 .ASCIZ	%DATE%
	005716	   105 	   000
	025522	005713'				 .WORD	$$CMDN		; POINTER TO "DATE" SYMBOL
	025524	000002 				 .WORD	LG.PRG		; LEGAL BITS
	025526	023212'				 .WORD	.SCDAT		; ROUTINE TO CALL
  13351	025530					COMND$	FS-STOP,<LG.MNT!LG.RPT>,.SCFSS
	005720	   106 	   123 	   055 		 .ASCIZ	%FS-STOP%
	005723	   123 	   124 	   117
	005726	   120 	   000
	025530	005720'				 .WORD	$$CMDN		; POINTER TO "FS-STOP" SYMBOL
	025532	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	025534	022320'				 .WORD	.SCFSS		; ROUTINE TO CALL
  13352	025536					COMND$	INCREMENT,LG.OPR,.SCINC
	005730	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	005733	   122 	   105 	   115
	005736	   105 	   116 	   124
	005741	   000
	025536	005730'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	025540	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025542	023562'				 .WORD	.SCINC		; ROUTINE TO CALL
  13353	025544					COMND$	KLINIK,LG.ALL,.SCKLN
	005742	   113 	   114 	   111 		 .ASCIZ	%KLINIK%
	005745	   116 	   111 	   113
	005750	   000
	025544	005742'				 .WORD	$$CMDN		; POINTER TO "KLINIK" SYMBOL
	025546	000007 				 .WORD	LG.ALL		; LEGAL BITS
	025550	023644'				 .WORD	.SCKLN		; ROUTINE TO CALL
  13354	025552					COMND$	MEMORY,LG.OPR,.SCMEM
	005751	   115 	   105 	   115 		 .ASCIZ	%MEMORY%
	005754	   117 	   122 	   131
	005757	   000
	025552	005751'				 .WORD	$$CMDN		; POINTER TO "MEMORY" SYMBOL
	025554	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025556	025034'				 .WORD	.SCMEM		; ROUTINE TO CALL
  13355	025560					COMND$	NOT,<LG.OPR!LG.RPT>,.SCNOT
	005760	   116 	   117 	   124 		 .ASCIZ	%NOT%
	005763	   000
	025560	005760'				 .WORD	$$CMDN		; POINTER TO "NOT" SYMBOL
	025562	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	025564	025130'				 .WORD	.SCNOT		; ROUTINE TO CALL
SETTB -- SET / CLEAR COMMAND TA	MACRO M1108  13-JAN-78 09:14  PAGE 403-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

  13356	025566					COMND$	OFFSET,LG.PRG,.SCOFS
	005764	   117 	   106 	   106 		 .ASCIZ	%OFFSET%
	005767	   123 	   105 	   124
	005772	   000
	025566	005764'				 .WORD	$$CMDN		; POINTER TO "OFFSET" SYMBOL
	025570	000002 				 .WORD	LG.PRG		; LEGAL BITS
	025572	025144'				 .WORD	.SCOFS		; ROUTINE TO CALL
  13357	025574					COMND$	PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST
	005773	   120 	   101 	   122 		 .ASCIZ	%PARITY-STOP%
	005776	   111 	   124 	   131
	006001	   055 	   123 	   124
	006004	   117 	   120 	   000
	025574	005773'				 .WORD	$$CMDN		; POINTER TO "PARITY-STOP" SYMBOL
	025576	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	025600	022342'				 .WORD	.SCPST		; ROUTINE TO CALL
  13358	025602					COMND$	RELOAD,LG.PRG,.SCRLD
	006007	   122 	   105 	   114 		 .ASCIZ	%RELOAD%
	006012	   117 	   101 	   104
	006015	   000
	025602	006007'				 .WORD	$$CMDN		; POINTER TO "RELOAD" SYMBOL
	025604	000002 				 .WORD	LG.PRG		; LEGAL BITS
	025606	025344'				 .WORD	.SCRLD		; ROUTINE TO CALL
  13359	025610					COMND$	REPEAT,LG.OPR,.SCRPT
	006016	   122 	   105 	   120 		 .ASCIZ	%REPEAT%
	006021	   105 	   101 	   124
	006024	   000
	025610	006016'				 .WORD	$$CMDN		; POINTER TO "REPEAT" SYMBOL
	025612	000001 				 .WORD	LG.OPR		; LEGAL BITS
	025614	025362'				 .WORD	.SCRPT		; ROUTINE TO CALL
  13360					.IF NE	FTTRAK
  13361	025616					COMND$	TRACKS,LG.PRG,.SCTRK
	006025	   124 	   122 	   101 		 .ASCIZ	%TRACKS%
	006030	   103 	   113 	   123
	006033	   000
	025616	006025'				 .WORD	$$CMDN		; POINTER TO "TRACKS" SYMBOL
	025620	000002 				 .WORD	LG.PRG		; LEGAL BITS
	025622	025460'				 .WORD	.SCTRK		; ROUTINE TO CALL
  13362					.ENDC		; FTRRAK
  13363	025624	000000 				.WORD	0		; END OF TABLE MARKER
SETCM -- SET / CLEAR COMMAND DI	MACRO M1108  13-JAN-78 09:14  PAGE 404
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

  13365					.TITLE	SETCM -- SET / CLEAR COMMAND DISPATCH MODULE 7603.30
  13366
  13367						.IDENT	"001010"
  13368
  13369					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13370					;
  13371					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13372					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13373					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13374					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13375					;	FOR ITS ACCURACY.
  13376					;
  13377					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13378					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13379					;
  13380					;
  13381					;		MODULE: SET / CLEAR COMMAND DISPATCH
  13382					;
  13383					;		VERSION: 01-01
  13384					;
  13385					;		AUTHOR: R. BELANGER
  13386					;
  13387					;		DATE: 7603.30
  13388					;
  13389					;	THIS MODULE CONTAINS:
  13390					;
  13391					;	1) SET / CLEAR COMMAND DISPATCH CODE
SETCM -- SET / CLEAR COMMAND DI	MACRO M1108  13-JAN-78 09:14  PAGE 405
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19

  13393					.SBTTL	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
  13394
  13395					;+
  13396					; .CLRCM -- THE "CLEAR" COMMAND
  13397					; .SETCM -- THE "SET" COMMAND
  13398					;
  13399					; THESE ROUTINES ARE THE TOP LEVEL FOR THE SET AND CLEAR COMMANDS.
  13400					; ARGUMENTS ARE CHECKED AND A DISPATCH IS MADE FOR THE OBJECT
  13401					; SPECIFIED IN THE COMMAND LINE
  13402					;
  13403					; INPUT ARGUMENTS:
  13404					;
  13405					;	NONE.
  13406					;
  13407					; OUTPUT ARGUMENTS:
  13408					;
  13409					;	NONE.
  13410					;
  13411					; ERROR CODES RETURNED:
  13412					;
  13413					;	ILC -- ILLEGAL COMMAND.
  13414					;-
  13415
  13416						.ENABL	LSB
  13417
  13418	025626				.CLRCM::
  13419	025626					CALL	.CKOBJ		; SEE IF OBJECT FOLLOWS
	025626	004737 	002074'			 JSR	PC,.CKOBJ
  13420	025632	005737 	000104'			TST	.NOTSW		; LOOK AT THE "NOT" SWITCH
  13421	025636	001007 				BNE	10$		; ALREADY SAYS CLEAR -- GO ON
  13422	025640	005137 	000104'			COM	.NOTSW		; INVERT THE "NOT" SWITCH
  13423	025644	000404 				BR	10$		; AND TREAT AS A "SET" COMMAND
  13424						;
  13425	025646				.SETCM::
  13426	025646					CALL	.CKOBJ		; LOOK FOR AN OBJECT
	025646	004737 	002074'			 JSR	PC,.CKOBJ
  13427	025652	005037 	000104'			CLR	.NOTSW		; CLEAR THE "NOT" SWITCH
  13428	025656				.SETC0::			; "SET NOT" ENTRY POINT
  13429	025656				10$:
  13430	025656	012700 	025506'			MOV	#.SETTB,R0	; TABLE POINTER TO R0
  13431	025662					CALL	.TSCAN		; SCAN IT
	025662	004737 	030176'			 JSR	PC,.TSCAN
  13432	025666	011001 				MOV	(R0),R1		; LEGAL BITS TO R1
  13433	025670	005101 				COM	R1		; INVERT THEM
  13434	025672	040137 	000076'			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
  13435	025676					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	025676	000170 	000002 			 JMP	@2(R0)
  13436						;
  13437
  13438						.DSABL	LSB
SHIFT -- 16 BIT BY 16 BIT SHIFT	MACRO M1108  13-JAN-78 09:14  PAGE 406
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19

  13440					.TITLE	SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS MODULE 7603.30
  13441
  13442						.IDENT	"001010"
  13443
  13444					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13445					;
  13446					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13447					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13448					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13449					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13450					;	FOR ITS ACCURACY.
  13451					;
  13452					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13453					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13454					;
  13455					;
  13456					;		MODULE: 16 BIT BY 16 BIT SHIFT OPERATIONS
  13457					;
  13458					;		VERSION: 01-01
  13459					;
  13460					;		AUTHOR: R. BELANGER
  13461					;
  13462					;		DATE: 7603.30
  13463					;
  13464					;	THIS MODULE CONTAINS:
  13465					;
  13466					;	1) 16 BIT BY 16 BIT SHIFT CODE
SHIFT -- 16 BIT BY 16 BIT SHIFT	MACRO M1108  13-JAN-78 09:14  PAGE 407
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30

  13468					.SBTTL	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
  13469
  13470					;+
  13471					; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
  13472					;
  13473					; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
  13474					; COUNT IN R1.
  13475					;
  13476					; INPUT ARGUMENTS:
  13477					;
  13478					;	R0 HOLDS THE NUMBER TO BE SHIFTED
  13479					;	R1 HOLDS A 16 BIT SHIFT COUNT
  13480					;
  13481					; OUTPUT ARGUMENTS:
  13482					;
  13483					;	R0 HOLDS THE SHIFTED NUMBER
  13484					;	R1 HOLDS THE SHIFT COUNT
  13485					;
  13486					; ERROR CODES RETURNED:
  13487					;
  13488					;	NONE
  13489					;-
  13490
  13491	025702				.SHIFT::
  13492	025702					PUSH	R1		; SAVE R1 ON THE STACK
	025702	010146 				 MOV	R1,-(SP)
  13493	025704	001407 				BEQ	30$		; .EXIT IF .EQ. 0
  13494	025706	002403 				BLT	20$		; .SHIFT RIGHT IF NEGATIVE
  13495	025710				10$:
  13496	025710	006300 				ASL	R0		; .SHIFT IT LEFT
  13497	025712	077102 				SOB	R1,10$		; .TILL COUNT IS EXHAUSTED
  13498	025714	000403 				BR	30$		; .EXIT
  13499						;
  13500	025716				20$:
  13501	025716	006200 				ASR	R0		; .SHIFT IT RIGHT
  13502	025720	005201 				INC	R1		; .COUNT THE SHIFT
  13503	025722	001375 				BNE	20$		; .TILL COUNT EXHAUSTED
  13504	025724				30$:
  13505	025724					POP	R1		; .RESTORE R1 FROM THE STACK
	025724	012601 				 MOV	(SP)+,R1
  13506	025726	000241 				CLC			; CLEAR CC-C
  13507	025730					RETURN			; RETURN
	025730	000207 				 RTS	PC
SHUTC -- SHUTDOWN COMMAND MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 408
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30

  13509					.TITLE	SHUTC -- SHUTDOWN COMMAND MODULE 7707.12
  13510
  13511						.IDENT	"002010"
  13512
  13513					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13514					;
  13515					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  13516					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13517					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13518					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13519					;	FOR ITS ACCURACY.
  13520					;
  13521					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13522					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13523					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13524					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13525					;
  13526					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13527					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13528					;
  13529					;
  13530					;		MODULE: SHUTDOWN COMMAND
  13531					;
  13532					;		VERSION: 03-06
  13533					;
  13534					;		AUTHOR: R. BELANGER
  13535					;
  13536					;		DATE: 7707.12
  13537					;
  13538					;	THIS MODULE CONTAINS:
  13539					;
  13540					;	1) SHUTDOWN COMMAND CODE
  13541					;
  13542					;	MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCE TO .SECFL TO
  13543					;		SET THE .NOHLT SYSTEM FLAG
SHUTC -- SHUTDOWN COMMAND MODUL	MACRO M1108  13-JAN-78 09:14  PAGE 409
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12

  13545					.SBTTL	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
  13546
  13547					;+
  13548					; .SHUTC -- THE SHUTDOWN COMMAND
  13549					;
  13550					; THIS ROUTINE WILL DEPOSIT A -1 INTO KL LOCATION 30 (EXEC VIRTUAL)
  13551					; TO SHUTDOWN TIMESHARING.
  13552					;
  13553					; INPUT ARGUMENTS:
  13554					;
  13555					;	NONE.
  13556					;
  13557					; OUTPUT ARGUMENTS:
  13558					;
  13559					;	NONE.
  13560					;
  13561					; ERROR CODES RETURNED:
  13562					;
  13563					;	NONE
  13564					;-
  13565
  13566	025732				.SHUTC::
  13567	025732					CALL	.CKEOC		; CHECK E-O-C
	025732	004737 	002010'			 JSR	PC,.CKEOC
  13568	025736	112737 	000001 	000000G		MOVB	#1,.NOHLT	; TELL RSX20F NOT TO PANIC OVER HALTED KL
  13569	025744	005046 				CLR	-(SP)		; CLEAR ADDRESS BUFFER
  13570	025746					PUSH	#30		; .SET THE ADDRESS UP
	025746	012746 	000030 			 MOV	#30,-(SP)
  13571	025752	010600 				MOV	SP,R0		; ..GET ADDRESS POINTER
  13572	025754					PUSH	#17		; ..SET UP DEPOSIT WORD
	025754	012746 	000017 			 MOV	#17,-(SP)
  13573	025760					PUSH	#-^D1		; ...
	025760	012746 	177777 			 MOV	#-^D1,-(SP)
  13574	025764					PUSH	#-^D1		; ....
	025764	012746 	177777 			 MOV	#-^D1,-(SP)
  13575	025770	010601 				MOV	SP,R1		; .....SAVE THE POINTER
  13576	025772					PUSH	R1		; .....SET UP THE DATA BLOCK
	025772	010146 				 MOV	R1,-(SP)
  13577	025774					PUSH	R0		; ......
	025774	010046 				 MOV	R0,-(SP)
  13578	025776	010601 				MOV	SP,R1		; .......POINT TO THE BLOCK
  13579	026000	012700 	000040 			MOV	#ED.EXV,R0	; .......EXEC VIRTUAL REFERENCE
  13580	026004					CALL	.DPKLM		; .......DO THE DEPOSIT
	026004	004737 	005532'			 JSR	PC,.DPKLM
  13581	026010	062706 	000016 			ADD	#^D14,SP	; .......CLEAR THE STACK
  13582	026014					CALL	..DTP2		; +++006 START SECONDARY PROTOCOL
	026014	004737 	000000G			 JSR	PC,..DTP2
  13583	026020					CALLR	.EXITP		; EXIT THE PARSER
	026020	000137 	007754'			 JMP	.EXITP
  13584						;
  13585					.TITLE	SPETB -- SPECIAL ERROR CODE TABLE MODULE 7702.16
  13586
  13587						.IDENT	"003000"
  13588
  13589					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13590					;
  13591					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
SPETB -- SPECIAL ERROR CODE TAB	MACRO M1108  13-JAN-78 09:14  PAGE 409-1
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12

  13592					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13593					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13594					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13595					;	FOR ITS ACCURACY.
  13596					;
  13597					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13598					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13599					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13600					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13601					;
  13602					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13603					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13604					;
  13605					;
  13606					;		MODULE: SPECIAL ERROR CODE TABLE
  13607					;
  13608					;		VERSION: 03-00
  13609					;
  13610					;		AUTHOR: R. BELANGER
  13611					;
  13612					;		DATE: 7702.16
  13613					;
  13614					;	THIS MODULE CONTAINS:
  13615					;
  13616					;	1) THE SPECIAL ERROR CODE TABLE
  13617					;
  13618					;	MODIFICATIONS:
  13619					;
  13620					;	NO.	DATE		PROGRAMMER	REASON
  13621					;	---	----		----------	------
  13622					;	001	28-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
SPETB -- SPECIAL ERROR CODE TAB	MACRO M1108  13-JAN-78 09:14  PAGE 410
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

  13624					.SBTTL	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
  13625
  13626	026024				.SPETB::
  13627	026024					SPERR$	AMB,<AMBIGUOUS KEYWORD ">
	006034	   101 	   115 	   102 		 .ASCIZ	%AMB - AMBIGUOUS KEYWORD "%
	006037	   040 	   055 	   040
	006042	   101 	   115 	   102
	006045	   111 	   107 	   125
	006050	   117 	   125 	   123
	006053	   040 	   113 	   105
	006056	   131 	   127 	   117
	006061	   122 	   104 	   040
	006064	   042 	   000
	026024	004112 				 .RAD50	/AMB/		; "AMB" IN .RAD50
	026026	016566'				 .WORD	.SEAMB		; DISPATCH TO HANDLER
	026030	006034'				 .WORD	AMBMSG		; POINTER TO MESSAGE
  13628						;
  13629	026032					SPERR$	CES,<CLOCK ERROR STOP - >
	006066	   103 	   105 	   123 		 .ASCIZ	%CES - CLOCK ERROR STOP - %
	006071	   040 	   055 	   040
	006074	   103 	   114 	   117
	006077	   103 	   113 	   040
	006102	   105 	   122 	   122
	006105	   117 	   122 	   040
	006110	   123 	   124 	   117
	006113	   120 	   040 	   055
	006116	   040 	   000
	026032	011633 				 .RAD50	/CES/		; "CES" IN .RAD50
	026034	017026'				 .WORD	.SECES		; DISPATCH TO HANDLER
	026036	006066'				 .WORD	CESMSG		; POINTER TO MESSAGE
  13630						;
  13631	026040					SPERR$	FRF,<FUNCTION READ >
	006120	   106 	   122 	   106 		 .ASCIZ	%FRF - FUNCTION READ %
	006123	   040 	   055 	   040
	006126	   106 	   125 	   116
	006131	   103 	   124 	   111
	006134	   117 	   116 	   040
	006137	   122 	   105 	   101
	006142	   104 	   040 	   000
	026040	024126 				 .RAD50	/FRF/		; "FRF" IN .RAD50
	026042	016654'				 .WORD	.SEFRF		; DISPATCH TO HANDLER
	026044	006120'				 .WORD	FRFMSG		; POINTER TO MESSAGE
  13632	026046					SPERR$	FWF,<FUNCTION WRITE >
	006145	   106 	   127 	   106 		 .ASCIZ	%FWF - FUNCTION WRITE %
	006150	   040 	   055 	   040
	006153	   106 	   125 	   116
	006156	   103 	   124 	   111
	006161	   117 	   116 	   040
	006164	   127 	   122 	   111
	006167	   124 	   105 	   040
	006172	   000
	026046	024436 				 .RAD50	/FWF/		; "FWF" IN .RAD50
	026050	016662'				 .WORD	.SEFWF		; DISPATCH TO HANDLER
	026052	006145'				 .WORD	FWFMSG		; POINTER TO MESSAGE
  13633	026054					SPERR$	FXF,<FUNCTION EXECUTE >
	006173	   106 	   130 	   106 		 .ASCIZ	%FXF - FUNCTION EXECUTE %
	006176	   040 	   055 	   040
SPETB -- SPECIAL ERROR CODE TAB	MACRO M1108  13-JAN-78 09:14  PAGE 410-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	006201	   106 	   125 	   116
	006204	   103 	   124 	   111
	006207	   117 	   116 	   040
	006212	   105 	   130 	   105
	006215	   103 	   125 	   124
	006220	   105 	   040 	   000
	026054	024506 				 .RAD50	/FXF/		; "FXF" IN .RAD50
	026056	016670'				 .WORD	.SEFXF		; DISPATCH TO HANDLER
	026060	006173'				 .WORD	FXFMSG		; POINTER TO MESSAGE
  13634						;
  13635	026062					SPERR$	ILC,<ILLEGAL CHARACTER ">
	006223	   111 	   114 	   103 		 .ASCIZ	%ILC - ILLEGAL CHARACTER "%
	006226	   040 	   055 	   040
	006231	   111 	   114 	   114
	006234	   105 	   107 	   101
	006237	   114 	   040 	   103
	006242	   110 	   101 	   122
	006245	   101 	   103 	   124
	006250	   105 	   122 	   040
	006253	   042 	   000
	026062	035043 				 .RAD50	/ILC/		; "ILC" IN .RAD50
	026064	016612'				 .WORD	.SEILC		; DISPATCH TO HANDLER
	026066	006223'				 .WORD	ILCMSG		; POINTER TO MESSAGE
  13636	026070					SPERR$	ILS,<ILLEGAL SEPARATOR CHARACTER ">
	006255	   111 	   114 	   123 		 .ASCIZ	%ILS - ILLEGAL SEPARATOR CHARACTER "%
	006260	   040 	   055 	   040
	006263	   111 	   114 	   114
	006266	   105 	   107 	   101
	006271	   114 	   040 	   123
	006274	   105 	   120 	   101
	006277	   122 	   101 	   124
	006302	   117 	   122 	   040
	006305	   103 	   110 	   101
	006310	   122 	   101 	   103
	006313	   124 	   105 	   122
	006316	   040 	   042 	   000
	026070	035063 				 .RAD50	/ILS/		; "ILS" IN .RAD50
	026072	016612'				 .WORD	.SEILS		; DISPATCH TO HANDLER
	026074	006255'				 .WORD	ILSMSG		; POINTER TO MESSAGE
  13637	026076					SPERR$	IPC,<ILLEGAL PASSWORD CHARACTER ">
	006321	   111 	   120 	   103 		 .ASCIZ	%IPC - ILLEGAL PASSWORD CHARACTER "%
	006324	   040 	   055 	   040
	006327	   111 	   114 	   114
	006332	   105 	   107 	   101
	006335	   114 	   040 	   120
	006340	   101 	   123 	   123
	006343	   127 	   117 	   122
	006346	   104 	   040 	   103
	006351	   110 	   101 	   122
	006354	   101 	   103 	   124
	006357	   105 	   122 	   040
	006362	   042 	   000
	026076	035303 				 .RAD50	/IPC/		; "IPC" IN .RAD50
	026100	016612'				 .WORD	.SEIPC		; DISPATCH TO HANDLER
	026102	006321'				 .WORD	IPCMSG		; POINTER TO MESSAGE
  13638						;
  13639	026104					SPERR$	NSK,<NO SUCH KEYWORD ">
SPETB -- SPECIAL ERROR CODE TAB	MACRO M1108  13-JAN-78 09:14  PAGE 410-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	006364	   116 	   123 	   113 		 .ASCIZ	%NSK - NO SUCH KEYWORD "%
	006367	   040 	   055 	   040
	006372	   116 	   117 	   040
	006375	   123 	   125 	   103
	006400	   110 	   040 	   113
	006403	   105 	   131 	   127
	006406	   117 	   122 	   104
	006411	   040 	   042 	   000
	026104	055203 				 .RAD50	/NSK/		; "NSK" IN .RAD50
	026106	016566'				 .WORD	.SENSK		; DISPATCH TO HANDLER
	026110	006364'				 .WORD	NSKMSG		; POINTER TO MESSAGE
  13640						;
  13641	026112	000000 				.WORD	0		; END OF TABLE MARKER
SSCAN -- SYMBOL SCANNER MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 411
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

  13643					.TITLE	SSCAN -- SYMBOL SCANNER MODULE 7603.30
  13644
  13645						.IDENT	"001010"
  13646
  13647					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13648					;
  13649					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13650					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13651					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13652					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13653					;	FOR ITS ACCURACY.
  13654					;
  13655					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13656					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13657					;
  13658					;
  13659					;		MODULE: SYMBOL SCANNER
  13660					;
  13661					;		VERSION: 01-01
  13662					;
  13663					;		AUTHOR: R. BELANGER
  13664					;
  13665					;		DATE: 7603.30
  13666					;
  13667					;	THIS MODULE CONTAINS:
  13668					;
  13669					;	1) SYMBOL SCAN CODE
SSCAN -- SYMBOL SCANNER MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 412
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

  13671					.SBTTL	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
  13672
  13673					;+
  13674					; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
  13675					;	    WITH AN ".ASCIZ" SYMBOL IN A TABLE.
  13676					;
  13677					; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
  13678					; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
  13679					;
  13680					; INPUT ARGUMENTS:
  13681					;
  13682					;	R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
  13683					;	".TSCAN" (Q.V.).
  13684					;	R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
  13685					;	MATCHED.
  13686					;
  13687					; OUTPUT ARGUMENTS:
  13688					;
  13689					;  ON FAILURE, (NO MATCH):
  13690					;	R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
  13691					;	R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
  13692					;	CC-C IS SET.
  13693					;
  13694					;  ON SUCCESS, (MATCH):
  13695					;	R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
  13696					;	R4 CONTAINS THAT DELIMITER CHARACTER
  13697					;	CC-C IS CLEAR
  13698					;	IF CC-Z IS SET, THE MATCH WAS EXACT.
  13699					;
  13700					; ERROR CODES RETURNED:
  13701					;
  13702					;	ILS -- ILLEGAL SEPARATOR CHARCATER.
  13703					;-
SSCAN -- SYMBOL SCANNER MODULE 	MACRO M1108  13-JAN-78 09:14  PAGE 413
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

  13705	026114				.SSCAN::
  13706	026114	121510 				CMPB	(R5),(R0)	; TEST CHARACTERS FOR MATCH
  13707	026116	001006 				BNE	20$		; NO MATCH -- CHECK DELIMITER
  13708	026120	105720 				TSTB	(R0)+		; ADVANCE THE POINTERS
  13709	026122	001402 				BEQ	10$		; MATCH ON ".ASCIZ" SYMBOLS?
  13710	026124	105725 				TSTB	(R5)+		; NO -- ADVANCE OTHER POINTER
  13711	026126	000772 				BR	.SSCAN		; AND TRY NEXT TWO CHARACTERS
  13712						;
  13713	026130				10$:
  13714	026130	105740 				TSTB	-(R0)		; BACK THE POINTER UP
  13715	026132	000405 				BR	30$		; AND EXIT
  13716						;
  13717	026134				20$:
  13718	026134	111504 				MOVB	(R5),R4		; GET LAST CHARACTER FROM INPUT
  13719	026136	132764 	000034 	001360'		BITB	#CH.END,.CHTAB(R4)
  13720	026144	001402 				BEQ	40$		; NOT LEGAL DELIMITER -- GIVE NO MATCH
  13721	026146				30$:
  13722	026146	105710 				TSTB	(R0)		; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
  13723	026150	000401 				BR	50$		; AND EXIT
  13724						;
  13725	026152				40$:
  13726	026152	000261 				SEC			; SET CC-C TO SAY "NO MATCH"
  13727	026154				50$:
  13728	026154					RETURN			; TO CALLER
	026154	000207 				 RTS	PC
START -- COMMAND PARSER TOP LEV	MACRO M1108  13-JAN-78 09:14  PAGE 414
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

  13730					.TITLE	START -- COMMAND PARSER TOP LEVEL MODULE 7603.30
  13731
  13732						.IDENT	"001010"
  13733
  13734					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  13735					;
  13736					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  13737					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  13738					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  13739					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13740					;	FOR ITS ACCURACY.
  13741					;
  13742					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  13743					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  13744					;
  13745					;
  13746					;		MODULE: COMMND PARSER TOP LEVEL
  13747					;
  13748					;		VERSION: 01-01
  13749					;
  13750					;		AUTHOR: R. BELANGER
  13751					;
  13752					;		DATE: 7603.30
  13753					;
  13754					;	THIS MODULE CONTAINS:
  13755					;
  13756					;	1) PROMPTING CODE
  13757					;	2) CALL TO COMMAND DECODER
START -- COMMAND PARSER TOP LEV	MACRO M1108  13-JAN-78 09:14  PAGE 415
.START -- COMMAND PARSER MAIN LOOP 7602.02

  13759					.SBTTL	.START -- COMMAND PARSER MAIN LOOP 7602.02
  13760
  13761					;+
  13762					; .START -- COMMAND PARSER MAIN LOOP.
  13763					;
  13764					; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
  13765					; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
  13766					; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
  13767					; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
  13768					; THE OPERATOR.
  13769					;
  13770					; INPUT ARGUMENTS:
  13771					;
  13772					;	NONE.
  13773					;
  13774					; OUTPUT ARGUMENTS:
  13775					;
  13776					;	R0 POINTS TO THE REPEAT COUNT
  13777					;	R5 POINTS TO THE INPUT STREAM
  13778					;
  13779					; ERROR CODES RETURNED:
  13780					;
  13781					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
  13782					;	PARSER EXITS.
  13783					;-
START -- COMMAND PARSER TOP LEV	MACRO M1108  13-JAN-78 09:14  PAGE 416
.START -- COMMAND PARSER MAIN LOOP 7602.02

  13785	026156				.START::
  13786	026156	013706 	000136'			MOV	.SVESP,SP	; INIT THE STACK POINTER
  13787	026162				10$:
  13788	026162	005037 	000140'			CLR	.SVKLF		; RESET ".SVKLF"
  13789	026166	012737 	000021'	000002'		MOV	#PARNAM,.CCMDN	; SET UP PARSER NAME
  13790	026174					CALL	.TYINI		; INIT OUTPUT POINTERS
	026174	004737 	031610'			 JSR	PC,.TYINI
  13791	026200	012701 	000000G			MOV	#.KLFLG,R1	; POINT TO ".KLFLG"
  13792	026204	012700 	000030'			MOV	#PROMPT,R0	; POINT TO THE PROMPT STRING
  13793	026210					CALL	.TYMSG		; PRINT IT
	026210	004737 	031434'			 JSR	PC,.TYMSG
  13794	026214	012700 	000076 			MOV	#'>,R0		; ASSUME THE KL IS RUNNING
  13795	026220	032711 	100000 			BIT	#KF.CLK,(R1)	; IS THE CLOCK ON?
  13796	026224	001406 				BEQ	20$		; NO -- PRINT "#"
  13797	026226	032711 	040000 			BIT	#KF.RUN,(R1)	; YES -- IS THE RUN FLOP ON?
  13798	026232	001005 				BNE	30$		; YES -- PRINT ">"
  13799	026234	012700 	000045 			MOV	#'%,R0		; NO -- PRINT "%"
  13800	026240	000402 				BR	30$		; GO DO IT
  13801						;
  13802	026242				20$:
  13803	026242	012700 	000043 			MOV	#'#,R0		; KL CLOCK IS OFF
  13804	026246				30$:
  13805	026246					CALL	.TFCHR		; FORCE PRINT THE PROMPT CHARACTER
	026246	004737 	031456'			 JSR	PC,.TFCHR
  13806	026252	012705 	000670'			MOV	#.COMND,R5	; SET UP COMMAND BUFFER POINTER
  13807	026256					CALL	.GTCMD		; GO READ A COMMAND LINE
	026256	004737 	011256'			 JSR	PC,.GTCMD
  13808	026262	005037 	000076'			CLR	.LGLWD		; FLUSH OLD LEGAL BITS
  13809	026266	012700 	000124'			MOV	#.RPTCT,R0	; GET THE REPEAT COUNT POINTER
  13810	026272					CALL	.DOCMD		; NOW GO EXECUTE A COMMAND
	026272	004737 	003334'			 JSR	PC,.DOCMD
  13811	026276	000731 				BR	10$		; AND START OVER AGAIN
  13812						;
STCLK -- KL CLOCK START FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 417
.START -- COMMAND PARSER MAIN LOOP 7602.02

  13814					.TITLE	STCLK -- KL CLOCK START FUNCTION MODULE 7607.15
  13815
  13816						.IDENT	"002010"
  13817
  13818					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13819					;
  13820					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  13821					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13822					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13823					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13824					;	FOR ITS ACCURACY.
  13825					;
  13826					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13827					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13828					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13829					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13830					;
  13831					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13832					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13833					;
  13834					;
  13835					;		MODULE: KL CLOCK START FUNCTION
  13836					;
  13837					;		VERSION: 02-01
  13838					;
  13839					;		AUTHOR: R. BELANGER
  13840					;
  13841					;		DATE: 7607.15
  13842					;
  13843					;	THIS MODULE CONTAINS:
  13844					;
  13845					;	1) KL CLOCK START CODE
  13846					;
  13847					;	MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN THE ".NOERR" FLAG
STCLK -- KL CLOCK START FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 418
.STCLK -- START KL CLOCK SUBROUTINE 7607.15

  13849					.SBTTL	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
  13850
  13851					;+
  13852					; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
  13853					;
  13854					; THIS SUBROUTINE WILL START THE KL CLOCK.
  13855					;
  13856					; INPUT ARGUMENTS:
  13857					;
  13858					;	NONE.
  13859					;
  13860					; OUTPUT ARGUMENTS:
  13861					;
  13862					;	NONE.
  13863					;
  13864					; ERROR CODES RETURNED:
  13865					;
  13866					;	CES -- CLOCK ERROR STOP.
  13867					;	FXF -- FUNCTION EXECUTE FAILED.
  13868					;-
  13869
  13870	026300				.STCLK::
  13871	026300	000241 				CLC			; CLEAR CC-C
  13872	026302					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	026302	004737 	001630'			 JSR	PC,.CESCK
  13873	026306				.STCLF::			; HERE TO START THE CLOCK ANYWAY
  13874	026306					PUSH	R0		; SAVE R0
	026306	010046 				 MOV	R0,-(SP)
  13875	026310	012700 	000002 			MOV	#FX.CST,R0	; .SET UP TO START THE KL CLOCK
  13876	026314					CALL	.FXCT		; .DO IT
	026314	004737 	011074'			 JSR	PC,.FXCT
  13877	026320	105037 	000000G			CLRB	.NOERR		; LET RSX20F CATCH CLOCK ERRORS
  13878	026324					POP	R0		; .RESTORE R0
	026324	012600 				 MOV	(SP)+,R0
  13879	026326					RETURN			; RETURN TO CALLER
	026326	000207 				 RTS	PC
STPKL -- KL STOP MODULE 7602.25	MACRO M1108  13-JAN-78 09:14  PAGE 419
.STCLK -- START KL CLOCK SUBROUTINE 7607.15

  13881					.TITLE	STPKL -- KL STOP MODULE 7602.25
  13882
  13883						.IDENT	"002010"
  13884
  13885					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13886					;
  13887					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  13888					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13889					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13890					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13891					;	FOR ITS ACCURACY.
  13892					;
  13893					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13894					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13895					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13896					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13897					;
  13898					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13899					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13900					;
  13901					;
  13902					;		MODULE: KL STOP
  13903					;
  13904					;		VERSION: 02-01
  13905					;
  13906					;		AUTHOR: R. BELANGER
  13907					;
  13908					;		DATE: 7602.25
  13909					;
  13910					;	THIS MODULE CONTAINS:
  13911					;
  13912					;	1) KL STOP CODE
  13913					;
  13914					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
STPKL -- KL STOP MODULE 7602.25	MACRO M1108  13-JAN-78 09:14  PAGE 420
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25

  13916					.SBTTL	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
  13917
  13918					;+
  13919					; .STPKL -- SUBROUTINE TO STOP THE KL.
  13920					;
  13921					; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
  13922					; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
  13923					;
  13924					; INPUT ARGUMENTS:
  13925					;
  13926					;	THE STATE OF THE KL IS IN ".KLFLG"
  13927					;
  13928					; OUTPUT ARGUMENTS:
  13929					;
  13930					;	THE CURRENT STATE OF THE KL IS IN ".KLFLG"
  13931					;	THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
  13932					;
  13933					; ERROR CODES RETURNED:
  13934					;
  13935					;	NONE.
  13936					;-
  13937
  13938	026330				.STPKL::
  13939	026330	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; IS THE KL RUNNING?
  13940	026336	001405 				BEQ	10$		; NO -- JUST EXIT
  13941	026340	013737 	000000G	000140'		MOV	.KLFLG,.SVKLF	; YES -- SAVE CURRENT KL STATE
  13942	026346					CALL	.KLSTP		; STOP THE KL
	026346	004737 	015220'			 JSR	PC,.KLSTP
  13943	026352				10$:
  13944	026352					RETURN			; TO CALLER
	026352	000207 				 RTS	PC
STPXC -- KL CLOCK STOP FUNCTION	MACRO M1108  13-JAN-78 09:14  PAGE 421
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25

  13946					.TITLE	STPXC -- KL CLOCK STOP FUNCTION MODULE 7601.09
  13947
  13948						.IDENT	"002010"
  13949
  13950					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  13951					;
  13952					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  13953					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  13954					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  13955					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  13956					;	FOR ITS ACCURACY.
  13957					;
  13958					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  13959					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  13960					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  13961					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  13962					;
  13963					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  13964					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  13965					;
  13966					;
  13967					;		MODULE: KL CLOCK STOP FUNCTION
  13968					;
  13969					;		VERSION: 02-01
  13970					;
  13971					;		AUTHOR: R. BELANGER
  13972					;
  13973					;		DATE: 7601.09
  13974					;
  13975					;	THIS MODULE CONTAINS:
  13976					;
  13977					;	1) KL CLOCK STOP CODE
  13978					;
  13979					;	MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN ".NOERR"
  13980
  13981						.MCALL	WTSE$S
STPXC -- KL CLOCK STOP FUNCTION	MACRO M1108  13-JAN-78 09:14  PAGE 422
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09

  13983					.SBTTL	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
  13984
  13985					;+
  13986					; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
  13987					;
  13988					; THIS SUBROUTINE STOPS THE KL CLOCK.
  13989					;
  13990					; INPUT ARGUMENTS:
  13991					;
  13992					;	NONE.
  13993					;
  13994					; OUTPUT ARGUMENTS:
  13995					;
  13996					;	NONE
  13997					;
  13998					; ERROR CODES RETURNED:
  13999					;
  14000					;	FXF -- FUNCTION EXECUTE FAILED
  14001					;-
  14002
  14003	026354				.STPXC::
  14004	026354	000241 				CLC			; CLEAR CC-C
  14005	026356					WTSE$S	#E.FHTO		; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
	026356	012746 	000001 			MOV	#E.FHTO,-(SP)
	026362	012746 				MOV	(PC)+,-(SP)
	026364	   051 	   002 			.BYTE	41.,2
	026366	104375 				EMT	375
  14006	026370					PUSH	R0		; SAVE R0
	026370	010046 				 MOV	R0,-(SP)
  14007	026372	112737 	000001 	000000G		MOVB	#1,.NOERR	; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
  14008	026400	005000 				CLR	R0		; .SET UP TO STOP THE KL CLOCK
  14009									; .FUNCTION CODE IS ZERO
  14010	026402					CALL	.FXCT		; .DO IT
	026402	004737 	011074'			 JSR	PC,.FXCT
  14011	026406					POP	R0		; .RESTORE R0
	026406	012600 				 MOV	(SP)+,R0
  14012	026410					RETURN			; AND GO AWAY
	026410	000207 				 RTS	PC
STRTB -- START COMMAND TABLE MO	MACRO M1108  13-JAN-78 09:14  PAGE 423
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09

  14014					.TITLE	STRTB -- START COMMAND TABLE MODULE 7603.30
  14015
  14016						.IDENT	"001010"
  14017
  14018					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14019					;
  14020					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14021					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14022					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14023					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14024					;	FOR ITS ACCURACY.
  14025					;
  14026					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14027					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14028					;
  14029					;
  14030					;		MODULE: START COMMAND TABLE
  14031					;
  14032					;		VERSION: 01-01
  14033					;
  14034					;		AUTHOR: R. BELANGER
  14035					;
  14036					;		DATE: 7603.30
  14037					;
  14038					;	THIS MODULE CONTAINS:
  14039					;
  14040					;	1) THE START COMMAND TABLE
STRTB -- START COMMAND TABLE MO	MACRO M1108  13-JAN-78 09:14  PAGE 424
.STRTB -- THE START COMMAND TABLE 7602.26

  14042					.SBTTL	.STRTB -- THE START COMMAND TABLE 7602.26
  14043
  14044	026412				.STRTB::
  14045	026412					COMND$	TEN,<LG.PRG!LG.RPT>,.STRTT
	006414	   124 	   105 	   116 		 .ASCIZ	%TEN%
	006417	   000
	026412	006414'				 .WORD	$$CMDN		; POINTER TO "TEN" SYMBOL
	026414	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	026416	026466'				 .WORD	.STRTT		; ROUTINE TO CALL
  14046	026420					COMND$	MICROCODE,<LG.PRG!LG.RPT>,.STRTU
	006420	   115 	   111 	   103 		 .ASCIZ	%MICROCODE%
	006423	   122 	   117 	   103
	006426	   117 	   104 	   105
	006431	   000
	026420	006420'				 .WORD	$$CMDN		; POINTER TO "MICROCODE" SYMBOL
	026422	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	026424	026564'				 .WORD	.STRTU		; ROUTINE TO CALL
  14047	026426	000000 				.WORD	0		; END OF TABLE MARKER
STRTC -- START COMMAND DISPATCH	MACRO M1108  13-JAN-78 09:14  PAGE 425
.STRTB -- THE START COMMAND TABLE 7602.26

  14049					.TITLE	STRTC -- START COMMAND DISPATCH MODULE 7603.30
  14050
  14051						.IDENT	"001010"
  14052
  14053					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14054					;
  14055					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14056					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14057					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14058					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14059					;	FOR ITS ACCURACY.
  14060					;
  14061					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14062					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14063					;
  14064					;
  14065					;		MODULE: START COMMAND DISPATCH
  14066					;
  14067					;		VERSION: 01-01
  14068					;
  14069					;		AUTHOR: R. BELANGER
  14070					;
  14071					;		DATE: 7603.30
  14072					;
  14073					;	THIS MODULE CONTAINS:
  14074					;
  14075					;	1) START COMMAND DISPATCH CODE
STRTC -- START COMMAND DISPATCH	MACRO M1108  13-JAN-78 09:14  PAGE 426
.STRTC -- THE "START" COMMAND 7602.26

  14077					.SBTTL	.STRTC -- THE "START" COMMAND 7602.26
  14078
  14079					;+
  14080					; .STRTC -- THE "START" COMMAND.
  14081					;
  14082					; THIS IS THE TOP LEVEL OF THE "START" COMMAND, WHICH CHECKS FOR
  14083					; ARGUMENTS AND DISPATCHES TO THE PROPER LOWER LEVEL ROUTINE.
  14084					;
  14085					; INPUT ARGUMENTS:
  14086					;
  14087					;	NONE.
  14088					;
  14089					; OUTPUT ARGUMENTS:
  14090					;
  14091					;	NONE.
  14092					;
  14093					; ERROR CODES RETURNED:
  14094					;
  14095					;	NONE.
  14096					;-
  14097
  14098	026430				.STRTC::
  14099	026430					CALL	.CKARG		; LOOK FOR AN ARGUMENT
	026430	004737 	001712'			 JSR	PC,.CKARG
  14100	026434	001402 				BEQ	10$		; CONTINUE IF ALPHABETIC
  14101	026436	000137 	026466'			JMP	.STRTT		; START THE TEN IF NUMERIC
  14102						;
  14103	026442				10$:
  14104	026442	012700 	026412'			MOV	#.STRTB,R0	; TABLE POINTER TO R0
  14105	026446					CALL	.TSCAN		; SCAN THE TABLE
	026446	004737 	030176'			 JSR	PC,.TSCAN
  14106	026452					CALLR	@2(R0)		; DISPATCH FOR THE OBJECT
	026452	000170 	000002 			 JMP	@2(R0)
  14107						;
STRTT -- START <TEN> COMMAND 77	MACRO M1108  13-JAN-78 09:14  PAGE 427
.STRTC -- THE "START" COMMAND 7602.26

  14109					.TITLE	STRTT -- START <TEN> COMMAND 7707.12
  14110
  14111						.IDENT	"003060"
  14112
  14113					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  14114					;
  14115					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  14116					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  14117					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  14118					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14119					;	FOR ITS ACCURACY.
  14120					;
  14121					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  14122					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  14123					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  14124					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  14125					;
  14126					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  14127					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  14128					;
  14129					;
  14130					;		MODULE: START <TEN> COMMAND
  14131					;
  14132					;		VERSION: 03-06
  14133					;
  14134					;		AUTHOR: R. BELANGER
  14135					;
  14136					;		DATE: 7707.12
  14137					;
  14138					;	THIS MODULE CONTAINS:
  14139					;
  14140					;	1) START <TEN> COMMAND CODE
STRTT -- START <TEN> COMMAND 77	MACRO M1108  13-JAN-78 09:14  PAGE 428
.STRTT -- THE "START <TEN>" COMMAND 7710.11

  14142					.SBTTL	.STRTT -- THE "START <TEN>" COMMAND 7710.11
  14143
  14144					;+
  14145					; .STRTT -- THE "START <TEN>" COMMAND.
  14146					; .JUMPC -- THE "JUMP" COMMAND.
  14147					;
  14148					; THESE ROUTINES WILL START THE KL IN EXEC (KERNEL) MODE AT THE
  14149					; ADDRESS SPECIFIED IN THE INPUT STREAM.
  14150					;
  14151					; INPUT ARGUMENTS:
  14152					;
  14153					;	NONE.
  14154					;
  14155					; OUTPUT ARGUMENTS:
  14156					;
  14157					;	NONE.
  14158					;
  14159					; ERROR CODES RETURNED:
  14160					;
  14161					;	ILS -- ILLEGAL SEPARATOR CHARACTER
  14162					;	KLA -- KL ADDRESS ERROR
  14163					;	MRA -- MISSING REQUIRED ARGUMENT
  14164					;	SZI -- START AT ZERO ILLEGAL
  14165					;-
  14166
  14167						.MCALL	$DEF
  14168
  14169	026456					$DEF
STRTT -- START <TEN> COMMAND 77	MACRO M1108  13-JAN-78 09:14  PAGE 429
.STRTT -- THE "START <TEN>" COMMAND 7710.11

  14171						.ENABL	LSB
  14172
  14173	026456				.JUMPC::
  14174	026456					CALL	10$		; START THE KL
	026456	004737 	026472'			 JSR	PC,10$
  14175	026462	000137 	007754'			JMP	.EXITP		; AND EXIT FROM THE PARSER
  14176						;
  14177	026466				.STRTT::
  14178	026466					CALL	.CKRNP		; SEE IF THE KL IS RUNNING
	026466	004737 	002154'			 JSR	PC,.CKRNP
  14179	026472				10$:
  14180	026472	005046 				CLR	-(SP)		; CLEAR ADDRESS BUFFER
  14181	026474	005046 				CLR	-(SP)		; .
  14182	026476	005046 				CLR	-(SP)		; ..
  14183	026500	010600 				MOV	SP,R0		; ...POINTER TO R0
  14184	026502					CALL	.GTKLA		; ...GET THE START ADDRESS
	026502	004737 	012302'			 JSR	PC,.GTKLA
  14185	026506					CALL	.TPTST		; ...SEE IF IT IS NON ZERO
	026506	004737 	027340'			 JSR	PC,.TPTST
  14186	026512	001421 				BEQ	STASZI		; ...CAN'T START KL AT 0
  14187	026514					CALL	.CKEOC		; ...CHECK FOR E-O-C
	026514	004737 	002010'			 JSR	PC,.CKEOC
  14188	026520	032737 	000002 	000000G		BIT	#LG.PRG,.FEMOD	; ...ARE WE AT LEAST IN PROGRAMMER MODE??
  14189	026526	001402 				BEQ	20$		; ...NO -- JUST GO ON
  14190	026530					CALL	.ABORT		; ...YES -- START THE KL BY ANY MEANS
	026530	004737 	001522'			 JSR	PC,.ABORT
  14191	026534				20$:
  14192	026534	010001 				MOV	R0,R1		; ...POINTER FOR THE CALL
  14193	026536					CALL	.KLST		; ...START THE KL
	026536	004737 	015170'			 JSR	PC,.KLST
  14194	026542	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
  14195	026546	005037 	000000G			CLR	.NOERR		; LET RSX20F RECOGNIZE KL ERRORS
  14196	026552					CALLR	..DTP2		; START UP SECONDARY PROTOCOL AND EXIT.
	026552	000137 	000000G			 JMP	..DTP2
  14197						;
  14198	026556				STASZI:
  14199	026556					ERROR$	SZI		; ERROR -- START AT ZERO ILLEGAL
	026556	012746 				 MOV	(PC)+,-(SP)	; "SZI" IN RAD50 TO STACK
	026560	075331 				 .RAD50	/SZI/		; ERROR IDENTIFIER
	026562	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  14200						;
  14201
  14202						.DSABL	LSB
STRTU -- START MICROCODE COMMAN	MACRO M1108  13-JAN-78 09:14  PAGE 430
.STRTT -- THE "START <TEN>" COMMAND 7710.11

  14204					.TITLE	STRTU -- START MICROCODE COMMAND MODULE 7602.26
  14205
  14206						.IDENT	"002010"
  14207
  14208					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  14209					;
  14210					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  14211					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  14212					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  14213					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14214					;	FOR ITS ACCURACY.
  14215					;
  14216					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  14217					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  14218					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  14219					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  14220					;
  14221					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  14222					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  14223					;
  14224					;
  14225					;		MODULE: START MICROCODE COMMAND
  14226					;
  14227					;		VERSION: 02-01
  14228					;
  14229					;		AUTHOR: R. BELANGER
  14230					;
  14231					;		DATE: 7602.26
  14232					;
  14233					;	THIS MODULE CONTAINS:
  14234					;
  14235					;	1) START MICROCODE COMMAND
  14236					;
  14237					;	MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
STRTU -- START MICROCODE COMMAN	MACRO M1108  13-JAN-78 09:14  PAGE 431
.STRTU -- THE "START MICROCODE" COMMAND 7602.26

  14239					.SBTTL	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
  14240
  14241					;+
  14242					; .STRTU -- THE "START MICROCODE" COMMAND.
  14243					;
  14244					; THIS ROUTINE STARTS THE KL MICROCODE AT THE ADDRESS SPECIFIED.
  14245					; IF NO ADDRESS IS SPECIFIED, 0000 IS ASSUMED.
  14246					;
  14247					; INPUT ARGUMENTS:
  14248					;
  14249					;	NONE.
  14250					;
  14251					; OUTPUT ARGUMENTS:
  14252					;
  14253					;	NONE.
  14254					;
  14255					; ERROR CODES RETURNED:
  14256					;
  14257					;	NONE.
  14258					;-
  14259
  14260	026564				.STRTU::
  14261	026564					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	026564	004737 	002164'			 JSR	PC,.CKRUN
  14262	026570	005000 				CLR	R0		; CLEAR R0 (FOR DEFAULT)
  14263	026572	111504 				MOVB	(R5),R4		; LOOK AT THE CURRENT CHARACTER
  14264	026574	132764 	000010 	001360'		BITB	#CH.EOC,.CHTAB(R4)
  14265	026602	001004 				BNE	10$		; DO DEFAULT START IF E-O-C
  14266	026604					CALL	.GTELN		; GO READ THE ADDRESS
	026604	004737 	012252'			 JSR	PC,.GTELN
  14267	026610					CALL	.CKEOC		; MUST HAVE E-O-C
	026610	004737 	002010'			 JSR	PC,.CKEOC
  14268	026614				10$:
  14269	026614	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE KL CLOCK ON?
  14270	026622	001402 				BEQ	20$		; NO -- JUST START THE MICROCODE
  14271	026624					CALL	.KLHLT		; YES -- STOP THE KL
	026624	004737 	014644'			 JSR	PC,.KLHLT
  14272	026630				20$:
  14273	026630					CALL	.STUCD		; START THE KL MICROCODE
	026630	004737 	026656'			 JSR	PC,.STUCD
  14274	026634					RETURN			; TO CALLER
	026634	000207 				 RTS	PC
STRUN -- KL RUN FLOP SET FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 432
.STRTU -- THE "START MICROCODE" COMMAND 7602.26

  14276					.TITLE	STRUN -- KL RUN FLOP SET FUNCTION MODULE 7603.30
  14277
  14278						.IDENT	"001010"
  14279
  14280					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14281					;
  14282					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14283					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14284					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14285					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14286					;	FOR ITS ACCURACY.
  14287					;
  14288					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14289					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14290					;
  14291					;
  14292					;		MODULE: KL RUN FLOP SET FUNCTION
  14293					;
  14294					;		VERSION: 01-01
  14295					;
  14296					;		AUTHOR: R. BELANGER
  14297					;
  14298					;		DATE: 7603.30
  14299					;
  14300					;	THIS MODULE CONTAINS:
  14301					;
  14302					;	1) SET KL RUN FLOP CODE
STRUN -- KL RUN FLOP SET FUNCTI	MACRO M1108  13-JAN-78 09:14  PAGE 433
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09

  14304					.SBTTL	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
  14305
  14306					;+
  14307					; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
  14308					;
  14309					; THIS SUBROUTINE SETS THE KL RUN FLOP.
  14310					;
  14311					;
  14312					; INPUT ARGUMENTS:
  14313					;
  14314					;	NONE.
  14315					;
  14316					; OUTPUT ARGUMENTS:
  14317					;
  14318					;	NONE
  14319					;
  14320					; ERROR CODES RETURNED:
  14321					;
  14322					;	FXF -- FUNCTION EXECUTE FAILED
  14323					;-
  14324
  14325	026636				.STRUN::
  14326	026636	000241 				CLC			; CLEAR CC-C
  14327	026640					PUSH	R0		; SAVE R0
	026640	010046 				 MOV	R0,-(SP)
  14328	026642	012700 	000022 			MOV	#FX.SRF,R0	; .SET UP TO SET KL RUN FLOP
  14329	026646					CALL	.FXCT		; .DO IT
	026646	004737 	011074'			 JSR	PC,.FXCT
  14330	026652					POP	R0		; .RESTORE R0
	026652	012600 				 MOV	(SP)+,R0
  14331	026654					RETURN			; TO CALLER
	026654	000207 				 RTS	PC
STUCD -- START KL MICROCODE FUN	MACRO M1108  13-JAN-78 09:14  PAGE 434
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09

  14333					.TITLE	STUCD -- START KL MICROCODE FUNCTION MODULE 7603.30
  14334
  14335						.IDENT	"001010"
  14336
  14337					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14338					;
  14339					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14340					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14341					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14342					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14343					;	FOR ITS ACCURACY.
  14344					;
  14345					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14346					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14347					;
  14348					;
  14349					;		MODULE: START KL MICROCODE FUNCTION
  14350					;
  14351					;		VERSION: 01-01
  14352					;
  14353					;		AUTHOR: R. BELANGER
  14354					;
  14355					;		DATE: 7603.30
  14356					;
  14357					;	THIS MODULE CONTAINS:
  14358					;
  14359					;	1) START KL MICROCODE CODE
STUCD -- START KL MICROCODE FUN	MACRO M1108  13-JAN-78 09:14  PAGE 435
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

  14361					.SBTTL	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
  14362
  14363					;+
  14364					; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
  14365					;	    ADDRESS SPECIFIED IN R0.
  14366					;
  14367					; SEQUENCE OF OPERATION:
  14368					;
  14369					;	(A) THE KL RUN FLOP IS CLEARED,
  14370					;	(B) THE KL RUN FLOP IS TURNED OFF,
  14371					;	(C) THE KL IS CLEARED,
  14372					;	(D) THE CRAM ADDRESS IS LOADED,
  14373					;	(E) THE KL CLOCK IS RESTARTED.
  14374					;
  14375					; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
  14376					; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
  14377					;
  14378					; INPUT ARGUMENTS:
  14379					;
  14380					;	R0 CONTAINS THE CRAM ADDRESS
  14381					;
  14382					; OUTPUT ARGUMENTS:
  14383					;
  14384					;	NONE.
  14385					;
  14386					; ERROR CODES RETURNED:
  14387					;
  14388					;	CAE -- CRAM ADDRESS ERROR.
  14389					;	FRF -- FUNCTION READ FAILED.
  14390					;	FWF -- FUNCTION WRITE FAILED.
  14391					;	FXF -- FUNCTION EXECUTE FAILED
  14392					;	UNL -- UCODE NOT LOADED.
  14393					;
  14394					; NOTE:
  14395					;
  14396					;	THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
  14397					;	START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
  14398					;	PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
  14399					;	CONSIDER YOURSELF WARNED.
  14400					;-
STUCD -- START KL MICROCODE FUN	MACRO M1108  13-JAN-78 09:14  PAGE 436
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

  14402	026656				.STUCD::
  14403	026656	020027 	002377 			CMP	R0,#2377	; IS IT IN RANGE?
  14404	026662	101030 				BHI	STUCAE		; NO -- GIVE "CAE" ERROR
  14405	026664					PUSH	<R1,R0>		; YES -- SAVE THE ADDRESS ON THE STACK
	026664	010146 				 MOV	R1,-(SP)
	026666	010046 				 MOV	R0,-(SP)
  14406	026670					CALL	.CLRFF		; ..CLEAR THE KL RUN FLOP
	026670	004737 	002266'			 JSR	PC,.CLRFF
  14407	026674					CALL	.STPXC		; ..STOP THE KL CLOCK
	026674	004737 	026354'			 JSR	PC,.STPXC
  14408	026700	011600 				MOV	(SP),R0		; ..CRAM ADDRESS TO R0
  14409	026702					CALL	.LDCRA		; ..LOAD IT
	026702	004737 	015530'			 JSR	PC,.LDCRA
  14410	026706					CALL	.STCLK		; ..START THE KL CLOCK
	026706	004737 	026300'			 JSR	PC,.STCLK
  14411	026712	012701 	000310 			MOV	#^D200,R1	; ..SETUP WAIT LOOP
  14412	026716				10$:
  14413	026716					CALL	.DTDW1		; ..READ DTE-20 DIAG WORD 1
	026716	004737 	004742'			 JSR	PC,.DTDW1
  14414	026722	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
  14415	026726	001001 				BNE	20$		; ..YES -- EXIT
  14416	026730	077106 				SOB	R1,10$		; ..NO -- TRY TILL COUNT EXHAUSTED
  14417	026732				20$:
  14418	026732	005701 				TST	R1		; ..DID COUNT GET EXHAUSTED?
  14419	026734	003406 				BLE	STUUNL		; ..YES -- WE LOST
  14420	026736					POP	<R0,R1>		; ..NO -- RESTORE R0 AND R1
	026736	012600 				 MOV	(SP)+,R0
	026740	012601 				 MOV	(SP)+,R1
  14421	026742					RETURN			; TO CALLER
	026742	000207 				 RTS	PC
  14422	026744				STUCAE:
  14423	026744					ERROR$	CAE		; ERROR -- CRAM ADDRESSING ERROR
	026744	012746 				 MOV	(PC)+,-(SP)	; "CAE" IN RAD50 TO STACK
	026746	011355 				 .RAD50	/CAE/		; ERROR IDENTIFIER
	026750	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  14424						;
  14425	026752				STUUNL:
  14426	026752					ERROR$	UNL		; ERROR -- UCODE NOT LOADED
	026752	012746 				 MOV	(PC)+,-(SP)	; "UNL" IN RAD50 TO STACK
	026754	102574 				 .RAD50	/UNL/		; ERROR IDENTIFIER
	026756	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  14427						;
SYNXC -- SYNCH KL CLOCK FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 437
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

  14429					.TITLE	SYNXC -- SYNCH KL CLOCK FUNCTION MODULE 7603.30
  14430
  14431						.IDENT	"001010"
  14432
  14433					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14434					;
  14435					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14436					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14437					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14438					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14439					;	FOR ITS ACCURACY.
  14440					;
  14441					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14442					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14443					;
  14444					;
  14445					;		MODULE: SYNCH KL CLOCK FUNCTION
  14446					;
  14447					;		VERSION: 01-01
  14448					;
  14449					;		AUTHOR: R. BELANGER
  14450					;
  14451					;		DATE: 7603.30
  14452					;
  14453					;	THIS MODULE CONTAINS:
  14454					;
  14455					;	1) KL CLOCK SYNCH CODE
SYNXC -- SYNCH KL CLOCK FUNCTIO	MACRO M1108  13-JAN-78 09:14  PAGE 438
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03

  14457					.SBTTL	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
  14458
  14459					;+
  14460					; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
  14461					;
  14462					; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
  14463					;
  14464					;
  14465					; INPUT ARGUMENTS:
  14466					;
  14467					;	NONE.
  14468					;
  14469					; OUTPUT ARGUMENTS:
  14470					;
  14471					;	NONE
  14472					;
  14473					; ERROR CODES RETURNED:
  14474					;
  14475					;	FXF -- FUNCTION EXECUTE FAILED
  14476					;-
  14477
  14478	026760				.SYNXC::
  14479	026760	000241 				CLC			; CLEAR CC-C
  14480	026762					PUSH	R0		; SAVE R0
	026762	010046 				 MOV	R0,-(SP)
  14481	026764	012700 	000010 			MOV	#FX.SYC,R0	; .SET UP TO SYNCH EBOX CLOCK
  14482	026770					CALL	.FXCT		; .DO IT
	026770	004737 	011074'			 JSR	PC,.FXCT
  14483	026774					POP	R0		; .RESTORE R0
	026774	012600 				 MOV	(SP)+,R0
  14484	026776					RETURN			; TO CALLER
	026776	000207 				 RTS	PC
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 439
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03

  14486					.TITLE	TPSIM --  TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
  14487
  14488						.IDENT	"001010"
  14489
  14490					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  14491					;
  14492					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  14493					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  14494					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  14495					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  14496					;	FOR ITS ACCURACY.
  14497					;
  14498					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  14499					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  14500					;
  14501					;
  14502					;		MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
  14503					;
  14504					;		VERSION: 01-01
  14505					;
  14506					;		AUTHOR: R. BELANGER
  14507					;
  14508					;		DATE: 7603.30
  14509					;
  14510					;	THIS MODULE CONTAINS:
  14511					;
  14512					;	1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 440
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  14514					.SBTTL	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
  14515
  14516					;+
  14517					; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
  14518					;
  14519					; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
  14520					; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
  14521					; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
  14522					;
  14523					; INPUT ARGUMENTS:
  14524					;
  14525					;	R0 POINTS TO THE DIVIDEND
  14526					;	R1 POINTS TO THE DIVISOR
  14527					;
  14528					; OUTPUT ARGUMENTS:
  14529					;
  14530					;	R0 POINTS TO THE QUOTIENT
  14531					;	R1 POINTS TO THE REMAINDER
  14532					;	THE DIVISOR AND DIVIDEND ARE DESTROYED
  14533					;
  14534					; ERROR CODES RETURNED:
  14535					;
  14536					;	DCK -- DIVIDE CHECK.
  14537					;-
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 441
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  14539						.ENABL	LSB
  14540
  14541	027000				.TPDIV::
  14542	027000					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	027000	010346 				 MOV	R3,-(SP)
	027002	010246 				 MOV	R2,-(SP)
	027004	010146 				 MOV	R1,-(SP)
	027006	010046 				 MOV	R0,-(SP)
  14543	027010					CALL	.TPXTN		; ....SIGN EXTEND THE DIVIDEND
	027010	004737 	027264'			 JSR	PC,.TPXTN
  14544	027014	010100 				MOV	R1,R0		; ....POINT TO THE DIVISOR
  14545	027016					CALL	.TPXTN		; ....AND SIGN EXTEND IT
	027016	004737 	027264'			 JSR	PC,.TPXTN
  14546	027022					CALL	.TPTST		; ....SEE IF IT IS ZERO OR NEGATIVE
	027022	004737 	027340'			 JSR	PC,.TPTST
  14547	027026	003466 				BLE	TPDDCK		; ....YES -- GIVE "DCK" ERROR
  14548	027030	011600 				MOV	(SP),R0		; ....NO -- RESTORE DIVIDEND POINTER
  14549	027032	012703 	000060 			MOV	#^D48,R3	; ....ITERATION COUNT TO R3
  14550	027036	012702 	027212'			MOV	#TPDRMN,R2	; ....DATA BLOCK POINTER TO R2
  14551	027042	005022 				CLR	(R2)+		; ....CLEAR THE REMAINDER
  14552	027044	005022 				CLR	(R2)+		; ....
  14553	027046	005022 				CLR	(R2)+		; ....
  14554	027050	012122 				MOV	(R1)+,(R2)+	; ....LOAD THE DIVISOR
  14555	027052	012122 				MOV	(R1)+,(R2)+	; ....
  14556	027054	012122 				MOV	(R1)+,(R2)+	; ....
  14557	027056	012022 				MOV	(R0)+,(R2)+	; ....LOAD THE DIVIDEND
  14558	027060	012022 				MOV	(R0)+,(R2)+	; ....
  14559	027062	012022 				MOV	(R0)+,(R2)+	; ....
  14560	027064	012700 	027212'			MOV	#TPDRMN,R0	; ....REMAINDER POINTER TO R0
  14561	027070	012701 	027220'			MOV	#TPDDVS,R1	; ....DIVISOR POINTER TO R1
  14562	027074	012702 	027226'			MOV	#TPDDVD,R2	; ....DIVIDEND POINTER TO R2
  14563
  14564					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 442
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  14566					;	[CONTINUED FROM THE PREVIOUS PAGE]
  14567
  14568	027100				10$:
  14569	027100	006312 				ASL	(R2)		; ....SHIFT THE DIVIDEND LEFT
  14570	027102	006162 	000002 			ROL	2(R2)		; ....
  14571	027106	006162 	000004 			ROL	4(R2)		; ....
  14572	027112	006110 				ROL	(R0)		; ....INTO THE REMAINDER
  14573	027114	006160 	000002 			ROL	2(R0)		; ....
  14574	027120	006160 	000004 			ROL	4(R0)		; ....
  14575	027124					CALL	.TPCMP		; ....SEE IF REMAINDER IS .GE. DIVISOR
	027124	004737 	027304'			 JSR	PC,.TPCMP
  14576	027130	103407 				BLO	20$		; ....NO -- JUST KEEP GOING
  14577	027132					CALL	.TPSUB		; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
	027132	004737 	027426'			 JSR	PC,.TPSUB
  14578	027136					PUSH	R0		; ....SAVE REMAINDER POINTER
	027136	010046 				 MOV	R0,-(SP)
  14579	027140	010200 				MOV	R2,R0		; .....QUOTIENT POINTER TO R0
  14580	027142					CALL	.TPINC		; .....INCREMENT THE QUOTIENT
	027142	004737 	027402'			 JSR	PC,.TPINC
  14581	027146					POP	R0		; .....RESTORE REMAINDER POINTER
	027146	012600 				 MOV	(SP)+,R0
  14582	027150				20$:
  14583	027150	077325 				SOB	R3,10$		; ....LOOP TILL COUNT IS EXHAUSTED
  14584	027152					POP	<R0,R1>		; ....GET R0 AND R1 FROM THE STACK
	027152	012600 				 MOV	(SP)+,R0
	027154	012601 				 MOV	(SP)+,R1
  14585	027156	012220 				MOV	(R2)+,(R0)+	; ..UNLOAD THE QUOTIENT
  14586	027160	012220 				MOV	(R2)+,(R0)+	; ..
  14587	027162	011210 				MOV	(R2),(R0)	; ..
  14588	027164	012702 	027212'			MOV	#TPDRMN,R2	; ..POINT TO THE REMAINDER
  14589	027170	012221 				MOV	(R2)+,(R1)+	; ..UNLOAD THE REMAINDER
  14590	027172	012221 				MOV	(R2)+,(R1)+	; ..
  14591	027174	011211 				MOV	(R2),(R1)	; ..
  14592	027176					POP	<R2,R3>		; ..RESTORE OTHER REGISTERS
	027176	012602 				 MOV	(SP)+,R2
	027200	012603 				 MOV	(SP)+,R3
  14593	027202	000520 				BR	50$		; AND GO AWAY
  14594						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 443
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

  14596	027204				TPDDCK:
  14597	027204					ERROR$	DCK		; ERROR -- DIVIDE CHECK
	027204	012746 				 MOV	(PC)+,-(SP)	; "DCK" IN RAD50 TO STACK
	027206	014603 				 .RAD50	/DCK/		; ERROR IDENTIFIER
	027210	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  14598						;
  14599
  14600	027212				TPDRMN:
  14601	027212	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR REMAINDER
  14602	027220				TPDDVS:
  14603	027220	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DIVISOR
  14604	027226				TPDDVD:
  14605	027226	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DIVIDEND / QUOTIENT
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 444
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19

  14607					.SBTTL	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
  14608
  14609					;+
  14610					; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
  14611					;
  14612					; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
  14613					; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
  14614					; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
  14615					; BY THESE ROUTINES.
  14616					;
  14617					; INPUT ARGUMENTS:
  14618					;
  14619					;	R0 POINTS TO THE DESTINATION OPERAND
  14620					;
  14621					; OUTPUT ARGUMENTS:
  14622					;
  14623					;	R0 POINTS TO THE DESINATION OPERAND
  14624					;
  14625					; ERROR CODES RETURNED:
  14626					;
  14627					;	NONE.
  14628					;-
  14629
  14630	027234				.TPCLR::			; CLEAR A 48 BIT WORD
  14631	027234	005020 				CLR	(R0)+		; SO
  14632	027236	005020 				CLR	(R0)+
  14633	027240	005010 				CLR	(R0)
  14634	027242	000501 				BR	60$		; RESET R0 AND RETURN
  14635						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 445
.TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19

  14637					.SBTTL	.TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19
  14638
  14639					;+
  14640					; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
  14641					; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
  14642					; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
  14643					;
  14644					; THESE SUBROUTINES WILL PERFORM THE INDICATED OPERATION ON THE 48 BIT
  14645					; NUMBER POINTED TO BY R0 IN THE CALL. ON RETURN, R0 IS UNCHANGED, AND
  14646					; NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
  14647					;
  14648					; INPUT ARGUMENTS:
  14649					;
  14650					;	R0 POINTS TO THE OPERAND
  14651					;
  14652					; OUTPUT ARGUMENTS:
  14653					;
  14654					;	R0 POINTS TO THE OPERAND
  14655					;
  14656					; ERROR CODES RETURNED:
  14657					;
  14658					;	NONE.
  14659					;-
  14660
  14661	027244				.TPCOM::			; COMPLEMENT A 48 BIT NUMBER
  14662	027244	005120 				COM	(R0)+		; COMPLEMENT
  14663	027246	005120 				COM	(R0)+		; EACH WORD
  14664	027250	005110 				COM	(R0)		; IN THE TRIPLET
  14665	027252	000475 				BR	60$		; RESET R0 AND RETURN
  14666						;
  14667
  14668	027254				.TPNEG::			; NEGATE A 48 BIT NUMBER
  14669	027254					CALL	.TPCOM		; FIRST COMPLEMENT THE NUMBER
	027254	004737 	027244'			 JSR	PC,.TPCOM
  14670	027260					CALLR	.TPINC		; -0 + NOT(0)+1 AND RETURN
	027260	000137 	027402'			 JMP	.TPINC
  14671						;
  14672
  14673	027264				.TPXTN::
  14674	027264	032760 	000010 	000004 		BIT	#10,4(R0)	; TEST THE SIGN BIT
  14675	027272	001466 				BEQ	70$		; EXIT IF POSITIVE
  14676	027274	052760 	177760 	000004 		BIS	#^C17,4(R0)	; SIGN EXTEND IF NEGATIVE
  14677	027302	000462 				BR	70$		; EXIT
  14678						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 446
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19

  14680					.SBTTL	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
  14681
  14682					;+
  14683					; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
  14684					;
  14685					; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
  14686					; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
  14687					;
  14688					; INPUT ARGUMENTS:
  14689					;
  14690					;	R0 POINTS TO THE FIRST NUMBER
  14691					;	R1 POINTS TO THE SECOND NUMBER
  14692					;
  14693					; OUTPUT ARGUMENTS:
  14694					;
  14695					;	R0 POINTS TO THE FIRST NUMBER
  14696					;	R1 POINTS TO THE SECOND NUMBER
  14697					;	CC-N IS SET IF (R0) .LT. (R1)
  14698					;	CC-Z IS SET IF (R0) .EQ. (R1)
  14699					;	CC-Z IS CLEAR IF (R0) .GT. (R1)
  14700					;
  14701					; ERROR CODES RETURNED:
  14702					;
  14703					;	NONE.
  14704					;-
  14705
  14706	027304				.TPCMP::			; COMPARE TWO 48 BIT NUMBERS
  14707	027304	026061 	000004 	000004 		CMP	4(R0),4(R1)	; COMPARE THE HIGH WORDS
  14708	027312	001056 				BNE	70$		; NOT EQUAL -- EXIT
  14709	027314	026061 	000002 	000002 		CMP	2(R0),2(R1)	; COMPARE THE MIDDLE WORDS
  14710	027322	001001 				BNE	30$		; NOT EQUAL -- EXIT
  14711	027324	021011 				CMP	(R0),(R1)	; COMPARE THE LOW WORDS
  14712	027326				30$:
  14713	027326	000250 				CLN			; CLEAR CC-N
  14714	027330	000242 				CLV			; CLEAR CC-V
  14715	027332	103046 				BCC	70$		; BRANCH IF NON-NEGATIVE
  14716	027334	000270 				SEN			; NEGATIVE -- SET CC-N
  14717	027336	000444 				BR	70$		; EXIT
  14718						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 447
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19

  14720					.SBTTL	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
  14721
  14722					;+
  14723					; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
  14724					;
  14725					; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
  14726					; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
  14727					; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
  14728					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
  14729					;
  14730					; INPUT ARGUMENTS:
  14731					;
  14732					;	R0 POINTS TO THE NUMBER TO BE TESTED
  14733					;
  14734					; OUTPUT ARGUMENTS:
  14735					;
  14736					;	R0 POINTS TO THE TESTED NUMBER
  14737					;	CC-Z IS SET IF THE NUMBER IS ZERO
  14738					;	CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
  14739					;
  14740					; ERROR CODES RETURNED:
  14741					;
  14742					;	NONE.
  14743					;-
  14744
  14745	027340				.TPTST::			; TEST A TRIPLE PRECISION NUMBER FOR ZERO
  14746	027340	005760 	000004 			TST	4(R0)		; TEST THE HIGH WORD
  14747	027344	001041 				BNE	70$		; NON ZERO?
  14748	027346	005760 	000002 			TST	2(R0)		; TEST THE MIDDLE WORD
  14749	027352	001001 				BNE	40$		; NON ZERO?
  14750	027354	005710 				TST	(R0)		; TEST THE LOW WORD
  14751	027356				40$:
  14752	027356	000250 				CLN			; CLEAR CC-N
  14753	027360	000433 				BR	70$		; EXIT
  14754						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 448
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15

  14756					.SBTTL	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
  14757
  14758					;+
  14759					; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
  14760					;
  14761					; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
  14762					; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
  14763					; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
  14764					;
  14765					; INPUT ARGUMENTS:
  14766					;
  14767					;	R0 POINTS TO THE FIRST ADDEND
  14768					;	R1 POINTS TO THE SECOND ADDEND
  14769					;
  14770					; OUTPUT ARGUMENTS:
  14771					;
  14772					;	R0 POINTS TO THE SUM
  14773					;	R1 POINTS TO THE SECOND ADDEND
  14774					;
  14775					; ERROR CODES RETURNED:
  14776					;
  14777					;	NONE.
  14778					;-
  14779
  14780	027362				.TPADD::
  14781	027362	062120 				ADD	(R1)+,(R0)+	; ADD LOW ORDER PARTS
  14782	027364	005510 				ADC	(R0)		; CARRY ANY OVERFLOW
  14783	027366	005560 	000002 			ADC	2(R0)		; AND ANY OVER FLOW FROM THAT
  14784	027372	062120 				ADD	(R1)+,(R0)+	; ADD MIDDLE WORD
  14785	027374	005510 				ADC	(R0)		; FIX CARRIES
  14786	027376	061110 				ADD	(R1),(R0)	; ADD HIGH ORDER PARTS
  14787	027400	000421 				BR	50$		; RESET REGISTERS ANS EXIT
  14788						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 449
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19

  14790					.SBTTL	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
  14791
  14792					;+
  14793					; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
  14794					; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
  14795					;
  14796					; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
  14797					; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
  14798					; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
  14799					;
  14800					; INPUT ARGUMENTS:
  14801					;
  14802					;	R0 POINTS TO THE OPERAND
  14803					;
  14804					; OUTPUT ARGUMENTS:
  14805					;
  14806					;	R0 POINTS TO THE OPERAND
  14807					;
  14808					; ERROR CODES RETURNED:
  14809					;
  14810					;	NONE.
  14811					;-
  14812
  14813	027402				.TPINC::			; INCREMENT A 48 BIT NUMBER
  14814	027402	062720 	000001 			ADD	#1,(R0)+	; DO THE INCREMENT
  14815	027406	005520 				ADC	(R0)+		; AND CARRY THE CARRIES
  14816	027410	005510 				ADC	(R0)
  14817	027412	000415 				BR	60$		; AND EXIT
  14818						;
  14819
  14820	027414				.TPDEC::			; DECREMENT A 48 BIT NUMBER
  14821	027414	162720 	000001 			SUB	#1,(R0)+	; DO THE DECREMENT
  14822	027420	005620 				SBC	(R0)+		; AND STRAIGHTEN OUT THE CARRIES
  14823	027422	005610 				SBC	(R0)
  14824	027424	000410 				BR	60$		; ADJUST R0 AND RETURN
  14825						;
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 450
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15

  14827					.SBTTL	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
  14828
  14829					;+
  14830					; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
  14831					;
  14832					; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
  14833					; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
  14834					; POINTER TO THE DIFFERENCE IN R0.
  14835					;
  14836					; INPUT ARGUMENTS:
  14837					;
  14838					;	R0 POINTS TO THE MINUEND
  14839					;	R1 POINTS TO THE SUBTRAHEND
  14840					;
  14841					; OUTPUT ARGUMENTS:
  14842					;
  14843					;	R0 POINTS TO THE DIFFERENCE
  14844					;	R1 POINTS TO THE SUBTRAHEND
  14845					;
  14846					; ERROR CODES RETURNED:
  14847					;
  14848					;	NONE.
  14849					;-
  14850
  14851	027426				.TPSUB::
  14852	027426	162120 				SUB	(R1)+,(R0)+	; SUBTRACT LOW ORDER PARTS
  14853	027430	005610 				SBC	(R0)		; CARRY ANY OVERFLOW
  14854	027432	005660 	000002 			SBC	2(R0)		; AND ANY OVERFLOWS FROM THAT
  14855	027436	162120 				SUB	(R1)+,(R0)+
  14856	027440	005610 				SBC	(R0)		; FIX CARRIES
  14857	027442	161110 				SUB	(R1),(R0)	; SUBTRACT HIGH ORDER PARTS
  14858	027444				50$:
  14859	027444	024141 				CMP	-(R1),-(R1)	; RESET R1
  14860	027446				60$:
  14861	027446	024040 				CMP	-(R0),-(R0)	; RESET R0
  14862	027450				70$:
  14863	027450					RETURN			; AND EXIT
	027450	000207 				 RTS	PC
  14864
  14865						.DSABL	LSB
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 451
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  14867					.SBTTL	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
  14868
  14869					;+
  14870					; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
  14871					;
  14872					; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
  14873					; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
  14874					; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
  14875					; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
  14876					;
  14877					; INPUT ARGUMENTS:
  14878					;
  14879					;	R0 POINTS TO THE MULTIPLICAND
  14880					;	R1 POINTS TO THE MULTIPLIER
  14881					;
  14882					; OUTPUT ARGUMENTS:
  14883					;
  14884					;	R0 POINTS TO THE PRODUCT
  14885					;	R1 POINTS TO THE MULTIPLIER
  14886					;
  14887					; ERROR CODES RETURNED:
  14888					;
  14889					;	NONE.
  14890					;-
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 452
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  14892	027452				.TPMUL::
  14893	027452					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	027452	010246 				 MOV	R2,-(SP)
	027454	010146 				 MOV	R1,-(SP)
	027456	010046 				 MOV	R0,-(SP)
  14894	027460					CALL	.TPTST		; ...SEE IF MULTIPLICAND .EQ. 0
	027460	004737 	027340'			 JSR	PC,.TPTST
  14895	027464	001460 				BEQ	50$		; ...YES -- QUIT NOW
  14896	027466	010100 				MOV	R1,R0		; ...NO -- POINT TO MULTIPLIER
  14897	027470					CALL	.TPTST		; ...SEE IF IT IS .EQ. 0
	027470	004737 	027340'			 JSR	PC,.TPTST
  14898	027474	001004 				BNE	10$		; ...NO -- ALL OK
  14899	027476	011600 				MOV	(SP),R0		; ...YES -- GET MULTIPLICAND POINTER
  14900	027500					CALL	.TPCLR		; ...AND MAKE IT .EQ. 0
	027500	004737 	027234'			 JSR	PC,.TPCLR
  14901	027504	000450 				BR	50$		; ...RETURN TO CALLER
  14902						;
  14903	027506				10$:
  14904	027506	011600 				MOV	(SP),R0		; ...R0 POINTS TO MULTIPLCAND
  14905	027510					PUSH	<(R1)+,(R1)+,(R1),R1>
	027510	012146 				 MOV	(R1)+,-(SP)
	027512	012146 				 MOV	(R1)+,-(SP)
	027514	011146 				 MOV	(R1),-(SP)
	027516	010146 				 MOV	R1,-(SP)
  14906	027520	024141 				CMP	-(R1),-(R1)	; .......CALLER'S MULTIPLIER SAVED
  14907	027522	010102 				MOV	R1,R2		; .......R2 POINTS TO THE MULTIPLIER
  14908	027524	010001 				MOV	R0,R1		; .......R1 POINTS TO THE MULTIPLICAND
  14909	027526	005046 				CLR	-(SP)		; .......CLEAR A BUFFER ON THE STACK
  14910	027530	005046 				CLR	-(SP)		; ........
  14911	027532	005046 				CLR	-(SP)		; .........
  14912	027534	010600 				MOV	SP,R0		; ..........R0 POINTS TO TEMPORARY RESULT
  14913	027536				20$:
  14914	027536	006062 	000004 			ROR	4(R2)		; ..........SHIFT THE MULTIPLIER RIGHT
  14915	027542	006062 	000002 			ROR	2(R2)		; ..........
  14916	027546	006012 				ROR	(R2)		; ..........
  14917	027550	103002 				BCC	30$		; ..........DID WE GET A CARRY?
  14918	027552					CALL	.TPADD		; ..........YES -- ADD THE MULTIPLICAND
	027552	004737 	027362'			 JSR	PC,.TPADD
  14919	027556				30$:
  14920	027556	006311 				ASL	(R1)		; ..........DOUBLE MULTIPLICAND IN ANY CASE
  14921	027560	006161 	000002 			ROL	2(R1)		; ..........
  14922	027564	006161 	000004 			ROL	4(R1)		; ..........
  14923	027570					PUSH	R0		; ..........SAVE RESULT POINTER
	027570	010046 				 MOV	R0,-(SP)
  14924	027572	010200 				MOV	R2,R0		; ...........POINT TO MULTIPLIER
  14925	027574					CALL	.TPTST		; ...........IS IT .EQ. 0?
	027574	004737 	027340'			 JSR	PC,.TPTST
  14926	027600	001402 				BEQ	40$		; ...........YES -- SET UP FOR RETURN
  14927	027602					POP	R0		; ...........NO -- RESTORE R0
	027602	012600 				 MOV	(SP)+,R0
  14928	027604	000754 				BR	20$		; ..........AND CONTINUE
  14929						;
  14930
  14931					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 453
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

  14933					;	[CONTINUED FROM THE PREVIOUS PAGE]
  14934
  14935					; HERE TO RETURN PRODUCT AND EXIT
  14936
  14937	027606				40$:
  14938	027606					POP	R0		; ...........GET RID OF MULTIPLIER POINTER
	027606	012600 				 MOV	(SP)+,R0
  14939	027610					POP	<(R1)+,(R1)+,(R1)>
	027610	012621 				 MOV	(SP)+,(R1)+
	027612	012621 				 MOV	(SP)+,(R1)+
	027614	012611 				 MOV	(SP)+,(R1)
  14940	027616					POP	<R1,(R1),-(R1),-(R1)>
	027616	012601 				 MOV	(SP)+,R1
	027620	012611 				 MOV	(SP)+,(R1)
	027622	012641 				 MOV	(SP)+,-(R1)
	027624	012641 				 MOV	(SP)+,-(R1)
  14941	027626				50$:
  14942	027626					POP	<R0,R1,R2>	; ...RESTORE REGISTERS
	027626	012600 				 MOV	(SP)+,R0
	027630	012601 				 MOV	(SP)+,R1
	027632	012602 				 MOV	(SP)+,R2
  14943	027634					RETURN			; TO CALLER
	027634	000207 				 RTS	PC
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 454
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19

  14945					.SBTTL	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
  14946
  14947					;+
  14948					; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
  14949					;
  14950					; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
  14951					; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
  14952					; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
  14953					; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
  14954					;
  14955					; INPUT ARGUMENTS:
  14956					;
  14957					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
  14958					;	R1 HOLDS THE 16 BIT SHIFT COUNT
  14959					;
  14960					; OUTPUT ARGUMENTS:
  14961					;
  14962					;	R0 POINTS TO THE SHIFTED NUMBER
  14963					;	R0 HOLDS THE 16 BIT SHIFT COUNT
  14964					;
  14965					; ERROR CODES RETURNED:
  14966					;
  14967					;	NONE.
  14968					;-
  14969
  14970	027636				.TPSHI::
  14971	027636					PUSH	R1		; SAVE R1 FROM DESTRUCTION
	027636	010146 				 MOV	R1,-(SP)
  14972	027640	001416 				BEQ	30$		; .ON ZERO DO NOTHING
  14973	027642	003002 				BGT	10$		; .REALLY MEANS LEFT
  14974	027644	005401 				NEG	R1		; .MEANS RIGHT, SO NEGATE
  14975	027646	000406 				BR	20$		; .AND GO RIGHT
  14976						;
  14977	027650				10$:
  14978	027650	006320 				ASL	(R0)+		; .CLEAR CC-C AND SHIFT
  14979	027652	006120 				ROL	(R0)+		; .USE CC-C AND SHIFT
  14980	027654	006110 				ROL	(R0)		; .
  14981	027656	024040 				CMP	-(R0),-(R0)	; .POINT BACK TO BEGINNING
  14982	027660	077105 				SOB	R1,10$		; .AND LOOP 'TILL DONE
  14983	027662	000405 				BR	30$		; .DONE -- EXIT
  14984						;
  14985	027664				20$:				; .HERE TO SHIFT RIGHT
  14986	027664	022020 				CMP	(R0)+,(R0)+	; .FIX POINTER TO POINT TO HIGH PART
  14987	027666	006210 				ASR	(R0)		; .SHIFT HIGH PART
  14988	027670	006040 				ROR	-(R0)		; .THEN MIDDLE PART
  14989	027672	006040 				ROR	-(R0)		; .THEN LOW PART
  14990	027674	077105 				SOB	R1,20$		; .UNTIL DONE
  14991	027676				30$:
  14992	027676					POP	R1		; .RESTORE R1
	027676	012601 				 MOV	(SP)+,R1
  14993	027700					RETURN			; AND RETURN TO CALLER
	027700	000207 				 RTS	PC
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 455
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  14995					.SBTTL	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
  14996
  14997					;+
  14998					; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
  14999					;
  15000					; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
  15001					; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
  15002					; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
  15003					; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
  15004					; OF THE 48 BIT NUMBER POINTED TO BY R1.
  15005					;
  15006					; INPUT ARGUMENTS:
  15007					;
  15008					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
  15009					;	R1 POINTS TO THE SHIFT COUNT
  15010					;
  15011					; OUTPUT ARGUMENTS:
  15012					;
  15013					;	R0 POINTS TO THE SHIFTED NUMBER
  15014					;	R1 POINTS TO THE SHIFT COUNT
  15015					;
  15016					; ERROR CODES RETURNED:
  15017					;
  15018					;	NONE.
  15019					;-
  15020
  15021	027702				.TPSHL::
  15022	027702					PUSH	<(R1)+,(R1)+,(R1),R1>
	027702	012146 				 MOV	(R1)+,-(SP)
	027704	012146 				 MOV	(R1)+,-(SP)
	027706	011146 				 MOV	(R1),-(SP)
	027710	010146 				 MOV	R1,-(SP)
  15023	027712	024141 				CMP	-(R1),-(R1)	; ....BACK THE POINTER UP
  15024	027714					PUSH	<R2,R0>		; ....SAVE R2 AND R0
	027714	010246 				 MOV	R2,-(SP)
	027716	010046 				 MOV	R0,-(SP)
  15025	027720	010100 				MOV	R1,R0		; ......POINT TO THE SHIFT COUNT
  15026	027722					CALL	.TPXTN		; ......DO THE SIGN EXTENSION
	027722	004737 	027264'			 JSR	PC,.TPXTN
  15027	027726					CALL	.TPTST		; ......SEE WHAT IT IS
	027726	004737 	027340'			 JSR	PC,.TPTST
  15028	027732	001432 				BEQ	30$		; ......EXIT IF .EQ. ZERO
  15029	027734	002415 				BLT	20$		; ......SHIFT RIGHT IF .LT. ZERO
  15030
  15031					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM --  TRIPLE PRECISION ARIT	MACRO M1108  13-JAN-78 09:14  PAGE 456
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  15033					;	[CONTINUED FROM THE PREVIOUS PAGE]
  15034
  15035	027736				10$:				; ......HERE TO SHIFT LEFT
  15036	027736	010002 				MOV	R0,R2		; ......SHIFT COUNT POINTER TO R2
  15037	027740	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
  15038	027742	012701 	000001 			MOV	#^D1,R1		; ......SUBSTITUTE SHIFT COUNT
  15039	027746					CALL	.TPSHI		; ......SHIFT IT ONCE
	027746	004737 	027636'			 JSR	PC,.TPSHI
  15040	027752	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
  15041	027754					CALL	.TPDEC		; ......DECREMENT IT
	027754	004737 	027414'			 JSR	PC,.TPDEC
  15042	027760					CALL	.TPTST		; ......ARE WE DONE?
	027760	004737 	027340'			 JSR	PC,.TPTST
  15043	027764	001364 				BNE	10$		; ......NO -- KEEP GOING
  15044	027766	000414 				BR	30$		; ......YES -- EXIT
  15045						;
  15046	027770				20$:				; ......HERE TO SHIFT RIGHT
  15047	027770	010002 				MOV	R0,R2		; ......SHIFT COUNT TO R2
  15048	027772	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
  15049	027774	012701 	177777 			MOV	#-^D1,R1	; ......SUBSTITUTE SHIFT COUNT
  15050	030000					CALL	.TPSHI		; ......SHIFT IT
	030000	004737 	027636'			 JSR	PC,.TPSHI
  15051	030004	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
  15052	030006					CALL	.TPINC		; ......INCREMENT IT
	030006	004737 	027402'			 JSR	PC,.TPINC
  15053	030012					CALL	.TPTST		; ......ARE WE DONE?
	030012	004737 	027340'			 JSR	PC,.TPTST
  15054	030016	001364 				BNE	20$		; ......NO -- KEEP GOING
  15055	030020				30$:
  15056	030020					POP	<R0,R2>		; ......RESTORE R0 AND R2
	030020	012600 				 MOV	(SP)+,R0
	030022	012602 				 MOV	(SP)+,R2
  15057	030024					POP	<R1,(R1),-(R1),-(R1)>
	030024	012601 				 MOV	(SP)+,R1
	030026	012611 				 MOV	(SP)+,(R1)
	030030	012641 				 MOV	(SP)+,-(R1)
	030032	012641 				 MOV	(SP)+,-(R1)
  15058	030034					RETURN			; RETURN TO CALLER
	030034	000207 				 RTS	PC
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1108  13-JAN-78 09:14  PAGE 457
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

  15060					.TITLE	TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
  15061
  15062						.IDENT	"001010"
  15063
  15064					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  15065					;
  15066					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  15067					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  15068					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  15069					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  15070					;	FOR ITS ACCURACY.
  15071					;
  15072					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  15073					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  15074					;
  15075					;
  15076					;		MODULE: DAIGNOSTIC FUNCTION TRACK
  15077					;
  15078					;		VERSION: 01-01
  15079					;
  15080					;		AUTHOR: R. BELANGER
  15081					;
  15082					;		DATE: 7603.30
  15083					;
  15084					;	THIS MODULE CONTAINS:
  15085					;
  15086					;	1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1108  13-JAN-78 09:14  PAGE 458
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

  15088					.SBTTL	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
  15089
  15090					;+
  15091					; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
  15092					; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
  15093					; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
  15094					;
  15095					; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
  15096					; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
  15097					; ON THE FRONT END OUTPUT DEVICE.
  15098					;
  15099					; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
  15100					; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
  15101					; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
  15102					;
  15103					; ERROR CODES RETURNED:
  15104					;
  15105					;	NONE.
  15106					;-
  15107
  15108					.IF NE	FTTRAK
  15109
  15110						.ENABL	LSB
  15111
  15112	030036				.FRTRK::
  15113	030036					PUSH	R0		; SAVE R0 ON THE STACK
	030036	010046 				 MOV	R0,-(SP)
  15114	030040					PUSH	.KLDFR+2	; .SAVE THE FR CODE TOO
	030040	013746 	010730'			 MOV	.KLDFR+2,-(SP)
  15115	030044					PUSH	#.DFRB		; ..AND THE BUFFER ADDRESS
	030044	012746 	000222'			 MOV	#.DFRB,-(SP)
  15116	030050	012700 	006432'			MOV	#TFRMSG,R0	; ...MESSAGE POINTER TO R0
  15117	030054	000416 				BR	10$		; ...DO THE TRACKING
  15118						;
  15119	030056				.FWTRK::
  15120	030056					PUSH	R0		; SAVE R0 ON THE STACK
	030056	010046 				 MOV	R0,-(SP)
  15121	030060					PUSH	.KLDFW+2	; .SAVE THE FW CODE
	030060	013746 	011064'			 MOV	.KLDFW+2,-(SP)
  15122	030064					PUSH	#.DFWB		; ..AND THE BUFFER ADDRESS
	030064	012746 	000214'			 MOV	#.DFWB,-(SP)
  15123	030070	012700 	006447'			MOV	#TFWMSG,R0	; ...MESSAGE POINTER TO R0
  15124	030074	000406 				BR	10$		; ...GO TRACK IT
  15125						;
  15126	030076				.FXTRK::
  15127	030076					PUSH	R0		; SAVE R0 ON THE STACK
	030076	010046 				 MOV	R0,-(SP)
  15128	030100					PUSH	.KLDFX+2	; .SAVE THE FX CODE
	030100	013746 	011246'			 MOV	.KLDFX+2,-(SP)
  15129	030104	005046 				CLR	-(SP)		; ..NO BUFFER ADDRESS
  15130	030106	012700 	006464'			MOV	#TFXMSG,R0	; ...MESSAGE POINTER TO R0
  15131					;	BR	10$		; ...AND FALL INTO COMMON CODE
  15132						;
  15133
  15134					;	[CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1108  13-JAN-78 09:14  PAGE 459
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

  15136					;	[CONTINUED FROM THE PREVIOUS PAGE]
  15137
  15138	030112				10$:
  15139	030112	012737 	177777 	000100'		MOV	#-^D1,.LDZFL	; ...PRINT LEADING ZEROES
  15140	030120					CALL	.TYMSG		; ...PRINT THE MESSAGE
	030120	004737 	031434'			 JSR	PC,.TYMSG
  15141	030124	016600 	000002 			MOV	2(SP),R0	; ...GET THE FUNCTION CODE
  15142	030130	000300 				SWAB	R0		; ...SWAP THE BYTES
  15143	030132	042700 	177400 			BIC	#177400,R0	; ...FLUSH JUNK FROM HIGH BYTE
  15144	030136	006200 				ASR	R0		; ...DIVIDE IT BY 2
  15145	030140					CALL	.TYP3D		; ...TYPE THAT
	030140	004737 	030742'			 JSR	PC,.TYP3D
  15146	030144	011600 				MOV	(SP),R0		; ...BUFFER ADDRESS?
  15147	030146	001406 				BEQ	20$		; ...NO -- JUST EXIT
  15148	030150					CALL	.TYSLS		; ...YES --  TYPE A SLASH AND
	030150	004737 	030634'			 JSR	PC,.TYSLS
  15149	030154					CALL	.TYSPC		; ...TYPE A <SPACE> AND
	030154	004737 	030644'			 JSR	PC,.TYSPC
  15150	030160					CALL	.TYKLN		; ...TYPE ITS CONTENT
	030160	004737 	031066'			 JSR	PC,.TYKLN
  15151	030164				20$:
  15152	030164					CALL	.TCRLF		; ...NOW A <CRLF>
	030164	004737 	031524'			 JSR	PC,.TCRLF
  15153	030170	022626 				CMP	(SP)+,(SP)+	; ...GET RID OF BUFFER POINTER AND CODE
  15154	030172					POP	R0		; .RESTORE R0
	030172	012600 				 MOV	(SP)+,R0
  15155	030174					RETURN			; AND GO AWAY
	030174	000207 				 RTS	PC
  15156
  15157						.DSABL	LSB
  15158
  15159	006432				.PSECT	MESSAG
  15160
  15161	006432				TFRMSG:
  15162	006432	   011 	   124 	   122 		.ASCIZ	%	TRACK > FR %
	006435	   101 	   103 	   113
	006440	   040 	   076 	   040
	006443	   106 	   122 	   040
	006446	   000
  15163	006447				TFWMSG:
  15164	006447	   011 	   124 	   122 		.ASCIZ	%	TRACK > FW %
	006452	   101 	   103 	   113
	006455	   040 	   076 	   040
	006460	   106 	   127 	   040
	006463	   000
  15165	006464				TFXMSG:
  15166	006464	   011 	   124 	   122 		.ASCIZ	%	TRACK > FX %
	006467	   101 	   103 	   113
	006472	   040 	   076 	   040
	006475	   106 	   130 	   040
	006500	   000
  15167	030176				.PSECT
  15168
  15169					.ENDC		; FTTRAK
TSCAN -- TABLE SCANNER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 460
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

  15171					.TITLE	TSCAN -- TABLE SCANNER MODULE 7703.25
  15172
  15173						.IDENT	"001020"
  15174
  15175					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  15176					;
  15177					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  15178					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  15179					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  15180					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  15181					;	FOR ITS ACCURACY.
  15182					;
  15183					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  15184					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  15185					;
  15186					;
  15187					;		MODULE: TABLE SCANNER
  15188					;
  15189					;		VERSION: 01-02
  15190					;
  15191					;		AUTHOR: R. BELANGER
  15192					;
  15193					;		DATE: 7703.25
  15194					;
  15195					;	THIS MODULE CONTAINS:
  15196					;
  15197					;	1) TABLE SCANNER CODE
TSCAN -- TABLE SCANNER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 461
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

  15199					.SBTTL	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
  15200
  15201					;+
  15202					; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
  15203					;
  15204					; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
  15205					; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
  15206					;
  15207					; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
  15208					;
  15209					;	!=======================================!
  15210					;	!	POINTER TO ".ASCIZ" SYMBOL	!
  15211					;	!---------------------------------------!
  15212					;	!	  LEGAL BITS FOR OBJECT		!
  15213					;	!---------------------------------------!
  15214					;	!	   DISPATCH FOR OBJECT		!
  15215					;	!=======================================!
  15216					;
  15217					; INPUT ARGUMENTS:
  15218					;
  15219					;	R0 POINTS TO THE SYMBOL TABLE
  15220					;
  15221					; OUTPUT ARGUMENTS:
  15222					;
  15223					;	R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
  15224					;
  15225					; ERROR CODES RETURNED:
  15226					;
  15227					;	AMB -- AMBIGUOUS KEYWORD.
  15228					;	NSK -- NON-EXISTENT KEYWORD.
  15229					;	WRM -- WRONG MODE FOR COMMAND.
  15230					;-
TSCAN -- TABLE SCANNER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 462
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

  15232	030176				.TSCAN::
  15233	030176					CALL	.CKCTC		; SEE IF "^C" WAS TYPED
	030176	004737 	002126'			 JSR	PC,.CKCTC
  15234	030202					CALL	.CKSYM		; GET OVER LEADING BLANKS
	030202	004737 	002112'			 JSR	PC,.CKSYM
  15235	030206	122704 	000077 			CMPB	#'?,R4		; IS THIS AN INQUIRY?
  15236	030212	001442 				BEQ	50$		; YES -- DISPLAY THE TABLE
  15237	030214					PUSH	R1		; NO -- SAVE R1 ON THE STACK
	030214	010146 				 MOV	R1,-(SP)
  15238	030216					PUSH	R5		; .SAVE THE INPUT POINTER
	030216	010546 				 MOV	R5,-(SP)
  15239	030220	010001 				MOV	R0,R1		; ..TABLE POINTER TO R1
  15240	030222					PUSH	R5		; ..SAVE THE INPUT POINTER AGAIN
	030222	010546 				 MOV	R5,-(SP)
  15241	030224	005046 				CLR	-(SP)		; ...CLEAR A SCRATCH AREA
  15242	030226				10$:
  15243	030226	012100 				MOV	(R1)+,R0	; ....GET THE ADDRESS OF THE SYMBOL
  15244	030230					CALL	.SSCAN		; ....SCAN IT
	030230	004737 	026114'			 JSR	PC,.SSCAN
  15245	030234	103412 				BCS	30$		; ....NO MATCH -- TRY NEXT ENTRY
  15246	030236	001004 				BNE	20$		; ....MATCH -- SAVE POINTER AND CONTINUE
  15247	030240	010100 				MOV	R1,R0		; ....EXACT MATCH -- PUT THE POINTER IN R0
  15248	030242	010566 	000004 			MOV	R5,4(SP)	; ....FIX THE INPUT POINTER
  15249	030246	000414 				BR	40$		; ....AND SET UP FOR EXIT
  15250						;
  15251	030250				20$:
  15252	030250	005716 				TST	(SP)		; ....HAVE WE ALREADY FOUND A MATCH?
  15253	030252	001057 				BNE	TSCAMB		; ....YES -- GIVE "AMB" ERROR
  15254	030254	010116 				MOV	R1,(SP)		; ....NO -- SAVE POINTER AND GO ON
  15255	030256	010566 	000004 			MOV	R5,4(SP)	; ....SAVE THE BUFFER POINTER
  15256	030262				30$:
  15257	030262	016605 	000002 			MOV	2(SP),R5	; ....RESET THE INPUT POINTER
  15258	030266	022121 				CMP	(R1)+,(R1)+	; ....ADVANCE THE POINTER
  15259	030270	005711 				TST	(R1)		; ....IS THIS THE END OF THE TABLE?
  15260	030272	001355 				BNE	10$		; ....NO -- TRY THIS SYMBOL
  15261	030274	011600 				MOV	(SP),R0		; ....YES -- DID WE FIND A MATCH?
  15262	030276	001452 				BEQ	TSCNSK		; ....NO -- GIVE "NSK" ERROR
  15263	030300				40$:
  15264	030300	033710 	000000G			BIT	.FEMOD,(R0)	; ....YES -- CAN WE DO THIS COMMAND?
  15265	030304	001452 				BEQ	TSCWRM		; ....NO -- GIVE "WRM" ERROR
  15266	030306	022626 				CMP	(SP)+,(SP)+	; ....YES -- CLEAR THE STACK
  15267	030310					POP	R5		; ..RETURN UPDATED LINE POINTER
	030310	012605 				 MOV	(SP)+,R5
  15268	030312	111504 				MOVB	(R5),R4		; .PUT THE DELIMITER IN R4
  15269	030314					POP	R1		; .RESTORE R1
	030314	012601 				 MOV	(SP)+,R1
  15270	030316					RETURN			; WITH POINTER TO LEGAL BITS IN R0
	030316	000207 				 RTS	PC
TSCAN -- TABLE SCANNER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 463
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

  15272	030320				50$:
  15273	030320	105725 				TSTB	(R5)+		; GET OVER THE "?"
  15274	030322					CALL	.CKEOC		; CHECK FOR E-O-C
	030322	004737 	002010'			 JSR	PC,.CKEOC
  15275	030326	010001 				MOV	R0,R1		; TABLE POINTER TO R1
  15276	030330					CALL	.TCRLF		; TYPE A <CRLF>
	030330	004737 	031524'			 JSR	PC,.TCRLF
  15277	030334	013700 	000002'			MOV	.CCMDN,R0	; CURRENT COMMAND NAME
  15278	030340					CALL	.TYMSG		; PRINT THAT
	030340	004737 	031434'			 JSR	PC,.TYMSG
  15279	030344	012700 	006501'			MOV	#TDMSG0,R0	; REST OF LINE
  15280	030350					CALL	.TYLIN		; PRINT IT
	030350	004737 	031420'			 JSR	PC,.TYLIN
  15281	030354				60$:
  15282	030354	012100 				MOV	(R1)+,R0	; NAME POINTER TO R0
  15283	030356	001411 				BEQ	80$		; EXIT IF NULL
  15284	030360	031137 	000000G			BIT	(R1),.FEMOD	; COMMAND LEGAL IN THIS MODE?
  15285	030364	001404 				BEQ	70$		; NO -- GO ON
  15286	030366					CALL	.TYSPC		; YES -- SPACE OVER
	030366	004737 	030644'			 JSR	PC,.TYSPC
  15287	030372					CALL	.TYLIN		; PRINT THIS NAME
	030372	004737 	031420'			 JSR	PC,.TYLIN
  15288	030376				70$:
  15289	030376	022121 				CMP	(R1)+,(R1)+	; POINT TO THE NEXT NAME
  15290	030400	000765 				BR	60$		; AND GO ON
  15291						;
  15292	030402				80$:
  15293	030402	013706 	000136'			MOV	.SVESP,SP	; RESET THE STACK
  15294	030406	000177 	147522 			JMP	@.STRTV		; AND START OVER
  15295						;
TSCAN -- TABLE SCANNER MODULE 7	MACRO M1108  13-JAN-78 09:14  PAGE 464
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

  15297	030412				TSCAMB:
  15298	030412	016605 	000002 			MOV	2(SP),R5	; RESET INPUT POINTER
  15299	030416					ERROR$	AMB		; .ERROR -- MULTIPLE MATCH
	030416	012746 				 MOV	(PC)+,-(SP)	; "AMB" IN RAD50 TO STACK
	030420	004112 				 .RAD50	/AMB/		; ERROR IDENTIFIER
	030422	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  15300						;
  15301	030424				TSCNSK:
  15302	030424					ERROR$	NSK		; .ERROR -- NON-EXISTENT KEYWORD
	030424	012746 				 MOV	(PC)+,-(SP)	; "NSK" IN RAD50 TO STACK
	030426	055203 				 .RAD50	/NSK/		; ERROR IDENTIFIER
	030430	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  15303						;
  15304	030432				TSCWRM:
  15305	030432					ERROR$	WRM		; .ERROR -- WRONG MODE FOR COMMAND
	030432	012746 				 MOV	(PC)+,-(SP)	; "WRM" IN RAD50 TO STACK
	030434	111235 				 .RAD50	/WRM/		; ERROR IDENTIFIER
	030436	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  15306						;
  15307
  15308	006501				.PSECT	MESSAG
  15309
  15310	006501				TDMSG0:
  15311	006501	   040 	   103 	   117 		.ASCIZ	% COMMANDS ARE:%
	006504	   115 	   115 	   101
	006507	   116 	   104 	   123
	006512	   040 	   101 	   122
	006515	   105 	   072 	   000
  15312	030440				.PSECT
TYDAT -- DATE OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 465
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

  15314					.TITLE	TYDAT -- DATE OUTPUT MODULE 7702.16
  15315
  15316						.IDENT	"003000"
  15317
  15318					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  15319					;
  15320					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  15321					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  15322					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  15323					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  15324					;	FOR ITS ACCURACY.
  15325					;
  15326					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  15327					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  15328					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  15329					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  15330					;
  15331					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  15332					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  15333					;
  15334					;
  15335					;		MODULE: DATE OUTPUT CODE
  15336					;
  15337					;		VERSION: 03-00
  15338					;
  15339					;		AUTHOR: R. BELANGER
  15340					;
  15341					;		DATE: 7702.16
  15342					;
  15343					;	THIS MODULE CONTAINS:
  15344					;
  15345					;	1) DATE OUTPUT CODE
  15346					;
  15347					;	MODIFICATIONS:
  15348					;
  15349					;	NO.	DATE		PROGRAMMER	REASON
  15350					;	---	----		----------	------
  15351					;	001	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
TYDAT -- DATE OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 466
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

  15353					.SBTTL	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
  15354
  15355					;+
  15356					; .TYDAT -- SUBROUTINE TO TYPE A DATE
  15357					;
  15358					; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
  15359					; FOLLOWING FORMAT: "DD-MMM-YY".
  15360					;
  15361					; INPUT ARGUMENTS:
  15362					;
  15363					;	R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
  15364					;
  15365					; OUTPUT ARGUMENTS:
  15366					;
  15367					;	NONE.
  15368					; ERROR CODES RETURNED:
  15369					;
  15370					;	NONE.
  15371					;-
  15372
  15373
  15374	030440				.TYDAT::
  15375	030440					PUSH	<.ORADX,R0,R2>	; SAVE CALLER'S REGISTERS
	030440	013746 	000106'			 MOV	.ORADX,-(SP)
	030444	010046 				 MOV	R0,-(SP)
	030446	010246 				 MOV	R2,-(SP)
  15376	030450	012737 	000012 	000106'		MOV	#^D10,.ORADX	; ...SET THE RADIX TO DECIMAL
  15377	030456	010002 				MOV	R0,R2		; ...CALLER'S POINTER TO R2
  15378	030460	122222 				CMPB	(R2)+,(R2)+	; ...ADVANCE THE POINTER
  15379	030462	111200 				MOVB	(R2),R0		; ...GET THE DAY
  15380	030464					CALL	.TYELA		; ...PRINT IT
	030464	004737 	030672'			 JSR	PC,.TYELA
  15381	030470					CALL	.TYMIN		; ...AND A <DASH>
	030470	004737 	030624'			 JSR	PC,.TYMIN
  15382	030474	114200 				MOVB	-(R2),R0	; ...GET THE MONTH
  15383	030476	006300 				ASL	R0		; ...MAKE IT AN EVEN INDEX
  15384	030500	016000 	030552'			MOV	TYDMTB-2(R0),R0	; ...POINT TO THE STRING
  15385	030504					CALL	.TYMSG		; ...PRINT IT
	030504	004737 	031434'			 JSR	PC,.TYMSG
  15386	030510					CALL	.TYMIN		; ...AND A <DASH>
	030510	004737 	030624'			 JSR	PC,.TYMIN
  15387	030514	122742 	000011 			CMPB	#^D9,-(R2)	; ...'09 OR EARLIER?
  15388	030520	002404 				BLT	10$		; ...NO -- GO ON
  15389	030522	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
  15390	030526					CALL	.TYCHR		; ...SO
	030526	004737 	031472'			 JSR	PC,.TYCHR
  15391
  15392					;	[CONTINUED ON THE FOLLOWING PAGE]
TYDAT -- DATE OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 467
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

  15394					;	[CONTINUED FROM THE PREVIOUS PAGE]
  15395
  15396	030532				10$:
  15397	030532	111200 				MOVB	(R2),R0		; ...GET THE YEAR
  15398	030534					CALL	.TYELA		; ...PRINT IT
	030534	004737 	030672'			 JSR	PC,.TYELA
  15399	030540					POP	<R2,R0,.ORADX>	; ...RESTORE THE REGISTERS
	030540	012602 				 MOV	(SP)+,R2
	030542	012600 				 MOV	(SP)+,R0
	030544	012637 	000106'			 MOV	(SP)+,.ORADX
  15400	030550					CALLR	.TYSPC		; PRINT A <SPACE> AND EXIT
	030550	000137 	030644'			 JMP	.TYSPC
  15401						;
  15402	030554				TYDMTB:
  15403	030554	006520'				.WORD	TYDMJA
  15404	030556	006524'				.WORD	TYDMFE
  15405	030560	006530'				.WORD	TYDMMR
  15406	030562	006534'				.WORD	TYDMAP
  15407	030564	006540'				.WORD	TYDMMY
  15408	030566	006544'				.WORD	TYDMJN
  15409	030570	006550'				.WORD	TYDMJL
  15410	030572	006554'				.WORD	TYDMAU
  15411	030574	006560'				.WORD	TYDMSE
  15412	030576	006564'				.WORD	TYDMOC
  15413	030600	006570'				.WORD	TYDMNO
  15414	030602	006574'				.WORD	TYDMDE
TYDAT -- DATE OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 468
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

  15416	006520				.PSECT	MESSAG
  15417
  15418	006520				TYDMJA:
  15419	006520	   112 	   101 	   116 		.ASCIZ	%JAN%
	006523	   000
  15420	006524				TYDMFE:
  15421	006524	   106 	   105 	   102 		.ASCIZ	%FEB%
	006527	   000
  15422	006530				TYDMMR:
  15423	006530	   115 	   101 	   122 		.ASCIZ	%MAR%
	006533	   000
  15424	006534				TYDMAP:
  15425	006534	   101 	   120 	   122 		.ASCIZ	%APR%
	006537	   000
  15426	006540				TYDMMY:
  15427	006540	   115 	   101 	   131 		.ASCIZ	%MAY%
	006543	   000
  15428	006544				TYDMJN:
  15429	006544	   112 	   125 	   116 		.ASCIZ	%JUN%
	006547	   000
  15430	006550				TYDMJL:
  15431	006550	   112 	   125 	   114 		.ASCIZ	%JUL%
	006553	   000
  15432	006554				TYDMAU:
  15433	006554	   101 	   125 	   107 		.ASCIZ	%AUG%
	006557	   000
  15434	006560				TYDMSE:
  15435	006560	   123 	   105 	   120 		.ASCIZ	%SEP%
	006563	   000
  15436	006564				TYDMOC:
  15437	006564	   117 	   103 	   124 		.ASCIZ	%OCT%
	006567	   000
  15438	006570				TYDMNO:
  15439	006570	   116 	   117 	   126 		.ASCIZ	%NOV%
	006573	   000
  15440	006574				TYDMDE:
  15441	006574	   104 	   105 	   103 		.ASCIZ	%DEC%
	006577	   000
  15442
  15443	030604				.PSECT
  15444
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 469
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

  15446					.TITLE	TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
  15447
  15448						.IDENT	"001010"
  15449
  15450					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  15451					;
  15452					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  15453					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  15454					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  15455					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  15456					;	FOR ITS ACCURACY.
  15457					;
  15458					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  15459					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  15460					;
  15461					;
  15462					;		MODULE: GENERAL TERMINAL OUTPUT
  15463					;
  15464					;		VERSION: 01-01
  15465					;
  15466					;		AUTHOR: R. BELANGER
  15467					;
  15468					;		DATE: 7603.30
  15469					;
  15470					;	THIS MODULE CONTAINS:
  15471					;
  15472					;	1) GENERAL TERMINAL OUTPUT CODE
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 470
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

  15474					.SBTTL	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
  15475
  15476					;+
  15477					; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
  15478					; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
  15479					; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
  15480					; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
  15481					; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
  15482					; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
  15483					; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
  15484					;
  15485					; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
  15486					; OUTPUT DEVICE.
  15487					;
  15488					; INPUT ARGUMENTS:
  15489					;
  15490					;	NONE.
  15491					;
  15492					; OUTPUT ARGUMENTS:
  15493					;
  15494					;	NONE.
  15495					;
  15496					; ERROR CODES RETURNED:
  15497					;
  15498					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15499					;-
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 471
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

  15501						.ENABL	LSB
  15502
  15503	030604				.TYCOL::
  15504	030604					PUSH	R0		; SAVE R0
	030604	010046 				 MOV	R0,-(SP)
  15505	030606	012700 	000072 			MOV	#':,R0		; .<COLON> TO R0
  15506	030612	000423 				BR	10$		; .DO OUTPUT
  15507						;
  15508	030614				.TYCOM::
  15509	030614					PUSH	R0		; SAVE R0
	030614	010046 				 MOV	R0,-(SP)
  15510	030616	012700 	000054 			MOV	#',,R0		; .<COMMA> TO R0
  15511	030622	000417 				BR	10$		; .OUTPUT IT
  15512						;
  15513	030624				.TYMIN::
  15514	030624					PUSH	R0		; SAVE R0
	030624	010046 				 MOV	R0,-(SP)
  15515	030626	012700 	000055 			MOV	#'-,R0		; <HYPHEN> TO R0
  15516	030632	000413 				BR	10$		; .DO OUTPUT
  15517						;
  15518	030634				.TYSLS::
  15519	030634					PUSH	R0		; SAVE R0
	030634	010046 				 MOV	R0,-(SP)
  15520	030636	012700 	000057 			MOV	#'/,R0		; .<SLASH> TO R0
  15521	030642	000407 				BR	10$		; .OUTPUT IT
  15522						;
  15523	030644				.TYSPC::
  15524	030644					PUSH	R0		; SAVE R0
	030644	010046 				 MOV	R0,-(SP)
  15525	030646	012700 	000040 			MOV	#.SPACE,R0	; .<SPACE> TO R0
  15526	030652	000403 				BR	10$		; .OUTPUT IT
  15527						;
  15528	030654				.TYUPA::
  15529	030654					PUSH	R0		; SAVE R0
	030654	010046 				 MOV	R0,-(SP)
  15530	030656	012700 	000136 			MOV	#'^,R0		; .<UP-ARROW> TO R0
  15531	030662				10$:
  15532	030662					CALL	.TYCHR		; .OUTPUT IT
	030662	004737 	031472'			 JSR	PC,.TYCHR
  15533	030666					POP	R0		; .RESTORE R0
	030666	012600 				 MOV	(SP)+,R0
  15534	030670					RETURN			; TO CALLER
	030670	000207 				 RTS	PC
  15535
  15536						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 472
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23

  15538					.SBTTL	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
  15539
  15540					;+
  15541					; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
  15542					; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
  15543					;
  15544					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
  15545					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  15546					;
  15547					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  15548					;	(B) OCTAL:	6 DIGITS -- XXXXXX
  15549					;	(C) DECIMAL:	NO FORMATTING
  15550					;
  15551					; INPUT ARGUMENTS:
  15552					;
  15553					;	R0 HOLDS THE NUMBER TO BE PRINTED
  15554					;
  15555					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  15556					;
  15557					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  15558					;	R3 POINTS TO A FORMAT TABLE
  15559					;
  15560					; ERROR CODES RETURNED:
  15561					;
  15562					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15563					;-
  15564						.ENABL	LSB
  15565
  15566
  15567	030672				.TYELA::
  15568	030672	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  15569	030676				.TYELN::
  15570	030676					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	030676	010346 				 MOV	R3,-(SP)
	030700	010246 				 MOV	R2,-(SP)
	030702	010146 				 MOV	R1,-(SP)
	030704	010046 				 MOV	R0,-(SP)
  15571	030706	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  15572	030710	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  15573	030716	001002 				BNE	10$		; ....NO
  15574	030720	012703 	031244'			MOV	#ELNBIN,R3	; ....BINARY FORMAT TABLE TO R3
  15575	030724				10$:
  15576	030724	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  15577	030732	001424 				BEQ	30$		; ....YES
  15578	030734	012703 	031262'			MOV	#ELNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  15579	030740	000421 				BR	30$		; ....SET UP POINTERS AND EXIT
  15580						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 473
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23

  15582					.SBTTL	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
  15583
  15584					;+
  15585					; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
  15586					;
  15587					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
  15588					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  15589					;
  15590					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  15591					;	(B) OCTAL:	3 DIGITS -- XXX
  15592					;	(C) DECIMAL:	NO FORMATTING
  15593					;
  15594					; INPUT ARGUMENTS:
  15595					;
  15596					;	R0 HOLDS THE NUMBER TO BE PRINTED
  15597					;
  15598					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  15599					;
  15600					;	R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
  15601					;	R3 POINTS TO A FORMAT TABLE
  15602					;
  15603					; ERROR CODES RETURNED:
  15604					;
  15605					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15606					;-
  15607
  15608	030742				.TYP3D::
  15609	030742					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	030742	010346 				 MOV	R3,-(SP)
	030744	010246 				 MOV	R2,-(SP)
	030746	010146 				 MOV	R1,-(SP)
	030750	010046 				 MOV	R0,-(SP)
  15610	030752	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  15611	030754	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  15612	030762	001002 				BNE	20$		; ....NO
  15613	030764	012703 	031252'			MOV	#ELBBIN,R3	; ....BINARY FORMAT TABLE TO R3
  15614	030770				20$:
  15615	030770	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  15616	030776	001402 				BEQ	30$		; ....YES
  15617	031000	012703 	031256'			MOV	#ELBOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  15618	031004				30$:
  15619	031004	005046 				CLR	-(SP)		; ....SET UP BUFFERS ON THE STACK
  15620	031006	005046 				CLR	-(SP)		; .....
  15621	031010					PUSH	R0		; ......NUMBER TO BE TYPED
	031010	010046 				 MOV	R0,-(SP)
  15622	031012	010600 				MOV	SP,R0		; .......POINT TO IT
  15623	031014	000456 				BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
  15624						;
  15625
  15626						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 474
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02

  15628					.SBTTL	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
  15629
  15630					;+
  15631					; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
  15632					;
  15633					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
  15634					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  15635					;
  15636					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  15637					;	(B) OCTAL:	HALFWORD FORMAT -- XX<SP>XXXXXX
  15638					;	(C) DECIMAL:	NO FORMATTING
  15639					;
  15640					; INPUT ARGUMENTS:
  15641					;
  15642					;	R0 POINTS TO THE KL ADDRESS TO BE PRINTED
  15643					;
  15644					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  15645					;
  15646					;	R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
  15647					;	R3 POINTS TO A FORMAT TABLE
  15648					;
  15649					; ERROR CODES RETURNED:
  15650					;
  15651					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15652					;-
  15653
  15654						.ENABL	LSB
  15655
  15656	031016				.TYKLA::
  15657	031016	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  15658	031022					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	031022	010346 				 MOV	R3,-(SP)
	031024	010246 				 MOV	R2,-(SP)
	031026	010146 				 MOV	R1,-(SP)
	031030	010046 				 MOV	R0,-(SP)
  15659	031032	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  15660	031034	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  15661	031042	001002 				BNE	10$		; ....NO
  15662	031044	012703 	031240'			MOV	#KLABIN,R3	; ....BINARY FORMAT TABLE TO R3
  15663	031050				10$:
  15664	031050	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  15665	031056	001424 				BEQ	30$		; ....YES
  15666	031060	012703 	031264'			MOV	#KLAOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  15667	031064	000421 				BR	30$		; ....GO DO COMMON CODE
  15668						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 475
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02

  15670					.SBTTL	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
  15671
  15672					;+
  15673					; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
  15674					;
  15675					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
  15676					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
  15677					;
  15678					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
  15679					;	(B) OCTAL:	6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
  15680					;	(C) DECIMAL:	NO FORMATTING
  15681					;
  15682					; INPUT ARGUMENTS:
  15683					;
  15684					;	R0 POINTS TO THE NUMBER TO BE PRINTED
  15685					;
  15686					; OUTPUT ARGUMENTS (TO ".TYNCM"):
  15687					;
  15688					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  15689					;	R3 POINTS TO A FORMAT TABLE
  15690					;
  15691					; ERROR CODES RETURNED:
  15692					;
  15693					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15694					;-
  15695
  15696	031066				.TYKLN::
  15697	031066					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	031066	010346 				 MOV	R3,-(SP)
	031070	010246 				 MOV	R2,-(SP)
	031072	010146 				 MOV	R1,-(SP)
	031074	010046 				 MOV	R0,-(SP)
  15698	031076	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
  15699	031100	022737 	000002 	000106'		CMP	#^D2,.ORADX	; ....BINARY?
  15700	031106	001002 				BNE	20$		; ....NO
  15701	031110	012703 	031230'			MOV	#KLNBIN,R3	; ....BINARY FORMAT TABLE TO R3
  15702	031114				20$:
  15703	031114	022737 	000012 	000106'		CMP	#^D10,.ORADX	; ....DECIMAL?
  15704	031122	001402 				BEQ	30$		; ....YES
  15705	031124	012703 	031260'			MOV	#KLNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
  15706	031130				30$:
  15707	031130	062700 	000006 			ADD	#^D6,R0		; ....POINT TO THE END OF THE NUMBER
  15708	031134					PUSH	-(R0)		; ....SET IT ON THE STACK
	031134	014046 				 MOV	-(R0),-(SP)
  15709	031136	042710 	177760 			BIC	#^C17,(R0)	; .....TRUNCATE TO 36 BITS
  15710	031142					PUSH	<-(R0),-(R0)>	; .....PUT THE REST ON THE STACK
	031142	014046 				 MOV	-(R0),-(SP)
	031144	014046 				 MOV	-(R0),-(SP)
  15711	031146	010600 				MOV	SP,R0		; .......POINT TO THE STACKED NUMBER
  15712	031150	000400 				BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
  15713						;
  15714
  15715						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 476
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

  15717					.SBTTL	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
  15718
  15719					;+
  15720					; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
  15721					;
  15722					; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
  15723					; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
  15724					;
  15725					; INPUT ARGUMENTS:
  15726					;
  15727					;	R1, R2, AND R3 ARE ON THE STACK
  15728					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
  15729					;	R3 POINTS TO A FORMAT TABLE
  15730					;
  15731					; OUTPUT ARGUMENTS:
  15732					;
  15733					;	R0 POINTS TO THE ORIGINAL NUMBER
  15734					;
  15735					; ERROR CODES RETURNED:
  15736					;
  15737					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15738					;-
  15739
  15740	031152				.TYNCM::
  15741	031152	005046 				CLR	-(SP)		; .......SPACE FOR DIVISOR
  15742	031154	005046 				CLR	-(SP)		; ........
  15743	031156	005046 				CLR	-(SP)		; .........
  15744	031160	010601 				MOV	SP,R1		; ..........POINT TO IT
  15745	031162	005002 				CLR	R2		; ..........CLEAR R2
  15746	031164	005737 	000100'			TST	.LDZFL		; ..........ARE WE PRINTING LEADING ZEROS/
  15747	031170	001006 				BNE	10$		; ..........YES -- GO ON
  15748	031172					CALL	.TPTST		; ..........NO -- IS THIS NUMBER .EQ. 0?
	031172	004737 	027340'			 JSR	PC,.TPTST
  15749	031176	001003 				BNE	10$		; ..........NO -- JUST PRINT IT
  15750	031200	005003 				CLR	R3		; ..........YES -- CALL IT UNFORMATTED
  15751	031202	005337 	000100'			DEC	.LDZFL		; ..........AND SAY WE PRINT ZEROES
  15752	031206				10$:
  15753	031206					CALL	.TYNUM		; ..........FORMAT AND PRINT THE NUMBER
	031206	004737 	031270'			 JSR	PC,.TYNUM
  15754	031212	062706 	000014 			ADD	#^D12,SP	; ..........FLUSH THE STACK
  15755	031216					POP	<R0,R1,R2,R3>	; ....RESTORE THE REGISTERS
	031216	012600 				 MOV	(SP)+,R0
	031220	012601 				 MOV	(SP)+,R1
	031222	012602 				 MOV	(SP)+,R2
	031224	012603 				 MOV	(SP)+,R3
  15756	031226					RETURN			; TO CALLER
	031226	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 477
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

  15758					; THESE ARE THE FORMAT TABLES
  15759
  15760	031230				KLNBIN::		 	; KL BINARY TABLE
  15761	031230	   003 	   040 			.BYTE	3,.SPACE	; 3 DIGITS AND A SPACE
  15762	031232	   003 	   040 			.BYTE	3,.SPACE
  15763	031234	   003 	   040 			.BYTE	3,.SPACE
  15764	031236	   003 	   040 			.BYTE	3,.SPACE
  15765	031240				KLABIN::			; KL ADDRESS BINARY
  15766	031240	   003 	   040 			.BYTE	3,.SPACE
  15767	031242	   003 	   040 			.BYTE	3,.SPACE
  15768	031244				ELNBIN::			; ELEVEN BINARY TABLE
  15769	031244	   003 	   040 			.BYTE	3,.SPACE
  15770	031246	   003 	   040 			.BYTE	3,.SPACE
  15771	031250	   003 	   040 			.BYTE	3,.SPACE
  15772	031252				ELBBIN::			; PDP-11 BYTE BINARY TABLE
  15773	031252	   003 	   040 			.BYTE	3,.SPACE
  15774	031254	   003 	   040 			.BYTE	3,.SPACE
  15775	031256				ELBOCT::			; PDP-11 BYTE OCTAL TABLE
  15776	031256	   003 	   000 			.BYTE	3,0		; END OF TABLE
  15777
  15778	031260				KLNOCT::			; KL OCTAL TABLE
  15779	031260	   006 	   040 			.BYTE	6,.SPACE	; 6 DIGITS AND A SPACE
  15780	031262				ELNOCT::			; PDP-11 OCTAL TABLE
  15781	031262	   006 	   000 			.BYTE	6,0		; END OF TABLE
  15782	031264				KLAOCT::			; KL ADDRESS OCTAL
  15783	031264	   006 	   040 			.BYTE	6,.SPACE
  15784	031266	   002 	   000 			.BYTE	2,0
  15785					.EVEN
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 478
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

  15787					.SBTTL	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
  15788
  15789					;+
  15790					; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
  15791					;	    CONSOLE OUTPUT DEVICE.
  15792					;
  15793					; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
  15794					; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
  15795					;
  15796					; INPUT ARGUMENTS:
  15797					;
  15798					;	R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
  15799					;	R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
  15800					;	R2 IS CLEAR
  15801					;	R3 POINTS TO A FORMAT CONTROL TABLE
  15802					;
  15803					; OUTPUT ARGUMENTS:
  15804					;
  15805					;	R0, R1, R2, AND R3 ARE CLOBBERED
  15806					;	THE NUMBER POINTED TO BY R0 IS CLOBBERED
  15807					;	THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
  15808					;
  15809					; ERROR CODES RETURNED:
  15810					;
  15811					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15812					;-
  15813
  15814	031270				.TYNUM::
  15815	031270	005703 				TST	R3		; CHECK THE FORMAT POINTER
  15816	031272	001422 				BEQ	50$		; UNFORMATTED IF .EQ. 0
  15817	031274	112302 				MOVB	(R3)+,R2	; ITERATION COUNT TO R2
  15818	031276	001410 				BEQ	40$		; JUST A FORMAT CHARACTER IF .EQ. 0
  15819	031300				10$:
  15820	031300	000417 				BR	50$		; CONVERT ONE DIGIT
  15821						;
  15822	031302				20$:
  15823	031302	005702 				TST	R2		; TEST ITERATION COUNT
  15824	031304	001004 				BNE	30$		; FORMATTED NUMBER -- DO ITERATION COUNT
  15825	031306					CALL	.TPTST		; HAS THE QUOTIENT GONE TO ZERO?
	031306	004737 	027340'			 JSR	PC,.TPTST
  15826	031312	001441 				BEQ	80$		; YES -- PRINT THE NUMBER
  15827	031314	000411 				BR	50$		; NO -- KEEP GOING UNTIL IT DOES
  15828						;
  15829	031316				30$:
  15830	031316	077210 				SOB	R2,10$		; LOOP THRU THIS SET OF ITERATIONS
  15831
  15832					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 479
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

  15834					;	[CONTINUED FROM THE PREVIOUS PAGE]
  15835
  15836	031320				40$:
  15837	031320	112302 				MOVB	(R3)+,R2	; FORMAT CONTROL CHARACTER TO R2
  15838	031322	001435 				BEQ	80$		; DONE IF .EQ. 0
  15839	031324	162702 	000060 			SUB	#60,R2		; SINCE OUTPUT ROUTINE WILL ADD 60
  15840	031330					PUSH	R2		; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
	031330	010246 				 MOV	R2,-(SP)
  15841	031332					PUSH	#60$		; <PUSH>FAKE THE PRINT ROUTINE OUT
	031332	012746 	031370'			 MOV	#60$,-(SP)
  15842	031336	000754 				BR	.TYNUM		; AND DO THE NEXT PART
  15843						;
  15844	031340				50$:				; HERE TO CONVERT ONE DIGIT
  15845	031340					PUSH	R0		; SAVE R0
	031340	010046 				 MOV	R0,-(SP)
  15846	031342	010100 				MOV	R1,R0		; MOVE R1 TO R0
  15847	031344					CALL	.TPCLR		; .CLEAR REMAINDER OUT
	031344	004737 	027234'			 JSR	PC,.TPCLR
  15848	031350					POP	R0		; .RESTORE R0
	031350	012600 				 MOV	(SP)+,R0
  15849	031352	013711 	000106'			MOV	.ORADX,(R1)	; OUTPUT RADIX AS DIVISOR
  15850	031356					CALL	.TPDIV		; DO THE DIVISION
	031356	004737 	027000'			 JSR	PC,.TPDIV
  15851	031362					PUSH	(R1)		; <PUSH> SAVE THE DIGIT
	031362	011146 				 MOV	(R1),-(SP)
  15852	031364					CALL	20$		; AND GO GET MORE
	031364	004737 	031302'			 JSR	PC,20$
  15853						;
  15854	031370				60$:				; HERE TO UNSTACK THE NUMBER
  15855	031370					POP	R0		; <POP>GET THE NUMBER OFF THE STACK
	031370	012600 				 MOV	(SP)+,R0
  15856	031372	005737 	000100'			TST	.LDZFL		; PRINT LEADING ZEROES?
  15857	031376	001004 				BNE	70$		; YES -- DO IT
  15858	031400	005700 				TST	R0		; NO -- SEE IF .EQ. 0 OR FORMAT
  15859	031402	003405 				BLE	80$		; YES -- DON'T PRINT IT
  15860	031404	005337 	000100'			DEC	.LDZFL		; NO -- SET THE FLAG AND PRINT
  15861	031410				70$:
  15862	031410	062700 	000060 			ADD	#60,R0		; ASCIIZE IT
  15863	031414	000426 				BR	.TYCHR		; PRINT IT
  15864						;
  15865	031416				80$:
  15866	031416					RETURN			; FOR NEXT NUMBER OR TO CALLER
	031416	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 480
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>

  15868					.SBTTL	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
  15869
  15870					;+
  15871					; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
  15872					; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
  15873					;	    OUTPUT DEVICE.
  15874					;
  15875					; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
  15876					; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
  15877					; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
  15878					;
  15879					; INPUT ARGUMENTS:
  15880					;
  15881					;	R0 POINTS TO THE .ASCIZ MESSAGE
  15882					;
  15883					; OUTPUT ARGUMENTS:
  15884					;
  15885					;	NONE.
  15886					;
  15887					; ERROR CODES RETURNED:
  15888					;
  15889					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15890					;-
  15891
  15892						.ENABL	LSB
  15893
  15894	031420				.TYLIN::
  15895	031420					CALL	.TYMSG		; OUTPUT THE MESSAGE
	031420	004737 	031434'			 JSR	PC,.TYMSG
  15896	031424	000437 				BR	.TCRLF		; OUTPUT A <CRLF> AND EXIT
  15897						;
  15898	031426				.TYMSF::
  15899	031426					CALL	.TYMSG		; PRINT THE MESSAGE
	031426	004737 	031434'			 JSR	PC,.TYMSG
  15900	031432	000413 				BR	30$		; FORCE IT AND EXIT
  15901						;
  15902	031434				.TYMSG::
  15903	031434					PUSH	R1		; SAVE R1
	031434	010146 				 MOV	R1,-(SP)
  15904	031436	010001 				MOV	R0,R1		; .MESSAGE POINTER TO R1
  15905	031440				10$:
  15906	031440	112100 				MOVB	(R1)+,R0	; .GET THE CHARACTER INTO R0
  15907	031442	001403 				BEQ	20$		; .EXIT IF <NULL>
  15908	031444					CALL	.TYCHR		; .OUTPUT THE CHARACTER
	031444	004737 	031472'			 JSR	PC,.TYCHR
  15909	031450	000773 				BR	10$		; .AND GO GET THE NEXT CHARACTER
  15910						;
  15911	031452				20$:
  15912	031452					POP	R1		; .RESTORE R1
	031452	012601 				 MOV	(SP)+,R1
  15913	031454					RETURN			; TO CALLER
	031454	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 481
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC

  15915					.SBTTL	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
  15916
  15917					;+
  15918					; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
  15919					;
  15920					; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
  15921					; OUTPUT DEVICE.
  15922					;
  15923					; INPUT ARGUMENTS:
  15924					;
  15925					;	R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
  15926					;
  15927					; OUTPUT ARGUMENTS:
  15928					;
  15929					;	THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
  15930					;
  15931					; ERROR CODES RETURNED:
  15932					;
  15933					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15934					;-
  15935
  15936	031456				.TFCHR::
  15937	031456					CALL	.TYCHR		; LOAD THE CHARACTER INTO THE BUFFER
	031456	004737 	031472'			 JSR	PC,.TYCHR
  15938	031462				30$:
  15939	031462	005737 	031654'			TST	.CDOBC		; WAS THE BUFFER DUMPED?
  15940	031466	001430 				BEQ	40$		; YES -- JUST EXIT
  15941	031470	000430 				BR	.TYOUT		; NO -- FORCE THE BUFFER OUT
  15942						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 482
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

  15944					.SBTTL	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
  15945
  15946					;+
  15947					; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
  15948					; .TCRLF -- OUTPUT A <CRLF>
  15949					;
  15950					; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
  15951					; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
  15952					; OUTPUT DEVICE ON:
  15953					;
  15954					;	(A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
  15955					;
  15956					;	(B) OUTPUT BUFFER OVERFLOW
  15957					;
  15958					; INPUT ARGUMENTS:
  15959					;
  15960					;	R0 CONTAINS THE CHARACTER TO BE OUTPUT.
  15961					;
  15962					; OUTPUT ARGUMENTS:
  15963					;
  15964					;	THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
  15965					;	OR REINITIALIZED IF THE BUFFER WAS DUMPED.
  15966					;
  15967					; ERROR CODES RETURNED:
  15968					;
  15969					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
  15970					;-
  15971
  15972	031472				.TYCHR::
  15973	031472	110077 	146466 			MOVB	R0,@.TYOBP	; PUT THE CHARACTER IN THE BUFFER
  15974	031476	005237 	000164'			INC	.TYOBP		; POINT TO THE NEXT BYTE
  15975	031502	005237 	031654'			INC	.CDOBC		; INCREMENT THE OUTPUT BYTE COUNT
  15976	031506	005337 	000162'			DEC	.TYOBC		; DECREMENT THE LINE CONTROL COUNTER
  15977	031512	001404 				BEQ	.TCRLF		; END-OF-LINE -- FORCE OUTPUT
  15978	031514	122700 	000012 			CMPB	#12,R0		; WAS IT A "<NEW-LINE>"?
  15979	031520	001013 				BNE	40$		; NO -- JUST EXIT
  15980	031522	000413 				BR	.TYOUT		; YES -- OUTPUT THE LINE AND RETURN
  15981						;
  15982
  15983					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 483
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

  15985					;	[CONTINUED FROM THE PREVIOUS PAGE]
  15986
  15987	031524				.TCRLF::			; HERE ON OUTPUT BUFFER END
  15988	031524					PUSH	R0		; SAVE R0
	031524	010046 				 MOV	R0,-(SP)
  15989	031526	012700 	000015 			MOV	#15,R0		; .<CARRIAGE-RETURN>
  15990	031532					CALL	.TYCHR		; .TO BUFFER
	031532	004737 	031472'			 JSR	PC,.TYCHR
  15991	031536	012700 	000012 			MOV	#12,R0		; .<NEW-LINE>
  15992	031542					CALL	.TYCHR		; .TO BUFFER
	031542	004737 	031472'			 JSR	PC,.TYCHR
  15993	031546					POP	R0		; .RESTORE R0
	031546	012600 				 MOV	(SP)+,R0
  15994	031550				40$:
  15995	031550					RETURN			; AND EXIT
	031550	000207 				 RTS	PC
  15996
  15997						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 484
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  15999					.SBTTL	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
  16000
  16001					;+
  16002					; .TYINI -- CONSOLE DEVICE INITIALIZATION
  16003					; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
  16004					;
  16005					; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
  16006					;
  16007					; INPUT ARGUMENTS:
  16008					;
  16009					;	NONE.
  16010					;
  16011					; OUTPUT ARGUMENTS:
  16012					;
  16013					;	THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
  16014					;
  16015					; ERROR CODES RETURNED:
  16016					;
  16017					;	IF THE OUTPUT FAILS THE PARSER EXITS.
  16018					;-
  16019
  16020
  16021						.MCALL	DIR$, QIOW$
  16022
  16023	031552				.TYOUT::
  16024	031552					DIR$	#.ATCID		; ATTACH THE CONSOLE DEVICE
	031552	012746 	031660'			MOV	#.ATCID,-(SP)
	031556	104375 				EMT	375
  16025	031560	103424 				BCS	TYODIE		; ERROR IF CC-C IS SET
  16026	031562					DIR$	#.CDOUT		; OUTPUT THE BUFFER
	031562	012746 	031636'			MOV	#.CDOUT,-(SP)
	031566	104375 				EMT	375
  16027	031570	103420 				BCS	TYODIE		; ERROR IF CC-C IS SET
  16028	031572	105737 	000012'			TSTB	.COSTS		; DID WE REALLY SUCCEED?
  16029	031576	002415 				BLT	TYODIE		; NO -- COMPLAIN BITTERLY
  16030	031600					DIR$	#.DTCID		; YES -- DETACH CONSOLE
	031600	012746 	031674'			MOV	#.DTCID,-(SP)
	031604	104375 				EMT	375
  16031	031606	103411 				BCS	TYODIE		; ERROR IF CC-C IS SET
  16032
  16033					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 485
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  16035					;	[CONTINUED FROM THE PREVIOUS PAGE]
  16036
  16037	031610				.TYINI::			; HERE TO INIT OUTPUT POINTERS
  16038	031610	005037 	031654'			CLR	.CDOBC		; RESET BUFFER BYTE COUNT
  16039	031614	012737 	000204 	000162'		MOV	#.COBFL,.TYOBC	; RESET OUTPUT LINE CONTROL
  16040	031622	012737 	000454'	000164'		MOV	#.COBFR,.TYOBP	; RESET OUTPUT BYTE POINTER
  16041	031630					RETURN			; AND EXIT
	031630	000207 				 RTS	PC
  16042	031632				TYODIE:
  16043	031632					CALLR	.EXITP		; EXIT GRACEFULLY
	031632	000137 	007754'			 JMP	.EXITP
  16044						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1108  13-JAN-78 09:14  PAGE 486
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  16046					; THIS IS THE CONSOLE OUTPUT DPB
  16047
  16048	031636				.CDOUT::
  16049	031636					QIOW$	IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
	031636	   003 	   011 			.BYTE	3,$$$ARG
	031640	000000G				.WORD	IO.WLB
	031642	000002 				.WORD	CODLUN
	031644	   003 	   000 			.BYTE	E.FCOD,0
	031646	000012'				.WORD	.COSTS
	031650	000000 				.WORD	0
	031652	000454'				.WORD	.COBFR
	031654	000000 				.WORD	0
	031656	000000 				.WORD	VF.INT
  16050
  16051		031652'			.CDOBP==.CDOUT+Q.IOPL		; CONSOLE OUTPUT BYTE POINTER
  16052		031654'			.CDOBC==.CDOUT+Q.BYCT		; CONSOLE OUTPUT BYTE COUNT
  16053		031656'			.CDOFC==.CDOUT+Q.OVFC		; CONSOLE OUTPUT FORMAT CHARACTER
  16054
  16055					; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
  16056
  16057	031660				.ATCID::
  16058	031660					QIOW$	IO.ATT,CIDLUN,E.FCID,0,0,0
	031660	   003 	   006 			.BYTE	3,$$$ARG
	031662	000000G				.WORD	IO.ATT
	031664	000001 				.WORD	CIDLUN
	031666	   002 	   000 			.BYTE	E.FCID,0
	031670	000000 				.WORD	0
	031672	000000 				.WORD	0
  16059
  16060					; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
  16061
  16062	031674				.DTCID::
  16063	031674					QIOW$	IO.DET,CIDLUN,E.FCOD,0,0,0
	031674	   003 	   006 			.BYTE	3,$$$ARG
	031676	000000G				.WORD	IO.DET
	031700	000001 				.WORD	CIDLUN
	031702	   003 	   000 			.BYTE	E.FCOD,0
	031704	000000 				.WORD	0
	031706	000000 				.WORD	0
TYR50 -- CONSOLE DEVICE .RAD50 	MACRO M1108  13-JAN-78 09:14  PAGE 487
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  16065					.TITLE	TYR50 -- CONSOLE DEVICE .RAD50 OUTPUT MODULE 7603.30
  16066
  16067						.IDENT	"001010"
  16068
  16069					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16070					;
  16071					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16072					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16073					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16074					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16075					;	FOR ITS ACCURACY.
  16076					;
  16077					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16078					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16079					;
  16080					;
  16081					;		MODULE: CONSOLE DEVICE .RAD50 OUTPUT
  16082					;
  16083					;		VERSION: 01-01
  16084					;
  16085					;		AUTHOR: R. BELANGER
  16086					;
  16087					;		DATE: 7603.30
  16088					;
  16089					;	THIS MODULE CONTAINS:
  16090					;
  16091					;	1) CONSOLE DEVICE .RAD50 OUTPUT CODE
TYR50 -- CONSOLE DEVICE .RAD50 	MACRO M1108  13-JAN-78 09:14  PAGE 488
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  16093					.SBTTL	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
  16094
  16095					;+
  16096					; .TYR50 -- TYPE A .RAD50 SYMBOL
  16097					;
  16098					; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
  16099					; AND PRINT IT ON THE CONSOLE DEVICE.
  16100					;
  16101					; INPUT ARGUMENTS:
  16102					;
  16103					;	R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
  16104					;
  16105					; OUTPUT ATGUMENTS:
  16106					;
  16107					;	NONE.
  16108					;
  16109					; ERROR CODES RETURNED:
  16110					;
  16111					;	NONE.
  16112					;-
  16113
  16114	031710				.TYR50::
  16115	031710					PUSH	<R1,R2>		; SAVE REGISTERS
	031710	010146 				 MOV	R1,-(SP)
	031712	010246 				 MOV	R2,-(SP)
  16116	031714	012702 	001350'			MOV	#.T50TB,R2	; ..TABLE OF DIVISORS TO R2
  16117	031720				10$:
  16118	031720	012201 				MOV	(R2)+,R1	; ..CURRENT DIVISOR TO R1
  16119	031722	001414 				BEQ	30$		; ..DONE IF .EQ. 0
  16120	031724					CALL	$DIV		; ..DO THE DIVISION
	031724	004737 	000000G			 JSR	PC,$DIV
  16121	031730					PUSH	R1		; ..SAVE THE REMAINDER
	031730	010146 				 MOV	R1,-(SP)
  16122	031732	012701 	001320'			MOV	#.R50TB,R1	; ...CONVERSION TABLE POINTER TO R1
  16123	031736				20$:
  16124	031736	062100 				ADD	(R1)+,R0	; ...CONVERT THIS CHARACTER
  16125	031740	020021 				CMP	R0,(R1)+	; ...FOUND IT YET?
  16126	031742	103775 				BLO	20$		; ...NO -- KEEP TRYING
  16127	031744					CALL	.TYCHR		; ...YES -- PUT IT IN THE BUFFER
	031744	004737 	031472'			 JSR	PC,.TYCHR
  16128	031750					POP	R0		; ...LAST REMAINDER IS NEW DIVIDEND
	031750	012600 				 MOV	(SP)+,R0
  16129	031752	000762 				BR	10$		; ..DO THE NEXT CHARACTER
  16130						;
  16131	031754				30$:
  16132	031754					POP	<R2,R1>		; ..RESTORE REGISTERS
	031754	012602 				 MOV	(SP)+,R2
	031756	012601 				 MOV	(SP)+,R1
  16133	031760					RETURN			; TO CALLER
	031760	000207 				 RTS	PC
TYTIM -- TIME OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 489
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  16135					.TITLE	TYTIM -- TIME OUTPUT MODULE 7702.16
  16136
  16137						.IDENT	"003000"
  16138
  16139					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  16140					;
  16141					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  16142					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  16143					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  16144					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16145					;	FOR ITS ACCURACY.
  16146					;
  16147					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  16148					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  16149					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  16150					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  16151					;
  16152					;
  16153					;		MODULE: TIME OUTPUT MODULE
  16154					;
  16155					;		VERSION: 03-00
  16156					;
  16157					;		AUTHOR: R. BELANGER
  16158					;
  16159					;		DATE: 7702.16
  16160					;
  16161					;	THIS MODULE CONTAINS:
  16162					;
  16163					;	1) TIME OUTPUT CODE
  16164					;
  16165					;	MODIFICATIONS:
  16166					;
  16167					;	NO.	DATE		PROGRAMMER	REASON
  16168					;	---	----		----------	------
  16169					;	001	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
TYTIM -- TIME OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 490
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

  16171					.SBTTL	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
  16172
  16173					;+
  16174					; .TYTIM -- TIME OUTPUT SUBROUTINE
  16175					;
  16176					; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
  16177					; IN THE FOLLOWING FORMAT: "HH:MM"
  16178					;
  16179					; INPUT ARGUMENTS:
  16180					;
  16181					;	R0 POINTS TO THE TIME VALUE TO BE PRINTED
  16182					;	   IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
  16183					;
  16184					; OUTPUT ARGUMENTS:
  16185					;
  16186					;	NONE.
  16187					;
  16188					; ERROR CODES RETURNED:
  16189					;
  16190					;	NONE.
  16191					;-
  16192
  16193
  16194	031762				.TYTIM::
  16195	031762					PUSH	<.ORADX,R0,R1>	; SAVE CALLER'S REGISTERS
	031762	013746 	000106'			 MOV	.ORADX,-(SP)
	031766	010046 				 MOV	R0,-(SP)
	031770	010146 				 MOV	R1,-(SP)
  16196	031772	012737 	000012 	000106'		MOV	#^D10,.ORADX	; ...SET OUTPUT RADIX TO DECIMAL
  16197	032000	011000 				MOV	(R0),R0		; ...GET THE TIME IN SSM/2
  16198	032002	012701 	003410 			MOV	#^D1800,R1	; ...DIVISOR FOR HOURS
  16199	032006					CALL	$DIV		; ...COMPUTE THE HOURS
	032006	004737 	000000G			 JSR	PC,$DIV
  16200	032012					PUSH	R0		; ...SAVE THEM
	032012	010046 				 MOV	R0,-(SP)
  16201	032014	010100 				MOV	R1,R0		; ....REMAINDER TO R0
  16202	032016	012701 	000036 			MOV	#^D30,R1	; ....DIVISOR FOR MINUTES
  16203	032022					CALL	$DIV		; ....COMPUTE THE MINUTES
	032022	004737 	000000G			 JSR	PC,$DIV
  16204	032026	010001 				MOV	R0,R1		; ....SAVE THEM IN R1
  16205	032030	022716 	000011 			CMP	#^D9,(SP)	; ....0900 OR EARLIER?
  16206	032034	002404 				BLT	10$		; ....NO -- GO ON
  16207	032036	012700 	000060 			MOV	#'0,R0		; ....YES -- FORCE THE LEADING ZERO
  16208	032042					CALL	.TYCHR		; ....SO
	032042	004737 	031472'			 JSR	PC,.TYCHR
  16209
  16210					;	[CONTINUED ON THE FOLLOWING PAGE]
TYTIM -- TIME OUTPUT MODULE 770	MACRO M1108  13-JAN-78 09:14  PAGE 491
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

  16212					;	[CONTINUED FROM THE PREVIOUS PAGE]
  16213
  16214	032046				10$:
  16215	032046					POP	R0		; ....GET THE HOUR
	032046	012600 				 MOV	(SP)+,R0
  16216	032050					CALL	.TYELA		; ...PRINT IT
	032050	004737 	030672'			 JSR	PC,.TYELA
  16217	032054					CALL	.TYCOL		; ...TYPE A <COLON>
	032054	004737 	030604'			 JSR	PC,.TYCOL
  16218	032060	022701 	000011 			CMP	#^D9,R1		; ...9 MINUTES OR EARLIER?
  16219	032064	002404 				BLT	20$		; ...NO -- GO ON
  16220	032066	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
  16221	032072					CALL	.TYCHR		; ...SO
	032072	004737 	031472'			 JSR	PC,.TYCHR
  16222	032076				20$:
  16223	032076	010100 				MOV	R1,R0		; ...GET THE MINUTE
  16224	032100					CALL	.TYELA		; ...PRINT IT
	032100	004737 	030672'			 JSR	PC,.TYELA
  16225	032104					POP	<R1,R0,.ORADX>	; ...RESTORE THE REGISTERS
	032104	012601 				 MOV	(SP)+,R1
	032106	012600 				 MOV	(SP)+,R0
	032110	012637 	000106'			 MOV	(SP)+,.ORADX
  16226	032114					CALLR	.TYSPC		; TYPE A <SPACE> AND EXIT
	032114	000137 	030644'			 JMP	.TYSPC
  16227						;
  16228
WHATB -- WHAT COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 492
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

  16230					.TITLE	WHATB -- WHAT COMMAND TABLE MODULE 7703.25
  16231
  16232						.IDENT	"003000"
  16233
  16234					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  16235					;
  16236					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  16237					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  16238					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  16239					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16240					;	FOR ITS ACCURACY.
  16241					;
  16242					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  16243					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  16244					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  16245					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  16246					;
  16247					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  16248					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  16249					;
  16250					;
  16251					;		MODULE: WHAT COMMAND TABLE
  16252					;
  16253					;		VERSION: 03-00
  16254					;
  16255					;		AUTHOR: R. BELANGER
  16256					;
  16257					;		DATE: 7703.25
  16258					;
  16259					;	THIS MODULE CONTAINS:
  16260					;
  16261					;	1) THE WHAT COMMAND TABLE
  16262					;
  16263					;	MODIFICATIONS:
  16264					;
  16265					;	NO.	DATE		PROGRAMMER	REASON
  16266					;	---	----		----------	------
  16267					;	001	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
  16268					;	002	04-MAR-77	R. BELANGER	ADD WHAT DATE
WHATB -- WHAT COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 493
.WHATB -- THE WHAT COMMAND TABLE 7703.25

  16270					.SBTTL	.WHATB -- THE WHAT COMMAND TABLE 7703.25
  16271
  16272	032120				.WHATB::
  16273	032120					COMND$	CLOCK,<LG.PRG!LG.RPT>,.WHTCL
	006600	   103 	   114 	   117 		 .ASCIZ	%CLOCK%
	006603	   103 	   113 	   000
	032120	006600'				 .WORD	$$CMDN		; POINTER TO "CLOCK" SYMBOL
	032122	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	032124	032320'				 .WORD	.WHTCL		; ROUTINE TO CALL
  16274	032126					COMND$	CONSOLE,LG.OPR,.WHCON
	006606	   103 	   117 	   116 		 .ASCIZ	%CONSOLE%
	006611	   123 	   117 	   114
	006614	   105 	   000
	032126	006606'				 .WORD	$$CMDN		; POINTER TO "CONSOLE" SYMBOL
	032130	000001 				 .WORD	LG.OPR		; LEGAL BITS
	032132	032556'				 .WORD	.WHCON		; ROUTINE TO CALL
  16275	032134					COMND$	DATE,<LG.ALL!LG.RPT>,.WHDAT
	006616	   104 	   101 	   124 		 .ASCIZ	%DATE%
	006621	   105 	   000
	032134	006616'				 .WORD	$$CMDN		; POINTER TO "DATE" SYMBOL
	032136	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	032140	032626'				 .WORD	.WHDAT		; ROUTINE TO CALL
  16276	032142					COMND$	INCREMENT,LG.OPR,.WHINC
	006623	   111 	   116 	   103 		 .ASCIZ	%INCREMENT%
	006626	   122 	   105 	   115
	006631	   105 	   116 	   124
	006634	   000
	032142	006623'				 .WORD	$$CMDN		; POINTER TO "INCREMENT" SYMBOL
	032144	000001 				 .WORD	LG.OPR		; LEGAL BITS
	032146	033040'				 .WORD	.WHINC		; ROUTINE TO CALL
  16277	032150					COMND$	KLINIK,LG.ALL,.WHKLN
	006635	   113 	   114 	   111 		 .ASCIZ	%KLINIK%
	006640	   116 	   111 	   113
	006643	   000
	032150	006635'				 .WORD	$$CMDN		; POINTER TO "KLINIK" SYMBOL
	032152	000007 				 .WORD	LG.ALL		; LEGAL BITS
	032154	033126'				 .WORD	.WHKLN		; ROUTINE TO CALL
  16278	032156					COMND$	MEMORY,LG.OPR,.WHMEM
	006644	   115 	   105 	   115 		 .ASCIZ	%MEMORY%
	006647	   117 	   122 	   131
	006652	   000
	032156	006644'				 .WORD	$$CMDN		; POINTER TO "MEMORY" SYMBOL
	032160	000001 				 .WORD	LG.OPR		; LEGAL BITS
	032162	033452'				 .WORD	.WHMEM		; ROUTINE TO CALL
  16279	032164					COMND$	OFFSET,LG.PRG,.WHOFS
	006653	   117 	   106 	   106 		 .ASCIZ	%OFFSET%
	006656	   123 	   105 	   124
	006661	   000
	032164	006653'				 .WORD	$$CMDN		; POINTER TO "OFFSET" SYMBOL
	032166	000002 				 .WORD	LG.PRG		; LEGAL BITS
	032170	033504'				 .WORD	.WHOFS		; ROUTINE TO CALL
  16280	032172					COMND$	PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS
	006662	   120 	   101 	   122 		 .ASCIZ	%PARITY-STOP%
	006665	   111 	   124 	   131
	006670	   055 	   123 	   124
	006673	   117 	   120 	   000
	032172	006662'				 .WORD	$$CMDN		; POINTER TO "PARITY-STOP" SYMBOL
WHATB -- WHAT COMMAND TABLE MOD	MACRO M1108  13-JAN-78 09:14  PAGE 493-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25

	032174	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	032176	033530'				 .WORD	.WHTPS		; ROUTINE TO CALL
  16281	032200					COMND$	RELOAD,LG.PRG,.WHRLD
	006676	   122 	   105 	   114 		 .ASCIZ	%RELOAD%
	006701	   117 	   101 	   104
	006704	   000
	032200	006676'				 .WORD	$$CMDN		; POINTER TO "RELOAD" SYMBOL
	032202	000002 				 .WORD	LG.PRG		; LEGAL BITS
	032204	033730'				 .WORD	.WHRLD		; ROUTINE TO CALL
  16282	032206					COMND$	REPEAT,LG.OPR,.WHRPT
	006705	   122 	   105 	   120 		 .ASCIZ	%REPEAT%
	006710	   105 	   101 	   124
	006713	   000
	032206	006705'				 .WORD	$$CMDN		; POINTER TO "REPEAT" SYMBOL
	032210	000001 				 .WORD	LG.OPR		; LEGAL BITS
	032212	033052'				 .WORD	.WHRPT		; ROUTINE TO CALL
  16283					.IF NE	FTTRAK
  16284	032214					COMND$	TRACKS,LG.PRG,.WHTRK
	006714	   124 	   122 	   101 		 .ASCIZ	%TRACKS%
	006717	   103 	   113 	   123
	006722	   000
	032214	006714'				 .WORD	$$CMDN		; POINTER TO "TRACKS" SYMBOL
	032216	000002 				 .WORD	LG.PRG		; LEGAL BITS
	032220	033762'				 .WORD	.WHTRK		; ROUTINE TO CALL
  16285					.ENDC		; FTTRAK
  16286	032222					COMND$	VERSION,LG.OPR,.WHATV
	006723	   126 	   105 	   122 		 .ASCIZ	%VERSION%
	006726	   123 	   111 	   117
	006731	   116 	   000
	032222	006723'				 .WORD	$$CMDN		; POINTER TO "VERSION" SYMBOL
	032224	000001 				 .WORD	LG.OPR		; LEGAL BITS
	032226	032256'				 .WORD	.WHATV		; ROUTINE TO CALL
  16287	032230	000000 				.WORD	0		; END OF TABLE MARKER
WHATC -- WHAT COMMAND DISPATCH 	MACRO M1108  13-JAN-78 09:14  PAGE 494
.WHATB -- THE WHAT COMMAND TABLE 7703.25

  16289					.TITLE	WHATC -- WHAT COMMAND DISPATCH MODULE 7607.14
  16290
  16291						.IDENT	"001010"
  16292
  16293					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16294					;
  16295					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16296					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16297					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16298					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16299					;	FOR ITS ACCURACY.
  16300					;
  16301					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16302					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16303					;
  16304					;
  16305					;		MODULE: WHAT COMMAND DISPATCH
  16306					;
  16307					;		VERSION: 01-01
  16308					;
  16309					;		AUTHOR: R. BELANGER
  16310					;
  16311					;		DATE: 7607.14
  16312					;
  16313					;	THIS MODULE CONTAINS:
  16314					;
  16315					;	1) WHAT COMMAND DISPATCH CODE
WHATC -- WHAT COMMAND DISPATCH 	MACRO M1108  13-JAN-78 09:14  PAGE 495
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14

  16317					.SBTTL	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
  16318
  16319					;+
  16320					; .WHATC -- THE "WHAT" COMMAND DISPATCH
  16321					;
  16322					; THIS ROUTINE IS THE TOPMOST LEVEL OF THE "WHAT COMMAND WHICH
  16323					; PERFORMS THE DISPATCH FOR THE SPECIFIED OBJECT.
  16324					;
  16325					; INPUT ARGUMENTS:
  16326					;
  16327					;	NONE.
  16328					;
  16329					; OUTPUT ARGUMENTS:
  16330					;
  16331					;	NONE.
  16332					;
  16333					; ERROR CODES RETURNED:
  16334					;
  16335					;	NONE.
  16336					;-
  16337
  16338	032232				.WHATC::
  16339	032232	012700 	032120'			MOV	#.WHATB,R0	; TABLE POINTER TO R0
  16340	032236					CALL	.CKOBJ		; MUST HAVE AN OBJECT
	032236	004737 	002074'			 JSR	PC,.CKOBJ
  16341	032242					CALL	.TSCAN		; SCAN IT
	032242	004737 	030176'			 JSR	PC,.TSCAN
  16342	032246					CALL	.CKEOC		; MUST HAVE E-O-C
	032246	004737 	002010'			 JSR	PC,.CKEOC
  16343	032252					CALLR	@2(R0)		; DO WHAT IT SAYS
	032252	000170 	000002 			 JMP	@2(R0)
  16344						;
WHATV -- WHAT VERSION COMMAND M	MACRO M1108  13-JAN-78 09:14  PAGE 496
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14

  16346					.TITLE	WHATV -- WHAT VERSION COMMAND MODULE 7607.21
  16347
  16348						.IDENT	"003010"							; ADP01
  16349
  16350					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16351					;
  16352					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16353					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16354					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16355					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16356					;	FOR ITS ACCURACY.
  16357					;
  16358					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16359					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16360					;
  16361					;
  16362					;		MODULE: WHAT VERSION COMMAND
  16363					;
  16364					;		VERSION: 03-01							; ADP01
  16365					;
  16366					;		AUTHOR: R. BELANGER
  16367					;
  16368					;		DATE: 7607.21
  16369					;
  16370					;	THIS MODULE CONTAINS:
  16371					;
  16372					;	1) WHAT VERSION COMMAND CODE
  16373					;
  16374					; MODIFICATIONS:
  16375					;
  16376					;	ADP01	1-JUN-77 - UPDATE FOR NEW RSX20F VERSION NUMBER FORMAT		; ADP01
WHATV -- WHAT VERSION COMMAND M	MACRO M1108  13-JAN-78 09:14  PAGE 497
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21

  16378					.SBTTL	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
  16379
  16380	032256				.WHATV::
  16381	032256	012700 	006733'			MOV	#WVMSG1,R0	; MESSAGE POINTER TO R0
  16382	032262					CALL	.TYMSG		; PRINT THAT
	032262	004737 	031434'			 JSR	PC,.TYMSG
  16383	032266	012700 	000000'			MOV	#CPVMSG,R0	; PARSER VERSION NUMBER
  16384	032272					CALL	.TYLIN		; PRINT IT
	032272	004737 	031420'			 JSR	PC,.TYLIN
  16385	032276	012700 	006755'			MOV	#WVMSG2,R0	; MESSAGE POINTER TO R0
  16386	032302					CALL	.TYMSG		; PRINT IT
	032302	004737 	031434'			 JSR	PC,.TYMSG
  16387	032306	012700 	000000G			MOV	#.VERNO,R0	; POINTER TO RSX20F ASCIZ VERSION NUMBER.	; ADP01
  16388	032312					CALL	.TYLIN		; ...PRINT IT
	032312	004737 	031420'			 JSR	PC,.TYLIN
  16389	032316					RETURN			; TO CALLER					;**-1
	032316	000207 				 RTS	PC
WHATV -- WHAT VERSION COMMAND M	MACRO M1108  13-JAN-78 09:14  PAGE 498
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21

  16391	006733				.PSECT	MESSAG
  16392
  16393	006733				WVMSG1:
  16394	006733	   040 	   120 	   101 		.ASCIZ	% PARSER VERSION: %
	006736	   122 	   123 	   105
	006741	   122 	   040 	   126
	006744	   105 	   122 	   123
	006747	   111 	   117 	   116
	006752	   072 	   040 	   000
  16395	006755				WVMSG2:
  16396	006755	   040 	   122 	   123 		.ASCIZ	% RSX20F VERSION: %
	006760	   130 	   062 	   060
	006763	   106 	   040 	   126
	006766	   105 	   122 	   123
	006771	   111 	   117 	   116
	006774	   072 	   040 	   000
  16397
  16398	032320				.PSECT
WHCLK -- WHAT CLOCK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 499
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21

  16400					.TITLE	WHCLK -- WHAT CLOCK COMMAND MODULE 7608.17
  16401
  16402						.IDENT	"001020"
  16403
  16404					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  16405					;
  16406					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  16407					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  16408					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  16409					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16410					;	FOR ITS ACCURACY.
  16411					;
  16412					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  16413					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  16414					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  16415					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  16416					;
  16417					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  16418					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  16419					;
  16420					;
  16421					;		MODULE: WHAT CLOCK COMMAND
  16422					;
  16423					;		VERSION: 01-02
  16424					;
  16425					;		AUTHOR: R. BELANGER
  16426					;
  16427					;		DATE: 7608.17
  16428					;
  16429					;	THIS MODULE CONTAINS:
  16430					;
  16431					;	1) WHAT CLOCK COMMAND CODE
WHCLK -- WHAT CLOCK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 500
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  16433					.SBTTL	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
  16434
  16435	032320				.WHTCL::
  16436	032320					CALL	.STPKL		; STOP THE KL
	032320	004737 	026330'			 JSR	PC,.STPKL
  16437	032324					CALL	.RDCPP		; READ THE CLOCK BOARD
	032324	004737 	017602'			 JSR	PC,.RDCPP
  16438	032330					CALL	.RSTKL		; RESTART THE KL
	032330	004737 	022134'			 JSR	PC,.RSTKL
  16439	032334				.WHTCA::
  16440	032334					PUSH	.CLKWD		; SAVE THE WORD ON THE STACK
	032334	013746 	000010'			 MOV	.CLKWD,-(SP)
  16441	032340	012700 	007106'			MOV	#WCMSG0,R0	; .HEADER MESSAGE
  16442	032344					CALL	.TYLIN		; .TYPE IT
	032344	004737 	031420'			 JSR	PC,.TYLIN
  16443	032350	012700 	007132'			MOV	#WCMSG1,R0	; .ENABLES
  16444	032354					CALL	.TYMSG		; .TYPE IT
	032354	004737 	031434'			 JSR	PC,.TYMSG
  16445	032360	012701 	032522'			MOV	#CLDSTB,R1	; .TABLE POINTER TO R1
  16446	032364	012702 	000003 			MOV	#^D3,R2		; .ITERATION COUNT TO R2
  16447	032370	011603 				MOV	(SP),R3		; .CLOCK WORD TO R3
  16448	032372	042703 	174377 			BIC	#^C<CD.ALL>,R3	; .MASK OUT THE DISABLES
  16449	032376	001005 				BNE	10$		; .GO PRINT DISABLES
  16450	032400	012700 	007170'			MOV	#WCMSG4,R0	; .NO DISABLES SET -- SAY SO
  16451	032404					CALL	.TYLIN		; .TYPE IT
	032404	004737 	031420'			 JSR	PC,.TYLIN
  16452	032410	000414 				BR	30$		; .AND GO ON
  16453						;
  16454	032412				10$:
  16455	032412	012100 				MOV	(R1)+,R0	; .MESSAGE POINTER TO R0
  16456	032414	032103 				BIT	(R1)+,R3	; .IS THE DISABLE ON?
  16457	032416	001406 				BEQ	20$		; .NO -- FORGET IT
  16458	032420					CALL	.TYMSG		; .YES -- SAY SO
	032420	004737 	031434'			 JSR	PC,.TYMSG
  16459	032424					CALL	.TYCOM		; .TYPE A COMMA
	032424	004737 	030614'			 JSR	PC,.TYCOM
  16460	032430					CALL	.TYSPC		; .TYPE A <SPACE>
	032430	004737 	030644'			 JSR	PC,.TYSPC
  16461	032434				20$:
  16462	032434	077212 				SOB	R2,10$		; .LOOP TILL DONE
  16463	032436					CALL	.TCRLF		; .END THE LINE
	032436	004737 	031524'			 JSR	PC,.TCRLF
  16464
  16465					;	[CONTINUED ON THE FOLLOWING PAGE]
WHCLK -- WHAT CLOCK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 501
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  16467					;	[CONTINUED FROM THE PREVIOUS PAGE]
  16468
  16469	032442				30$:
  16470	032442	012700 	007146'			MOV	#WCMSG2,R0	; .SOURCE MESSAGE
  16471	032446					CALL	.TYMSG		; .PRINT IT
	032446	004737 	031434'			 JSR	PC,.TYMSG
  16472	032452	011601 				MOV	(SP),R1		; .CLOCK CONTROL WORD TO R1
  16473	032454	042701 	177763 			BIC	#^C<CS.ALL>,R1	; .FLUSH JUNK
  16474	032460	006201 				ASR	R1		; .MAKE AN INDEX OF IT
  16475	032462	016100 	032536'			MOV	CLSRTB(R1),R0	; .SOURCE NAME TO R0
  16476	032466					CALL	.TYLIN		; .PRINT IT
	032466	004737 	031420'			 JSR	PC,.TYLIN
  16477	032472	012700 	007160'			MOV	#WCMSG3,R0	; .RATE MESSAGE
  16478	032476					CALL	.TYMSG		; .PRINT IT
	032476	004737 	031434'			 JSR	PC,.TYMSG
  16479	032502					POP	R1		; .CLOCK CONTROL WORD TO R1
	032502	012601 				 MOV	(SP)+,R1
  16480	032504	042701 	177774 			BIC	#^C<CR.ALL>,R1	; FLUSH JUNK
  16481	032510	006301 				ASL	R1		; MAKE AN INDEX FROM IT
  16482	032512	016100 	032546'			MOV	CLRTTB(R1),R0	; RATE NAME TO R0
  16483	032516					CALLR	.TYLIN		; PRINT IT AND EXIT
	032516	000137 	031420'			 JMP	.TYLIN
  16484						;
  16485
  16486	032522				CLDSTB:
  16487	032522	006777'				.WORD	WCLMS0
  16488	032524	002000 				.WORD	CD.CRC
  16489	032526	007004'				.WORD	WCLMS1
  16490	032530	001000 				.WORD	CD.DPC
  16491	032532	007016'				.WORD	WCLMS2
  16492	032534	000400 				.WORD	CD.CLC
  16493	032536				CLSRTB:
  16494	032536	007026'				.WORD	WCLMS3
  16495	032540	007037'				.WORD	WCLMS4
  16496	032542	007046'				.WORD	WCLMS5
  16497	032544	007037'				.WORD	WCLMS4
  16498	032546				CLRTTB:
  16499	032546	007057'				.WORD	WCLMS6
  16500	032550	007064'				.WORD	WCLMS7
  16501	032552	007071'				.WORD	WCLMS8
  16502	032554	007101'				.WORD	WCLMS9
WHCLK -- WHAT CLOCK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 502
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  16504	006777				.PSECT	MESSAG
  16505
  16506	006777				WCLMS0:
  16507	006777	   103 	   122 	   101 		.ASCIZ	%CRAM%
	007002	   115 	   000
  16508	007004				WCLMS1:
  16509	007004	   104 	   101 	   124 		.ASCIZ	%DATA-PATH%
	007007	   101 	   055 	   120
	007012	   101 	   124 	   110
	007015	   000
  16510	007016				WCLMS2:
  16511	007016	   103 	   117 	   116 		.ASCIZ	%CONTROL%
	007021	   124 	   122 	   117
	007024	   114 	   000
  16512	007026				WCLMS3:
  16513	007026	   111 	   116 	   124 		.ASCIZ	%INTERNAL%
	007031	   105 	   122 	   116
	007034	   101 	   114 	   000
  16514	007037				WCLMS4:
  16515	007037	   115 	   101 	   122 		.ASCIZ	%MARGIN%
	007042	   107 	   111 	   116
	007045	   000
  16516	007046				WCLMS5:
  16517	007046	   105 	   130 	   124 		.ASCIZ	%EXTERNAL%
	007051	   105 	   122 	   116
	007054	   101 	   114 	   000
  16518	007057				WCLMS6:
  16519	007057	   106 	   125 	   114 		.ASCIZ	%FULL%
	007062	   114 	   000
  16520	007064				WCLMS7:
  16521	007064	   110 	   101 	   114 		.ASCIZ	%HALF%
	007067	   106 	   000
  16522	007071				WCLMS8:
  16523	007071	   121 	   125 	   101 		.ASCIZ	%QUARTER%
	007074	   122 	   124 	   105
	007077	   122 	   000
  16524	007101				WCLMS9:
  16525	007101	   123 	   114 	   117 		.ASCIZ	%SLOW%
	007104	   127 	   000
  16526	007106				WCMSG0:
  16527	007106	   113 	   114 	   040 		.ASCIZ	%KL CLOCK PARAMETERS%
	007111	   103 	   114 	   117
	007114	   103 	   113 	   040
	007117	   120 	   101 	   122
	007122	   101 	   115 	   105
	007125	   124 	   105 	   122
	007130	   123 	   000
  16528	007132				WCMSG1:
  16529	007132	   040 	   104 	   111 		.ASCIZ	% DISABLED: %
	007135	   123 	   101 	   102
	007140	   114 	   105 	   104
	007143	   072 	   040 	   000
  16530	007146				WCMSG2:
  16531	007146	   040 	   123 	   117 		.ASCIZ	% SOURCE: %
	007151	   125 	   122 	   103
	007154	   105 	   072 	   040
	007157	   000
WHCLK -- WHAT CLOCK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 502-1
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  16532	007160				WCMSG3:
  16533	007160	   040 	   122 	   101 		.ASCIZ	% RATE: %
	007163	   124 	   105 	   072
	007166	   040 	   000
  16534	007170				WCMSG4:
  16535	007170	   116 	   117 	   116 		.ASCIZ	%NONE%
	007173	   105 	   000
  16536
  16537	032556				.PSECT
WHCON -- WHAT CONSOLE COMMAND M	MACRO M1108  13-JAN-78 09:14  PAGE 503
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17

  16539					.TITLE	WHCON -- WHAT CONSOLE COMMAND MODULE 7607.14
  16540
  16541						.IDENT	"001010"
  16542
  16543					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16544					;
  16545					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16546					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16547					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16548					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16549					;	FOR ITS ACCURACY.
  16550					;
  16551					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16552					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16553					;
  16554					;
  16555					;		MODULE: WHAT CONSOLE COMMAND
  16556					;
  16557					;		VERSION: 01-01
  16558					;
  16559					;		AUTHOR: R. BELANGER
  16560					;
  16561					;		DATE: 7607.14
  16562					;
  16563					;	THIS MODULE CONTAINS:
  16564					;
  16565					;	1) WHAT CONSOLE COMMAND CODE
WHCON -- WHAT CONSOLE COMMAND M	MACRO M1108  13-JAN-78 09:14  PAGE 504
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14

  16567					.SBTTL	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
  16568
  16569	032556				.WHCON::
  16570	032556	012700 	007175'			MOV	#WCMMSG,R0	; MESSAGE POINTER TO R0
  16571	032562					CALL	.TYMSG		; PRINT IT
	032562	004737 	031434'			 JSR	PC,.TYMSG
  16572	032566	013701 	000000G			MOV	.FEMOD,R1	; MODE WORD TO R1
  16573	032572	012700 	007215'			MOV	#WCMMS0,R0	; MAINTENANCE
  16574	032576	032701 	000004 			BIT	#LG.MNT,R1	; IS IT ON?
  16575	032602	001007 				BNE	10$		; YES -- SAY SO
  16576	032604	012700 	007231'			MOV	#WCMMS1,R0	; NO -- PROGRAMMER?
  16577	032610	032701 	000002 			BIT	#LG.PRG,R1	; IS IT ON?
  16578	032614	001002 				BNE	10$		; YES -- SAY SO
  16579	032616	012700 	007244'			MOV	#WCMMS2,R0	; NO -- MUST BE OPERATOR
  16580	032622				10$:
  16581	032622					CALLR	.TYLIN		; YES -- PRINT AND EXIT
	032622	000137 	031420'			 JMP	.TYLIN
  16582						;
  16583
  16584	007175				.PSECT	MESSAG
  16585
  16586	007175				WCMMSG:
  16587	007175	   040 	   103 	   117 		.ASCIZ	% CONSOLE MODE: %
	007200	   116 	   123 	   117
	007203	   114 	   105 	   040
	007206	   115 	   117 	   104
	007211	   105 	   072 	   040
	007214	   000
  16588	007215				WCMMS0:
  16589	007215	   115 	   101 	   111 		.ASCIZ	%MAINTENANCE%
	007220	   116 	   124 	   105
	007223	   116 	   101 	   116
	007226	   103 	   105 	   000
  16590	007231				WCMMS1:
  16591	007231	   120 	   122 	   117 		.ASCIZ	%PROGRAMMER%
	007234	   107 	   122 	   101
	007237	   115 	   115 	   105
	007242	   122 	   000
  16592	007244				WCMMS2:
  16593	007244	   117 	   120 	   105 		.ASCIZ	%OPERATOR%
	007247	   122 	   101 	   124
	007252	   117 	   122 	   000
  16594
  16595	032626				.PSECT
WHDAT -- "WHAT DATE" COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 505
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14

  16597					.TITLE	WHDAT -- "WHAT DATE" COMMAND MODULE 7703.03
  16598
  16599						.IDENT	"003000"
  16600
  16601					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  16602					;
  16603					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  16604					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  16605					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  16606					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16607					;	FOR ITS ACCURACY.
  16608					;
  16609					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  16610					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  16611					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  16612					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  16613					;
  16614					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  16615					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  16616					;
  16617					;		MODULE: END STATEMENT
  16618					;
  16619					;		VERSION: 03-00
  16620					;
  16621					;		AUTHOR: R. BELANGER
  16622					;
  16623					;		DATE: 7703.03
  16624					;
  16625					;	THIS MODULE CONTAINS:
  16626					;
  16627					;	1) WHAT DATE COMMAND CODE
  16628					;	2) WHAT DATE LOCAL DATA
  16629
  16630						.MCALL	GTIM$S
WHDAT -- "WHAT DATE" COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 506
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

  16632					.SBTTL	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
  16633
  16634					;+
  16635					; .WHDAT -- THE "WHAT DATE" COMMAND
  16636					;
  16637					; THIS SUBROUTINE WILL DISPLAY THE THE CURRENT SYSTEM TIME OF DAY
  16638					; ON THE CONSOLE DEVICE. IF THE TIME HAS NOT BEEN SET BY EITHER A
  16639					; "SET DATE" COMMAND OR BY THE KL10 EXECUTIVE THE VALID FLAG WILL BE OFF
  16640					; OTHERWISE IT WILL BE ON.
  16641					;
  16642					; INPUT ARGUMENTS:
  16643					;
  16644					;	NONE.
  16645					;
  16646					; OUTPUT ARGUMENTS:
  16647					;
  16648					;	NONE.
  16649					;
  16650					; ERROR CODES RETUNED:
  16651					;
  16652					;	NONE.
  16653					;-
  16654
  16655
  16656	032626				.WHDAT::
  16657	032626					CALL	.CKEOC		; MUST HAVE E-O-C
	032626	004737 	002010'			 JSR	PC,.CKEOC
  16658	032632	012701 	033020'			MOV	#DATBUF,R1	; BUFFER POINTER TO R1
  16659	032636					GTIM$S	R1		; REAAD THE DATE AND TIME
	032636	010146 				MOV	R1,-(SP)
	032640	012746 				MOV	(PC)+,-(SP)
	032642	   073 	   002 			.BYTE	59.,2
	032644	104375 				EMT	375
  16660	032646	005046 				CLR	-(SP)		; CLEAR A BUFFER ON STACK
  16661	032650	005046 				CLR	-(SP)		; .SO
  16662	032652	010600 				MOV	SP,R0		; ..POINTER TO R0
  16663	032654	112120 				MOVB	(R1)+,(R0)+	; ..SET YEAR
  16664	032656	105721 				TSTB	(R1)+		; ..ADVANCE POINTER
  16665	032660	112120 				MOVB	(R1)+,(R0)+	; ..SET MONTH
  16666	032662	105721 				TSTB	(R1)+		; ..ADVANCE POINTER
  16667	032664	112120 				MOVB	(R1)+,(R0)+	; ..SET DAY
  16668	032666	012700 	007255'			MOV	#WHDMS0,R0	; ..MESSAGE POINTER TO R0
  16669	032672					CALL	.TYLIN		; ..PRINT IT
	032672	004737 	031420'			 JSR	PC,.TYLIN
  16670	032676	113700 	000000G			MOVB	.DOW,R0		; ..DAY OF WEEK INDEX TO R0
  16671	032702	006300 				ASL	R0		; ..TIMES 2
  16672	032704	016000 	033002'			MOV	DOWMTB(R0),R0	; ..MESSAGE POINTER TO R0
  16673	032710					CALL	.TYMSG		; ..PRINT IT
	032710	004737 	031434'			 JSR	PC,.TYMSG
  16674	032714					CALL	.TYSPC		; ..AND A <SPACE>
	032714	004737 	030644'			 JSR	PC,.TYSPC
  16675	032720	010600 				MOV	SP,R0		; ..POINT TO DATE
  16676	032722					CALL	.TYDAT		; ..TYPE THE DATE
	032722	004737 	030440'			 JSR	PC,.TYDAT
  16677	032726					CALL	.TYSPC		; ..AND A <SPACE>
	032726	004737 	030644'			 JSR	PC,.TYSPC
  16678	032732	012700 	000000G			MOV	#.SSM,R0	; ..POINT TO THE TIME
WHDAT -- "WHAT DATE" COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 506-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

  16679	032736					CALL	.TYTIM		; ..TYPE IT
	032736	004737 	031762'			 JSR	PC,.TYTIM
  16680	032742					CALL	.TCRLF		; ..END THE LINE
	032742	004737 	031524'			 JSR	PC,.TCRLF
  16681	032746	012700 	007303'			MOV	#WHDMS1,R0	; ..MESSAGE POINTER TO R0
  16682	032752					CALL	.TYMSG		; ..PRINT IT
	032752	004737 	031434'			 JSR	PC,.TYMSG
  16683	032756	012700 	007327'			MOV	#WHDMS2,R0	; ..ASSUME VALID
  16684	032762	005737 	000000G			TST	.DATE3		; ..IS IT??
  16685	032766	001002 				BNE	10$		; ..YES -- GO ON
  16686	032770	012700 	007332'			MOV	#WHDMS3,R0	; ..NO -- SAY SO
  16687	032774				10$:
  16688	032774	022626 				CMP	(SP)+,(SP)+	; ..CLEAR STACK
  16689	032776					CALLR	.TYLIN		; PRINT AND EXIT
	032776	000137 	031420'			 JMP	.TYLIN
  16690						;
  16691
  16692	033002				DOWMTB:
  16693	033002	007336'				.WORD	MONMSG
  16694	033004	007346'				.WORD	TUEMSG
  16695	033006	007357'				.WORD	WEDMSG
  16696	033010	007372'				.WORD	THUMSG
  16697	033012	007404'				.WORD	FRIMSG
  16698	033014	007414'				.WORD	SATMSG
  16699	033016	007426'				.WORD	SUNMSG
  16700
  16701	033020				DATBUF:
  16702	033020	000000 	000000 	000000 		.WORD	0,0,0,0,0,0,0,0
	033026	000000 	000000 	000000
	033034	000000 	000000
WHDAT -- "WHAT DATE" COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 507
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

  16704	007255				.PSECT	MESSAG
  16705
  16706	007255				WHDMS0:
  16707	007255	   103 	   125 	   122 		.ASCIZ	%CURRENT SYSTEM DATE: %
	007260	   122 	   105 	   116
	007263	   124 	   040 	   123
	007266	   131 	   123 	   124
	007271	   105 	   115 	   040
	007274	   104 	   101 	   124
	007277	   105 	   072 	   040
	007302	   000
  16708	007303				WHDMS1:
  16709	007303	   040 	   126 	   101 		.ASCIZ	% VALIDITY FLAG IS: %
	007306	   114 	   111 	   104
	007311	   111 	   124 	   131
	007314	   040 	   106 	   114
	007317	   101 	   107 	   040
	007322	   111 	   123 	   072
	007325	   040 	   000
  16710	007327				WHDMS2:
  16711	007327	   117 	   116 	   000 		.ASCIZ	%ON%
  16712	007332				WHDMS3:
  16713	007332	   117 	   106 	   106 		.ASCIZ	%OFF%
	007335	   000
  16714
  16715	007336				MONMSG:
  16716	007336	   115 	   117 	   116 		.ASCIZ	%MONDAY,%
	007341	   104 	   101 	   131
	007344	   054 	   000
  16717	007346				TUEMSG:
  16718	007346	   124 	   125 	   105 		.ASCIZ	%TUESDAY,%
	007351	   123 	   104 	   101
	007354	   131 	   054 	   000
  16719	007357				WEDMSG:
  16720	007357	   127 	   105 	   104 		.ASCIZ	%WEDNESDAY,%
	007362	   116 	   105 	   123
	007365	   104 	   101 	   131
	007370	   054 	   000
  16721	007372				THUMSG:
  16722	007372	   124 	   110 	   125 		.ASCIZ	%THURSDAY,%
	007375	   122 	   123 	   104
	007400	   101 	   131 	   054
	007403	   000
  16723	007404				FRIMSG:
  16724	007404	   106 	   122 	   111 		.ASCIZ	%FRIDAY,%
	007407	   104 	   101 	   131
	007412	   054 	   000
  16725	007414				SATMSG:
  16726	007414	   123 	   101 	   124 		.ASCIZ	%SATURDAY,%
	007417	   125 	   122 	   104
	007422	   101 	   131 	   054
	007425	   000
  16727	007426				SUNMSG:
  16728	007426	   123 	   125 	   116 		.ASCIZ	%SUNDAY,%
	007431	   104 	   101 	   131
	007434	   054 	   000
  16729
WHDAT -- "WHAT DATE" COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 507-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

  16730	033040				.PSECT
WHINC -- WHAT INCREMENT COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 508
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03

  16732					.TITLE	WHINC -- WHAT INCREMENT COMMAND MODULE 7703.25
  16733
  16734						.IDENT	"001020"
  16735
  16736					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16737					;
  16738					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16739					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16740					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16741					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16742					;	FOR ITS ACCURACY.
  16743					;
  16744					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16745					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16746					;
  16747					;
  16748					;		MODULE: WHAT INCREMENT COMMAND
  16749					;
  16750					;		VERSION: 01-02
  16751					;
  16752					;		AUTHOR: R. BELANGER
  16753					;
  16754					;		DATE: 7703.25
  16755					;
  16756					;	THIS MODULE CONTAINS:
  16757					;
  16758					;	1) WHAT INCREMENT COMMAND CODE
WHINC -- WHAT INCREMENT COMMAND	MACRO M1108  13-JAN-78 09:14  PAGE 509
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25

  16760					.SBTTL	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
  16761
  16762						.ENABL	LSB
  16763
  16764	033040				.WHINC::
  16765	033040	012700 	007436'			MOV	#WHIMSG,R0	; MESSAGE POINTER TO R0
  16766	033044	012701 	000070'			MOV	#.KLINC,R1	; INREMENT POINTER
  16767	033050	000412 				BR	10$		; DO COMMON CODE
  16768						;
  16769	033052				.WHRPT::
  16770	033052	013737 	000106'	000120'		MOV	.ORADX,.RDXSV	; SAVE CURRENT OUTPUT RADIX
  16771	033060	012737 	000012 	000106'		MOV	#^D10,.ORADX	; SET IT TO DECIMAL
  16772	033066	012700 	007456'			MOV	#WHRMSG,R0	; MESSAGE POINTER TO R0
  16773	033072	012701 	000124'			MOV	#.RPTCT,R1	; REPEAT POINTER
  16774	033076				10$:
  16775	033076					CALL	.TYMSG		; PRINT THE MESSAGE
	033076	004737 	031434'			 JSR	PC,.TYMSG
  16776	033102	005037 	000100'			CLR	.LDZFL		; NO LEADING ZEROES
  16777	033106	010100 				MOV	R1,R0		; POINTER TO R0
  16778	033110					CALL	.TYKLN		; PRINT THE NUMBER
	033110	004737 	031066'			 JSR	PC,.TYKLN
  16779	033114	013737 	000120'	000106'		MOV	.RDXSV,.ORADX	; RESET THE OUTPUT RADIX
  16780	033122					CALLR	.TCRLF		; END THE LINE AND EXIT
	033122	000137 	031524'			 JMP	.TCRLF
  16781						;
  16782
  16783						.DSABL	LSB
  16784
  16785	007436				.PSECT	MESSAG
  16786
  16787	007436				WHIMSG:
  16788	007436	   040 	   113 	   114 		.ASCIZ	% KL INCREMENT: %
	007441	   040 	   111 	   116
	007444	   103 	   122 	   105
	007447	   115 	   105 	   116
	007452	   124 	   072 	   040
	007455	   000
  16789	007456				WHRMSG:
  16790	007456	   040 	   122 	   105 		.ASCIZ	% REPEAT COUNT: %
	007461	   120 	   105 	   101
	007464	   124 	   040 	   103
	007467	   117 	   125 	   116
	007472	   124 	   072 	   040
	007475	   000
  16791	033126				.PSECT
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 510
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25

  16793					.TITLE	WHKLN -- WHAT KLINIK COMMAND MODULE 7702.16
  16794
  16795						.IDENT	"003000"
  16796
  16797					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  16798					;
  16799					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  16800					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  16801					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  16802					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16803					;	FOR ITS ACCURACY.
  16804					;
  16805					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  16806					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  16807					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  16808					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  16809					;
  16810					;		MODULE: WHAT KLINIK COMMAND
  16811					;
  16812					;		VERSION: 03-00
  16813					;
  16814					;		AUTHOR: R. BELANGER
  16815					;
  16816					;		DATE: 7702.16
  16817					;
  16818					;	THIS MODULE CONTAINS:
  16819					;
  16820					;	1) WHAT KLINIK COMMAND CODE
  16821					;
  16822					;	MODIFICATIONS:
  16823					;
  16824					;	NO.	DATE		PROGRAMMER	REASON
  16825					;	---	----		----------	------
  16826					;	001	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
  16827					;						ADD CODE FOR NEW KLINIK
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 511
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16829					.SBTTL	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
  16830
  16831					;+
  16832					; .WHKLN -- THE "WHAT KLINIK" COMMAND
  16833					;
  16834					; THIS SUBROUTINE WILL REPORT THE STATE OF THE KLINIK PARAMETERS
  16835					; ON THE CONSOLE DEVICE.
  16836					;
  16837					; INPUT ARGUMENTS:
  16838					;
  16839					;	NONE.
  16840					;
  16841					; OUTPUT ARGUMENTS:
  16842					;
  16843					;	NONE.
  16844					;
  16845					; ERROR CODES RETURNED:
  16846					;
  16847					;	NONE.
  16848					;-
  16849
  16850						.MCALL	DIR$,RQST$
  16851
  16852	033126				.WHKLN::
  16853	033126					CALL	.CKEOC		; MUST HAVE E-O-C
	033126	004737 	002010'			 JSR	PC,.CKEOC
  16854	033132	012700 	007476'			MOV	#WHKMS0,R0	; MESSAGE POINTER TO R0
  16855	033136					CALL	.TYMSG		; PRINT IT
	033136	004737 	031434'			 JSR	PC,.TYMSG
  16856	033142	012700 	007507'			MOV	#WHKMS1,R0	; ASSUME KLINIK IS DISABLED
  16857	033146	105737 	000000G			TSTB	.KLNMD+0	; IS IT?
  16858	033152	001514 				BEQ	40$		; +++001 YES -- SAY SO
  16859	033154	012700 	007666'			MOV	#WHKMSA,R0	; +++001 NO -- ASSUME ACTIVE
  16860	033160	105737 	000000G			TSTB	.KLNSW+0	; +++001 IS IT??
  16861	033164	001002 				BNE	10$		; +++001 YES -- GO ON
  16862	033166	012700 	007720'			MOV	#WHKMSI,R0	; +++001 NO -- SAY INACTIVE
  16863	033172				10$:				; +++001
  16864	033172	005737 	000000G			TST	.KLNFD		; +++001 IS THERE A DATE??
  16865	033176	001005 				BNE	20$		; +++001 YES -- KLINIK REALLY ALIVE
  16866	033200	012700 	007675'			MOV	#WHKMRB,R0	; +++001 NO -- ALIVE FROM REBOOT
  16867	033204					CALL	.TYLIN
	033204	004737 	031420'			 JSR	PC,.TYLIN
  16868	033210	000436 				BR	30$		; +++001 TYPE MODE AND EXIT
  16869						;
  16870
  16871					;	[CONTINUED ON THE FOLLOWING PAGE]
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 512
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16873					;	[CONTINUED FROM THE PREVIOUS PAGE]
  16874
  16875	033212				20$:				; +++001
  16876	033212					CALL	.TYLIN		; +++001 TYPE STATE
	033212	004737 	031420'			 JSR	PC,.TYLIN
  16877	033216	012700 	007520'			MOV	#WHKMS2,R0	; GET OPEN MESSAGE
  16878	033222					CALL	.TYMSG		; PRINT IT
	033222	004737 	031434'			 JSR	PC,.TYMSG
  16879	033226	012700 	000000G			MOV	#.KLNFD,R0	; POINT TO THE FROM DATE
  16880	033232					CALL	.TYDAT		; PRINT IT
	033232	004737 	030440'			 JSR	PC,.TYDAT
  16881	033236	012700 	000000G			MOV	#.KLNFT,R0	; POINT TO THE FROM TIME
  16882	033242					CALL	.TYTIM		; PRINT IT
	033242	004737 	031762'			 JSR	PC,.TYTIM
  16883	033246					CALL	.TCRLF		; +++001 END THE LINE
	033246	004737 	031524'			 JSR	PC,.TCRLF
  16884	033252	012700 	007546'			MOV	#WHKMS3,R0	; CLOSE MESSAGE POINTER
  16885	033256					CALL	.TYMSG		; PRINT IT
	033256	004737 	031434'			 JSR	PC,.TYMSG
  16886	033262	012700 	000000G			MOV	#.KLNTD,R0	; POINT TO THE TO DATE
  16887	033266					CALL	.TYDAT		; PRINT IT
	033266	004737 	030440'			 JSR	PC,.TYDAT
  16888	033272	012700 	000000G			MOV	#.KLNTT,R0	; POINT TO THE TO TIME
  16889	033276					CALL	.TYTIM		; PRINT IT
	033276	004737 	031762'			 JSR	PC,.TYTIM
  16890	033302					CALL	.TCRLF		; END THE LINE
	033302	004737 	031524'			 JSR	PC,.TCRLF
  16891	033306				30$:				; +++001
  16892	033306	012700 	007745'			MOV	#WHKMSK,R0	; +++001 KLINIK MODE
  16893	033312					CALL	.TYMSG		; +++001 PRINT IT
	033312	004737 	031434'			 JSR	PC,.TYMSG
  16894	033316	012700 	007731'			MOV	#WHKMSU,R0	; +++001 ASSUME USER
  16895	033322	105737 	000000G			TSTB	.KLNMD+0	; +++001 IS IT??
  16896	033326	100426 				BMI	40$		; +++001 YES -- PRINT AND EXIT
  16897	033330	012700 	007736'			MOV	#WHKMSR,R0	; +++001 NO -- SAY REMOTE
  16898	033334					CALL	.TYLIN		; +++001 PRINT IT
	033334	004737 	031420'			 JSR	PC,.TYLIN
  16899	033340	012700 	007576'			MOV	#WHKMS4,R0	; CONSOLE MODE MESSAGE
  16900	033344					CALL	.TYMSG		; PRINT IT
	033344	004737 	031434'			 JSR	PC,.TYMSG
  16901	033350	012700 	007626'			MOV	#WHKMS5,R0	; MAINTENANCE MODE
  16902	033354	122737 	000007 	000001G		CMPB	#LG.ALL,.KLNMD+1
  16903	033362	001410 				BEQ	40$		; YES -- SAY SO
  16904	033364	012700 	007642'			MOV	#WHKMS6,R0	; NO -- PROGRAMMER MAYBE
  16905	033370	122737 	000003 	000001G		CMPB	#LG.PRM,.KLNMD+1
  16906	033376	001402 				BEQ	40$		; YES -- SAY SO
  16907	033400	012700 	007655'			MOV	#WHKMS7,R0	; NO -- MUST BE OPERATOR
  16908
  16909					;	[CONTINUED ON THE FOLLOWING PAGE]
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 513
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16911					;	[CONTINUED FROM THE PREVIOUS PAGE]
  16912
  16913	033404				40$:
  16914	033404	105737 	000001G			TSTB	.KLNSW+1	; +++001 IS THIS A CLEAR COMMAND??
  16915	033410	001407 				BEQ	50$		; +++001 NO -- JUST GO AWAY
  16916	033412					CALL	.TYLIN		; +++001 YES -- PRINT THE LINE
	033412	004737 	031420'			 JSR	PC,.TYLIN
  16917	033416					DIR$	#REQKLD		; +++001 REQUEST KLD
	033416	012746 	033434'			MOV	#REQKLD,-(SP)
	033422	104375 				EMT	375
  16918	033424					CALLR	.EXITP		; +++001 AND EXIT
	033424	000137 	007754'			 JMP	.EXITP
  16919						;
  16920	033430				50$:
  16921	033430					CALLR	.TYLIN		; PRINT AND EXIT
	033430	000137 	031420'			 JMP	.TYLIN
  16922						;
  16923	033434				REQKLD:				;  +++001
  16924	033434					RQST$	KLDISC,,10
	033434	   013 	   007 			.BYTE	11.,7
	033436	043244 	035473 			.RAD50	/KLDISC/
	033442	000000 	000000 			.WORD	0,0
	033446	000010 				.WORD	10
	033450	   000 	   000 			.BYTE	,
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 514
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16926	007476				.PSECT	MESSAG
  16927
  16928	007476				WHKMS0:
  16929	007476	   040 	   113 	   114 		.ASCIZ	% KLINIK %
	007501	   111 	   116 	   111
	007504	   113 	   040 	   000
  16930	007507				WHKMS1:
  16931	007507	   104 	   111 	   123 		.ASCIZ	%DISABLED%
	007512	   101 	   102 	   114
	007515	   105 	   104 	   000
  16932	007520				WHKMS2:
  16933	007520	   040 	   101 	   103 		.ASCIZ	% ACCESS WINDOW OPEN: %
	007523	   103 	   105 	   123
	007526	   123 	   040 	   127
	007531	   111 	   116 	   104
	007534	   117 	   127 	   040
	007537	   117 	   120 	   105
	007542	   116 	   072 	   040
	007545	   000
  16934	007546				WHKMS3:
  16935	007546	   040 	   101 	   103 		.ASCIZ	% ACCESS WINDOW CLOSED: %
	007551	   103 	   105 	   123
	007554	   123 	   040 	   127
	007557	   111 	   116 	   104
	007562	   117 	   127 	   040
	007565	   103 	   114 	   117
	007570	   123 	   105 	   104
	007573	   072 	   040 	   000
  16936	007576				WHKMS4:
  16937	007576	   040 	   110 	   111 		.ASCIZ	% HIGHEST CONSOLE MODE: %
	007601	   107 	   110 	   105
	007604	   123 	   124 	   040
	007607	   103 	   117 	   116
	007612	   123 	   117 	   114
	007615	   105 	   040 	   115
	007620	   117 	   104 	   105
	007623	   072 	   040 	   000
  16938	007626				WHKMS5:
  16939	007626	   115 	   101 	   111 		.ASCIZ	%MAINTENANCE%
	007631	   116 	   124 	   105
	007634	   116 	   101 	   116
	007637	   103 	   105 	   000
  16940	007642				WHKMS6:
  16941	007642	   120 	   122 	   117 		.ASCIZ	%PROGRAMMER%
	007645	   107 	   122 	   101
	007650	   115 	   115 	   105
	007653	   122 	   000
  16942	007655				WHKMS7:
  16943	007655	   117 	   120 	   105 		.ASCIZ	%OPERATOR%
	007660	   122 	   101 	   124
	007663	   117 	   122 	   000
  16944
  16945	007666				WHKMSA:
  16946	007666	   101 	   103 	   124 		.ASCIZ	%ACTIVE%
	007671	   111 	   126 	   105
	007674	   000
  16947	007675				WHKMRB:
WHKLN -- WHAT KLINIK COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 514-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16948	007675	   101 	   103 	   124 		.ASCIZ	%ACTIVE FROM REBOOT%
	007700	   111 	   126 	   105
	007703	   040 	   106 	   122
	007706	   117 	   115 	   040
	007711	   122 	   105 	   102
	007714	   117 	   117 	   124
	007717	   000
  16949	007720				WHKMSI:
  16950	007720	   111 	   116 	   101 		.ASCIZ	%INACTIVE%
	007723	   103 	   124 	   111
	007726	   126 	   105 	   000
  16951	007731				WHKMSU:
  16952	007731	   125 	   123 	   105 		.ASCIZ	%USER%
	007734	   122 	   000
  16953	007736				WHKMSR:
  16954	007736	   122 	   105 	   115 		.ASCIZ	%REMOTE%
	007741	   117 	   124 	   105
	007744	   000
  16955	007745				WHKMSK:
  16956	007745	   040 	   113 	   114 		.ASCIZ	% KLINIK MODE: %
	007750	   111 	   116 	   111
	007753	   113 	   040 	   115
	007756	   117 	   104 	   105
	007761	   072 	   040 	   000
  16957	033452				.PSECT
WHMEM -- WHAT MEMORY COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 515
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16

  16959					.TITLE	WHMEM -- WHAT MEMORY COMMAND MODULE 7603.30
  16960
  16961						.IDENT	"001010"
  16962
  16963					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  16964					;
  16965					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  16966					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  16967					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  16968					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  16969					;	FOR ITS ACCURACY.
  16970					;
  16971					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  16972					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  16973					;
  16974					;
  16975					;		MODULE: WHAT MEMORY COMMAND
  16976					;
  16977					;		VERSION: 01-01
  16978					;
  16979					;		AUTHOR: R. BELANGER
  16980					;
  16981					;		DATE: 7603.30
  16982					;
  16983					;	THIS MODULE CONTAINS:
  16984					;
  16985					;	1) WHAT MEMORY COMMAND CODE
WHMEM -- WHAT MEMORY COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 516
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21

  16987					.SBTTL	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
  16988
  16989	033452				.WHMEM::
  16990	033452	012700 	007764'			MOV	#WHMMSG,R0	; MESSAGE POINTER TO R0
  16991	033456					CALL	.TYMSG		; TYPE IT
	033456	004737 	031434'			 JSR	PC,.TYMSG
  16992	033462	012700 	007776'			MOV	#WHMMS0,R0	; ASSUME TEN
  16993	033466	005737 	000102'			TST	.MEMFL		; IS IT "TEN"
  16994	033472	001402 				BEQ	10$		; YES -- SAY SO
  16995	033474	012700 	010002'			MOV	#WHMMS1,R0	; NO -- SAY "ELEVEN"
  16996	033500				10$:
  16997	033500					CALLR	.TYLIN		; PRINT AND EXIT
	033500	000137 	031420'			 JMP	.TYLIN
  16998						;
  16999
  17000	007764				.PSECT	MESSAG
  17001
  17002	007764				WHMMSG:
  17003	007764	   040 	   115 	   105 		.ASCIZ	% MEMORY: %
	007767	   115 	   117 	   122
	007772	   131 	   072 	   040
	007775	   000
  17004	007776				WHMMS0:
  17005	007776	   124 	   105 	   116 		.ASCIZ	%TEN%
	010001	   000
  17006	010002				WHMMS1:
  17007	010002	   105 	   114 	   105 		.ASCIZ	%ELEVEN%
	010005	   126 	   105 	   116
	010010	   000
  17008	033504				.PSECT
WHOFS -- WHAT OFFSET COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 517
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21

  17010					.TITLE	WHOFS -- WHAT OFFSET COMMAND MODULE 7603.30
  17011
  17012						.IDENT	"001010"
  17013
  17014					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17015					;
  17016					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17017					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17018					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17019					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17020					;	FOR ITS ACCURACY.
  17021					;
  17022					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17023					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17024					;
  17025					;
  17026					;		MODULE: WHAT OFFSET COMMAND
  17027					;
  17028					;		VERSION: 01-01
  17029					;
  17030					;		AUTHOR: R. BELANGER
  17031					;
  17032					;		DATE: 7603.30
  17033					;
  17034					;	THIS MODULE CONTAINS:
  17035					;
  17036					;	1) WHAT OFFSET COMMAND CODE
WHOFS -- WHAT OFFSET COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 518
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20

  17038					.SBTTL	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
  17039
  17040	033504				.WHOFS::
  17041	033504	012700 	010011'			MOV	#WHOMSG,R0	; MESSAGE POINTER TO R0
  17042	033510					CALL	.TYMSG		; PRINT IT
	033510	004737 	031434'			 JSR	PC,.TYMSG
  17043	033514	013700 	000122'			MOV	.RELWD,R0	; OFFSET TO R0
  17044	033520					CALL	.TYELA		; PRINT IT
	033520	004737 	030672'			 JSR	PC,.TYELA
  17045	033524					CALLR	.TCRLF		; END THE LINE AND EXIT
	033524	000137 	031524'			 JMP	.TCRLF
  17046						;
  17047
  17048	010011				.PSECT	MESSAG
  17049
  17050	010011				WHOMSG:
  17051	010011	   040 	   120 	   104 		.ASCIZ	% PDP-11 OFFSET: %
	010014	   120 	   055 	   061
	010017	   061 	   040 	   117
	010022	   106 	   106 	   123
	010025	   105 	   124 	   072
	010030	   040 	   000
  17052	033530				.PSECT
WHPAR -- WHAT PARITY-STOP COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 519
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20

  17054					.TITLE	WHPAR -- WHAT PARITY-STOP COMMAND MODULE 7608.19
  17055
  17056						.IDENT	"001020"
  17057
  17058					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  17059					;
  17060					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  17061					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  17062					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  17063					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17064					;	FOR ITS ACCURACY.
  17065					;
  17066					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  17067					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  17068					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  17069					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  17070					;
  17071					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  17072					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  17073					;
  17074					;
  17075					;		MODULE: WHAT PARITY-STOP COMMAND
  17076					;
  17077					;		VERSION: 01-02
  17078					;
  17079					;		AUTHOR: R. BELANGER
  17080					;
  17081					;		DATE: 7608.19
  17082					;
  17083					;	THIS MODULE CONTAINS:
  17084					;
  17085					;	1) WHAT PARITY-STOP COMMAND CODE
WHPAR -- WHAT PARITY-STOP COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 520
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  17087					.SBTTL	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
  17088
  17089	033530				.WHTPS::
  17090	033530					CALL	.STPKL		; STOP THE KL
	033530	004737 	026330'			 JSR	PC,.STPKL
  17091	033534					CALL	.RDCPP		; READ THE CLOCK BOARD
	033534	004737 	017602'			 JSR	PC,.RDCPP
  17092	033540					CALL	.RSTKL		; RESTART THE KL
	033540	004737 	022134'			 JSR	PC,.RSTKL
  17093	033544				.WHTPA::
  17094	033544					PUSH	.PSCWD		; SAVE THE WORD ON THE STACK
	033544	013746 	000116'			 MOV	.PSCWD,-(SP)
  17095	033550	012700 	010076'			MOV	#WPMSG0,R0	; .HEADER MESSAGE
  17096	033554					CALL	.TYLIN		; .TYPE IT
	033554	004737 	031420'			 JSR	PC,.TYLIN
  17097	033560	012700 	010130'			MOV	#WPMSG1,R0	; .ENABLE MESSAGE
  17098	033564					CALL	.TYMSG		; .TYPE IT
	033564	004737 	031434'			 JSR	PC,.TYMSG
  17099	033570	012700 	010073'			MOV	#WHPMS7,R0	; .ASSUME THAT IT IS ON
  17100	033574	032716 	000400 			BIT	#AP.EIP,(SP)	; .IS THE ENABLE BIT ON?
  17101	033600	001002 				BNE	10$		; .YES -- SAY SO
  17102	033602	012700 	010067'			MOV	#WHPMS6,R0	; .NO -- CHANGE MESSAGE
  17103	033606				10$:
  17104	033606					CALL	.TYLIN		; .TYPE IT
	033606	004737 	031420'			 JSR	PC,.TYLIN
  17105	033612	012700 	010156'			MOV	#WPMSG2,R0	; .PARITY STOPS
  17106	033616					CALL	.TYMSG		; .TYPE IT
	033616	004737 	031434'			 JSR	PC,.TYMSG
  17107	033622	042716 	000400 			BIC	#AP.EIP,(SP)	; .CLEAR THE ENABLE BIT
  17108	033626	001005 				BNE	20$		; .GO ON IF BITS ARE THERE
  17109	033630	012700 	010062'			MOV	#WHPMS5,R0	; .NONE THERE -- SAY SO
  17110	033634					CALL	.TYMSG		; .TYPE IT
	033634	004737 	031434'			 JSR	PC,.TYMSG
  17111	033640	000416 				BR	50$		; .AND EXIT
  17112						;
  17113
  17114					;	[CONTINUED ON THE FOLLOWING PAGE]
WHPAR -- WHAT PARITY-STOP COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 521
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  17116					;	[CONTINUED FROM THE PREVIOUS PAGE]
  17117
  17118	033642				20$:
  17119	033642	012701 	033704'			MOV	#PSENTB,R1	; .TABLE POINTER TO R1
  17120	033646	012702 	000005 			MOV	#^D5,R2		; .ITERATION COUNT TO R2
  17121	033652				30$:
  17122	033652	012100 				MOV	(R1)+,R0	; .MESSAGE POINTER TO R0
  17123	033654	032116 				BIT	(R1)+,(SP)	; .IS THE BIT ON?
  17124	033656	001406 				BEQ	40$		; .NO -- GO ON
  17125	033660					CALL	.TYMSG		; .YES -- SAY SO
	033660	004737 	031434'			 JSR	PC,.TYMSG
  17126	033664					CALL	.TYCOM		; .TYPE A COMMA
	033664	004737 	030614'			 JSR	PC,.TYCOM
  17127	033670					CALL	.TYSPC		; .PRINT A <SPACE>
	033670	004737 	030644'			 JSR	PC,.TYSPC
  17128	033674				40$:
  17129	033674	077212 				SOB	R2,30$		; .LOOP TILL DONE
  17130	033676				50$:
  17131	033676	005726 				TST	(SP)+		; .CLEAR THE STACK
  17132	033700					CALLR	.TCRLF		; END THE LINE AND EXIT
	033700	000137 	031524'			 JMP	.TCRLF
  17133						;
  17134	033704				PSENTB:
  17135	033704	010032'				.WORD	WHPMS0
  17136	033706	001000 				.WORD	AP.ARP
  17137	033710	010035'				.WORD	WHPMS1
  17138	033712	000004 				.WORD	IP.CRP
  17139	033714	010042'				.WORD	WHPMS2
  17140	033716	000002 				.WORD	IP.DRP
  17141	033720	010047'				.WORD	WHPMS3
  17142	033722	000010 				.WORD	IP.FMP
  17143	033724	010052'				.WORD	WHPMS4
  17144	033726	000001 				.WORD	IP.FSS
WHPAR -- WHAT PARITY-STOP COMMA	MACRO M1108  13-JAN-78 09:14  PAGE 522
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  17146	010032				.PSECT	MESSAG
  17147
  17148	010032				WHPMS0:
  17149	010032	   101 	   122 	   000 		.ASCIZ	%AR%
  17150	010035				WHPMS1:
  17151	010035	   103 	   122 	   101 		.ASCIZ	%CRAM%
	010040	   115 	   000
  17152	010042				WHPMS2:
  17153	010042	   104 	   122 	   101 		.ASCIZ	%DRAM%
	010045	   115 	   000
  17154	010047				WHPMS3:
  17155	010047	   106 	   115 	   000 		.ASCIZ	%FM%
  17156	010052				WHPMS4:
  17157	010052	   106 	   123 	   055 		.ASCIZ	%FS-STOP%
	010055	   123 	   124 	   117
	010060	   120 	   000
  17158	010062				WHPMS5:
  17159	010062	   116 	   117 	   116 		.ASCIZ	%NONE%
	010065	   105 	   000
  17160	010067				WHPMS6:
  17161	010067	   117 	   106 	   106 		.ASCIZ	%OFF%
	010072	   000
  17162	010073				WHPMS7:
  17163	010073	   117 	   116 	   000 		.ASCIZ	%ON%
  17164	010076				WPMSG0:
  17165	010076	   113 	   114 	   040 		.ASCIZ	%KL PARITY STOP PARAMETERS%
	010101	   120 	   101 	   122
	010104	   111 	   124 	   131
	010107	   040 	   123 	   124
	010112	   117 	   120 	   040
	010115	   120 	   101 	   122
	010120	   101 	   115 	   105
	010123	   124 	   105 	   122
	010126	   123 	   000
  17166	010130				WPMSG1:
  17167	010130	   040 	   120 	   101 		.ASCIZ	% PARITY STOP ENABLE: %
	010133	   122 	   111 	   124
	010136	   131 	   040 	   123
	010141	   124 	   117 	   120
	010144	   040 	   105 	   116
	010147	   101 	   102 	   114
	010152	   105 	   072 	   040
	010155	   000
  17168	010156				WPMSG2:
  17169	010156	   040 	   120 	   101 		.ASCIZ	% PARITY STOPS: %
	010161	   122 	   111 	   124
	010164	   131 	   040 	   123
	010167	   124 	   117 	   120
	010172	   123 	   072 	   040
	010175	   000
  17170	033730				.PSECT
WHRLD -- WHAT RELOAD COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 523
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19

  17172					.TITLE	WHRLD -- WHAT RELOAD COMMAND MODULE 7603.30
  17173
  17174						.IDENT	"001010"
  17175
  17176					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17177					;
  17178					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17179					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17180					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17181					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17182					;	FOR ITS ACCURACY.
  17183					;
  17184					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17185					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17186					;
  17187					;
  17188					;		MODULE: WHAT RELOAD COMMAND
  17189					;
  17190					;		VERSION: 01-01
  17191					;
  17192					;		AUTHOR: R. BELANGER
  17193					;
  17194					;		DATE: 7603.30
  17195					;
  17196					;	THIS MODULE CONTAINS:
  17197					;
  17198					;	1) WHAT RELOAD COMMAND CODE
WHRLD -- WHAT RELOAD COMMAND MO	MACRO M1108  13-JAN-78 09:14  PAGE 524
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21

  17200					.SBTTL	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
  17201
  17202	033730				.WHRLD::
  17203	033730	012700 	010176'			MOV	#WRLMSG,R0	; MESSAGE POINTER TO R0
  17204	033734					CALL	.TYMSG		; PRINT IT
	033734	004737 	031434'			 JSR	PC,.TYMSG
  17205	033740	012700 	010217'			MOV	#WHRMS0,R0	; ASSUME "ON"
  17206	033744	005737 	000000G			TST	.KLRLD		; IS IT ON?
  17207	033750	001402 				BEQ	10$		; YES -- GO ON
  17208	033752	012700 	010222'			MOV	#WHRMS1,R0	; NO -- SAY SO
  17209	033756				10$:
  17210	033756					CALLR	.TYLIN		; PRINT THE LINE AND EXIT
	033756	000137 	031420'			 JMP	.TYLIN
  17211						;
  17212
  17213	010176				.PSECT	MESSAG
  17214
  17215	010176				WRLMSG:
  17216	010176	   040 	   122 	   105 		.ASCIZ	% RELOAD ENABLE: %
	010201	   114 	   117 	   101
	010204	   104 	   040 	   105
	010207	   116 	   101 	   102
	010212	   114 	   105 	   072
	010215	   040 	   000
  17217	010217				WHRMS0:
  17218	010217	   117 	   116 	   000 		.ASCIZ	%ON%
  17219	010222				WHRMS1:
  17220	010222	   117 	   106 	   106 		.ASCIZ	%OFF%
	010225	   000
  17221	033762				.PSECT
WHTRK -- WHAT TRACK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 525
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21

  17223					.TITLE	WHTRK -- WHAT TRACK COMMAND MODULE 7603.30
  17224
  17225						.IDENT	"001010"
  17226
  17227					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17228					;
  17229					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17230					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17231					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17232					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17233					;	FOR ITS ACCURACY.
  17234					;
  17235					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17236					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17237					;
  17238					;
  17239					;		MODULE: WHAT TRACK COMMAND
  17240					;
  17241					;		VERSION: 01-01
  17242					;
  17243					;		AUTHOR: R. BELANGER
  17244					;
  17245					;		DATE: 7603.30
  17246					;
  17247					;	THIS MODULE CONTAINS:
  17248					;
  17249					;	1) WHAT TRACK COMMAND CODE
WHTRK -- WHAT TRACK COMMAND MOD	MACRO M1108  13-JAN-78 09:14  PAGE 526
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20

  17251					.SBTTL	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
  17252
  17253	033762				.WHTRK::
  17254	033762	012700 	010226'			MOV	#WHTMSG,R0	; MESSAGE POINTER TO R0
  17255	033766					CALL	.TYMSG		; PRINT IT
	033766	004737 	031434'			 JSR	PC,.TYMSG
  17256	033772	012700 	010246'			MOV	#WHTMS0,R0	; ASSUME "ON"
  17257	033776	005737 	000142'			TST	.TRKWD		; IS IT ON?
  17258	034002	001002 				BNE	10$		; YES -- GO ON
  17259	034004	012700 	010251'			MOV	#WHTMS1,R0	; NO -- SAY SO
  17260	034010				10$:
  17261	034010					CALLR	.TYLIN		; PRINT AND EXIT
	034010	000137 	031420'			 JMP	.TYLIN
  17262						;
  17263
  17264	010226				.PSECT	MESSAG
  17265
  17266	010226				WHTMSG:
  17267	010226	   040 	   124 	   122 		.ASCIZ	% TRACK ENABLE: %
	010231	   101 	   103 	   113
	010234	   040 	   105 	   116
	010237	   101 	   102 	   114
	010242	   105 	   072 	   040
	010245	   000
  17268	010246				WHTMS0:
  17269	010246	   117 	   116 	   000 		.ASCIZ	%ON%
  17270	010251				WHTMS1:
  17271	010251	   117 	   106 	   106 		.ASCIZ	%OFF%
	010254	   000
  17272	034014				.PSECT
WRTAR -- KL ARITHMETIC REGISTER	MACRO M1108  13-JAN-78 09:14  PAGE 527
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20

  17274					.TITLE	WRTAR -- KL ARITHMETIC REGISTER WRITE FUNCTION MODULE 7603.30
  17275
  17276						.IDENT	"001010"
  17277
  17278					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17279					;
  17280					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17281					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17282					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17283					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17284					;	FOR ITS ACCURACY.
  17285					;
  17286					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17287					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17288					;
  17289					;
  17290					;		MODULE: KL ARITHMETIC REGISTER WRITE FUNCTION
  17291					;
  17292					;		VERSION: 01-01
  17293					;
  17294					;		AUTHOR: R. BELANGER
  17295					;
  17296					;		DATE: 7603.30
  17297					;
  17298					;	THIS MODULE CONTAINS:
  17299					;
  17300					;	1) KL ARUTHMETIC REGISTER WRITE CODE
WRTAR -- KL ARITHMETIC REGISTER	MACRO M1108  13-JAN-78 09:14  PAGE 528
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05

  17302					.SBTTL	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
  17303
  17304					;+
  17305					; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
  17306					; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
  17307					;	    STOPPING THE KL CLOCK.
  17308					;
  17309					; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
  17310					;
  17311					; SEQUENCE OF OPERATION:
  17312					;
  17313					; .WRTAR:
  17314					;
  17315					;	(A) THE KL CLOCK IS STOPPED,
  17316					;
  17317					; .WRAR1:
  17318					;
  17319					;	(B) THE EBOX CLOCK IS SYNCHED LOW,
  17320					;	(C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
  17321					;
  17322					; INPUT ARGUMENTS:
  17323					;
  17324					;	R1 POINTS TO THE DATA TO BE WRITTEN
  17325					;
  17326					; OUTPUT ARGUMENTS:
  17327					;
  17328					;	NONE.
  17329					;
  17330					; ERROR CODES RETURNED:
  17331					;
  17332					;	FWF -- FUNCTION WRITE FAILED.
  17333					;-
  17334
  17335	034014				.WRTAR::
  17336	034014					CALL	.STPXC		; STOP THE KL CLOCK
	034014	004737 	026354'			 JSR	PC,.STPXC
  17337	034020				.WRAR1::
  17338	034020					CALL	.SYNXC		; FORCE THE EBOX CLOCK LOW
	034020	004737 	026760'			 JSR	PC,.SYNXC
  17339	034024					PUSH	R0		; SAVE R0
	034024	010046 				 MOV	R0,-(SP)
  17340	034026	012700 	000176 			MOV	#FW.LAR,R0	; .FUNCTION WRITE CODE TO R0
  17341	034032					CALL	.FWRIT		; .LOAD THE AR
	034032	004737 	010740'			 JSR	PC,.FWRIT
  17342	034036					POP	R0		; .RESTORE R0
	034036	012600 				 MOV	(SP)+,R0
  17343	034040					RETURN			; RETURN TO CALLER
	034040	000207 				 RTS	PC
XFXCK -- DIAGNOSTIC FUNCTION RA	MACRO M1108  13-JAN-78 09:14  PAGE 529
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05

  17345					.TITLE	XFXCK -- DIAGNOSTIC FUNCTION RANGE CHECK MODULE 7603.30
  17346
  17347						.IDENT	"001010"
  17348
  17349					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17350					;
  17351					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17352					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17353					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17354					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17355					;	FOR ITS ACCURACY.
  17356					;
  17357					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17358					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17359					;
  17360					;
  17361					;		MODULE: DIAGNOSTIC FUNCTION RANGE CHECK
  17362					;
  17363					;		VERSION: 01-01
  17364					;
  17365					;		AUTHOR: R. BELANGER
  17366					;
  17367					;		DATE: 7603.30
  17368					;
  17369					;	THIS MODULE CONTAINS:
  17370					;
  17371					;	1) DIAGNOSTIC FUNCTION RANGE CHECK CODE
XFXCK -- DIAGNOSTIC FUNCTION RA	MACRO M1108  13-JAN-78 09:14  PAGE 530
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

  17373					.SBTTL	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
  17374
  17375					;+
  17376					; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
  17377					; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
  17378					; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
  17379					;
  17380					; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
  17381					; READ, WRITE AND EXECUTE SUBROUTINES.
  17382					;
  17383					; INPUT ARGUMENTS:
  17384					;
  17385					;	R0 HOLDS THE FUNCTION CODE TO BE CHECKED
  17386					;
  17387					; OUTPUT ARGUMENTS:
  17388					;
  17389					;	NONE.
  17390					;
  17391					; ERROR CODES RETURNED:
  17392					;
  17393					;	IFC -- ILLEGAL FUNCTION CODE.
  17394					;	OFC -- ODD FUNCTION CODE.
  17395					;-
XFXCK -- DIAGNOSTIC FUNCTION RA	MACRO M1108  13-JAN-78 09:14  PAGE 531
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

  17397						.ENABL	LSB
  17398
  17399	034042				.XFRCK::			; HERE TO CHECK FUNCTION READ CODE
  17400	034042	020027 	000200 			CMP	R0,#FR.100	; IS IT .LT. FR.100?
  17401	034046	103422 				BLO	FNCIFC		; NO -- ERROR
  17402	034050	020027 	000376 			CMP	R0,#FR.177	; YES -- IS IT .GT. FR.177?
  17403	034054	101017 				BHI	FNCIFC		; YES -- ERROR
  17404	034056	000412 				BR	10$		; NO -- SEE IF IT'S ODD
  17405						;
  17406	034060				.XFWCK::			; HERE TO CHECK FUNCTION WRITE CODE
  17407	034060	020027 	000100 			CMP	R0,#FW.040	; IS IT .LT. FW.040?
  17408	034064	103413 				BLO	FNCIFC		; NO -- ERROR
  17409	034066	020027 	000176 			CMP	R0,#FW.LAR	; YES -- IS IT .GT. FW.077?
  17410	034072	101010 				BHI	FNCIFC		; YES -- ERROR
  17411	034074	000403 				BR	10$		; NO -- SEE IF IT'S ODD
  17412						;
  17413	034076				.XFXCK::			; HERE TO CHECK FUNCTION EXECUTE CODE
  17414	034076	020027 	000076 			CMP	R0,#FX.037	; IS IT .GT. FX.037?
  17415	034102	101004 				BHI	FNCIFC		; YES -- ERROR
  17416	034104				10$:
  17417	034104	032700 	000001 			BIT	#BIT00,R0	; NO -- IS IT ODD?
  17418	034110	001004 				BNE	FNCOFC		; YES -- ERROR
  17419	034112					RETURN			; NO -- ALL OK, RETURN TO CALLER
	034112	000207 				 RTS	PC
  17420	034114				FNCIFC:
  17421	034114					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	034114	012746 				 MOV	(PC)+,-(SP)	; "IFC" IN RAD50 TO STACK
	034116	034463 				 .RAD50	/IFC/		; ERROR IDENTIFIER
	034120	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  17422						;
  17423	034122				FNCOFC:
  17424	034122					ERROR$	OFC		; ERROR -- ODD FUNCTION CODE
	034122	012746 				 MOV	(PC)+,-(SP)	; "OFC" IN RAD50 TO STACK
	034124	057263 				 .RAD50	/OFC/		; ERROR IDENTIFIER
	034126	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  17425						;
  17426
  17427						.DSABL	LSB
YESNO -- CONFIRMATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 532
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

  17429					.TITLE	YESNO -- CONFIRMATION MODULE 7603.30
  17430
  17431						.IDENT	"001010"
  17432
  17433					;	COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS  01752.
  17434					;
  17435					;	THE MATERIAL INCLUDED IN THIS FUNCTIONAL  SPECIFICATION,  INCLUDING  BUT
  17436					;	NOT   LIMITED   TO,  INSTRUCTION  TIMES  AND  OPERATING  SPEEDS  IS  FOR
  17437					;	INFORMATION PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE
  17438					;	WITHOUT NOTICE.  CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17439					;	FOR ITS ACCURACY.
  17440					;
  17441					;	DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
  17442					;	ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
  17443					;
  17444					;
  17445					;		MODULE: CONFIRMATION
  17446					;
  17447					;		VERSION: 01-01
  17448					;
  17449					;		AUTHOR: R. BELANGER
  17450					;
  17451					;		DATE: 7603.30
  17452					;
  17453					;	THIS MODULE CONTAINS:
  17454					;
  17455					;	1) CONFIRMATION ACCEPTANCE CODE
YESNO -- CONFIRMATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 533
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  17457					.SBTTL	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
  17458
  17459					;+
  17460					; .YESNO -- SUBROUTINE TO ASK "YES OR NO".
  17461					;
  17462					; THIS SUBROUTINE WILL ASK FOR A CONFIMATION TO A QUESTION, AND RETURN
  17463					; THE STATE OF THE RESPONSE IN CC-C ON RETURN. IF THE RESPONSE IS OTHER
  17464					; THAN A "YES" OR A "NO", THE QUESTION IS REITERATED.
  17465					;
  17466					; INPUT ARGUMENTS:
  17467					;
  17468					;	NONE.
  17469					;
  17470					; OUTPUT ARGUMENTS:
  17471					;
  17472					;	IF THE RESPONSE WAS "YES" CC-C IS CLEAR.
  17473					;	IF THE RESPONSE WAS "NO" CC-C IS SET.
  17474					;
  17475					; ERROR CODES RETURNED:
  17476					;
  17477					;	NONE.
  17478					;-
  17479
  17480	034130				.YESNO::
  17481	034130					PUSH	<R0,R1,R5>	; SAVE CALLERS REGISTERS
	034130	010046 				 MOV	R0,-(SP)
	034132	010146 				 MOV	R1,-(SP)
	034134	010546 				 MOV	R5,-(SP)
  17482	034136				10$:
  17483	034136	012700 	010255'			MOV	#YONMSG,R0	; ...MESSAGE POINTER TO R0
  17484	034142					CALL	.TYMSG		; ...PRINT IT
	034142	004737 	031434'			 JSR	PC,.TYMSG
  17485	034146					CALL	.TYOUT		; ...FORCE IT OUT
	034146	004737 	031552'			 JSR	PC,.TYOUT
  17486	034152	012701 	000240'			MOV	#.CIBFR,R1	; ...POINT TO THE INPUT BUFFER
  17487	034156					CALL	.GTLIN		; ...READ THE RESPONSE
	034156	004737 	011776'			 JSR	PC,.GTLIN
  17488	034162	001765 				BEQ	10$		; ...TRY AGAIN IF NO REAL RESPONSE
  17489	034164	010105 				MOV	R1,R5		; ...BUFFER POINTER TO R5
  17490	034166	012700 	010274'			MOV	#YESMSG,R0	; ...EXPECT "YES"
  17491	034172					CALL	.SSCAN		; ...SCAN FOR IT
	034172	004737 	026114'			 JSR	PC,.SSCAN
  17492	034176	103012 				BCC	30$		; ...WE GOT IT -- EXIT
  17493	034200	010105 				MOV	R1,R5		; ...SET UP BUFFER POINTER
  17494	034202	012700 	010300'			MOV	#NOMSG,R0	; ...TRY FOR "NO"
  17495	034206					CALL	.SSCAN		; ...SCAN THE SYMBOL
	034206	004737 	026114'			 JSR	PC,.SSCAN
  17496	034212	103003 				BCC	20$		; ...WE GOT IT
  17497	034214					CALL	.TCRLF		; ...DID'NT GET EITHER
	034214	004737 	031524'			 JSR	PC,.TCRLF
  17498	034220	000746 				BR	10$		; ...SO TRY AGAIN
  17499						;
  17500
  17501					;	[CONTINUED ON THE FOLLOWING PAGE]
YESNO -- CONFIRMATION MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 534
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  17503					;	[CONTINUED FROM THE PREVIOUS PAGE]
  17504
  17505	034222				20$:
  17506	034222	000261 				SEC			; ...SET CC-C TO SAY "NO"
  17507	034224				30$:
  17508	034224					POP	<R5,R1,R0>	; ...RESTORE REGISTERS
	034224	012605 				 MOV	(SP)+,R5
	034226	012601 				 MOV	(SP)+,R1
	034230	012600 				 MOV	(SP)+,R0
  17509	034232					RETURN			; ...TO CALLER
	034232	000207 				 RTS	PC
  17510
  17511	010255				.PSECT	MESSAG
  17512
  17513	010255				YONMSG:
  17514	010255	   040 	   050 	   131 		.ASCIZ	% (YES OR NO)? %
	010260	   105 	   123 	   040
	010263	   117 	   122 	   040
	010266	   116 	   117 	   051
	010271	   077 	   040 	   000
  17515	010274				YESMSG:
  17516	010274	   131 	   105 	   123 		.ASCIZ	%YES%
	010277	   000
  17517	010300				NOMSG:
  17518	010300	   116 	   117 	   000 		.ASCIZ	%NO%
  17519
  17520	034234				.PSECT
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 535
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22

  17522					.TITLE	ZEROC -- ZERO COMMAND MODULE 7609.15
  17523
  17524						.IDENT	"001010"
  17525
  17526					;	COPYRIGHT  (C)  1976,  DIGITAL EQUIPMENT CORP.,  MARLBORO,  MA 01752.
  17527					;
  17528					;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
  17529					;	INSTRUCTION  EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
  17530					;	PURPOSES ONLY.  ALL  SUCH  MATERIAL  IS  SUBJECT  TO  CHANGE  WITHOUT
  17531					;	NOTICE.  CONSEQUENTLY  DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
  17532					;	FOR ITS ACCURACY.
  17533					;
  17534					;	THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A  LICENSE
  17535					;	FOR  USE  ON  A  SINGLE  COMPUTER  SYSTEM AND CAN BE COPIED (WITH THE
  17536					;	INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
  17537					;	EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
  17538					;
  17539					;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  17540					;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
  17541					;
  17542					;
  17543					;		MODULE: ZERO COMMAND
  17544					;
  17545					;		VERSION: 01-01
  17546					;
  17547					;		AUTHOR: R. BELANGER
  17548					;
  17549					;		DATE: 7609.15
  17550					;
  17551					;	THIS MODULE CONTAINS:
  17552					;
  17553					;	1) ZERO COMMAND CODE
  17554					;
  17555					;	MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
  17556
  17557						.MCALL	$DEF, DIR$, PRDP$
  17558
  17559	034234					$DEF
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 536
.ZEROC -- THE "ZERO" COMMAND 7609.15

  17561					.SBTTL	.ZEROC -- THE "ZERO" COMMAND 7609.15
  17562
  17563					;+
  17564					; .ZEROC -- THE "ZERO" COMMAND.
  17565					;
  17566					; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
  17567					; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
  17568					; BLT POINTER, AND THUS IS NOT ZEROED.
  17569					;
  17570					; INPUT ARGUMENTS:
  17571					;
  17572					;	NONE.
  17573					;
  17574					; OUTPUT ARGUMENTS:
  17575					;
  17576					;	NONE
  17577					;
  17578					; ERROR CODES RETURNED:
  17579					;
  17580					;	NONE.
  17581					;-
  17582
  17583	034234				.ZEROC::
  17584	034234					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	034234	004737 	002164'			 JSR	PC,.CKRUN
  17585	034240	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
  17586	034242	005046 				CLR	-(SP)		; .
  17587	034244	005046 				CLR	-(SP)		; ..
  17588	034246	010600 				MOV	SP,R0		; ...POINT TO THE BUFFER
  17589	034250					CALL	.GTKLA		; ...READ THE FIRST ADDRESS
	034250	004737 	012302'			 JSR	PC,.GTKLA
  17590	034254	010001 				MOV	R0,R1		; ...SAVE POINTER TO FIRST ADDRESS
  17591	034256	122704 	000076 			CMPB	#'>,R4		; ...IS LAST CHARACTER A BRACKET?
  17592	034262	001403 				BEQ	10$		; ...YES -- GO ON
  17593	034264	162706 	000006 			SUB	#^D6,SP		; ...NO -- FUDGE THE STACK POINTER
  17594	034270	000407 				BR	20$		; ......AND ASSUME IT IS E-O-C
  17595						;
  17596
  17597					;	[CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 537
.ZEROC -- THE "ZERO" COMMAND 7609.15

  17599					;	[CONTINUED FROM THE PREVIOUS PAGE]
  17600
  17601	034272				10$:
  17602	034272	105725 				TSTB	(R5)+		; ...GET OVER THE SEPARATOR
  17603	034274	005046 				CLR	-(SP)		; ...CLEAR ANOTHER BUFFER
  17604	034276	005046 				CLR	-(SP)		; ....
  17605	034300	005046 				CLR	-(SP)		; .....
  17606	034302	010600 				MOV	SP,R0		; ......GET SECOND BUFFER POINTER
  17607	034304					CALL	.GTKLA		; ......READ THE SECOND ADDRESS
	034304	004737 	012302'			 JSR	PC,.GTKLA
  17608	034310				20$:
  17609	034310					CALL	.CKEOC		; ......MUST BE E-O-C
	034310	004737 	002010'			 JSR	PC,.CKEOC
  17610	034314					PUSH	<R0,R1>		; ......SAVE THE POINTERS
	034314	010046 				 MOV	R0,-(SP)
	034316	010146 				 MOV	R1,-(SP)
  17611	034320					CALL	.STPKL		; ........STOP THE KL
	034320	004737 	026330'			 JSR	PC,.STPKL
  17612	034324	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ........IS THE CLOCK RUNNING?
  17613	034332	001002 				BNE	30$		; ........YES -- GO ON
  17614	034334					CALL	.STCLK		; ........NO -- START IT
	034334	004737 	026300'			 JSR	PC,.STCLK
  17615	034340				30$:
  17616	034340					POP	<R1,R0>		; ........RESTORE THE POINTERS
	034340	012601 				 MOV	(SP)+,R1
	034342	012600 				 MOV	(SP)+,R0
  17617	034344	012702 	027414'			MOV	#.TPDEC,R2	; ......DISPATCH FOR DECREMENT
  17618	034350					CALL	.TPCMP		; ......COMPARE ADDRESSES
	034350	004737 	027304'			 JSR	PC,.TPCMP
  17619	034354	002402 				BLT	40$		; ......ALL OK IF (R1) .GT. (R0)
  17620	034356	012702 	027402'			MOV	#.TPINC,R2	; ......SET UP FOR FORWARD
  17621	034362				40$:
  17622	034362	010003 				MOV	R0,R3		; ......END ADDRESS TO R3
  17623	034364	010100 				MOV	R1,R0		; ......BEGINNING ADDESSS TO R0
  17624	034366	010301 				MOV	R3,R1		; ......END ADDRESS TO R1
  17625	034370	005046 				CLR	-(SP)		; ......CLEAR A DATA BUFFER
  17626	034372	005046 				CLR	-(SP)		; .......
  17627	034374	005046 				CLR	-(SP)		; ........
  17628	034376	010603 				MOV	SP,R3		; .........POINT TO IT
  17629	034400	010337 	034510'			MOV	R3,ZERDPB+6	; .........SET UP THE DEPOSIT DPB
  17630	034404	010037 	034506'			MOV	R0,ZERDPB+4	; .........SO
  17631
  17632					;	[CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 538
.ZEROC -- THE "ZERO" COMMAND 7609.15

  17634					;	[CONTINUED FROM THE PREVIOUS PAGE]
  17635
  17636	034410				50$:
  17637	034410	012703 	000144 			MOV	#^D100,R3	; .........LOOP COUNT TO R4
  17638	034414				60$:
  17639	034414					DIR$	#ZERDPB		; .........DO THE DEPOSIT
	034414	012746 	034502'			MOV	#ZERDPB,-(SP)
	034420	104375 				EMT	375
  17640	034422	103415 				BCS	80$		; .........ERROR IF CC-C IS SET
  17641	034424					CALL	.TPCMP		; .........ARE WE DONE?
	034424	004737 	027304'			 JSR	PC,.TPCMP
  17642	034430	001405 				BEQ	70$		; .........YES -- EXIT
  17643	034432					CALL	(R2)		; .........NO -- COMPUTE NEXT ADDRESS
	034432	004712 				 JSR	PC,(R2)
  17644	034434	077311 				SOB	R3,60$		; .........LOOP THRU THIS SET
  17645	034436					CALL	.CKCTC		; .........LOOK FOR CONTROL-C
	034436	004737 	002126'			 JSR	PC,.CKCTC
  17646	034442	000762 				BR	50$		; .........AND GO ON
  17647						;
  17648	034444				70$:
  17649	034444	062706 	000022 			ADD	#^D18,SP	; .........CLEAR THE STACK
  17650	034450	005037 	000140'			CLR	.SVKLF		; CLEAR ".SVKLF"
  17651	034454					RETURN			; TO CALLER
	034454	000207 				 RTS	PC
  17652	034456				80$:
  17653	034456	022737 	000000G	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
  17654	034464	001403 				BEQ	ZERESD		; YES -- SAY SO
  17655	034466					ERROR$	DMF		; NO -- ERROR -- DEPOSIT MEMORY FAILED
	034466	012746 				 MOV	(PC)+,-(SP)	; "DMF" IN RAD50 TO STACK
	034470	015416 				 .RAD50	/DMF/		; ERROR IDENTIFIER
	034472	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  17656						;
  17657	034474				ZERESD:
  17658	034474					ERROR$	ESD		; ERROR -- EBOX STOPPED - DEPOSIT
	034474	012746 				 MOV	(PC)+,-(SP)	; "ESD" IN RAD50 TO STACK
	034476	021074 				 .RAD50	/ESD/		; ERROR IDENTIFIER
	034500	104400 				 TRAP	TC.ERR		; .AND TRAP OUT OF ROUTINE
  17659						;
  17660	034502				ZERDPB:
  17661	034502					PRDP$	0,0,0,ED.PHY
	034502	   011 	   005 			.BYTE	DR.DTE,5
	034504	   016 	   200 			.BYTE	DF.PDP,ED.PHY
	034506	000000 				.WORD	0
	034510	000000 				.WORD	0
	034512	000000 				.WORD	0
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539
.ZEROC -- THE "ZERO" COMMAND 7609.15

  17663		000001 			FTLCMN==1
  17664
  17665		000170'			.END	DATABX
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-1
SYMBOL TABLE

ABTAB   021012R  	A.LULU= 000002   	CCA   = 000014   	CRLTAB  020560R  	DIAG2 = 174432
ADD   = 000270   	A.LUNA= 000004   	CCEMSG  005300R     002	CR.ALL= 000003   	DIAG3 = 174436
ADDB  = 000273   	A.LUNU= 000006   	CC.ALL= 003417   	CR.CR1= 000001   	DIKL10= 000010
ADDI  = 000271   	BAEMSG  001652R     002	CC.NRM= 000000   	CR.CR2= 000002   	DIV   = 000234
ADDM  = 000272   	BCCTER  001622R  	CDD   = 000020   	CR.FUL= 000000   	DIVB  = 000237
ADH   = 000000   	BC.HDS= ****** GX	CDIMSG  001777R     002	CR.HLF= 000001   	DIVI  = 000235
ADL   = 000100   	BC.SKP= ****** GX	CDMTB   023532R  	CR.NRM= 000000   	DIVM  = 000236
AMBMSG  006034R     002	BIT0  = 000001   	CD.ALL= 003400   	CR.QTR= 000002   	DLYCNT= 174400
AND   = 000404   	BIT00 = 000001   	CD.CLC= 000400   	CR.SLO= 000003   	DMFMSG  002316R     002
ANDB  = 000407   	BIT01 = 000002   	CD.CRC= 002000   	CS.ALL= 000014   	DMOVE = 000120
ANDCA = 000410   	BIT02 = 000004   	CD.DPC= 001000   	CS.CS1= 000004   	DMOVEM= 000124
ANDCAB= 000413   	BIT03 = 000010   	CD.NRM= 000000   	CS.CS2= 000010   	DMOVN = 000121
ANDCAI= 000411   	BIT04 = 000020   	CESCES  001644R  	CS.EXP= 177670   	DMOVNM= 000125
ANDCAM= 000412   	BIT05 = 000040   	CESMSG  006066R     002	CS.EXT= 000010   	DNPMSG  002405R     002
ANDCB = 000440   	BIT06 = 000100   	CESMS0  004706R     002	CS.FST= 000004   	DOCCNR  003510R
ANDCBB= 000443   	BIT07 = 000200   	CESMS1  004713R     002	CS.MGN= 000004   	DON10C= 040000
ANDCBI= 000441   	BIT08 = 000400   	CESMS2  004720R     002	CS.NRM= 000000   	DON10S= 100000
ANDCBM= 000442   	BIT09 = 001000   	CESMS3  004723R     002	CS.UDF= 000014   	DON11C= 000100
ANDCM = 000420   	BIT1  = 000002   	CFHMSG  002030R     002	CYCLS = 000002   	DON11S= 000200
ANDCMB= 000423   	BIT10 = 002000   	CHNPNT= 000001   	DATABX  000170R  	DORMSG  002355R     002
ANDCMI= 000421   	BIT11 = 004000   	CH.ALP= 000001   	DATAI = 000001   	DOWMTB  033002R
ANDCMM= 000422   	BIT12 = 010000   	CH.ANM= 000003   	DATAO = 000003   	DOWTAB  023522R
ANDI  = 000405   	BIT13 = 020000   	CH.AOP= 000100   	DATBUF  033020R  	DPB   = 000137
ANDM  = 000406   	BIT14 = 040000   	CH.END= 000034   	DATE  = 000004   	DPDTEN= 005746RG
AOBJN = 000253   	BIT15 = 100000   	CH.EOC= 000010   	DAVMSG  002212R     002	DPOAPE  004562R
AOBJP = 000252   	BIT2  = 000004   	CH.EOL= 000004   	DBTMSG  002243R     002	DPOATB  004026R
AOJ   = 000340   	BIT3  = 000010   	CH.EOS= 000020   	DCKMSG  002273R     002	DPODTB  004036R
AOJA  = 000344   	BIT4  = 000020   	CH.ILL= 000200   	DCOMST= 000001   	DPOITB  004046R
AOJE  = 000342   	BIT5  = 000040   	CH.NUL= 000000   	DEP   = 010000   	DPOKCN  004570R
AOJG  = 000347   	BIT6  = 000100   	CH.NUM= 000002   	DEX   = 000400   	DPONTB  004056R
AOJGE = 000345   	BIT7  = 000200   	CH.PFX= 000040   	DEXDON= 000004   	DPOOAI  004256R
AOJL  = 000341   	BIT8  = 000400   	CIDLUN= 000001   	DEXWD1= 174406   	DPOPTB  004066R
AOJLE = 000343   	BIT9  = 001000   	CKCILS  001774R  	DEXWD2= 174404   	DPOVFE  004576R
AOJN  = 000346   	BLKI  = 000000   	CKCMRA  002002R  	DEXWD3= 174402   	DPOZTB  004076R
AOS   = 000350   	BLKO  = 000002   	CKEEOC  002044R  	DFAD  = 000110   	DPS4  = 040000
AOSA  = 000354   	BLT   = 000251   	CKRKLR  002226R  	DFBEND= 000240RG 	DPTMSG  000565R     002
AOSE  = 000352   	BPARER= 000020   	CLDSTB  032522R  	DFCIFC  003060R  	DRATAB  020574R
AOSG  = 000357   	CAEMSG  001705R     002	CLEAR = 000400   	DFDV  = 000113   	DRDMSG  000514R     002
AOSGE = 000355   	CAI   = 000300   	CLEARB= 000403   	DFMP  = 000112   	DRESET= 000100
AOSL  = 000351   	CAIA  = 000304   	CLEARI= 000401   	DFN   = 000131   	DR.DTE= 000011
AOSLE = 000353   	CAIE  = 000302   	CLEARM= 000402   	DFSB  = 000111   	DSEND = 000004
AOSN  = 000356   	CAIG  = 000307   	CLEMSG  002066R     002	DFUNC = 000200   	DSFMSG  002444R     002
APEMSG  001627R     002	CAIGE = 000305   	CLOSE = 000070   	DF.DMG= 000004   	DS04  = 004000
APR   = 000000   	CAIL  = 000301   	CLRTTB  032546R  	DF.DMN= 000007   	DS05  = 002000
AP.ALL= 000177   	CAILE = 000303   	CLSRTB  032536R  	DF.DOR= 000001   	DS06  = 001000
AP.ARP= 001000   	CAIN  = 000306   	CMDNAM  000034RG    002	DF.EHG= 000010   	DTCMSG  002477R     002
AP.CDP= 000004   	CALL  = 000040   	CNRMSG  002123R     002	DF.EHM= 000011   	DTECMD= 000451
AP.EIP= 000400   	CALLI = 000047   	CNUPE = 000002   	DF.EMG= 000005   	DTEDSF  005040R
AP.IPF= 000020   	CAM   = 000310   	CODLUN= 000002   	DF.EMN= 000006   	DTEFLG= 000444
AP.MPE= 000010   	CAMA  = 000314   	CONI  = 000005   	DF.KLR= 000012   	DTEF11= 000450
AP.NRM= 001400   	CAME  = 000312   	CONKNC  002652R  	DF.KLW= 000013   	DTEMTD= 000455
AP.NXM= 000040   	CAMG  = 000317   	CONO  = 000004   	DF.KLX= 000014   	DTEMTI= 000456
AP.PWF= 000001   	CAMGE = 000315   	CONSO = 000007   	DF.OFF= 000002   	DTRMSG  000433R     002
AP.SAP= 000002   	CAML  = 000311   	CONSZ = 000006   	DF.ON = 000003   	DUPE  = 000020
AP.SBE= 000100   	CAMLE = 000313   	CPEMSG  002163R     002	DF.PDP= 000016   	DURE  = 000004
ASH   = 000240   	CAMN  = 000316   	CPVMSG  000000RG    002	DF.PEX= 000015   	DV.LOG= ****** GX
ASHC  = 000244   	CBOMSG  001741R     002	CRATAB  020544R  	DIAG1 = 174430   	DWRMSG  000520R     002
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-2
SYMBOL TABLE

DW1MSG  000454R     002	EDEPT   000524R     002	ER$EMF= 005730R  	EXDESD  005672R  	FORPRO= 000020
DW2MSG  000464R     002	EDEXV   000530R     002	ER$EOC= 002044R  	EXDESE  005706R  	FRDFRF  010720R
DW3MSG  000504R     002	EDNKLA  005472R  	ER$EPE= 005320R  	EXDMS0  000755R     002	FRDMSG  000273R     002
DXWRD1= 002000   	EDONES= 040000   	ER$ESD= 034474R  	EXDMS1  000764R     002	FRDTEN= 010736RG
D.CCPU= ****** GX	EDPHY   000544R     002	ER$ESE= 005714R  	EXDMS2  000773R     002	FRFMSG  006120R     002
D.CKLN= ****** GX	EDTYTB  006144R  	ER$FRF= 010720R  	EXDMS3  001002R     002	FRIMSG  007404R     002
D1.CES= 004000   	EDUPT   000534R     002	ER$FWF= 011054R  	EXDMS4  001011R     002	FR.ADX= 000254
D1.DCS= 000001   	EDUSV   000540R     002	ER$FXF= 011236R  	EXDTEN= 005760RG 	FR.APR= 000220
D1.DDT= 000040   	ED.EPT= 000000   	ER$IDF= 011742R  	EXDTET  007634R  	FR.ARX= 000252
D1.DEX= 000400   	ED.EXV= 000040   	ER$IFC= 034114R  	EXECTO  007530R  	FR.BRX= 000250
D1.DFM= 000010   	ED.PHY= 000200   	ER$ILC= 013110R  	EXFMSG  000645R     002	FR.CA1= 000312
D1.DS0= 100000   	ED.UPT= 000100   	ER$ILS= 022506R  	EXKMS0  000746R     002	FR.CA2= 000310
D1.DS1= 040000   	ED.USV= 000140   	ER$IOC= 007316R  	EXKMS1  000751R     002	FR.CL1= 000316
D1.DS2= 020000   	EF.CRI= ****** GX	ER$IPC= 024032R  	EXMDTB  006414R  	FR.CL2= 000314
D1.DS3= 010000   	EF.PR1= ****** GX	ER$IRC= 021120R  	EXRTBL= 000012 G 	FR.CRD= 000302
D1.DS4= 004000   	ELBBIN  031252RG 	ER$ITF= 013720R  	EXTEND= 000123   	FR.CR1= 000316
D1.DS5= 002000   	ELBOCT  031256RG 	ER$ITN= 022246R  	EXTKCN  007126R  	FR.CR2= 000314
D1.DS6= 001000   	ELNBIN  031244RG 	ER$KCN= 022112R  	EXTMSG  000550R     002	FR.CR3= 000312
D1.HLP= 001000   	ELNNOR  012246R  	ER$KLA= 012326R  	E.FCID= 000002   	FR.CR4= 000310
D1.LBK= 000200   	ELNOCT  031262RG 	ER$KLR= 002226R  	E.FCOD= 000003   	FR.DA1= 000260
D1.MBZ= 000442   	EMFMSG  002602R     002	ER$KNC= 002652R  	E.FCTC= ****** GX	FR.DA2= 000262
D1.PLS= 000020   	ENTER = 000077   	ER$KWE= 024372R  	E.FHTO= 000001   	FR.EBS= 000356
D1.RUN= 002000   	EOCMSG  002641R     002	ER$MRA= 013352R  	E.FKLN= 000004   	FR.FE1= 000266
D1.T10= 000200   	EPEMSG  002677R     002	ER$NDI= 023506R  	E.FPR1= ****** GX	FR.FE2= 000264
D1.T11= 000100   	EPMSG0  001067R     002	ER$NER= 012524R  	FAD   = 000140   	FR.PI0= 000200
D1.V04= 000020   	EPMSG1  001103R     002	ER$NOR= 013360R  	FADB  = 000143   	FR.PI1= 000202
D1.XFR= 000004   	EPMSG2  001115R     002	ER$NPI= 024006R  	FADL  = 000141   	FR.RAD= 000256
D1011 = 000040   	EPMSG3  001131R     002	ER$NSK= 030424R  	FADM  = 000142   	FR.RAR= 000240
D2RST   021440R  	EPTR  = 000000   	ER$NST= 022254R  	FADR  = 000144   	FR.RBR= 000242
D2.EBD= 040000   	EQV   = 000444   	ER$NTI= 023514R  	FADRB = 000147   	FR.RFM= 000246
D2.MBZ= 177641   	EQVB  = 000447   	ER$OAI= 006606R  	FADRI = 000145   	FR.RMQ= 000244
D2.MS1= 000002   	EQVI  = 000445   	ER$OFC= 034122R  	FADRM = 000146   	FR.SC1= 000262
D2.MS2= 000004   	EQVM  = 000446   	ER$PTL= 024014R  	FDV   = 000170   	FR.SC2= 000260
D2.MS4= 000010   	ERR10C= 010000   	ER$RPM= 013226R  	FDVB  = 000173   	FR.SR1= 000306
D2.MS8= 000020   	ERR10S= 020000   	ER$SCF= 022514R  	FDVL  = 000171   	FR.SR2= 000304
D2.RA0= 100000   	ERR11C= 000001   	ER$SKI= 024022R  	FDVM  = 000172   	FR.VM0= 000320
D2.RA1= 040000   	ERR11S= 000002   	ER$SPF= 022522R  	FDVR  = 000174   	FR.VM1= 000322
D2.RA2= 020000   	ERSMSG  004733R     002	ER$SZI= 026556R  	FDVRB = 000177   	FR.VM2= 000324
D2.RST= 000100   	ER$AMB= 030416R  	ER$TAA= 022262R  	FDVRI = 000175   	FR.VM3= 000326
D3RST   021442R  	ER$APE= 004562R  	ER$TOR= 013726R  	FDVRM = 000176   	FR.VM4= 000330
D3.CDD= 000020   	ER$BAE= 001622R  	ER$UNL= 026752R  	FERTAB  020610R  	FR.VM5= 000332
D3.MBZ= 177704   	ER$CAE= 026744R  	ER$VFY= 004576R  	FIX   = 000122   	FR.VM6= 000334
D3.NPE= 000002   	ER$CBO= 012142R  	ER$WRM= 030432R  	FIXR  = 000126   	FR.VM7= 000336
D3.PAR= 040000   	ER$CDI= 023472R  	ER$XTO= 007530R  	FLDMSG  004647R     002	FR.100= 000200
D3.RST= 000001   	ER$CES= 001704R  	ER$YOR= 011750R  	FLTR  = 000127   	FR.101= 000202
D3.SCD= 000040   	ER$CFH= 015276R  	ESDMSG  002727R     002	FMP   = 000160   	FR.102= 000204
D3.SSL= 100000   	ER$CLE= 022672R  	ESEMSG  002764R     002	FMPB  = 000163   	FR.103= 000206
D3.TXB= 000001   	ER$CNR= 003510R  	EXADTB  006424R  	FMPL  = 000161   	FR.104= 000210
D3.UPE= 000020   	ER$DAV= 023500R  	EXAITB  006434R  	FMPM  = 000162   	FR.105= 000212
D3.URE= 000004   	ER$DBT= 011726R  	EXANTB  006444R  	FMPR  = 000164   	FR.106= 000214
D3.WEP= 000010   	ER$DCK= 027204R  	EXAOAI  006606R  	FMPRB = 000167   	FR.107= 000216
EBCECT  005276R  	ER$DMF= 034466R  	EXAPTB  006454R  	FMPRI = 000165   	FR.110= 000220
EBPEPE  005320R  	ER$DNP= 014514R  	EXAZTB  006464R  	FMPRM = 000166   	FR.111= 000222
EBSEL = 000100   	ER$DOR= 011734R  	EXCH  = 000250   	FNCIFC  034114R  	FR.112= 000224
EBUSPC= 000020   	ER$DSF= 005040R  	EXCIOC  007316R  	FNCOFC  034122R  	FR.113= 000226
EBUSPS= 000004   	ER$DTC= 014522R  	EXDDMF  005722R  	FOFMSG  000637R     002	FR.114= 000230
ECTMSG  002551R     002	ER$ECT= 005276R  	EXDEMF  005730R  	FONMSG  000631R     002	FR.115= 000232
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-3
SYMBOL TABLE

FR.116= 000234   	FSBRM = 000156   	FW.046= 000114   	FX.017= 000036   	HLLZM = 000512
FR.117= 000236   	FSC   = 000132   	FW.047= 000116   	FX.020= 000040   	HLLZS = 000513
FR.120= 000240   	FTBYTE= 000000   	FW.050= 000120   	FX.021= 000042   	HLR   = 000544
FR.121= 000242   	FTCRAM= 000000   	FW.051= 000122   	FX.022= 000044   	HLRE  = 000574
FR.122= 000244   	FTDEBU= 000001   	FW.052= 000124   	FX.023= 000046   	HLREI = 000575
FR.123= 000246   	FTDISP= 000000   	FW.053= 000126   	FX.024= 000050   	HLREM = 000576
FR.124= 000250   	FTDRAM= 000000   	FW.054= 000130   	FX.025= 000052   	HLRES = 000577
FR.125= 000252   	FTHELP= 000000   	FW.055= 000132   	FX.026= 000054   	HLRO  = 000564
FR.126= 000254   	FTKLER= 000000   	FW.056= 000134   	FX.027= 000056   	HLROI = 000565
FR.127= 000256   	FTLCMN= 000001 G 	FW.057= 000136   	FX.030= 000060   	HLROM = 000566
FR.130= 000260   	FTLCVT= 000000   	FW.060= 000140   	FX.031= 000062   	HLROS = 000567
FR.131= 000262   	FTLIST= 000000   	FW.061= 000142   	FX.032= 000064   	HLRS  = 000547
FR.132= 000264   	FTTRAK= 000001   	FW.062= 000144   	FX.033= 000066   	HLRZ  = 000554
FR.133= 000266   	FTTRP4= 000001   	FW.063= 000146   	FX.034= 000070   	HLRZI = 000555
FR.134= 000270   	FTUCVR= 000130   	FW.064= 000150   	FX.035= 000072   	HLRZM = 000556
FR.135= 000272   	FT1105= 000001   	FW.065= 000152   	FX.036= 000074   	HLRZS = 000557
FR.136= 000274   	FT1110= 000001   	FW.066= 000154   	FX.037= 000076   	HRL   = 000504
FR.137= 000276   	FT1115= 000001   	FW.067= 000156   	GETSTS= 000062   	HRLE  = 000534
FR.140= 000300   	FT1120= 000001   	FW.070= 000160   	GTDDBT  011726R  	HRLEI = 000535
FR.141= 000302   	FT1135= 000001   	FW.071= 000162   	GTDDOR  011734R  	HRLEM = 000536
FR.142= 000304   	FT1140= 000001   	FW.072= 000164   	GTDIDF  011742R  	HRLES = 000537
FR.143= 000306   	FT1145= 000000   	FW.073= 000166   	GTDMS0  001407R     002	HRLI  = 000505
FR.144= 000310   	FWDTEN= 011072RG 	FW.074= 000170   	GTDYOR  011750R  	HRLM  = 000506
FR.145= 000312   	FWFMSG  006145R     002	FW.075= 000172   	GTFILC  013110R  	HRLO  = 000564
FR.146= 000314   	FWRFWF  011054R  	FW.076= 000174   	GTKKLA  012326R  	HRLOI = 000565
FR.147= 000316   	FW.APE= 000116   	FW.077= 000176   	GTLCBO  012142R  	HRLOM = 000566
FR.150= 000320   	FW.CA1= 000122   	FXCFXF  011236R  	GTLILC  012150R  	HRLOS = 000567
FR.151= 000322   	FW.CA2= 000124   	FXDTEN= 011254RG 	GTNMRA  013352R  	HRLS  = 000507
FR.152= 000324   	FW.CDR= 000112   	FXFMSG  006173R     002	GTNNER  012524R  	HRLZ  = 000514
FR.153= 000326   	FW.CHN= 000160   	FX.BMC= 000012   	GTNNOR  013360R  	HRLZI = 000515
FR.154= 000330   	FW.CRD= 000126   	FX.CMR= 000014   	GTNORE  012520R  	HRLZM = 000516
FR.155= 000332   	FW.CR1= 000136   	FX.CON= 000024   	GTTITF  013720R  	HRLZS = 000517
FR.156= 000334   	FW.CR2= 000134   	FX.CRF= 000020   	GTTMS0  001416R     002	HRR   = 000540
FR.157= 000336   	FW.CR3= 000132   	FX.CSP= 000000   	GTTTOR  013726R  	HRRE  = 000570
FR.160= 000340   	FW.CR4= 000130   	FX.CST= 000002   	G.TICP= 000016   	HRREI = 000571
FR.161= 000342   	FW.CSR= 000110   	FX.EBC= 000006   	G.TICT= 000014   	HRREM = 000572
FR.162= 000344   	FW.DJE= 000146   	FX.MBC= 000004   	G.TIDA= 000004   	HRRES = 000573
FR.163= 000346   	FW.DJO= 000150   	FX.SMR= 000016   	G.TIHR= 000006   	HRRI  = 000541
FR.164= 000350   	FW.DR1= 000140   	FX.SRF= 000022   	G.TIMI= 000010   	HRRM  = 000542
FR.165= 000352   	FW.DR2= 000142   	FX.SYC= 000010   	G.TIMO= 000002   	HRRO  = 000560
FR.166= 000354   	FW.DR3= 000144   	FX.UDR= 000032   	G.TISC= 000012   	HRROI = 000561
FR.167= 000356   	FW.EBL= 000174   	FX.UIR= 000030   	G.TIYR= 000000   	HRROM = 000562
FR.170= 000360   	FW.IAC= 000154   	FX.000= 000000   	HIBYTE= 177400   	HRROS = 000563
FR.171= 000362   	FW.IOJ= 000152   	FX.001= 000002   	HLL   = 000500   	HRRS  = 000543
FR.172= 000364   	FW.IPE= 000114   	FX.002= 000004   	HLLE  = 000530   	HRRZ  = 000550
FR.173= 000366   	FW.KLO= 000156   	FX.003= 000006   	HLLEI = 000531   	HRRZI = 000551
FR.174= 000370   	FW.LAR= 000176   	FX.004= 000010   	HLLEM = 000532   	HRRZM = 000552
FR.175= 000372   	FW.LBL= 000106   	FX.005= 000012   	HLLES = 000533   	HRRZS = 000553
FR.176= 000374   	FW.LBR= 000104   	FX.006= 000014   	HLLI  = 000501   	I     = 000000
FR.177= 000376   	FW.MBX= 000162   	FX.007= 000016   	HLLM  = 000502   	IBP   = 000133
FSB   = 000150   	FW.SBR= 000174   	FX.010= 000020   	HLLO  = 000520   	IDFMSG  003021R     002
FSBB  = 000153   	FW.040= 000100   	FX.011= 000022   	HLLOI = 000521   	IDIV  = 000230
FSBL  = 000151   	FW.041= 000102   	FX.012= 000024   	HLLOM = 000522   	IDIVB = 000233
FSBM  = 000152   	FW.042= 000104   	FX.013= 000026   	HLLOS = 000523   	IDIVI = 000231
FSBR  = 000154   	FW.043= 000106   	FX.014= 000030   	HLLS  = 000503   	IDIVM = 000232
FSBRB = 000157   	FW.044= 000110   	FX.015= 000032   	HLLZ  = 000510   	IDPB  = 000136
FSBRI = 000155   	FW.045= 000112   	FX.016= 000034   	HLLZI = 000511   	IE.ACT= ****** GX
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-4
SYMBOL TABLE

IE.EBX= ****** GX	JUMPLE= 000323   	MOVMI = 000215   	PAG   = 000010   	PSWW5 = 000011
IE.INS= ****** GX	JUMPN = 000326   	MOVMM = 000216   	PARERC  016730R  	PSWW6 = 000012
IFCMSG  003053R     002	KCNMSG  003254R     002	MOVMS = 000217   	PARERX  016554R  	PSWW7 = 000013
IFLOP = 100000   	KF.BRM= 001000   	MOVN  = 000210   	PARMSG  000011RG    002	PS.NRM= 001416
ILCMSG  006223R     002	KF.CES= 000100   	MOVNI = 000211   	PARNAM  000021RG    002	PTLMSG  004044R     002
ILDB  = 000134   	KF.CLK= 100000   	MOVNM = 000212   	PARUEC  017002R  	PTOATM  004775R     002
ILSMSG  006255R     002	KF.CON= 000200   	MOVNS = 000213   	PAR$$E= 000010   	PTRTEM  005042R     002
IMUL  = 000220   	KF.DEF= 000200   	MOVS  = 000204   	PAR$$K= 000126   	PTRTHM  005112R     002
IMULB = 000223   	KF.KLO= 000400   	MOVSI = 000205   	PAR$$V= 000004   	PULSE = 000020
IMULI = 000221   	KF.MRS= 020000   	MOVSM = 000206   	PCTAB   021004R  	PUSH  = 000261
IMULM = 000222   	KF.RUN= 040000   	MOVSS = 000207   	PC.AFI= 000020   	PUSHJ = 000260
IN    = 000056   	KF.SIM= 010000   	MPE11 = 001000   	PC.AT0= 000004   	QSIZE = 000023
INBUF = 000064   	KF.SMC= 004000   	MRAMSG  003461R     002	PC.AT1= 000010   	Q.BYCT= 000016
INIDNP  014514R  	KF.SPM= 002000   	MUL   = 000224   	PC.BIS= 000400   	Q.IBUF= 000014
INIDTC  014522R  	KLABIN  031240RG 	MULB  = 000227   	PC.CY0= 004000   	Q.IOAE= 000012
INIT  = 000041   	KLAMSG  003302R     002	MULI  = 000225   	PC.CY1= 002000   	Q.IOEF= 000006
INPUT = 000066   	KLAOCT  031264RG 	MULM  = 000226   	PC.FOV= 001000   	Q.IOFN= 000002
INTROF= 000010   	KLHCFH  014766R  	M.KTAE= 000010   	PC.FUF= 000002   	Q.IOLU= 000004
INTRON= 000040   	KLIOT = 000700   	M.KTEF= 000002   	PC.LIP= 000040   	Q.IOPL= 000014
INTSON= 000001   	KLNBIN  031230RG 	M.KTMG= 000004   	PC.NDV= 000001   	Q.IOPR= 000007
INT10S= 000400   	KLNLGE= 025026R  	M.KTUN= 000006   	PC.OVF= 010000   	Q.IOSB= 000010
INT11C= 002000   	KLNLGL= ****** GX	NDIMSG  003521R     002	PC.UIO= 000100   	Q.OBUF= 000014
INT11S= 004000   	KLNLOG  025002R  	NEBMSG  004746R     002	PC.USR= 000200   	Q.OVFC= 000020
IOCMSG  003107R     002	KLNOCT  031260RG 	NERMSG  003551R     002	PERCLR= 001000   	RAMIS0= 010000
IOR   = 000434   	KLNPLN= ****** GX	NOFMSG  000602R     002	PE.ALL= 000037   	RDCPT1  017756R
IORB  = 000437   	KLNPWD  025026R  	NOMSG   010300R     002	PE.CES= 000001   	RDCPT2  017736R
IORI  = 000435   	KLPWRF= 000010   	NORMSG  003613R     002	PE.CRM= 000004   	RDCPT3  017746R
IORM  = 000436   	KLRMSG  003331R     002	NPIMSG  003653R     002	PE.DRM= 000002   	RDPITB  020400R
IO.ATT= ****** GX	KLSCFH  015276R  	NSKMSG  006364R     002	PE.FMP= 000010   	RDPITE= 020414R
IO.DET= ****** GX	KNCMSG  003373R     002	NSTMSG  003707R     002	PE.FSS= 000020   	REGTAB  005200R
IO.RLB= ****** GX	KWEMSG  003427R     002	NTIMSG  003732R     002	PHYS  = 100000   	RELEAS= 000071
IO.WLB= ****** GX	K.LSCK= ****** GX	NULSTP= 000040   	PI    = 000004   	RENAME= 000055
IPCMSG  006321R     002	LDB   = 000135   	NUPE  = 000002   	PIDENT= 000000   	REPIRC  021120R
IP.ALL= 000017   	LG.ALL= 000007   	OAIMSG  003762R     002	POP   = 000262   	REQKLD  033434R
IP.CRP= 000004   	LG.ARG= 000010   	OFCMSG  004014R     002	POPJ  = 000263   	RESETT  021244R
IP.DRP= 000002   	LG.MAR= 000020   	OFFMSG  001147R     002	PRI7  = 000340   	RFMAD0= 100000
IP.FMP= 000010   	LG.MNT= 000004   	ONMSG   001144R     002	PROMPT  000030RG    002	RFMAD1= 040000
IP.FSS= 000001   	LG.MOD= 000040   	OPEN  = 000050   	PROPNT= 000021   	RFMAD2= 020000
IP.NRM= 000016   	LG.NUL= 000000   	OR    = 000434   	PRTOFF= 004000   	RFMAD3= 010000
IRCMSG  003137R     002	LG.OPR= 000001   	ORB   = 000437   	PR0   = 000000   	RGDTEN= 005066RG
IS.SET= ****** GX	LG.PRG= 000002   	ORCA  = 000454   	PR1   = 000040   	RM    = 000010
ITFMSG  003172R     002	LG.PRM= 000003   	ORCAB = 000457   	PR2   = 000100   	ROT   = 000241
ITNMSG  003224R     002	LG.RNG= 000100   	ORCAI = 000455   	PR3   = 000140   	ROTC  = 000245
JFCL  = 000255   	LG.RPT= 000400   	ORCAM = 000456   	PR4   = 000200   	RPMMSG  004074R     002
JFFO  = 000243   	LG.STR= 000200   	ORCB  = 000470   	PR5   = 000240   	RQSKLD  003316R
JRA   = 000267   	LOAD11= 000004   	ORCBB = 000473   	PR6   = 000300   	RSAKCN  021704R
JRST  = 000254   	LOOKUP= 000076   	ORCBI = 000471   	PR7   = 000340   	RSAPRI  021744R
JSA   = 000266   	LSH   = 000242   	ORCBM = 000472   	PS    = 177776   	RSERRI  021752R
JSP   = 000265   	LSHC  = 000246   	ORCM  = 000464   	PSENTB  033704R  	RSPGI0  022120R
JSR   = 000264   	MAP   = 000257   	ORCMB = 000467   	PSWW1 = 000005   	RSPGI1  022126R
JSYS  = 000104   	MBZTAB  005046R  	ORCMI = 000465   	PSWW10= 000014   	RSPKCN  022112R
JUMP  = 000320   	MONMSG  007336R     002	ORCMM = 000466   	PSWW11= 000015   	RSTEND= 021252R
JUMPA = 000324   	MOVE  = 000200   	ORI   = 000435   	PSWW12= 000016   	RSTIOI  021760R
JUMPE = 000322   	MOVEI = 000201   	ORM   = 000436   	PSWW13= 000017   	RSTPII  021766R
JUMPG = 000327   	MOVEM = 000202   	OUT   = 000057   	PSWW2 = 000006   	RUNITN  022246R
JUMPGE= 000325   	MOVES = 000203   	OUTBUF= 000065   	PSWW3 = 000007   	RUNNST  022254R
JUMPL = 000321   	MOVM  = 000214   	OUTPUT= 000067   	PSWW4 = 000010   	RUNTAA  022262R
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-5
SYMBOL TABLE

R.QSGC= 000015   	SKIPA = 000334   	ST.TXD= 100000   	TOD   = 000003   	TSNA  = 000615
R.QSPC= 000014   	SKIPE = 000332   	ST.TXE= 020000   	TOIP  = 000002   	TSNE  = 000613
R.QSPN= 000006   	SKIPG = 000337   	ST.XDB= 000400   	TOIT  = 000001   	TSNN  = 000617
R.QSPR= 000012   	SKIPGE= 000335   	SUB   = 000274   	TORMSG  004361R     002	TSO   = 000671
R.QSTN= 000002   	SKIPL = 000331   	SUBB  = 000277   	TO10  = 000200   	TSOA  = 000675
SATMSG  007414R     002	SKIPLE= 000333   	SUBI  = 000275   	TO10AD= 174420   	TSOE  = 000673
SBRTAB  020624R  	SKIPN = 000336   	SUBM  = 000276   	TO10BC= 174414   	TSON  = 000677
SCCCLE  022672R  	SOJ   = 000360   	SUNMSG  007426R     002	TO10BM= 000001   	TSZ   = 000631
SCCLKT  022530R  	SOJA  = 000364   	SWR   = 177570   	TO10DB= 000400   	TSZA  = 000635
SCD   = 000040   	SOJE  = 000362   	SWSLLT= 100000   	TO10DN= 100000   	TSZE  = 000633
SCDCDI  023472R  	SOJG  = 000367   	SXCT  = 000106   	TO10DT= 174424   	TSZN  = 000637
SCDDAV  023500R  	SOJGE = 000365   	SZIMSG  004270R     002	TO10ER= 020000   	TTCALL= 000051
SCDNDI  023506R  	SOJL  = 000361   	TAAMSG  004324R     002	TO11  = 000100   	TUEMSG  007346R     002
SCDNTI  023514R  	SOJLE = 000363   	TC.CON= 000377   	TO11AD= 174422   	TYDMAP  006534R     002
SCFMSG  004134R     002	SOJN  = 000366   	TC.CTC= 000002   	TO11BC= 174416   	TYDMAU  006554R     002
SCKIPC  024030R  	SOS   = 000370   	TC.ERR= 000000   	TO11BM= 020000   	TYDMDE  006574R     002
SCKKWE  024372R  	SOSA  = 000374   	TC.RST= 000001   	TO11DB= 004000   	TYDMFE  006524R     002
SCKMS0  005466R     002	SOSE  = 000372   	TDC   = 000650   	TO11DN= 000200   	TYDMJA  006520R     002
SCKMS1  005501R     002	SOSG  = 000377   	TDCA  = 000654   	TO11DT= 174426   	TYDMJL  006550R     002
SCKMS2  005525R     002	SOSGE = 000375   	TDCE  = 000652   	TO11ER= 000002   	TYDMJN  006544R     002
SCKMS3  005552R     002	SOSL  = 000371   	TDCN  = 000656   	TPDDCK  027204R  	TYDMMR  006530R     002
SCKMS4  005601R     002	SOSLE = 000373   	TDMSG0  006501R     002	TPDDVD  027226R  	TYDMMY  006540R     002
SCKNPI  024006R  	SOSN  = 000376   	TDN   = 000610   	TPDDVS  027220R  	TYDMNO  006570R     002
SCKPTL  024014R  	SPCEST  017116R  	TDNA  = 000614   	TPDRMN  027212R  	TYDMOC  006564R     002
SCKSKI  024022R  	SPFMSG  004240R     002	TDNE  = 000612   	TRADDR  006130R  	TYDMSE  006560R     002
SCPART  022542R  	SSTLEN= 000010 G 	TDNN  = 000616   	TRC   = 000640   	TYDMTB  030554R
SCPILS  022506R  	SSTTBE= 000212RG 	TDO   = 000670   	TRCA  = 000644   	TYODIE  031632R
SCPSCF  022514R  	STAMSG  000474R     002	TDOA  = 000674   	TRCE  = 000642   	UECMSG  004657R     002
SCPSPF  022522R  	STASZI  026556R  	TDOE  = 000672   	TRCN  = 000646   	UECMSP  017024R
SCRTAB  020640R  	STAT  = 174434   	TDON  = 000676   	TRDATA  006136R  	UGETF = 000073
SETA  = 000424   	STATO = 000061   	TDZ   = 000630   	TRN   = 000600   	UJEN  = 000100
SETAB = 000427   	STATUS= 000022   	TDZA  = 000634   	TRNA  = 000604   	UNASG1= 000032
SETAI = 000425   	STATZ = 000063   	TDZE  = 000632   	TRNE  = 000602   	UNASG2= 000033
SETAM = 000426   	STUCAE  026744R  	TDZN  = 000636   	TRNN  = 000606   	UNASG3= 000034
SETCA = 000450   	STUUNL  026752R  	TENAD1= 174410   	TRO   = 000660   	UNASG4= 000035
SETCAB= 000453   	ST.CED= 000100   	TENAD2= 174412   	TROA  = 000664   	UNASG5= 000036
SETCAI= 000451   	ST.CLE= 000001   	TFRMSG  006432R     002	TROE  = 000662   	UNASG6= 000037
SETCAM= 000452   	ST.CTD= 040000   	TFWMSG  006447R     002	TRON  = 000666   	UNLMSG  004411R     002
SETCM = 000460   	ST.CTE= 010000   	TFXMSG  006464R     002	TRZ   = 000620   	USETI = 000074
SETCMB= 000463   	ST.DW1= 002000   	THUMSG  007372R     002	TRZA  = 000624   	USETO = 000075
SETCMI= 000461   	ST.DXD= 000004   	TLC   = 000641   	TRZE  = 000622   	VFYMSG  004447R     002
SETCMM= 000462   	ST.EBS= 000100   	TLCA  = 000645   	TRZN  = 000626   	VF.DSP= 000060
SETM  = 000414   	ST.EDB= 004000   	TLCE  = 000643   	TR.ALL= 000077   	VF.FFD= 000061
SETMB = 000417   	ST.EPE= 000020   	TLCN  = 000647   	TR.DEP= 000020   	VF.INT= 000000
SETMI = 000415   	ST.IDS= 000010   	TLN   = 000601   	TR.DTE= 000040   	VF.OVR= 000053
SETMM = 000416   	ST.IEN= 000040   	TLNA  = 000605   	TR.EXM= 000010   	VF.PRM= 000044
SETO  = 000474   	ST.ION= 000001   	TLNE  = 000603   	TR.FRD= 000002   	VF.SSP= 000040
SETOB = 000477   	ST.MBZ= 000000   	TLNN  = 000607   	TR.FWR= 000004   	VMATB   021020R
SETOI = 000475   	ST.MOD= 000010   	TLO   = 000661   	TR.FXC= 000001   	VMHTB   021026R
SETOM = 000476   	ST.MPE= 001000   	TLOA  = 000665   	TSC   = 000651   	WCLMS0  006777R     002
SETSTS= 000060   	ST.NST= 000040   	TLOE  = 000663   	TSCA  = 000655   	WCLMS1  007004R     002
SETZ  = 000400   	ST.RIZ= 010000   	TLON  = 000667   	TSCAMB  030412R  	WCLMS2  007016R     002
SETZB = 000403   	ST.RST= 011121   	TLZ   = 000621   	TSCE  = 000653   	WCLMS3  007026R     002
SETZI = 000401   	ST.SEP= 000004   	TLZA  = 000625   	TSCN  = 000657   	WCLMS4  007037R     002
SETZM = 000402   	ST.STE= 000002   	TLZE  = 000623   	TSCNSK  030424R  	WCLMS5  007046R     002
SKIMSG  004163R     002	ST.TED= 000200   	TLZN  = 000627   	TSCWRM  030432R  	WCLMS6  007057R     002
SKIP  = 000330   	ST.TER= 000002   	TOBM  = 000004   	TSN   = 000611   	WCLMS7  007064R     002
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-6
SYMBOL TABLE

WCLMS8  007071R     002	XCT   = 000256   	.CKOBJ  002074RG 	.DPOKL  003760RG 	.EXAMC  006364RG
WCLMS9  007101R     002	XOR   = 000430   	.CKRNP  002154RG 	.DPOSA  004022RG 	.EXAMD  006420RG
WCMMSG  007175R     002	XORB  = 000433   	.CKRUN  002164RG 	.DPOSC  003776RG 	.EXAME  006470RG
WCMMS0  007215R     002	XORI  = 000431   	.CKSYM  002112RG 	.DPOSD  004032RG 	.EXAMF  006614RG
WCMMS1  007231R     002	XORM  = 000432   	.CLDFB  002234RG 	.DPOSE  004102RG 	.EXAMI  006430RG
WCMMS2  007244R     002	XR    = 000000   	.CLDFR  002240RG 	.DPOSI  004042RG 	.EXAMK  006720RG
WCMSG0  007106R     002	XTOMSG  004614R     002	.CLDFW  002250RG 	.DPOSN  004052RG 	.EXAMN  006440RG
WCMSG1  007132R     002	YESMSG  010274R     002	.CLKWD  000010RG 	.DPOSP  004062RG 	.EXAMP  006450RG
WCMSG2  007146R     002	YONMSG  010255R     002	.CLRCM  025626RG 	.DPOST  004264RG 	.EXAMT  006774RG
WCMSG3  007160R     002	YORMSG  004564R     002	.CLRFF  002266RG 	.DPOSZ  004072RG 	.EXAMZ  006460RG
WCMSG4  007170R     002	ZERDPB  034502R  	.CLRMR= 006000   	.DPOTB  004604RG 	.EXARR  006172RG
WEDMSG  007357R     002	ZERESD  034474R  	.CLRUN= 010000   	.DPSEE  004154RG 	.EXARX  006200RG
WEP   = 000010   	ZSTOP = 040000   	.CMDTB  002334RG 	.DPSTE  004334RG 	.EXBFR  000056RG
WHDMS0  007255R     002	$DIV  = ****** GX	.CMNDL= 000430 G 	.DPTRK  005774RG 	.EXBRR  006206RG
WHDMS1  007303R     002	$DSW  = ****** GX	.COBFL= 000204 G 	.DREG   000230RG 	.EXBRX  006214RG
WHDMS2  007327R     002	$MUL  = ****** GX	.COBFR  000454RG 	.DRLTC= 015000   	.EXCRA  007134RG
WHDMS3  007332R     002	$$    = 000037   	.COMEF= ****** GX	.DSACF= 066000   	.EXCRL  007142RG
WHIMSG  007436R     002	$$A   = 000100   	.COMMA= 000054   	.DSIOJ= 065000   	.EXCTC  007250RG
WHKMRB  007675R     002	$$B   = 000000   	.COMND  000670RG 	.DTAB   005662R  	.EXCTF  007324RG
WHKMSA  007666R     002	$$C   = 000200   	.CONBT= 012000   	.DTBUF  011756RG 	.EXDPB  005750RG
WHKMSI  007720R     002	$$CMDN= 006723R     002	.CONTC  002556RG 	.DTCID  031674RG 	.EXDPM  005570RG
WHKMSK  007745R     002	$$D   = 000011   	.COSTS  000012RG 	.DTDI1  000230RG 	.EXDRA  007150RG
WHKMSR  007736R     002	$$E   = 000016   	.CSHRG= 164000   	.DTDI2  000232RG 	.EXDTE  007536RG
WHKMSU  007731R     002	$$F   = 000000   	.DATE3= ****** GX	.DTDI3  000236RG 	.EXEBS  006222RG
WHKMS0  007476R     002	$$$ARG= 000006   	.DAY  = ****** GX	.DTDW1  004742RG 	.EXECT  007402RG
WHKMS1  007507R     002	$$$OST= 000016   	.DBGSW  000016RG 	.DTDW2  004750RG 	.EXETB  007654RG
WHKMS2  007520R     002	$$$T1 = 000000   	.DEPAR  002660RG 	.DTDW3  004770RG 	.EXEWD  007722RG
WHKMS3  007546R     002	.ABORT  001522RG 	.DFBLK  000214RG 	.DTSTA  004760RG 	.EXEWI  007730RG
WHKMS4  007576R     002	.ABRTC  001562RG 	.DFCOM  002756RG 	.DTSTS  000234RG 	.EXEWN  007736RG
WHKMS5  007626R     002	.ABRT0  001544RG 	.DFRB   000222RG 	.DTSTW= 000004   	.EXEWP  007744RG
WHKMS6  007642R     002	.APRWD  000000RG 	.DFRED  003066RG 	.DTTRK  005070RG 	.EXEWT  007714RG
WHKMS7  007655R     002	.ASCID  014222RG 	.DFWB   000214RG 	.DWDW1  004666RG 	.EXFER  007156RG
WHMMSG  007764R     002	.ASCOD  014232RG 	.DFWRT  003172RG 	.DWDW2  004674RG 	.EXFMR  006230RG
WHMMS0  007776R     002	.ATCID  031660RG 	.DFXCT  003252RG 	.DWDW3  004714RG 	.EXITP  007754RG
WHMMS1  010002R     002	.ATLMD= 000033   	.DIAG1= 000000   	.DWSTA  004704RG 	.EXKLD  010036RG
WHOMSG  010011R     002	.BRCLK= 005000   	.DIAG2= 000002   	.EBCLK  005210RG 	.EXKLI  010044RG
WHPMS0  010032R     002	.BRMBC  001574RG 	.DIAG3= 000006   	.EBPCK  005304RG 	.EXKLM  005500RG
WHPMS1  010035R     002	.BURST  001600RG 	.DISCC  003272RG 	.EDELA  000034RG 	.EXKLN  010052RG
WHPMS2  010042R     002	.CCMDN  000002RG 	.DOCMD  003334RG 	.EDEWD  005326RG 	.EXKLP  010060RG
WHPMS3  010047R     002	.CDIBC= 012174R  	.DOW  = ****** GX	.EDEWI  005340RG 	.EXKLT  010030RG
WHPMS4  010052R     002	.CDIBP= 012172R  	.DPBFR  000020RG 	.EDEWN  005340RG 	.EXMEE  006516RG
WHPMS5  010062R     002	.CDINP  012156RG 	.DPBFX  000026RG 	.EDEWP  005326RG 	.EXMEL  010564RG
WHPMS6  010067R     002	.CDOBC= 031654RG 	.DPDPB  005736RG 	.EDKLA  000036RG 	.EXMKL  010574RG
WHPMS7  010073R     002	.CDOBP= 031652RG 	.DPETB  003516RG 	.EDKLC  005450RG 	.EXMPI  010070RG
WHRMSG  007456R     002	.CDOFC= 031656RG 	.DPEWD  003564RG 	.EDKLD  005376RG 	.EXMQR  006236RG
WHRMS0  010217R     002	.CDOUT  031636RG 	.DPEWI  003572RG 	.EDKLI  005414RG 	.EXMTB  010242RG
WHRMS1  010222R     002	.CECLK= 004000   	.DPEWN  003600RG 	.EDKLN  005364RG 	.EXMTE  007026RG
WHTMSG  010226R     002	.CESCK  001630RG 	.DPEWP  003606RG 	.EDKLP  005352RG 	.EXOBJ  010536RG
WHTMS0  010246R     002	.CHTAB  001360RG 	.DPEWT  003556RG 	.EDKLX  000044RG 	.EXREG  010602RG
WHTMS1  010251R     002	.CIBFL= 000214 G 	.DPKLD  003654RG 	.EIOJA= 067000   	.EXSBR  007164RG
WPMSG0  010076R     002	.CIBFR  000240RG 	.DPKLI  003662RG 	.ELDDW  000052RG 	.EXSCR  007172RG
WPMSG1  010130R     002	.CISTS  000004RG 	.DPKLM  005532RG 	.ELEDW  000054RG 	.EXTRK  005762RG
WPMSG2  010156R     002	.CKARG  001712RG 	.DPKLN  003670RG 	.ELNCK  012176RG 	.EXVAB  006244RG
WRLMSG  010176R     002	.CKCOL  001752RG 	.DPKLP  003676RG 	.ETAB   005652R  	.EXVMA  006252RG
WRMMSG  004503R     002	.CKCTC  002126RG 	.DPKLT  003646RG 	.EXAD   006156RG 	.EXVMH  006260RG
WVMSG1  006733R     002	.CKEOC  002010RG 	.DPOBJ  003736RG 	.EXADX  006164RG 	.EXVPC  006266RG
WVMSG2  006755R     002	.CKEOS  002052RG 	.DPOEL  003766RG 	.EXAMA  006410RG 	.FEMOD= ****** GX
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-7
SYMBOL TABLE

.FREAD  010644RG 	.LCRDR= 051000   	.RDARR  020036RG 	.SCCOP  022630RG 	.STCLF  026306RG
.FRTRK  030036RG 	.LCRM1= 057000   	.RDARX  020044RG 	.SCCOT  022700RG 	.STCLK  026300RG
.FWRIT  010740RG 	.LCRM2= 056000   	.RDBRR  020052RG 	.SCCOU  022666RG 	.STPCL= 000000
.FWTRK  030056RG 	.LCRM3= 055000   	.RDBRX  020060RG 	.SCCRF  022734RG 	.STPKL  026330RG
.FXCT   011074RG 	.LCRM4= 054000   	.RDCPP  017602RG 	.SCCRH  022740RG 	.STPXC  026354RG
.FXTRK  030076RG 	.LCRM5= 053000   	.RDCRA  020416RG 	.SCCRQ  022746RG 	.STRCL= 001000
.GFNR = 102000   	.LDAR = 077000   	.RDCRL  020424RG 	.SCCRS  022754RG 	.STRTB  026412RG
.GTCMD  011256RG 	.LDBRC  015330RG 	.RDDRA  020432RG 	.SCCSE  022766RG 	.STRTC  026430RG
.GTDAT  011312RG 	.LDBRG  015334RG 	.RDEBS  020066RG 	.SCCSI  023016RG 	.STRTT  026466RG
.GTELN  012252RG 	.LDBRL= 043000   	.RDFER  020440RG 	.SCCSM  023022RG 	.STRTU  026564RG
.GTEXP  012532RG 	.LDBRR= 042000   	.RDFLG  020112RG 	.SCCTB  023106RG 	.STRTV  000134RG
.GTFCT  012740RG 	.LDCK1= 046000   	.RDFMR  020074RG 	.SCDAT  023212RG 	.STRUN  026636RG
.GTKLA  012302RG 	.LDCK2= 047000   	.RDIPE  020236RG 	.SCFSS  022320RG 	.STUCD  026656RG
.GTKLN  012334RG 	.LDCLK  015432RG 	.RDJ14= 134000   	.SCINC  023562RG 	.SVESP  000136RG
.GTLIN  011776RG 	.LDCRA  015530RG 	.RDJ71= 135000   	.SCKLN  023644RG 	.SVKLF  000140RG
.GTNBR  013234RG 	.LDDIS= 045000   	.RDMAB= 133000   	.SCMEL  025066RG 	.SYNXC  026760RG
.GTNUM  012334RG 	.LDPAR  015450RG 	.RDMQR  020102RG 	.SCMEM  025034RG 	.TCRLF  031524RG
.GTR50  013734RG 	.LDRJD= 064000   	.RDPI   020320RG 	.SCMKL  025100RG 	.TFCHR  031456RG
.GTTIM  013366RG 	.LDRJV= 063000   	.RDSBR  020446RG 	.SCMTB  025112RG 	.TPADD  027362RG
.GTTRM  012626RG 	.LDRM1= 060000   	.RDSCR  020454RG 	.SCNOT  025130RG 	.TPCLR  027234RG
.HALTC  014042RG 	.LDRM2= 061000   	.RDVAB  020662RG 	.SCOFS  025144RG 	.TPCMP  027304RG
.INCHC  000064RG 	.LDRM3= 062000   	.RDVMA  020670RG 	.SCPAL  025176RG 	.TPCOM  027244RG
.INEXT  014530R  	.LDSEL= 044000   	.RDVMH  020676RG 	.SCPAR  025204RG 	.TPDEC  027414RG
.INICL= 070000   	.LDZFL  000100RG 	.RDVPC  020654RG 	.SCPCR  025212RG 	.TPDIV  027000RG
.INICP  014052RG 	.LGLWD  000076RG 	.RDXSV  000120RG 	.SCPDR  025220RG 	.TPINC  027402RG
.INIC0  014540RG 	.MEMFL  000102RG 	.REGRW  005056RG 	.SCPEN  025226RG 	.TPMUL  027452RG
.INIT   014242RG 	.MEMRS= 076000   	.REGSV  021556RG 	.SCPFM  025234RG 	.TPNEG  027254RG
.INITC  014534RG 	.MON  = ****** GX	.RELWD  000122RG 	.SCPFS  025242RG 	.TPSHI  027636RG
.INKLF  014272RG 	.MONTB  015644RG 	.REPTC  021034RG 	.SCPST  022342RG 	.TPSHL  027702RG
.IRADX  000066RG 	.MRCLR  015756RG 	.RESET  021126RG 	.SCPTB  025270RG 	.TPSUB  027426RG
.IRLTC= 014000   	.MTDPB  002322RG 	.RESTB  021254RG 	.SCRLD  025344RG 	.TPTST  027340RG
.JUMPC  026456RG 	.NOERR= ****** GX	.RESTC  021336RG 	.SCRPT  025362RG 	.TPXTN  027264RG
.KLCON  014546RG 	.NOHLT= ****** GX	.RESTD  021420RG 	.SCTRK  025460RG 	.TRKWD  000142RG
.KLDFR  010726RG 	.NOTSW  000104RG 	.RESTI  021444RG 	.SEAMB  016566RG 	.TRPEC  000146RG
.KLDFW  011062RG 	.NSETB  016124RG 	.RESTP  021504RG 	.SECES  017026RG 	.TRPIP  000150RG
.KLDFX  011244RG 	.NULLC  016466RG 	.RNDPB  022270RG 	.SECLK= 003000   	.TRPPC  000152RG
.KLFLG= ****** GX	.ORADX  000106RG 	.RPTCT  000124RG 	.SEFRF  016654RG 	.TRPPS  000154RG
.KLGO   014554RG 	.PARER  016500RG 	.RPTPT  000132RG 	.SEFWF  016662RG 	.TRPSB  000156RG
.KLHLT  014644RG 	.PCAB1= 150000   	.RSALL  021614RG 	.SEFXF  016670RG 	.TRPTV  000160RG
.KLINC  000070RG 	.PCAB2= 151000   	.RSAPR  021712RG 	.SEILC  016612RG 	.TRP4V  000144RG
.KLMTB  014774RG 	.PCAB3= 152000   	.RSDTE  021662RG 	.SEILS  016612RG 	.TSCAN  030176RG
.KLMT1  015020RG 	.PCAB4= 153000   	.RSERR  021720RG 	.SEIPC  016612RG 	.TYCHR  031472RG
.KLNFD= ****** GX	.PEWRD  000110RG 	.RSPAG  021774RG 	.SENSK  016566RG 	.TYCOL  030604RG
.KLNFT= ****** GX	.PITAB  000112RG 	.RSTIN  021666RG 	.SETCM  025646RG 	.TYCOM  030614RG
.KLNMD= ****** GX	.PSCWD  000116RG 	.RSTIO  021726RG 	.SETC0  025656RG 	.TYDAT  030440RG
.KLNPB= ****** GX	.PTDIE  017230RG 	.RSTKL  022134RG 	.SETMR= 007000   	.TYELA  030672RG
.KLNPE= ****** GX	.PTOAT  017130RG 	.RSTPI  021734RG 	.SETRN= 011000   	.TYELN  030676RG
.KLNPW= ****** GX	.PTTRP  017306RG 	.RUNCM  022162RG 	.SETTB  025506RG 	.TYINI  031610RG
.KLNSW= ****** GX	.QUITC  017530RG 	.R50TB  001320RG 	.SHIFT  025702RG 	.TYKLA  031016RG
.KLNTD= ****** GX	.RCRM1= 147000   	.SCCEC  023050RG 	.SHUTC  025732RG 	.TYKLN  031066RG
.KLNTT= ****** GX	.RCRM2= 146000   	.SCCED  023056RG 	.SPACE= 000040   	.TYLIN  031420RG
.KLRLD= ****** GX	.RCRM3= 145000   	.SCCEE  023064RG 	.SPETB  026024RG 	.TYMIN  030624RG
.KLRST  015036RG 	.RCRM4= 144000   	.SCCLK  022306RG 	.SSCAN  026114RG 	.TYMSF  031426RG
.KLST   015170RG 	.RCSPF= 141000   	.SCCLN  022732RG 	.SSCLK= 002000   	.TYMSG  031434RG
.KLSTP  015220RG 	.RDADR  020022RG 	.SCCOM  022636RG 	.SSM  = ****** GX	.TYNCM  031152RG
.KLXCT  015304RG 	.RDADX  020030RG 	.SCCON  022554RG 	.SSTTB  000174RG 	.TYNUM  031270RG
.LCRDL= 052000   	.RDAPR  017540RG 	.SCCOO  022622RG 	.START  026156RG 	.TYOBC  000162RG
ZEROC -- ZERO COMMAND MODULE 76	MACRO M1108  13-JAN-78 09:14  PAGE 539-8
SYMBOL TABLE

.TYOBP  000164RG 	.T50TB  001350RG 	.WHINC  033040RG 	.WHTPA  033544RG 	.XFWCK  034060RG
.TYOUT  031552RG 	.VERNO= ****** GX	.WHKLN  033126RG 	.WHTPS  033530RG 	.XFXCK  034076RG
.TYP3D  030742RG 	.VFYFL  000166RG 	.WHMEM  033452RG 	.WHTRK  033762RG 	.YEAR = ****** GX
.TYR50  031710RG 	.WHATB  032120RG 	.WHOFS  033504RG 	.WRAR1  034020RG 	.YESNO  034130RG
.TYSLS  030634RG 	.WHATC  032232RG 	.WHRLD  033730RG 	.WRMBX= 071000   	.ZEROC  034234RG
.TYSPC  030644RG 	.WHATV  032256RG 	.WHRPT  033052RG 	.WRTAR  034014RG 	..DTP2= ****** GX
.TYTIM  031762RG 	.WHCON  032556RG 	.WHTCA  032334RG 	.XFRCK  034042RG 	..STIN= ****** GX
.TYUPA  030654RG 	.WHDAT  032626RG 	.WHTCL  032320RG

. ABS.	000000	   000
      	034514	   001
MESSAG	010303	   002
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  18075 WORDS  ( 71 PAGES)
DYNAMIC MEMORY:  18944 WORDS  ( 72 PAGES)
ELAPSED TIME:  00:25:34
,[51,20]BIGPARSER/CR/-SP=[51,30]PARSER.TMP
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ABTAB 	  021012 R	 321-10929 #322-10980 
ADD   	= 000270	#23-873    
ADDB  	= 000273	#23-874    
ADDI  	= 000271	#23-875    
ADDM  	= 000272	#23-876    
ADH   	= 000000	#345-11660 #345-11660  345-11660  345-11660 #345-11662  345-11662  345-11662 #345-11664 #345-11664 
                         345-11664  345-11664 #345-11666  345-11666  345-11666 #348-11732  348-11732  348-11732 #348-11734 
                         348-11734  348-11734 
ADL   	= 000100	#345-11660  345-11660  345-11660 #345-11660  345-11660  345-11660 #345-11660  345-11660  345-11660 
                        #345-11660  345-11660  345-11660 #345-11660  345-11660  345-11660 #345-11660  345-11660  345-11660 
                         345-11660 #345-11660  345-11660  345-11660 #345-11662  345-11662  345-11662 #345-11662  345-11662 
                         345-11662 #345-11662  345-11662  345-11662 #345-11662  345-11662  345-11662 #345-11662  345-11662 
                         345-11662 #345-11662  345-11662  345-11662 #345-11664  345-11664  345-11664 #345-11664  345-11664 
                         345-11664 #345-11664  345-11664  345-11664 #345-11664  345-11664  345-11664 #345-11664  345-11664 
                         345-11664 #345-11664  345-11664  345-11664  345-11664 #345-11664  345-11664  345-11664 #345-11666 
                         345-11666  345-11666 #345-11666  345-11666  345-11666 #345-11666  345-11666  345-11666 #345-11666 
                         345-11666  345-11666 #345-11666  345-11666  345-11666 #345-11666  345-11666  345-11666 #348-11732 
                         348-11732  348-11732 #348-11732  348-11732  348-11732 #348-11734  348-11734  348-11734 #348-11734 
                         348-11734  348-11734 #348-11734  348-11734  348-11734 #348-11734  348-11734  348-11734 
AMBMSG	  006034 R	#410-13627  410-13627 
AND   	= 000404	#23-878    
ANDB  	= 000407	#23-879    
ANDCA 	= 000410	#23-880    
ANDCAB	= 000413	#23-881    
ANDCAI	= 000411	#23-882    
ANDCAM	= 000412	#23-883    
ANDCB 	= 000440	#23-884    
ANDCBB	= 000443	#23-885    
ANDCBI	= 000441	#23-886    
ANDCBM	= 000442	#23-887    
ANDCM 	= 000420	#23-888    
ANDCMB	= 000423	#23-889    
ANDCMI	= 000421	#23-890    
ANDCMM	= 000422	#23-891    
ANDI  	= 000405	#23-892    
ANDM  	= 000406	#23-893    
AOBJN 	= 000253	#23-895    
AOBJP 	= 000252	#23-896    
AOJ   	= 000340	#23-898    
AOJA  	= 000344	#23-899    
AOJE  	= 000342	#23-900    
AOJG  	= 000347	#23-901    
AOJGE 	= 000345	#23-902    
AOJL  	= 000341	#23-903    
AOJLE 	= 000343	#23-904    
AOJN  	= 000346	#23-905    
AOS   	= 000350	#23-907    
AOSA  	= 000354	#23-908    
AOSE  	= 000352	#23-909    
AOSG  	= 000357	#23-910    
AOSGE 	= 000355	#23-911    
AOSL  	= 000351	#23-912    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

AOSLE 	= 000353	#23-913    
AOSN  	= 000356	#23-914    
APEMSG	  001627 R	#280-9425   280-9425  
APR   	= 000000	#7-239      345-11660  345-11660  345-11662  345-11662  345-11664  345-11664 
AP.ALL	= 000177	#9-343     
AP.ARP	= 001000	#16-628     16-632     304-10342  393-13105  521-17136 
AP.CDP	= 000004	#9-338      9-343     
AP.EIP	= 000400	#16-630     16-632     304-10350  393-13117  393-13132  520-17100  520-17107 
AP.IPF	= 000020	#9-340      9-343     
AP.MPE	= 000010	#9-339      9-343     
AP.NRM	= 001400	#16-632     16-634    
AP.NXM	= 000040	#9-341      9-343     
AP.PWF	= 000001	#9-336      9-343     
AP.SAP	= 000002	#9-337      9-343     
AP.SBE	= 000100	#9-342      9-343     
ASH   	= 000240	#23-916    
ASHC  	= 000244	#23-917    
A.LULU	= 000002	#239-8169  #239-8174  
A.LUNA	= 000004	#239-8169  #239-8174  
A.LUNU	= 000006	#239-8169  #239-8174  
BAEMSG	  001652 R	#280-9427   280-9427  
BCCTER	  001622 R	 53-2168   #53-2173   
BC.HDS	= ******  GX	 382-12865 
BC.SKP	= ******  GX	 381-12841 
BIT0  	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT00 	= 000001	#9-300      10-378     11-404     11-424     12-461     12-462     13-485     13-508     22-838    
                         22-852     107-3912   108-3926   153-5323   288-9754   303-10303  310-10540  312-10608  531-17417 
BIT01 	= 000002	#9-301      10-381     11-400     11-422     12-459     12-460     13-486     13-507     22-839    
                         22-853     303-10302 
BIT02 	= 000004	#9-302      10-373     11-399     11-421     11-426     12-457     12-458     13-487     13-506    
                         22-840     22-854     126-4483   303-10301 
BIT03 	= 000010	#9-303      10-372     11-398     11-418     12-454     12-456     13-488     13-505     22-841    
                         22-855     278-9375   303-10300 
BIT04 	= 000020	#9-304      10-370     10-371     11-397     11-416     11-417     12-452     13-489     13-504    
                         22-842     22-856    
BIT05 	= 000040	#9-305      10-368     11-404     11-415     12-450     12-451     13-490     13-503     22-843    
                         22-857     312-10605 
BIT06 	= 000100	#9-306      10-367     11-393     11-426     12-448     12-449     13-479     13-502     22-844    
                         22-858    
BIT07 	= 000200	#9-307      10-365     10-366     11-404     11-426     12-446     13-478     13-501     22-845    
                         22-859     244-8324  
BIT08 	= 000400	#9-308      10-364     11-404     11-426     12-444     13-477     13-500     22-860    
BIT09 	= 001000	#9-309      10-360     10-363     11-404     11-426     12-442     13-476     13-499    
BIT1  	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT10 	= 002000	#9-310      10-359     10-362     11-404     11-426     12-441     13-475     13-498    #133-4714  
                        #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT11 	= 004000	#9-311      10-358     10-361     11-404     11-426     12-439     13-474     13-497    #133-4714  
                        #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT12 	= 010000	#9-312      10-357     11-404     11-426     12-437     12-438     13-473     13-496    #133-4714  
                         155-5402   155-5407  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT13 	= 020000	#9-313      10-356     11-389     11-404     11-426     12-435     13-472    #133-4714  #191-6508  
                        #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BIT14 	= 040000	#9-314      10-355     11-386     11-387     11-404     11-409     11-426     12-434     13-471    
                        #133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT15 	= 100000	#9-315      10-354     11-385     11-404     11-408     11-426     12-432     13-470     36-1476   
                         36-1544   #133-4714  #191-6508  #194-6615  #197-6742   315-10705 #428-14169 #535-17559 
BIT2  	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT3  	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT4  	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT5  	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT6  	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT7  	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT8  	= 000400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIT9  	= 001000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BLKI  	= 000000	#7-228     
BLKO  	= 000002	#7-230     
BLT   	= 000251	#23-919    
BPARER	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
CAEMSG	  001705 R	#280-9429   280-9429  
CAI   	= 000300	#24-921    
CAIA  	= 000304	#24-922    
CAIE  	= 000302	#24-923    
CAIG  	= 000307	#24-924    
CAIGE 	= 000305	#24-925    
CAIL  	= 000301	#24-926    
CAILE 	= 000303	#24-927    
CAIN  	= 000306	#24-928    
CALL  	= 000040	#24-930    
CALLI 	= 000047	#24-931    
CAM   	= 000310	#24-933    
CAMA  	= 000314	#24-934    
CAME  	= 000312	#24-935    
CAMG  	= 000317	#24-936    
CAMGE 	= 000315	#24-937    
CAML  	= 000311	#24-938    
CAMLE 	= 000313	#24-939    
CAMN  	= 000316	#24-940    
CBOMSG	  001741 R	#280-9430   280-9430  
CCA   	= 000014	#7-242     
CCEMSG	  005300 R	 364-12235 #365-12293 
CC.ALL	= 003417	#15-606    
CC.NRM	= 000000	#15-605     336-11407 
CDD   	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
CDIMSG	  001777 R	#280-9431   280-9431  
CDMTB 	  023532 R	 370-12433 #371-12489 
CD.ALL	= 003400	#15-603     15-606     500-16448 
CD.CLC	= 000400	#15-601     304-10346  365-12277  501-16492 
CD.CRC	= 002000	#15-599     304-10331  365-12269  501-16488 
CD.DPC	= 001000	#15-600     304-10338  365-12273  501-16490 
CD.NRM	= 000000	#15-602    
CESCES	  001644 R	 55-2250   #55-2252   
CESMSG	  006066 R	#410-13629  410-13629 
CESMS0	  004706 R	 288-9775  #289-9782  
CESMS1	  004713 R	 288-9776  #289-9784  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CESMS2	  004720 R	 288-9777  #289-9786  
CESMS3	  004723 R	 288-9778  #289-9788  
CFHMSG	  002030 R	#280-9432   280-9432  
CHNPNT	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
CH.ALP	= 000001	#22-838     22-847     44-1878    45-1881    45-1882    45-1883    45-1884    45-1885    45-1886   
                         45-1887    45-1888    45-1889    45-1890    45-1891    45-1892    45-1893    45-1894    45-1895   
                         45-1896    45-1897    45-1898    45-1899    45-1900    45-1901    45-1902    45-1903    45-1904   
                         45-1905    45-1906    57-2325   
CH.ANM	= 000003	#22-847    
CH.AOP	= 000100	#22-844     44-1853    44-1854    44-1855    44-1856    44-1858    44-1860    45-1882    45-1883   
                         45-1884    45-1895    45-1911    45-1912   
CH.END	= 000034	#22-846     285-9661   413-13719 
CH.EOC	= 000010	#22-841     22-846     43-1812    44-1874    58-2362    59-2397    61-2463    206-7027   229-7855  
                         331-11259  357-11999  360-12107  431-14264 
CH.EOL	= 000004	#22-840     22-846     43-1812   
CH.EOS	= 000020	#22-842     22-846     43-1812    44-1845    44-1847    44-1852    44-1855    44-1856    44-1857   
                         44-1858    44-1860    44-1873    44-1874    44-1877    45-1912    60-2434   
CH.ILL	= 000200	#22-845     43-1813    43-1814    43-1815    43-1816    43-1817    43-1818    43-1819    43-1820   
                         43-1821    43-1822    43-1823    43-1824    43-1825    43-1826    43-1827    43-1828    43-1829   
                         43-1830    43-1831    43-1832    43-1833    43-1834    43-1835    44-1837    44-1838    44-1839   
                         44-1840    44-1841    44-1842    44-1843    44-1844    44-1846    44-1848    44-1849    44-1850   
                         44-1851    44-1859    44-1875    44-1876    44-1879    45-1908    45-1909    45-1910    45-1913   
CH.NUL	= 000000	#22-837    
CH.NUM	= 000002	#22-839     22-847     44-1862    44-1863    44-1864    44-1865    44-1866    44-1867    44-1868   
                         44-1869    44-1870    44-1871    57-2332    225-7741  
CH.PFX	= 000040	#22-843     44-1853    44-1856    44-1858    44-1878    45-1911    57-2332   
CIDLUN	= 000001	#21-814     179-6128   211-7238   239-8169   486-16058  486-16063 
CKCILS	  001774 R	 58-2365   #58-2367    59-2406    60-2435    60-2437   
CKCMRA	  002002 R	 57-2333    58-2363   #58-2370    61-2464   
CKEEOC	  002044 R	 59-2404   #59-2408   
CKRKLR	  002226 R	 66-2623   #66-2631   
CLDSTB	  032522 R	 500-16445 #501-16486 
CLEAR 	= 000400	#24-942    
CLEARB	= 000403	#24-943    
CLEARI	= 000401	#24-944    
CLEARM	= 000402	#24-945    
CLEMSG	  002066 R	#280-9433   280-9433  
CLOSE 	= 000070	#24-947    
CLRTTB	  032546 R	 501-16482 #501-16498 
CLSRTB	  032536 R	 501-16475 #501-16493 
CMDNAM	  000034 RG	#42-1778    92-3445   
CNRMSG	  002123 R	#280-9434   280-9434  
CNUPE 	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
CODLUN	= 000002	#21-815     239-8174   486-16049 
CONI  	= 000005	#7-233     
CONKNC	  002652 R	 75-2915   #76-2941   
CONO  	= 000004	#7-232      345-11660  345-11660  345-11662  345-11662  345-11664  345-11664  345-11666  345-11666 
                         348-11732  348-11732 
CONSO 	= 000007	#7-235     
CONSZ 	= 000006	#7-234     
CPEMSG	  002163 R	#280-9435   280-9435  
CPVMSG	  000000 RG	#42-1769    497-16383 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CRATAB	  020544 R	 317-10770 #319-10821 
CRLTAB	  020560 R	 317-10774 #319-10829 
CR.ALL	= 000003	#15-591     15-606     364-12231  501-16480 
CR.CR1	= 000001	#15-585     15-591     304-10344 
CR.CR2	= 000002	#15-586     15-591     304-10336 
CR.FUL	= 000000	#15-587    
CR.HLF	= 000001	#15-588     364-12221 
CR.NRM	= 000000	#15-584    
CR.QTR	= 000002	#15-589     364-12225 
CR.SLO	= 000003	#15-590     364-12229 
CS.ALL	= 000014	#15-582     15-606     364-12252  501-16473 
CS.CS1	= 000004	#15-576     15-582     304-10329 
CS.CS2	= 000010	#15-577     15-582     304-10323 
CS.EXP	= 177670	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
CS.EXT	= 000010	#15-580     364-12239 
CS.FST	= 000004	#15-578     15-579    
CS.MGN	= 000004	#15-579     364-12250 
CS.NRM	= 000000	#15-575    
CS.UDF	= 000014	#15-581    
CYCLS 	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DATABX	  000170 R	#36-1583    539-17665 
DATAI 	= 000001	#7-229     
DATAO 	= 000003	#7-231      348-11734  348-11734 
DATBUF	  033020 R	 506-16658 #506-16701 
DATE  	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DAVMSG	  002212 R	#280-9440   280-9440  
DBTMSG	  002243 R	#280-9441   280-9441  
DCKMSG	  002273 R	#280-9442   280-9442  
DCOMST	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEP   	= 010000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEX   	= 000400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEXDON	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEXWD1	= 174406	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEXWD2	= 174404	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DEXWD3	= 174402	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DFAD  	= 000110	#24-949    
DFBEND	= 000240 RG	#38-1654    241-8242  
DFCIFC	  003060 R	 80-3088    80-3090    80-3092   #81-3105   
DFDV  	= 000113	#24-950    
DFMP  	= 000112	#24-951    
DFN   	= 000131	#24-952    
DFSB  	= 000111	#24-953    
DFUNC 	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.DMG	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.DMN	= 000007	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.DOR	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.EHG	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.EHM	= 000011	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.EMG	= 000005	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.EMN	= 000006	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.KLR	= 000012	#133-4714  #191-6508   193-6576  #194-6615  #197-6742  #428-14169 #535-17559 
DF.KLW	= 000013	#133-4714  #191-6508  #194-6615   196-6703  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DF.KLX	= 000014	#133-4714  #191-6508  #194-6615  #197-6742   200-6835  #428-14169 #535-17559 
DF.OFF	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.ON 	= 000003	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DF.PDP	= 000016	#133-4714   138-4858  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559  538-17661 
DF.PEX	= 000015	#133-4714   138-4876  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DIAG1 	= 174430	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DIAG2 	= 174432	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DIAG3 	= 174436	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DIKL10	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DIV   	= 000234	#24-955    
DIVB  	= 000237	#24-956    
DIVI  	= 000235	#24-957    
DIVM  	= 000236	#24-958    
DLYCNT	= 174400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DMFMSG	  002316 R	#280-9443   280-9443  
DMOVE 	= 000120	#24-960    
DMOVEM	= 000124	#24-961    
DMOVN 	= 000121	#24-962    
DMOVNM	= 000125	#24-963    
DNPMSG	  002405 R	#280-9445   280-9445  
DOCCNR	  003510 R	 93-3461   #93-3479   
DON10C	= 040000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DON10S	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DON11C	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DON11S	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DORMSG	  002355 R	#280-9444   280-9444  
DOWMTB	  033002 R	 506-16672 #506-16692 
DOWTAB	  023522 R	 370-12454 #371-12482 
DPB   	= 000137	#24-965    
DPDTEN	= 005746 RG	#138-4859  
DPOAPE	  004562 R	 112-4078  #112-4082  
DPOATB	  004026 R	 103-3782  #103-3784  
DPODTB	  004036 R	 105-3819  #105-3821  
DPOITB	  004046 R	 105-3826  #105-3828  
DPOKCN	  004570 R	 111-4029  #112-4085  
DPONTB	  004056 R	 105-3833  #105-3835  
DPOOAI	  004256 R	 107-3913   108-3927  #108-3946  
DPOPTB	  004066 R	 105-3840  #105-3842  
DPOVFE	  004576 R	 112-4073  #112-4088  
DPOZTB	  004076 R	 105-3847  #105-3849  
DPS4  	= 040000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DPTMSG	  000565 R	 140-4941  #142-5005  
DRATAB	  020574 R	 317-10778 #319-10837 
DRDMSG	  000514 R	 122-4371  #123-4399  
DRESET	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DR.DTE	= 000011	#133-4714   138-4858   138-4876  #191-6508   193-6576  #194-6615   196-6703  #197-6742   200-6835  
                        #428-14169 #535-17559  538-17661 
DSEND 	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DSFMSG	  002444 R	#280-9446   280-9446  
DS04  	= 004000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DS05  	= 002000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DS06  	= 001000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 7

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DTCMSG	  002477 R	#280-9447   280-9447  
DTECMD	= 000451	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DTEDSF	  005040 R	 118-4245  #118-4258  
DTEFLG	= 000444	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DTEF11	= 000450	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DTEMTD	= 000455	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DTEMTI	= 000456	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DTRMSG	  000433 R	 122-4356  #123-4387  
DUPE  	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DURE  	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
DV.LOG	= ******  GX	 383-12878 
DWRMSG	  000520 R	 122-4374  #123-4401  
DW1MSG	  000454 R	 123-4381  #123-4390  
DW2MSG	  000464 R	 123-4382  #123-4392  
DW3MSG	  000504 R	 123-4384  #123-4396  
DXWRD1	= 002000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
D.CCPU	= ******  GX	 381-12843 
D.CKLN	= ******  GX	 382-12867 
D1.CES	= 004000	#10-361     55-2249    251-8569  
D1.DCS	= 000001	#10-378    
D1.DDT	= 000040	#10-368     10-381    
D1.DEX	= 000400	#10-364     10-381    
D1.DFM	= 000010	#10-372    
D1.DS0	= 100000	#10-354    
D1.DS1	= 040000	#10-355    
D1.DS2	= 020000	#10-356    
D1.DS3	= 010000	#10-357    
D1.DS4	= 004000	#10-358    
D1.DS5	= 002000	#10-359    
D1.DS6	= 001000	#10-360    
D1.HLP	= 001000	#10-363     170-5842   170-5848   244-8314   252-8580   252-8606   262-8894   436-14414 
D1.LBK	= 000200	#10-366    
D1.MBZ	= 000442	#10-381     118-4265  
D1.PLS	= 000020	#10-371    
D1.RUN	= 002000	#10-362     243-8303  
D1.T10	= 000200	#10-365    
D1.T11	= 000100	#10-367    
D1.V04	= 000020	#10-370    
D1.XFR	= 000004	#10-373    
D1011 	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
D2RST 	  021440 R	 333-11333 #333-11338 
D2.EBD	= 040000	#11-387    
D2.MBZ	= 177641	#11-404     118-4266  
D2.MS1	= 000002	#11-400    
D2.MS2	= 000004	#11-399    
D2.MS4	= 000010	#11-398    
D2.MS8	= 000020	#11-397    
D2.RA0	= 100000	#11-385    
D2.RA1	= 040000	#11-386    
D2.RA2	= 020000	#11-389    
D2.RST	= 000100	#11-393     333-11339 
D3RST 	  021442 R	 333-11335 #333-11340 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 8

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

D3.CDD	= 000020	#11-417    
D3.MBZ	= 177704	#11-426     118-4268  
D3.NPE	= 000002	#11-422    
D3.PAR	= 040000	#11-409    
D3.RST	= 000001	#11-428     333-11341 
D3.SCD	= 000040	#11-415    
D3.SSL	= 100000	#11-408    
D3.TXB	= 000001	#11-424     11-428    
D3.UPE	= 000020	#11-416    
D3.URE	= 000004	#11-421    
D3.WEP	= 000010	#11-418    
EBCECT	  005276 R	 126-4488  #126-4492  
EBPEPE	  005320 R	 128-4549  #128-4551  
EBSEL 	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
EBUSPC	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
EBUSPS	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ECTMSG	  002551 R	#280-9449   280-9449  
EDEPT 	  000524 R	 142-4986  #142-4993  
EDEXV 	  000530 R	 142-4987  #142-4995  
EDNKLA	  005472 R	 132-4654   132-4656  #132-4671  
EDONES	= 040000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
EDPHY 	  000544 R	 142-4990  #142-5001  
EDTYTB	  006144 R	 141-4974  #142-4985  
EDUPT 	  000534 R	 142-4988  #142-4997  
EDUSV 	  000540 R	 142-4989  #142-4999  
ED.EPT	= 000000	#9-319     
ED.EXV	= 000040	#9-320      347-11716  409-13579 
ED.PHY	= 000200	#9-323      111-4048   112-4063   112-4068   138-4858   138-4876   162-5589   243-8295   538-17661 
ED.UPT	= 000100	#9-321     
ED.USV	= 000140	#9-322     
EF.CRI	= ******  GX	 327-11145 
EF.PR1	= ******  GX	 381-12836 
ELBBIN	  031252 RG	 473-15613 #477-15772 
ELBOCT	  031256 RG	 473-15617 #477-15775 
ELNBIN	  031244 RG	 472-15574 #477-15768 
ELNNOR	  012246 R	 213-7302   213-7304   213-7309   213-7311  #213-7314  
ELNOCT	  031262 RG	 472-15578 #477-15780 
EMFMSG	  002602 R	#280-9450   280-9450  
ENTER 	= 000077	#25-967    
EOCMSG	  002641 R	#280-9451   280-9451  
EPEMSG	  002677 R	#280-9452   280-9452  
EPMSG0	  001067 R	 183-6249  #184-6282  
EPMSG1	  001103 R	 184-6263  #184-6284  
EPMSG2	  001115 R	 184-6268  #184-6286  
EPMSG3	  001131 R	 184-6273  #184-6288  
EPTR  	= 000000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
EQV   	= 000444	#25-969    
EQVB  	= 000447	#25-970    
EQVI  	= 000445	#25-971    
EQVM  	= 000446	#25-972    
ERR10C	= 010000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ERR10S	= 020000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 9

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ERR11C	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ERR11S	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ERSMSG	  004733 R	 288-9774  #289-9790  
ER$AMB	= 030416 R	#464-15299 
ER$APE	= 004562 R	#112-4083  
ER$BAE	= 001622 R	#53-2174   
ER$CAE	= 026744 R	#436-14423 
ER$CBO	= 012142 R	#210-7229  
ER$CDI	= 023472 R	#371-12470 
ER$CES	= 001704 R	#55-2259   
ER$CFH	= 015276 R	#252-8610  #262-8903  
ER$CLE	= 022672 R	#360-12140 
ER$CNR	= 003510 R	#93-3480   
ER$DAV	= 023500 R	#371-12473 
ER$DBT	= 011726 R	#207-7086  
ER$DCK	= 027204 R	#443-14597 
ER$DMF	= 034466 R	#137-4837  #538-17655 
ER$DNP	= 014514 R	#244-8335  
ER$DOR	= 011734 R	#207-7089  
ER$DSF	= 005040 R	#118-4259  
ER$DTC	= 014522 R	#244-8338  
ER$ECT	= 005276 R	#126-4493  
ER$EMF	= 005730 R	#137-4840  
ER$EOC	= 002044 R	#59-2409   
ER$EPE	= 005320 R	#128-4552  
ER$ESD	= 034474 R	#137-4830  #538-17658 
ER$ESE	= 005714 R	#137-4834  
ER$FRF	= 010720 R	#193-6558  
ER$FWF	= 011054 R	#196-6685  
ER$FXF	= 011236 R	#200-6816  
ER$IDF	= 011742 R	#207-7092  
ER$IFC	= 034114 R	#81-3106   #531-17421 
ER$ILC	= 013110 R	#210-7232  #223-7667  
ER$ILS	= 022506 R	#58-2368   #358-12040 
ER$IOC	= 007316 R	#167-5752  
ER$IPC	= 024032 R	#377-12684 
ER$IRC	= 021120 R	#324-11059 
ER$ITF	= 013720 R	#230-7921  
ER$ITN	= 022246 R	#353-11879 
ER$KCN	= 022112 R	#112-4086  #162-5600  #343-11607 #348-11729 
ER$KLA	= 012326 R	#132-4672  #215-7379  
ER$KLR	= 002226 R	#66-2632   
ER$KNC	= 002652 R	#76-2942   
ER$KWE	= 024372 R	#379-12779 
ER$MRA	= 013352 R	#58-2371   #226-7769  
ER$NDI	= 023506 R	#371-12476 
ER$NER	= 012524 R	#217-7460  
ER$NOR	= 013360 R	#226-7772  
ER$NPI	= 024006 R	#377-12674 
ER$NSK	= 030424 R	#464-15302 
ER$NST	= 022254 R	#353-11882 
ER$NTI	= 023514 R	#371-12479 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 10

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ER$OAI	= 006606 R	#108-3947  #153-5339  
ER$OFC	= 034122 R	#531-17424 
ER$PTL	= 024014 R	#377-12677 
ER$RPM	= 013226 R	#224-7707  
ER$SCF	= 022514 R	#358-12043 
ER$SKI	= 024022 R	#377-12680 
ER$SPF	= 022522 R	#358-12046 
ER$SZI	= 026556 R	#429-14199 
ER$TAA	= 022262 R	#353-11885 
ER$TOR	= 013726 R	#230-7924  
ER$UNL	= 026752 R	#436-14426 
ER$VFY	= 004576 R	#112-4089  
ER$WRM	= 030432 R	#464-15305 
ER$XTO	= 007530 R	#170-5872  
ER$YOR	= 011750 R	#207-7095  
ESDMSG	  002727 R	#280-9453   280-9453  
ESEMSG	  002764 R	#280-9454   280-9454  
EXADTB	  006424 R	 150-5223  #150-5225  
EXAITB	  006434 R	 150-5230  #150-5232  
EXANTB	  006444 R	 150-5237  #150-5239  
EXAOAI	  006606 R	 153-5324  #153-5338  
EXAPTB	  006454 R	 150-5244  #150-5246  
EXAZTB	  006464 R	 150-5251  #150-5253  
EXCH  	= 000250	#25-974    
EXCIOC	  007316 R	 167-5746  #167-5751  
EXDDMF	  005722 R	 137-4827  #137-4836  
EXDEMF	  005730 R	 137-4821  #137-4839  
EXDESD	  005672 R	 137-4826  #137-4828  
EXDESE	  005706 R	 137-4820  #137-4832  
EXDMS0	  000755 R	 172-5932  #173-5964  
EXDMS1	  000764 R	 173-5957  #173-5966  
EXDMS2	  000773 R	 173-5958  #173-5968  
EXDMS3	  001002 R	 173-5959  #173-5970  
EXDMS4	  001011 R	 173-5960  #173-5972  
EXDTEN	= 005760 RG	#138-4877  
EXDTET	  007634 R	 172-5926  #173-5952  
EXECTO	  007530 R	 170-5851  #170-5871  
EXFMSG	  000645 R	 155-5398  #156-5426  
EXKMS0	  000746 R	 158-5489  #159-5501  
EXKMS1	  000751 R	 158-5491  #159-5504  
EXMDTB	  006414 R	 148-5186  #148-5188  
EXRTBL	= 000012  G	#186-6337   190-6461  
EXTEND	= 000123	#25-975    
EXTKCN	  007126 R	 162-5580  #162-5599  
EXTMSG	  000550 R	 140-4936  #142-5003  
E.FCID	= 000002	#21-797     179-6128   211-7238   238-8153   486-16058 
E.FCOD	= 000003	#21-798     238-8154   486-16049  486-16063 
E.FCTC	= ******  GX	 64-2548    238-8151  
E.FHTO	= 000001	#21-796     71-2786    238-8152   243-8283   422-14005 
E.FKLN	= 000004	#21-799     381-12838  382-12866  382-12869 
E.FPR1	= ******  GX	 55-2253   
FAD   	= 000140	#25-977    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 11

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FADB  	= 000143	#25-978    
FADL  	= 000141	#25-979    
FADM  	= 000142	#25-980    
FADR  	= 000144	#25-982    
FADRB 	= 000147	#25-983    
FADRI 	= 000145	#25-984    
FADRM 	= 000146	#25-985    
FDV   	= 000170	#25-987    
FDVB  	= 000173	#25-988    
FDVL  	= 000171	#25-989    
FDVM  	= 000172	#25-990    
FDVR  	= 000174	#25-992    
FDVRB 	= 000177	#25-993    
FDVRI 	= 000175	#25-994    
FDVRM 	= 000176	#25-995    
FERTAB	  020610 R	 317-10782 #319-10845 
FIX   	= 000122	#25-997    
FIXR  	= 000126	#25-998    
FLDMSG	  004647 R	 286-9700  #286-9707  
FLTR  	= 000127	#25-1000   
FMP   	= 000160	#25-1002   
FMPB  	= 000163	#25-1003   
FMPL  	= 000161	#25-1004   
FMPM  	= 000162	#25-1005   
FMPR  	= 000164	#25-1007   
FMPRB 	= 000167	#25-1008   
FMPRI 	= 000165	#25-1009   
FMPRM 	= 000166	#25-1010   
FNCIFC	  034114 R	 531-17401  531-17403  531-17408  531-17410  531-17415 #531-17420 
FNCOFC	  034122 R	 531-17418 #531-17423 
FOFMSG	  000637 R	 155-5404  #156-5424  
FONMSG	  000631 R	 155-5401  #156-5422  
FORPRO	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
FRDFRF	  010720 R	 193-6540  #193-6557  
FRDMSG	  000273 R	 84-3169   #84-3184   
FRDTEN	= 010736 RG	#193-6577  
FRFMSG	  006120 R	#410-13631  410-13631 
FRIMSG	  007404 R	 506-16697 #507-16723 
FR.ADX	= 000254	#18-719     307-10417 
FR.APR	= 000220	#18-697     300-10188 
FR.ARX	= 000252	#18-717     307-10425 
FR.BRX	= 000250	#18-715     307-10433 
FR.CA1	= 000312	#19-749     19-750     319-10822 
FR.CA2	= 000310	#19-746     19-747     319-10825 
FR.CL1	= 000316	#19-756     319-10830 
FR.CL2	= 000314	#19-753     319-10833 
FR.CRD	= 000302	#19-740    
FR.CR1	= 000316	#19-755     19-756    
FR.CR2	= 000314	#19-752     19-753    
FR.CR3	= 000312	#19-750    
FR.CR4	= 000310	#19-747    
FR.DA1	= 000260	#18-725     319-10838 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 12

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.DA2	= 000262	#18-728     319-10841 
FR.EBS	= 000356	#20-783     307-10437 
FR.FE1	= 000266	#18-732     319-10846 
FR.FE2	= 000264	#18-730     319-10849 
FR.PI0	= 000200	#18-686     315-10703 
FR.PI1	= 000202	#18-688     315-10706 
FR.RAD	= 000256	#18-721     307-10413 
FR.RAR	= 000240	#18-707     307-10421 
FR.RBR	= 000242	#18-709     307-10429 
FR.RFM	= 000246	#18-713     307-10441 
FR.RMQ	= 000244	#18-711     307-10445 
FR.SC1	= 000262	#18-727     319-10862 
FR.SC2	= 000260	#18-724     319-10865 
FR.SR1	= 000306	#19-744     319-10854 
FR.SR2	= 000304	#19-742     319-10857 
FR.VM0	= 000320	#19-759    
FR.VM1	= 000322	#19-761    
FR.VM2	= 000324	#19-763    
FR.VM3	= 000326	#19-765    
FR.VM4	= 000330	#19-767    
FR.VM5	= 000332	#19-769    
FR.VM6	= 000334	#19-771    
FR.VM7	= 000336	#19-773    
FR.100	= 000200	#18-685     18-686     310-10531  531-17400 
FR.101	= 000202	#18-687     18-688     310-10524 
FR.102	= 000204	#18-689     312-10604 
FR.103	= 000206	#18-690    
FR.104	= 000210	#18-691     126-4481   304-10319 
FR.105	= 000212	#18-692     304-10320 
FR.106	= 000214	#18-693     304-10321 
FR.107	= 000216	#18-694     304-10322 
FR.110	= 000220	#18-696     18-697    
FR.111	= 000222	#18-698    
FR.112	= 000224	#18-699    
FR.113	= 000226	#18-700    
FR.114	= 000230	#18-701    
FR.115	= 000232	#18-702    
FR.116	= 000234	#18-703    
FR.117	= 000236	#18-704    
FR.120	= 000240	#18-706     18-707    
FR.121	= 000242	#18-708     18-709    
FR.122	= 000244	#18-710     18-711    
FR.123	= 000246	#18-712     18-713    
FR.124	= 000250	#18-714     18-715    
FR.125	= 000252	#18-716     18-717    
FR.126	= 000254	#18-718     18-719    
FR.127	= 000256	#18-720     18-721    
FR.130	= 000260	#18-723     18-724     18-725    
FR.131	= 000262	#18-726     18-727     18-728    
FR.132	= 000264	#18-729     18-730     244-8322   310-10538 
FR.133	= 000266	#18-731     18-732    
FR.134	= 000270	#18-733    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 13

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.135	= 000272	#18-734    
FR.136	= 000274	#18-735    
FR.137	= 000276	#18-736    
FR.140	= 000300	#19-738    
FR.141	= 000302	#19-739     19-740    
FR.142	= 000304	#19-741     19-742    
FR.143	= 000306	#19-743     19-744    
FR.144	= 000310	#19-745     19-746    
FR.145	= 000312	#19-748     19-749    
FR.146	= 000314	#19-751     19-752    
FR.147	= 000316	#19-754     19-755    
FR.150	= 000320	#19-758     19-759     322-10977  322-10981 
FR.151	= 000322	#19-760     19-761    
FR.152	= 000324	#19-762     19-763    
FR.153	= 000326	#19-764     19-765    
FR.154	= 000330	#19-766     19-767     322-10985  322-10989 
FR.155	= 000332	#19-768     19-769    
FR.156	= 000334	#19-770     19-771    
FR.157	= 000336	#19-772     19-773    
FR.160	= 000340	#20-775    
FR.161	= 000342	#20-776    
FR.162	= 000344	#20-777     278-9373  
FR.163	= 000346	#20-778    
FR.164	= 000350	#20-779    
FR.165	= 000352	#20-780    
FR.166	= 000354	#20-781    
FR.167	= 000356	#20-782     20-783    
FR.170	= 000360	#20-785    
FR.171	= 000362	#20-786    
FR.172	= 000364	#20-787    
FR.173	= 000366	#20-788    
FR.174	= 000370	#20-789    
FR.175	= 000372	#20-790    
FR.176	= 000374	#20-791    
FR.177	= 000376	#20-792     531-17402 
FSB   	= 000150	#25-1012   
FSBB  	= 000153	#25-1013   
FSBL  	= 000151	#25-1014   
FSBM  	= 000152	#25-1015   
FSBR  	= 000154	#26-1017   
FSBRB 	= 000157	#26-1018   
FSBRI 	= 000155	#26-1019   
FSBRM 	= 000156	#26-1020   
FSC   	= 000132	#26-1022   
FTBYTE	= 000000	#2-66      
FTCRAM	= 000000	#2-67       36-1479   
FTDEBU	= 000001	#2-68       36-1491    179-6122   291-9861  
FTDISP	= 000000	#2-69      
FTDRAM	= 000000	#2-70       36-1499    280-9437  
FTHELP	= 000000	#2-71       73-2837   
FTKLER	= 000000	#2-72      
FTLCMN	= 000001  G	 1-16       33-1404   #539-17663 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 14

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FTLCVT	= 000000	#2-73       46-1915    210-7207  
FTLIST	= 000000	#2-74       21-800     21-816     36-1525    39-1668    40-1696    41-1736    238-8155  
FTTRAK	= 000001	#2-75       13-484     36-1559    118-4247   121-4351   135-4770   140-4930   193-6550   196-6675  
                         200-6807   403-13360  458-15108  493-16283 
FTTRP4	= 000001	#2-76      
FTUCVR	= 000130	#2-77      
FT1105	= 000001	#2-65      #2-100     
FT1110	= 000001	#2-64      #2-96       2-99      
FT1115	= 000001	#2-63      #2-92       2-95      
FT1120	= 000001	#2-62      #2-88       2-91      
FT1135	= 000001	#2-61      #2-84       2-87      
FT1140	= 000001	#2-60       2-83       3-108     
FT1145	= 000000	#2-59       2-79      
FWDTEN	= 011072 RG	#196-6704  
FWFMSG	  006145 R	#410-13632  410-13632 
FWRFWF	  011054 R	 196-6666  #196-6684  
FW.APE	= 000116	#16-622    
FW.CA1	= 000122	#16-638     273-9233   327-11154 
FW.CA2	= 000124	#16-640     273-9226   327-11153 
FW.CDR	= 000112	#15-594    
FW.CHN	= 000160	#17-670     278-9368  
FW.CRD	= 000126	#16-642    
FW.CR1	= 000136	#16-650    
FW.CR2	= 000134	#16-648    
FW.CR3	= 000132	#16-646    
FW.CR4	= 000130	#16-644    
FW.CSR	= 000110	#15-570     270-9131  
FW.DJE	= 000146	#17-659    
FW.DJO	= 000150	#17-661    
FW.DR1	= 000140	#17-653    
FW.DR2	= 000142	#17-655    
FW.DR3	= 000144	#17-657    
FW.EBL	= 000174	#17-678     327-11156 
FW.IAC	= 000154	#17-665    
FW.IOJ	= 000152	#17-663    
FW.IPE	= 000114	#16-609     270-9137  
FW.KLO	= 000156	#17-667     327-11155 
FW.LAR	= 000176	#17-681     260-8826   264-8967   528-17340  531-17409 
FW.LBL	= 000106	#15-568     267-9042   327-11152 
FW.LBR	= 000104	#15-566     267-9033   327-11151 
FW.MBX	= 000162	#17-672     327-11159 
FW.SBR	= 000174	#17-679    
FW.040	= 000100	#15-563     531-17407 
FW.041	= 000102	#15-564    
FW.042	= 000104	#15-565     15-566    
FW.043	= 000106	#15-567     15-568    
FW.044	= 000110	#15-569     15-570     196-6669  
FW.045	= 000112	#15-593     15-594    
FW.046	= 000114	#16-608     16-609    
FW.047	= 000116	#16-621     16-622     196-6671  
FW.050	= 000120	#16-636    
FW.051	= 000122	#16-637     16-638    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 15

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FW.052	= 000124	#16-639     16-640    
FW.053	= 000126	#16-641     16-642    
FW.054	= 000130	#16-643     16-644    
FW.055	= 000132	#16-645     16-646    
FW.056	= 000134	#16-647     16-648    
FW.057	= 000136	#16-649     16-650    
FW.060	= 000140	#17-652     17-653    
FW.061	= 000142	#17-654     17-655    
FW.062	= 000144	#17-656     17-657    
FW.063	= 000146	#17-658     17-659    
FW.064	= 000150	#17-660     17-661    
FW.065	= 000152	#17-662     17-663    
FW.066	= 000154	#17-664     17-665    
FW.067	= 000156	#17-666     17-667    
FW.070	= 000160	#17-669     17-670    
FW.071	= 000162	#17-671     17-672    
FW.072	= 000164	#17-673    
FW.073	= 000166	#17-674    
FW.074	= 000170	#17-675    
FW.075	= 000172	#17-676    
FW.076	= 000174	#17-677     17-678     17-679    
FW.077	= 000176	#17-680     17-681    
FXCFXF	  011236 R	 199-6772  #200-6815  
FXDTEN	= 011254 RG	#200-6836  
FXFMSG	  006173 R	#410-13633  410-13633 
FX.BMC	= 000012	#14-523     53-2170   
FX.CMR	= 000014	#14-525     278-9382  
FX.CON	= 000024	#14-534     75-2922    249-8487   257-8734   264-8969  
FX.CRF	= 000020	#14-530     70-2766    199-6798  
FX.CSP	= 000000	#14-513    
FX.CST	= 000002	#14-515     199-6775   418-13875 
FX.EBC	= 000006	#14-519    
FX.MBC	= 000004	#14-517     126-4479   278-9377  
FX.SMR	= 000016	#14-527     199-6777   277-9354  
FX.SRF	= 000022	#14-532     199-6792   433-14328 
FX.SYC	= 000010	#14-521     438-14481 
FX.UDR	= 000032	#14-539    
FX.UIR	= 000030	#14-537    
FX.000	= 000000	#14-512     14-513    
FX.001	= 000002	#14-514     14-515    
FX.002	= 000004	#14-516     14-517    
FX.003	= 000006	#14-518     14-519    
FX.004	= 000010	#14-520     14-521    
FX.005	= 000012	#14-522     14-523    
FX.006	= 000014	#14-524     14-525    
FX.007	= 000016	#14-526     14-527    
FX.010	= 000020	#14-529     14-530    
FX.011	= 000022	#14-531     14-532    
FX.012	= 000024	#14-533     14-534    
FX.013	= 000026	#14-535    
FX.014	= 000030	#14-536     14-537    
FX.015	= 000032	#14-538     14-539    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 16

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FX.016	= 000034	#14-540    
FX.017	= 000036	#14-541    
FX.020	= 000040	#14-543    
FX.021	= 000042	#14-544    
FX.022	= 000044	#14-545    
FX.023	= 000046	#14-546    
FX.024	= 000050	#14-547    
FX.025	= 000052	#14-548    
FX.026	= 000054	#14-549    
FX.027	= 000056	#14-550    
FX.030	= 000060	#14-552    
FX.031	= 000062	#14-553    
FX.032	= 000064	#14-554    
FX.033	= 000066	#14-555    
FX.034	= 000070	#14-556    
FX.035	= 000072	#14-557    
FX.036	= 000074	#14-558    
FX.037	= 000076	#14-559     531-17414 
GETSTS	= 000062	#26-1024   
GTDDBT	  011726 R	 206-7070   206-7074   206-7078  #207-7085  
GTDDOR	  011734 R	 206-7053   206-7059   206-7063   206-7066  #207-7088  
GTDIDF	  011742 R	 205-6994   206-7021   206-7031  #207-7091  
GTDMS0	  001407 R	 205-6989  #207-7102  
GTDYOR	  011750 R	 206-7036  #207-7094  
GTFILC	  013110 R	 223-7655  #223-7666  
GTKKLA	  012326 R	 215-7374   215-7376  #215-7378  
GTLCBO	  012142 R	 210-7196  #210-7228  
GTLILC	  012150 R	 209-7184   210-7210  #210-7231  
GTNMRA	  013352 R	 226-7766  #226-7768  
GTNNER	  012524 R	 216-7412   216-7418  #217-7459  
GTNNOR	  013360 R	 213-7315   217-7457   225-7746   225-7752  #226-7771  
GTNORE	  012520 R	 216-7422   216-7424  #217-7456  
GTTITF	  013720 R	 229-7858  #230-7920  
GTTMS0	  001416 R	 228-7843  #230-7929  
GTTTOR	  013726 R	 229-7873   229-7876   230-7897   230-7906  #230-7923  
G.TICP	= 000016	#204-6975  #506-16659 
G.TICT	= 000014	#204-6975  #506-16659 
G.TIDA	= 000004	#204-6975  #506-16659 
G.TIHR	= 000006	#204-6975  #506-16659 
G.TIMI	= 000010	#204-6975  #506-16659 
G.TIMO	= 000002	#204-6975  #506-16659 
G.TISC	= 000012	#204-6975  #506-16659 
G.TIYR	= 000000	#204-6975  #506-16659 
HIBYTE	= 177400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
HLL   	= 000500	#26-1026   
HLLE  	= 000530	#26-1027   
HLLEI 	= 000531	#26-1028   
HLLEM 	= 000532	#26-1029   
HLLES 	= 000533	#26-1030   
HLLI  	= 000501	#26-1032   
HLLM  	= 000502	#26-1033   
HLLO  	= 000520	#26-1035   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 17

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

HLLOI 	= 000521	#26-1036   
HLLOM 	= 000522	#26-1037   
HLLOS 	= 000523	#26-1038   
HLLS  	= 000503	#26-1040   
HLLZ  	= 000510	#26-1042   
HLLZI 	= 000511	#26-1043   
HLLZM 	= 000512	#26-1044   
HLLZS 	= 000513	#26-1045   
HLR   	= 000544	#26-1047   
HLRE  	= 000574	#26-1049   
HLREI 	= 000575	#26-1050   
HLREM 	= 000576	#26-1051   
HLRES 	= 000577	#26-1052   
HLRO  	= 000564	#26-1054   
HLROI 	= 000565	#26-1055   
HLROM 	= 000566	#26-1056   
HLROS 	= 000567	#26-1057   
HLRS  	= 000547	#26-1059   
HLRZ  	= 000554	#26-1061   
HLRZI 	= 000555	#26-1062   
HLRZM 	= 000556	#26-1063   
HLRZS 	= 000557	#26-1064   
HRL   	= 000504	#27-1066   
HRLE  	= 000534	#27-1068   
HRLEI 	= 000535	#27-1069   
HRLEM 	= 000536	#27-1070   
HRLES 	= 000537	#27-1071   
HRLI  	= 000505	#27-1073   
HRLM  	= 000506	#27-1074   
HRLO  	= 000564	#27-1076   
HRLOI 	= 000565	#27-1077   
HRLOM 	= 000566	#27-1078   
HRLOS 	= 000567	#27-1079   
HRLS  	= 000507	#27-1081   
HRLZ  	= 000514	#27-1083   
HRLZI 	= 000515	#27-1084   
HRLZM 	= 000516	#27-1085   
HRLZS 	= 000517	#27-1086   
HRR   	= 000540	#27-1088   
HRRE  	= 000570	#27-1090   
HRREI 	= 000571	#27-1091   
HRREM 	= 000572	#27-1092   
HRRES 	= 000573	#27-1093   
HRRI  	= 000541	#27-1095   
HRRM  	= 000542	#27-1096   
HRRO  	= 000560	#27-1098   
HRROI 	= 000561	#27-1099   
HRROM 	= 000562	#27-1100   
HRROS 	= 000563	#27-1101   
HRRS  	= 000543	#27-1103   
HRRZ  	= 000550	#27-1105   
HRRZI 	= 000551	#27-1106   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 18

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

HRRZM 	= 000552	#27-1107   
HRRZS 	= 000553	#27-1108   
I     	= 000000	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
IBP   	= 000133	#28-1110   
IDFMSG	  003021 R	#280-9456   280-9456  
IDIV  	= 000230	#28-1112   
IDIVB 	= 000233	#28-1113   
IDIVI 	= 000231	#28-1114   
IDIVM 	= 000232	#28-1115   
IDPB  	= 000136	#28-1117   
IE.ACT	= ******  GX	 353-11876 
IE.EBX	= ******  GX	 136-4806   538-17653 
IE.INS	= ******  GX	 353-11874 
IFCMSG	  003053 R	#280-9457   280-9457  
IFLOP 	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ILCMSG	  006223 R	#410-13635  410-13635 
ILDB  	= 000134	#28-1119   
ILSMSG	  006255 R	#410-13636  410-13636 
IMUL  	= 000220	#28-1121   
IMULB 	= 000223	#28-1122   
IMULI 	= 000221	#28-1123   
IMULM 	= 000222	#28-1124   
IN    	= 000056	#28-1126   
INBUF 	= 000064	#28-1127   
INIDNP	  014514 R	 243-8288  #244-8334  
INIDTC	  014522 R	 244-8315  #244-8337  
INIT  	= 000041	#28-1128   
INPUT 	= 000066	#28-1129   
INTROF	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
INTRON	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
INTSON	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
INT10S	= 000400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
INT11C	= 002000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
INT11S	= 004000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
IOCMSG	  003107 R	#280-9458   280-9458  
IOR   	= 000434	#28-1131    29-1199   
IORB  	= 000437	#28-1132    29-1200   
IORI  	= 000435	#28-1133    30-1217   
IORM  	= 000436	#28-1134    30-1218   
IO.ATT	= ******  GX	 486-16058 
IO.DET	= ******  GX	 179-6128   486-16063 
IO.RLB	= ******  GX	 211-7238  
IO.WLB	= ******  GX	 486-16049 
IPCMSG	  006321 R	#410-13637  410-13637 
IP.ALL	= 000017	#16-619    
IP.CRP	= 000004	#16-615     16-618     304-10333  393-13109  521-17138 
IP.DRP	= 000002	#16-616     16-618     304-10340  393-13113  521-17140 
IP.FMP	= 000010	#16-614     16-618     304-10326  393-13121  521-17142 
IP.FSS	= 000001	#16-617     16-619     304-10348  393-13125  521-17144 
IP.NRM	= 000016	#16-618     16-619     16-634    
IRCMSG	  003137 R	#280-9459   280-9459  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 19

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

IS.SET	= ******  GX	 64-2549   
ITFMSG	  003172 R	#280-9460   280-9460  
ITNMSG	  003224 R	#280-9461   280-9461  
JFCL  	= 000255	#28-1136   
JFFO  	= 000243	#28-1138   
JRA   	= 000267	#28-1140   
JRST  	= 000254	#28-1142   
JSA   	= 000266	#28-1144   
JSP   	= 000265	#28-1146   
JSR   	= 000264	#28-1148   
JSYS  	= 000104	#28-1150   
JUMP  	= 000320	#28-1152   
JUMPA 	= 000324	#28-1153   
JUMPE 	= 000322	#28-1154   
JUMPG 	= 000327	#28-1155   
JUMPGE	= 000325	#28-1156   
JUMPL 	= 000321	#28-1157   
JUMPLE	= 000323	#28-1158   
JUMPN 	= 000326	#28-1159   
KCNMSG	  003254 R	#280-9463   280-9463  
KF.BRM	= 001000	#13-476     257-8728  
KF.CES	= 000100	#13-479     55-2258    278-9384  
KF.CLK	= 100000	#13-470     55-2256    66-2620    75-2918    78-3010    111-4028   137-4829   137-4833   162-5579  
                         169-5815   170-5855   170-5861   196-6673   199-6774   243-8291   243-8298   249-8489   249-8495  
                         257-8731   257-8746   257-8748   262-8884   343-11588  347-11702  416-13795  431-14269  537-17612 
KF.CON	= 000200	#13-478     13-480     55-2256    75-2914    243-8298   249-8497   278-9384  
KF.DEF	= 000200	#13-480     241-8244  
KF.KLO	= 000400	#13-477     244-8326  
KF.MRS	= 020000	#13-472     277-9356   278-9384  
KF.RUN	= 040000	#13-471     55-2256    66-2620    75-2928    80-3095    169-5815   170-5855   170-5865   199-6791  
                         243-8291   244-8316   249-8495   257-8731   257-8742   257-8751   350-11793  416-13797  420-13939 
KF.SIM	= 010000	#13-473     75-2916    249-8483   257-8728  
KF.SMC	= 004000	#13-474    
KF.SPM	= 002000	#13-475     249-8481   257-8728  
KLABIN	  031240 RG	 474-15662 #477-15765 
KLAMSG	  003302 R	#280-9464   280-9464  
KLAOCT	  031264 RG	 474-15666 #477-15782 
KLHCFH	  014766 R	#252-8609  
KLIOT 	= 000700	#28-1161   
KLNBIN	  031230 RG	 475-15701 #477-15760 
KLNLGE	= 025026 R	 381-12847 #383-12883 
KLNLGL	= ******  GX	 381-12845 
KLNLOG	  025002 R	#383-12876 
KLNOCT	  031260 RG	 475-15705 #477-15778 
KLNPLN	= ******  GX	 381-12840 
KLNPWD	  025026 R	 376-12661  380-12813 #383-12885 
KLPWRF	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
KLRMSG	  003331 R	#280-9465   280-9465  
KLSCFH	  015276 R	 262-8899  #262-8902  
KNCMSG	  003373 R	#280-9466   280-9466  
KWEMSG	  003427 R	#280-9467   280-9467  
K.LSCK	= ******  GX	 383-12879 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 20

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

LDB   	= 000135	#29-1163   
LG.ALL	= 000007	#22-862     73-2831    186-6336   186-6346   254-8655   254-8655   254-8656   254-8657   254-8661  
                         254-8662   275-9278   275-9279   275-9280   275-9281   275-9282   275-9283   275-9284   275-9285  
                         275-9286   275-9287   275-9288   275-9289   360-12126  403-13353  493-16275  493-16277  512-16902 
LG.ARG	= 000010	#22-855    
LG.MAR	= 000020	#22-856    
LG.MNT	= 000004	#22-854     22-862     66-2617    66-2622    73-2833    73-2834    73-2835    367-12330  367-12331 
                         367-12332  367-12333  367-12334  367-12335  367-12336  367-12337  367-12338  367-12339  367-12340 
                         395-13169  395-13170  395-13171  395-13172  395-13173  395-13174  395-13175  403-13348  403-13351 
                         403-13357  504-16574 
LG.MOD	= 000040	#22-857    
LG.NUL	= 000000	#22-851    
LG.OPR	= 000001	#22-852     22-861     73-2826    73-2827    73-2828    73-2832    73-2841    73-2842    73-2843   
                         73-2845    73-2846    73-2847    73-2849    73-2850    95-3514    95-3515    95-3516    95-3517   
                         95-3518    114-4126   114-4127   114-4128   114-4129   114-4130   175-6008   175-6009   175-6010  
                         175-6011   175-6012   186-6343   186-6349   186-6354   186-6355   186-6356   186-6357   186-6358  
                         254-8656   360-12118  362-12176  362-12177  362-12178  362-12179  387-12987  387-12988  403-13349 
                         403-13352  403-13354  403-13355  403-13359  493-16274  493-16276  493-16278  493-16282  493-16286 
LG.PRG	= 000002	#22-853     22-861     66-2610    73-2829    73-2830    73-2836    73-2840    73-2844    73-2848   
                         73-2851    73-2852    114-4123   114-4124   114-4125   186-6327   186-6328   186-6329   186-6330  
                         186-6331   186-6332   186-6333   186-6334   186-6335   186-6338   186-6339   186-6340   186-6341  
                         186-6342   186-6344   186-6345   186-6347   186-6348   186-6350   186-6351   186-6352   186-6353  
                         329-11193  329-11194  329-11195  329-11196  329-11197  329-11198  329-11199  329-11200  403-13350 
                         403-13356  403-13358  403-13361  424-14045  424-14046  429-14188  493-16273  493-16279  493-16280 
                         493-16281  493-16284  504-16577 
LG.PRM	= 000003	#22-861     22-862     254-8657   360-12122  512-16905 
LG.RNG	= 000100	#22-858    
LG.RPT	= 000400	#22-860     73-2826    73-2828    73-2829    73-2830    73-2832    73-2833    73-2834    73-2835   
                         73-2836    73-2840    73-2843    73-2844    73-2846    73-2848    73-2851    93-3460    95-3514   
                         95-3515    95-3516    95-3517    95-3518    114-4123   114-4124   114-4125   114-4126   114-4127  
                         114-4128   114-4129   114-4130   175-6008   175-6009   175-6010   175-6011   175-6012   186-6327  
                         186-6328   186-6329   186-6330   186-6331   186-6332   186-6333   186-6334   186-6335   186-6336  
                         186-6338   186-6339   186-6340   186-6341   186-6342   186-6343   186-6344   186-6345   186-6346  
                         186-6347   186-6348   186-6349   186-6350   186-6351   186-6352   186-6353   186-6354   186-6355  
                         186-6356   186-6357   186-6358   329-11193  329-11194  329-11195  329-11196  329-11197  329-11198 
                         329-11199  329-11200  367-12330  367-12331  367-12332  367-12333  367-12334  367-12335  367-12336 
                         367-12337  367-12338  367-12339  367-12340  403-13348  403-13351  403-13355  403-13357  424-14045 
                         424-14046  493-16273  493-16275  493-16280 
LG.STR	= 000200	#22-859    
LOAD11	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
LOOKUP	= 000076	#29-1165   
LSH   	= 000242	#29-1167   
LSHC  	= 000246	#29-1168   
MAP   	= 000257	#29-1170   
MBZTAB	  005046 R	 117-4217  #118-4264  
MONMSG	  007336 R	 506-16693 #507-16715 
MOVE  	= 000200	#29-1172   
MOVEI 	= 000201	#29-1173   
MOVEM 	= 000202	#29-1174   
MOVES 	= 000203	#29-1175   
MOVM  	= 000214	#29-1177   
MOVMI 	= 000215	#29-1178   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 21

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

MOVMM 	= 000216	#29-1179   
MOVMS 	= 000217	#29-1180   
MOVN  	= 000210	#29-1182   
MOVNI 	= 000211	#29-1183   
MOVNM 	= 000212	#29-1184   
MOVNS 	= 000213	#29-1185   
MOVS  	= 000204	#29-1187   
MOVSI 	= 000205	#29-1188   
MOVSM 	= 000206	#29-1189   
MOVSS 	= 000207	#29-1190   
MPE11 	= 001000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
MRAMSG	  003461 R	#280-9469   280-9469  
MUL   	= 000224	#29-1192   
MULB  	= 000227	#29-1193   
MULI  	= 000225	#29-1194   
MULM  	= 000226	#29-1195   
M.KTAE	= 000010	#71-2786   
M.KTEF	= 000002	#71-2786   
M.KTMG	= 000004	#71-2786   
M.KTUN	= 000006	#71-2786   
NDIMSG	  003521 R	#280-9471   280-9471  
NEBMSG	  004746 R	 288-9767  #289-9792  
NERMSG	  003551 R	#280-9472   280-9472  
NOFMSG	  000602 R	 155-5412  #156-5420  
NOMSG 	  010300 R	 533-17494 #534-17517 
NORMSG	  003613 R	#280-9473   280-9473  
NPIMSG	  003653 R	#280-9474   280-9474  
NSKMSG	  006364 R	#410-13639  410-13639 
NSTMSG	  003707 R	#280-9475   280-9475  
NTIMSG	  003732 R	#280-9476   280-9476  
NULSTP	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
NUPE  	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
OAIMSG	  003762 R	#280-9478   280-9478  
OFCMSG	  004014 R	#280-9479   280-9479  
OFFMSG	  001147 R	 183-6255  #184-6292  
ONMSG 	  001144 R	 183-6251  #184-6290  
OPEN  	= 000050	#29-1197   
OR    	= 000434	#29-1199   
ORB   	= 000437	#29-1200   
ORCA  	= 000454	#29-1202   
ORCAB 	= 000457	#29-1203   
ORCAI 	= 000455	#29-1204   
ORCAM 	= 000456	#29-1205   
ORCB  	= 000470	#30-1207   
ORCBB 	= 000473	#30-1208   
ORCBI 	= 000471	#30-1209   
ORCBM 	= 000472	#30-1210   
ORCM  	= 000464	#30-1212   
ORCMB 	= 000467	#30-1213   
ORCMI 	= 000465	#30-1214   
ORCMM 	= 000466	#30-1215   
ORI   	= 000435	#30-1217   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 22

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ORM   	= 000436	#30-1218   
OUT   	= 000057	#30-1220   
OUTBUF	= 000065	#30-1221   
OUTPUT	= 000067	#30-1222   
PAG   	= 000010	#7-241      348-11732  348-11732  348-11734  348-11734 
PARERC	  016730 R	 284-9646   284-9646   285-9658   285-9658   285-9669   285-9669   286-9694   286-9694  #287-9713  
                         287-9729   287-9729   288-9748   288-9748  
PARERX	  016554 R	#284-9647   285-9680   286-9702   288-9771  
PARMSG	  000011 RG	#42-1771    287-9714  
PARNAM	  000021 RG	 36-1472   #42-1773    92-3442    281-9535   416-13789 
PARUEC	  017002 R	 284-9639  #287-9726  
PAR$$E	= 000010	#1-50       42-1770   
PAR$$K	= 000126	#1-54       42-1770   
PAR$$V	= 000004	#1-49       42-1770   
PCTAB 	  021004 R	 321-10925 #322-10976 
PC.AFI	= 000020	#13-504    
PC.AT0	= 000004	#13-506    
PC.AT1	= 000010	#13-505    
PC.BIS	= 000400	#13-500    
PC.CY0	= 004000	#13-497    
PC.CY1	= 002000	#13-498    
PC.FOV	= 001000	#13-499    
PC.FUF	= 000002	#13-507    
PC.LIP	= 000040	#13-503    
PC.NDV	= 000001	#13-508    
PC.OVF	= 010000	#13-496     310-10542 
PC.UIO	= 000100	#13-502    
PC.USR	= 000200	#13-501    
PERCLR	= 001000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PE.ALL	= 000037	#9-332     
PE.CES	= 000001	#9-327      9-332     
PE.CRM	= 000004	#9-329      9-332     
PE.DRM	= 000002	#9-328      9-332     
PE.FMP	= 000010	#9-330      9-332     
PE.FSS	= 000020	#9-331      9-332     
PHYS  	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PI    	= 000004	#7-240      345-11666  345-11666 
PIDENT	= 000000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
POP   	= 000262	#30-1224   
POPJ  	= 000263	#30-1225   
PRI7  	= 000340	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PROMPT	  000030 RG	#42-1775    416-13792 
PROPNT	= 000021	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PRTOFF	= 004000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR0   	= 000000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR1   	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR2   	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR3   	= 000140	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR4   	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR5   	= 000240	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR6   	= 000300	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PR7   	= 000340	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 23

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PS    	= 177776	#133-4714  #191-6508  #194-6615  #197-6742   370-12453  370-12453  370-12464  380-12800  380-12800 
                         381-12823  381-12830  381-12830  381-12834 #428-14169 #535-17559 
PSENTB	  033704 R	 521-17119 #521-17134 
PSWW1 	= 000005	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW10	= 000014	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW11	= 000015	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW12	= 000016	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW13	= 000017	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW2 	= 000006	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW3 	= 000007	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW4 	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW5 	= 000011	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW6 	= 000012	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PSWW7 	= 000013	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PS.NRM	= 001416	#16-634     336-11409  393-13101 
PTLMSG	  004044 R	#280-9481   280-9481  
PTOATM	  004775 R	 291-9856  #291-9875  
PTRTEM	  005042 R	 293-9944  #296-10065 
PTRTHM	  005112 R	 296-10050 #296-10067 
PULSE 	= 000020	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
PUSH  	= 000261	#30-1227   
PUSHJ 	= 000260	#30-1228   
QSIZE 	= 000023	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
Q.BYCT	= 000016	#21-809     211-7241   486-16052 
Q.IBUF	= 000014	#21-807    
Q.IOAE	= 000012	#211-7238  #486-16049 #486-16058 #486-16063 
Q.IOEF	= 000006	#211-7238  #486-16049 #486-16058 #486-16063 
Q.IOFN	= 000002	#211-7238  #486-16049 #486-16058 #486-16063 
Q.IOLU	= 000004	#211-7238  #486-16049 #486-16058 #486-16063 
Q.IOPL	= 000014	#21-806     21-807     21-808     21-809     21-810    #211-7238   211-7240  #486-16049  486-16051 
                        #486-16058 #486-16063 
Q.IOPR	= 000007	#211-7238  #486-16049 #486-16058 #486-16063 
Q.IOSB	= 000010	#211-7238  #486-16049 #486-16058 #486-16063 
Q.OBUF	= 000014	#21-808    
Q.OVFC	= 000020	#21-810     486-16053 
RAMIS0	= 010000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
RDCPT1	  017756 R	 302-10255 #304-10318 
RDCPT2	  017736 R	 303-10274 #303-10299 
RDCPT3	  017746 R	 302-10256  303-10271 #303-10307 
RDPITB	  020400 R	 315-10686 #315-10702 
RDPITE	= 020414 R	 315-10696 #315-10709 
REGTAB	  005200 R	 122-4359  #123-4380  
RELEAS	= 000071	#30-1230   
RENAME	= 000055	#30-1231   
REPIRC	  021120 R	 324-11052 #324-11058 
REQKLD	  033434 R	 513-16917 #513-16923 
RESETT	  021244 R	 327-11125 #327-11150 
RFMAD0	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
RFMAD1	= 040000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
RFMAD2	= 020000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
RFMAD3	= 010000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
RGDTEN	= 005066 RG	#119-4290  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 24

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

RM    	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
ROT   	= 000241	#30-1233   
ROTC  	= 000245	#30-1234   
RPMMSG	  004074 R	#280-9483   280-9483  
RQSKLD	  003316 R	 90-3376   #90-3379   
RSAKCN	  021704 R	 343-11589 #343-11606 
RSAPRI	  021744 R	 345-11643 #345-11659 
RSERRI	  021752 R	 345-11647 #345-11661 
RSPGI0	  022120 R	 347-11719 #348-11731 
RSPGI1	  022126 R	 347-11721 #348-11733 
RSPKCN	  022112 R	 347-11703 #348-11728 
RSTEND	= 021252 R	 327-11138 #327-11157 
RSTIOI	  021760 R	 345-11651 #345-11663 
RSTPII	  021766 R	 345-11655 #345-11665 
RUNITN	  022246 R	 352-11858 #353-11878 
RUNNST	  022254 R	 353-11875 #353-11881 
RUNTAA	  022262 R	 353-11877 #353-11884 
R.QSGC	= 000015	#90-3380   #354-11907 #513-16924 
R.QSPC	= 000014	#90-3380   #354-11907 #513-16924 
R.QSPN	= 000006	#90-3380   #354-11907 #513-16924 
R.QSPR	= 000012	#90-3380   #354-11907 #513-16924 
R.QSTN	= 000002	#90-3380   #354-11907 #513-16924 
SATMSG	  007414 R	 506-16698 #507-16725 
SBRTAB	  020624 R	 317-10786 #319-10853 
SCCCLE	  022672 R	 360-12131 #360-12139 
SCCLKT	  022530 R	 356-11973 #358-12048 
SCD   	= 000040	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
SCDCDI	  023472 R	 369-12404 #371-12469 
SCDDAV	  023500 R	 369-12406 #371-12472 
SCDNDI	  023506 R	 369-12412 #371-12475 
SCDNTI	  023514 R	 369-12416 #371-12478 
SCFMSG	  004134 R	#280-9485   280-9485  
SCKIPC	  024030 R	#377-12682  378-12694  378-12698  378-12700 
SCKKWE	  024372 R	 379-12768  379-12771  379-12774 #379-12778 
SCKMS0	  005466 R	 376-12652 #383-12889 
SCKMS1	  005501 R	 378-12704  378-12710 #383-12891 
SCKMS2	  005525 R	 378-12718  379-12759 #383-12893 
SCKMS3	  005552 R	 380-12789 #383-12895 
SCKMS4	  005601 R	 376-12643 #383-12897 
SCKNPI	  024006 R	 376-12656 #377-12673 
SCKPTL	  024014 R	 376-12659 #377-12676 
SCKSKI	  024022 R	 376-12641 #377-12679 
SCPART	  022542 R	 356-11978  356-11985 #358-12054 
SCPILS	  022506 R	 357-12002 #358-12039 
SCPSCF	  022514 R	#358-12042  358-12052 
SCPSPF	  022522 R	#358-12045  358-12058 
SCRTAB	  020640 R	 317-10790 #319-10861 
SETA  	= 000424	#30-1236   
SETAB 	= 000427	#30-1237   
SETAI 	= 000425	#30-1238   
SETAM 	= 000426	#30-1239   
SETCA 	= 000450	#30-1241   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 25

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SETCAB	= 000453	#30-1242   
SETCAI	= 000451	#30-1243   
SETCAM	= 000452	#30-1244   
SETCM 	= 000460	#30-1246   
SETCMB	= 000463	#30-1247   
SETCMI	= 000461	#30-1248   
SETCMM	= 000462	#30-1249   
SETM  	= 000414	#31-1251   
SETMB 	= 000417	#31-1252   
SETMI 	= 000415	#31-1253   
SETMM 	= 000416	#31-1254   
SETO  	= 000474	#31-1256   
SETOB 	= 000477	#31-1257   
SETOI 	= 000475	#31-1258   
SETOM 	= 000476	#31-1259   
SETSTS	= 000060	#31-1261   
SETZ  	= 000400	#31-1263   
SETZB 	= 000403	#31-1264   
SETZI 	= 000401	#31-1265   
SETZM 	= 000402	#31-1266   
SKIMSG	  004163 R	#280-9486   280-9486  
SKIP  	= 000330	#31-1268   
SKIPA 	= 000334	#31-1269   
SKIPE 	= 000332	#31-1270   
SKIPG 	= 000337	#31-1271   
SKIPGE	= 000335	#31-1272   
SKIPL 	= 000331	#31-1273   
SKIPLE	= 000333	#31-1274   
SKIPN 	= 000336	#31-1275   
SOJ   	= 000360	#31-1277   
SOJA  	= 000364	#31-1278   
SOJE  	= 000362	#31-1279   
SOJG  	= 000367	#31-1280   
SOJGE 	= 000365	#31-1281   
SOJL  	= 000361	#31-1282   
SOJLE 	= 000363	#31-1283   
SOJN  	= 000366	#31-1284   
SOS   	= 000370	#31-1286   
SOSA  	= 000374	#31-1287   
SOSE  	= 000372	#31-1288   
SOSG  	= 000377	#31-1289   
SOSGE 	= 000375	#31-1290   
SOSL  	= 000371	#31-1291   
SOSLE 	= 000373	#31-1292   
SOSN  	= 000376	#31-1293   
SPCEST	  017116 R	 288-9752  #288-9773  
SPFMSG	  004240 R	#280-9487   280-9487  
SSTLEN	= 000010  G	#37-1634    237-8140  
SSTTBE	= 000212 RG	#37-1635    293-9941  
STAMSG	  000474 R	 123-4383  #123-4394  
STASZI	  026556 R	 429-14186 #429-14198 
STAT  	= 174434	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 26

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

STATO 	= 000061	#31-1295   
STATUS	= 000022	#31-1296   #133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
STATZ 	= 000063	#31-1297   
STUCAE	  026744 R	 436-14404 #436-14422 
STUUNL	  026752 R	 436-14419 #436-14425 
ST.CED	= 000100	#12-449     12-464    
ST.CLE	= 000001	#12-462     12-464    
ST.CTD	= 040000	#12-434    
ST.CTE	= 010000	#12-438     12-464    
ST.DW1	= 002000	#12-441    
ST.DXD	= 000004	#12-457    
ST.EBS	= 000100	#12-448    
ST.EDB	= 004000	#12-439    
ST.EPE	= 000020	#12-452     12-464     128-4548  
ST.IDS	= 000010	#12-456    
ST.IEN	= 000040	#12-451    
ST.ION	= 000001	#12-461    
ST.MBZ	= 000000	#12-466     118-4267  
ST.MOD	= 000010	#12-454     243-8287  
ST.MPE	= 001000	#12-442     12-464    
ST.NST	= 000040	#12-450    
ST.RIZ	= 010000	#12-437    
ST.RST	= 011121	#12-464    
ST.SEP	= 000004	#12-458    
ST.STE	= 000002	#12-460    
ST.TED	= 000200	#12-446    
ST.TER	= 000002	#12-459    
ST.TXD	= 100000	#12-432    
ST.TXE	= 020000	#12-435    
ST.XDB	= 000400	#12-444    
SUB   	= 000274	#32-1299   
SUBB  	= 000277	#32-1300   
SUBI  	= 000275	#32-1301   
SUBM  	= 000276	#32-1302   
SUNMSG	  007426 R	 506-16699 #507-16727 
SWR   	= 177570	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
SWSLLT	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
SXCT  	= 000106	#32-1304   
SZIMSG	  004270 R	#280-9488   280-9488  
TAAMSG	  004324 R	#280-9490   280-9490  
TC.CON	= 000377	#22-869    
TC.CTC	= 000002	#22-866     64-2553    295-10023 
TC.ERR	= 000000	#22-868     53-2174    55-2259    58-2368    58-2371    59-2409    66-2632    76-2942    81-3106   
                         93-3480    108-3947   112-4083   112-4086   112-4089   118-4259   126-4493   128-4552   132-4672  
                         137-4830   137-4834   137-4837   137-4840   153-5339   162-5600   167-5752   170-5872   193-6558  
                         196-6685   200-6816   207-7086   207-7089   207-7092   207-7095   210-7229   210-7232   215-7379  
                         217-7460   223-7667   224-7707   226-7769   226-7772   230-7921   230-7924   244-8335   244-8338  
                         252-8610   262-8903   324-11059  343-11607  348-11729  353-11879  353-11882  353-11885  358-12040 
                         358-12043  358-12046  360-12140  371-12470  371-12473  371-12476  371-12479  377-12674  377-12677 
                         377-12680  377-12684  379-12779  429-14199  436-14423  436-14426  443-14597  464-15299  464-15302 
                         464-15305  531-17421  531-17424  538-17655  538-17658 
TC.RST	= 000001	#22-867    
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 27

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TDC   	= 000650	#32-1306   
TDCA  	= 000654	#32-1307   
TDCE  	= 000652	#32-1308   
TDCN  	= 000656	#32-1309   
TDMSG0	  006501 R	 463-15279 #464-15310 
TDN   	= 000610	#32-1311   
TDNA  	= 000614	#32-1312   
TDNE  	= 000612	#32-1313   
TDNN  	= 000616	#32-1314   
TDO   	= 000670	#32-1316   
TDOA  	= 000674	#32-1317   
TDOE  	= 000672	#32-1318   
TDON  	= 000676	#32-1319   
TDZ   	= 000630	#32-1321   
TDZA  	= 000634	#32-1322   
TDZE  	= 000632	#32-1323   
TDZN  	= 000636	#32-1324   
TENAD1	= 174410	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TENAD2	= 174412	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TFRMSG	  006432 R	 458-15116 #459-15161 
TFWMSG	  006447 R	 458-15123 #459-15163 
TFXMSG	  006464 R	 458-15130 #459-15165 
THUMSG	  007372 R	 506-16696 #507-16721 
TLC   	= 000641	#32-1326   
TLCA  	= 000645	#32-1327   
TLCE  	= 000643	#32-1328   
TLCN  	= 000647	#32-1329   
TLN   	= 000601	#32-1331   
TLNA  	= 000605	#32-1332   
TLNE  	= 000603	#32-1333   
TLNN  	= 000607	#32-1334   
TLO   	= 000661	#32-1336   
TLOA  	= 000665	#32-1337   
TLOE  	= 000663	#32-1338   
TLON  	= 000667	#32-1339   
TLZ   	= 000621	#32-1341   
TLZA  	= 000625	#32-1342   
TLZE  	= 000623	#32-1343   
TLZN  	= 000627	#32-1344   
TOBM  	= 000004	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TOD   	= 000003	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TOIP  	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TOIT  	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TORMSG	  004361 R	#280-9491   280-9491  
TO10  	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10AD	= 174420	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10BC	= 174414	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10BM	= 000001	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10DB	= 000400	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10DN	= 100000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10DT	= 174424	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO10ER	= 020000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 28

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TO11  	= 000100	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11AD	= 174422	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11BC	= 174416	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11BM	= 020000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11DB	= 004000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11DN	= 000200	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11DT	= 174426	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TO11ER	= 000002	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
TPDDCK	  027204 R	 441-14547 #443-14596 
TPDDVD	  027226 R	 441-14562 #443-14604 
TPDDVS	  027220 R	 441-14561 #443-14602 
TPDRMN	  027212 R	 441-14550  441-14560  442-14588 #443-14600 
TRADDR	  006130 R	 141-4951   141-4962  #142-4981  
TRC   	= 000640	#32-1346   
TRCA  	= 000644	#32-1347   
TRCE  	= 000642	#32-1348   
TRCN  	= 000646	#32-1349   
TRDATA	  006136 R	 141-4956   141-4966  #142-4983  
TRN   	= 000600	#33-1351   
TRNA  	= 000604	#33-1352   
TRNE  	= 000602	#33-1353   
TRNN  	= 000606	#33-1354   
TRO   	= 000660	#33-1356   
TROA  	= 000664	#33-1357   
TROE  	= 000662	#33-1358   
TRON  	= 000666	#33-1359   
TRZ   	= 000620	#33-1361   
TRZA  	= 000624	#33-1362   
TRZE  	= 000622	#33-1363   
TRZN  	= 000626	#33-1364   
TR.ALL	= 000077	#13-491    
TR.DEP	= 000020	#13-489     13-491     135-4782  
TR.DTE	= 000040	#13-490     13-491     118-4248  
TR.EXM	= 000010	#13-488     13-491     135-4771  
TR.FRD	= 000002	#13-486     13-491     193-6551  
TR.FWR	= 000004	#13-487     13-491     196-6676  
TR.FXC	= 000001	#13-485     13-491     200-6808  
TSC   	= 000651	#33-1366   
TSCA  	= 000655	#33-1367   
TSCAMB	  030412 R	 462-15253 #464-15297 
TSCE  	= 000653	#33-1368   
TSCN  	= 000657	#33-1369   
TSCNSK	  030424 R	 462-15262 #464-15301 
TSCWRM	  030432 R	 462-15265 #464-15304 
TSN   	= 000611	#33-1371   
TSNA  	= 000615	#33-1372   
TSNE  	= 000613	#33-1373   
TSNN  	= 000617	#33-1374   
TSO   	= 000671	#33-1376   
TSOA  	= 000675	#33-1377   
TSOE  	= 000673	#33-1378   
TSON  	= 000677	#33-1379   
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 29

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TSZ   	= 000631	#33-1381   
TSZA  	= 000635	#33-1382   
TSZE  	= 000633	#33-1383   
TSZN  	= 000637	#33-1384   
TTCALL	= 000051	#33-1386   
TUEMSG	  007346 R	 506-16694 #507-16717 
TYDMAP	  006534 R	 467-15406 #468-15424 
TYDMAU	  006554 R	 467-15410 #468-15432 
TYDMDE	  006574 R	 467-15414 #468-15440 
TYDMFE	  006524 R	 467-15404 #468-15420 
TYDMJA	  006520 R	 467-15403 #468-15418 
TYDMJL	  006550 R	 467-15409 #468-15430 
TYDMJN	  006544 R	 467-15408 #468-15428 
TYDMMR	  006530 R	 467-15405 #468-15422 
TYDMMY	  006540 R	 467-15407 #468-15426 
TYDMNO	  006570 R	 467-15413 #468-15438 
TYDMOC	  006564 R	 467-15412 #468-15436 
TYDMSE	  006560 R	 467-15411 #468-15434 
TYDMTB	  030554 R	 466-15384 #467-15402 
TYODIE	  031632 R	 484-16025  484-16027  484-16029  484-16031 #485-16042 
UECMSG	  004657 R	 287-9738  #287-9742  
UECMSP	  017024 R	 287-9728  #287-9737  
UGETF 	= 000073	#33-1388   
UJEN  	= 000100	#33-1390   
UNASG1	= 000032	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNASG2	= 000033	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNASG3	= 000034	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNASG4	= 000035	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNASG5	= 000036	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNASG6	= 000037	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
UNLMSG	  004411 R	#280-9493   280-9493  
USETI 	= 000074	#33-1392   
USETO 	= 000075	#33-1393   
VFYMSG	  004447 R	#280-9495   280-9495  
VF.DSP	= 000060	#21-824    
VF.FFD	= 000061	#21-825    
VF.INT	= 000000	#21-822     486-16049 
VF.OVR	= 000053	#21-826    
VF.PRM	= 000044	#21-827    
VF.SSP	= 000040	#21-823    
VMATB 	  021020 R	 321-10933 #322-10984 
VMHTB 	  021026 R	 321-10937 #322-10988 
WCLMS0	  006777 R	 501-16487 #502-16506 
WCLMS1	  007004 R	 501-16489 #502-16508 
WCLMS2	  007016 R	 501-16491 #502-16510 
WCLMS3	  007026 R	 501-16494 #502-16512 
WCLMS4	  007037 R	 501-16495  501-16497 #502-16514 
WCLMS5	  007046 R	 501-16496 #502-16516 
WCLMS6	  007057 R	 501-16499 #502-16518 
WCLMS7	  007064 R	 501-16500 #502-16520 
WCLMS8	  007071 R	 501-16501 #502-16522 
WCLMS9	  007101 R	 501-16502 #502-16524 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 30

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

WCMMSG	  007175 R	 504-16570 #504-16586 
WCMMS0	  007215 R	 504-16573 #504-16588 
WCMMS1	  007231 R	 504-16576 #504-16590 
WCMMS2	  007244 R	 504-16579 #504-16592 
WCMSG0	  007106 R	 500-16441 #502-16526 
WCMSG1	  007132 R	 500-16443 #502-16528 
WCMSG2	  007146 R	 501-16470 #502-16530 
WCMSG3	  007160 R	 501-16477 #502-16532 
WCMSG4	  007170 R	 500-16450 #502-16534 
WEDMSG	  007357 R	 506-16695 #507-16719 
WEP   	= 000010	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
WHDMS0	  007255 R	 506-16668 #507-16706 
WHDMS1	  007303 R	 506-16681 #507-16708 
WHDMS2	  007327 R	 506-16683 #507-16710 
WHDMS3	  007332 R	 506-16686 #507-16712 
WHIMSG	  007436 R	 509-16765 #509-16787 
WHKMRB	  007675 R	 511-16866 #514-16947 
WHKMSA	  007666 R	 511-16859 #514-16945 
WHKMSI	  007720 R	 511-16862 #514-16949 
WHKMSK	  007745 R	 512-16892 #514-16955 
WHKMSR	  007736 R	 512-16897 #514-16953 
WHKMSU	  007731 R	 512-16894 #514-16951 
WHKMS0	  007476 R	 511-16854 #514-16928 
WHKMS1	  007507 R	 511-16856 #514-16930 
WHKMS2	  007520 R	 512-16877 #514-16932 
WHKMS3	  007546 R	 512-16884 #514-16934 
WHKMS4	  007576 R	 512-16899 #514-16936 
WHKMS5	  007626 R	 512-16901 #514-16938 
WHKMS6	  007642 R	 512-16904 #514-16940 
WHKMS7	  007655 R	 512-16907 #514-16942 
WHMMSG	  007764 R	 516-16990 #516-17002 
WHMMS0	  007776 R	 516-16992 #516-17004 
WHMMS1	  010002 R	 516-16995 #516-17006 
WHOMSG	  010011 R	 518-17041 #518-17050 
WHPMS0	  010032 R	 521-17135 #522-17148 
WHPMS1	  010035 R	 521-17137 #522-17150 
WHPMS2	  010042 R	 521-17139 #522-17152 
WHPMS3	  010047 R	 521-17141 #522-17154 
WHPMS4	  010052 R	 521-17143 #522-17156 
WHPMS5	  010062 R	 520-17109 #522-17158 
WHPMS6	  010067 R	 520-17102 #522-17160 
WHPMS7	  010073 R	 520-17099 #522-17162 
WHRMSG	  007456 R	 509-16772 #509-16789 
WHRMS0	  010217 R	 524-17205 #524-17217 
WHRMS1	  010222 R	 524-17208 #524-17219 
WHTMSG	  010226 R	 526-17254 #526-17266 
WHTMS0	  010246 R	 526-17256 #526-17268 
WHTMS1	  010251 R	 526-17259 #526-17270 
WPMSG0	  010076 R	 520-17095 #522-17164 
WPMSG1	  010130 R	 520-17097 #522-17166 
WPMSG2	  010156 R	 520-17105 #522-17168 
WRLMSG	  010176 R	 524-17203 #524-17215 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 31

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

WRMMSG	  004503 R	#280-9497   280-9497  
WVMSG1	  006733 R	 497-16381 #498-16393 
WVMSG2	  006755 R	 497-16385 #498-16395 
XCT   	= 000256	#33-1395   
XOR   	= 000430	#33-1397   
XORB  	= 000433	#33-1398   
XORI  	= 000431	#33-1399   
XORM  	= 000432	#33-1400   
XR    	= 000000	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
XTOMSG	  004614 R	#280-9501   280-9501  
YESMSG	  010274 R	 533-17490 #534-17515 
YONMSG	  010255 R	 533-17483 #534-17513 
YORMSG	  004564 R	#280-9499   280-9499  
ZERDPB	  034502 R	*537-17629 *537-17630  538-17639 #538-17660 
ZERESD	  034474 R	 538-17654 #538-17657 
ZSTOP 	= 040000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
$DIV  	= ******  GX	 370-12450  370-12450  488-16120  488-16120  490-16199  490-16199  490-16203  490-16203 
$DSW  	= ******  GX	 64-2549    136-4806   353-11873  538-17653 
$MUL  	= ******  GX	 229-7879   229-7879   229-7883   229-7883   230-7899   230-7899   230-7909   230-7909   233-8005  
                         233-8005   369-12422  369-12422 
$$    	= 000037	#49-2030    49-2030   #49-2036    49-2036   #49-2037    49-2037   #51-2100    51-2100   #51-2101   
                         51-2101   #53-2165    53-2165   #53-2169    53-2169   #55-2248    55-2248   #57-2324    57-2324   
                        #59-2402    59-2402   #61-2462    61-2462   #68-2687    68-2687   #68-2697    68-2697   #70-2767   
                         70-2767   #75-2912    75-2912   #75-2920    75-2920   #75-2923    75-2923   #75-2927    75-2927   
                        #78-3001    78-3001   #78-3002    78-3002   #78-3007    78-3007   #78-3008    78-3008   #78-3012   
                         78-3012   #78-3015    78-3015   #78-3017    78-3017   #80-3081    80-3081   #80-3086    80-3086   
                        #80-3098    80-3098   #84-3160    84-3160   #84-3161    84-3161   #84-3162    84-3162   #84-3168   
                         84-3168   #84-3170    84-3170   #84-3173    84-3173   #84-3174    84-3174   #84-3175    84-3175   
                        #84-3177    84-3177   #84-3178    84-3178   #86-3242    86-3242   #86-3243    86-3243   #86-3244   
                         86-3244   #86-3251    86-3251   #86-3252    86-3252   #86-3255    86-3255   #88-3310    88-3310   
                        #88-3311    88-3311   #88-3312    88-3312   #90-3374    90-3374   #92-3443    92-3443   #93-3456   
                         93-3456   #93-3458    93-3458   #93-3466    93-3466   #93-3467    93-3467   #93-3476    93-3476   
                        #97-3558    97-3558   #97-3562    97-3562   #97-3566    97-3566   #97-3570    97-3570   #97-3580   
                         97-3580   #99-3626    99-3626   #99-3630    99-3630   #99-3634    99-3634   #99-3638    99-3638   
                        #99-3649    99-3649   #101-3707   101-3707  #103-3775   103-3775  #107-3904   107-3904  #107-3907  
                         107-3907  #107-3911   107-3911  #107-3915   107-3915  #107-3916   107-3916  #108-3925   108-3925  
                        #108-3934   108-3934  #108-3936   108-3936  #108-3937   108-3937  #108-3939   108-3939  #110-4008  
                         110-4008  #110-4011   110-4011  #110-4016   110-4016  #110-4017   110-4017  #110-4020   110-4020  
                        #111-4027   111-4027  #111-4049   111-4049  #111-4051   111-4051  #111-4052   111-4052  #111-4053  
                         111-4053  #111-4055   111-4055  #111-4056   111-4056  #112-4064   112-4064  #112-4069   112-4069  
                        #112-4072   112-4072  #112-4074   112-4074  #112-4075   112-4075  #112-4076   112-4076  #122-4357  
                         122-4357  #122-4360   122-4360  #122-4361   122-4361  #122-4370   122-4370  #122-4376   122-4376  
                        #126-4475   126-4475  #126-4480   126-4480  #126-4482   126-4482  #128-4547   128-4547  #132-4633  
                         132-4633  #132-4634   132-4634  #132-4638   132-4638  #132-4639   132-4639  #132-4643   132-4643  
                        #132-4645   132-4645  #132-4649   132-4649  #132-4651   132-4651  #135-4769   135-4769  #135-4773  
                         135-4773  #135-4780   135-4780  #135-4784   135-4784  #136-4810   136-4810  #136-4811   136-4811  
                        #140-4935   140-4935  #140-4940   140-4940  #141-4961   141-4961  #141-4963   141-4963  #141-4964  
                         141-4964  #141-4965   141-4965  #141-4967   141-4967  #141-4968   141-4968  #141-4975   141-4975  
                        #146-5104   146-5104  #146-5110   146-5110  #146-5111   146-5111  #146-5112   146-5112  #146-5114  
                         146-5114  #146-5115   146-5115  #146-5116   146-5116  #146-5118   146-5118  #146-5119   146-5119  
                        #148-5179   148-5179  #152-5308   152-5308  #152-5311   152-5311  #152-5315   152-5315  #153-5322  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 32

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         153-5322  #153-5330   153-5330  #153-5332   153-5332  #153-5333   153-5333  #153-5335   153-5335  
                        #155-5392   155-5392  #155-5393   155-5393  #155-5394   155-5394  #155-5395   155-5395  #155-5399  
                         155-5399  #155-5406   155-5406  #155-5413   155-5413  #158-5486   158-5486  #158-5488   158-5488  
                        #158-5490   158-5490  #158-5492   158-5492  #158-5493   158-5493  #158-5494   158-5494  #161-5563  
                         161-5563  #161-5566   161-5566  #161-5571   161-5571  #162-5578   162-5578  #162-5590   162-5590  
                        #162-5592   162-5592  #162-5593   162-5593  #162-5594   162-5594  #162-5596   162-5596  #165-5669  
                         165-5669  #165-5671   165-5671  #165-5672   165-5672  #165-5674   165-5674  #165-5676   165-5676  
                        #165-5677   165-5677  #165-5678   165-5678  #165-5680   165-5680  #167-5741   167-5741  #167-5742  
                         167-5742  #169-5819   169-5819  #169-5821   169-5821  #170-5838   170-5838  #170-5840   170-5840  
                        #170-5841   170-5841  #170-5844   170-5844  #170-5847   170-5847  #170-5857   170-5857  #170-5863  
                         170-5863  #170-5867   170-5867  #172-5925   172-5925  #172-5929   172-5929  #172-5933   172-5933  
                        #173-5941   173-5941  #173-5943   173-5943  #173-5944   173-5944  #173-5945   173-5945  #173-5947  
                         173-5947  #173-5948   173-5948  #177-6052   177-6052  #177-6056   177-6056  #177-6060   177-6060  
                        #177-6064   177-6064  #181-6174   181-6174  #181-6178   181-6178  #181-6182   181-6182  #181-6186  
                         181-6186  #183-6243   183-6243  #183-6245   183-6245  #183-6246   183-6246  #183-6247   183-6247  
                        #183-6250   183-6250  #184-6262   184-6262  #184-6264   184-6264  #184-6267   184-6267  #184-6269  
                         184-6269  #184-6272   184-6272  #184-6274   184-6274  #184-6277   184-6277  #188-6411   188-6411  
                        #190-6458   190-6458  #190-6459   190-6459  #190-6465   190-6465  #193-6553   193-6553  #196-6678  
                         196-6678  #200-6810   200-6810  #202-6897   202-6897  #202-6903   202-6903  #205-6990   205-6990  
                        #205-6991   205-6991  #205-6993   205-6993  #206-7017   206-7017  #206-7020   206-7020  #206-7023  
                         206-7023  #206-7029   206-7029  #206-7030   206-7030  #206-7032   206-7032  #206-7039   206-7039  
                        #209-7179   209-7179  #214-7343   214-7343  #214-7344   214-7344  #215-7372   215-7372  #216-7410  
                         216-7410  #216-7413   216-7413  #216-7414   216-7414  #216-7417   216-7417  #216-7419   216-7419  
                        #217-7432   217-7432  #217-7439   217-7439  #217-7440   217-7440  #217-7441   217-7441  #218-7488  
                         218-7488  #219-7515   219-7515  #219-7518   219-7518  #220-7548   220-7548  #221-7583   221-7583  
                        #221-7586   221-7586  #222-7626   222-7626  #223-7654   223-7654  #224-7685   224-7685  #224-7690  
                         224-7690  #224-7691   224-7691  #224-7696   224-7696  #224-7699   224-7699  #224-7704   224-7704  
                        #225-7747   225-7747  #225-7750   225-7750  #228-7844   228-7844  #228-7847   228-7847  #229-7854  
                         229-7854  #229-7857   229-7857  #229-7863   229-7863  #229-7866   229-7866  #229-7871   229-7871  
                        #229-7879   229-7879  #229-7883   229-7883  #230-7899   230-7899  #230-7902   230-7902  #230-7903  
                         230-7903  #230-7909   230-7909  #233-8005   233-8005  #235-8073   235-8073  #238-8158   238-8158  
                        #238-8159   238-8159  #243-8286   243-8286  #243-8289   243-8289  #243-8297   243-8297  #243-8302  
                         243-8302  #244-8319   244-8319  #244-8320   244-8320  #244-8323   244-8323  #244-8328   244-8328  
                        #246-8400   246-8400  #246-8402   246-8402  #249-8485   249-8485  #249-8488   249-8488  #249-8491  
                         249-8491  #251-8568   251-8568  #251-8571   251-8571  #252-8579   252-8579  #252-8587   252-8587  
                        #252-8600   252-8600  #252-8604   252-8604  #252-8605   252-8605  #257-8733   257-8733  #257-8735  
                         257-8735  #257-8744   257-8744  #257-8750   257-8750  #260-8824   260-8824  #260-8827   260-8827  
                        #262-8891   262-8891  #262-8893   262-8893  #264-8966   264-8966  #264-8968   264-8968  #267-9026  
                         267-9026  #267-9029   267-9029  #267-9035   267-9035  #267-9038   267-9038  #267-9043   267-9043  
                        #270-9129   270-9129  #270-9135   270-9135  #270-9141   270-9141  #270-9145   270-9145  #270-9150  
                         270-9150  #273-9216   273-9216  #273-9218   273-9218  #273-9224   273-9224  #273-9227   273-9227  
                        #273-9231   273-9231  #273-9234   273-9234  #277-9355   277-9355  #277-9357   277-9357  #278-9366  
                         278-9366  #278-9367   278-9367  #278-9369   278-9369  #278-9374   278-9374  #278-9378   278-9378  
                        #278-9381   278-9381  #278-9383   278-9383  #284-9646   284-9646  #285-9658   285-9658  #285-9663  
                         285-9663  #285-9669   285-9669  #285-9673   285-9673  #285-9676   285-9676  #285-9679   285-9679  
                        #286-9694   286-9694  #286-9699   286-9699  #286-9701   286-9701  #287-9715   287-9715  #287-9717  
                         287-9717  #287-9719   287-9719  #287-9721   287-9721  #287-9722   287-9722  #287-9729   287-9729  
                        #287-9731   287-9731  #288-9748   288-9748  #288-9749   288-9749  #288-9757   288-9757  #288-9758  
                         288-9758  #288-9759   288-9759  #288-9768   288-9768  #291-9852   291-9852  #291-9855   291-9855  
                        #291-9857   291-9857  #291-9859   291-9859  #291-9860   291-9860  #291-9865   291-9865  #293-9943  
                         293-9943  #293-9945   293-9945  #293-9947   293-9947  #293-9948   293-9948  #295-10013  295-10013 
                        #295-10019  295-10019 #295-10033  295-10033 #295-10035  295-10035 #296-10051  296-10051 #296-10052 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 33

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         296-10052 #296-10058  296-10058 #298-10121  298-10121 #300-10189  300-10189 #300-10191  300-10191 
                        #302-10252  302-10252 #302-10260  302-10260 #310-10525  310-10525 #310-10527  310-10527 #310-10532 
                         310-10532 #310-10534  310-10534 #310-10539  310-10539 #312-10603  312-10603 #312-10612  312-10612 
                        #315-10691  315-10691 #315-10693  315-10693 #318-10802  318-10802 #318-10804  318-10804 #318-10809 
                         318-10809 #318-10811  318-10811 #321-10939  321-10939 #321-10947  321-10947 #322-10957  322-10957 
                        #322-10962  322-10962 #324-11049  324-11049 #324-11051  324-11051 #324-11053  324-11053 #324-11055 
                         324-11055 #327-11124  327-11124 #327-11126  327-11126 #327-11130  327-11130 #327-11131  327-11131 
                        #327-11132  327-11132 #327-11133  327-11133 #327-11137  327-11137 #327-11142  327-11142 #331-11261 
                         331-11261 #331-11263  331-11263 #331-11267  331-11267 #331-11271  331-11271 #331-11272  331-11272 
                        #331-11273  331-11273 #333-11334  333-11334 #336-11405  336-11405 #336-11408  336-11408 #336-11410 
                         336-11410 #339-11476  339-11476 #339-11477  339-11477 #339-11480  339-11480 #339-11482  339-11482 
                        #339-11485  339-11485 #341-11542  341-11542 #343-11590  343-11590 #343-11592  343-11592 #343-11593 
                         343-11593 #343-11594  343-11594 #343-11602  343-11602 #343-11603  343-11603 #343-11604  343-11604 
                        #347-11704  347-11704 #347-11717  347-11717 #347-11720  347-11720 #347-11722  347-11722 #350-11795 
                         350-11795 #352-11856  352-11856 #352-11857  352-11857 #352-11860  352-11860 #352-11861  352-11861 
                        #356-11972  356-11972 #356-11977  356-11977 #356-11979  356-11979 #356-11980  356-11980 #356-11984 
                         356-11984 #357-11994  357-11994 #357-11996  357-11996 #357-11997  357-11997 #357-12011  357-12011 
                        #357-12012  357-12012 #357-12014  357-12014 #357-12021  357-12021 #358-12030  358-12030 #358-12031 
                         358-12031 #358-12032  358-12032 #360-12109  360-12109 #360-12111  360-12111 #360-12112  360-12112 
                        #360-12116  360-12116 #364-12236  364-12236 #364-12237  364-12237 #369-12407  369-12407 #369-12411 
                         369-12411 #369-12415  369-12415 #369-12422  369-12422 #370-12450  370-12450 #373-12540  373-12540 
                        #373-12541  373-12541 #373-12549  373-12549 #373-12551  373-12551 #376-12634  376-12634 #376-12644 
                         376-12644 #376-12647  376-12647 #376-12649  376-12649 #376-12653  376-12653 #376-12655  376-12655 
                        #378-12705  378-12705 #378-12709  378-12709 #378-12711  378-12711 #378-12714  378-12714 #378-12719 
                         378-12719 #378-12723  378-12723 #379-12760  379-12760 #379-12763  379-12763 #380-12790  380-12790 
                        #380-12793  380-12793 #380-12794  380-12794 #380-12796  380-12796 #380-12798  380-12798 #381-12844 
                         381-12844 #382-12868  382-12868 #385-12936  385-12936 #385-12938  385-12938 #385-12939  385-12939 
                        #385-12946  385-12946 #389-13022  389-13022 #391-13061  391-13061 #391-13063  391-13063 #397-13209 
                         397-13209 #399-13253  399-13253 #399-13255  399-13255 #399-13259  399-13259 #401-13295  401-13295 
                        #405-13419  405-13419 #405-13426  405-13426 #405-13431  405-13431 #409-13567  409-13567 #409-13580 
                         409-13580 #409-13582  409-13582 #416-13790  416-13790 #416-13793  416-13793 #416-13805  416-13805 
                        #416-13807  416-13807 #416-13810  416-13810 #418-13872  418-13872 #418-13876  418-13876 #420-13942 
                         420-13942 #422-14010  422-14010 #426-14099  426-14099 #426-14105  426-14105 #429-14174  429-14174 
                        #429-14178  429-14178 #429-14184  429-14184 #429-14185  429-14185 #429-14187  429-14187 #429-14190 
                         429-14190 #429-14193  429-14193 #431-14261  431-14261 #431-14266  431-14266 #431-14267  431-14267 
                        #431-14271  431-14271 #431-14273  431-14273 #433-14329  433-14329 #436-14406  436-14406 #436-14407 
                         436-14407 #436-14409  436-14409 #436-14410  436-14410 #436-14413  436-14413 #438-14482  438-14482 
                        #441-14543  441-14543 #441-14545  441-14545 #441-14546  441-14546 #442-14575  442-14575 #442-14577 
                         442-14577 #442-14580  442-14580 #445-14669  445-14669 #452-14894  452-14894 #452-14897  452-14897 
                        #452-14900  452-14900 #452-14918  452-14918 #452-14925  452-14925 #455-15026  455-15026 #455-15027 
                         455-15027 #456-15039  456-15039 #456-15041  456-15041 #456-15042  456-15042 #456-15050  456-15050 
                        #456-15052  456-15052 #456-15053  456-15053 #459-15140  459-15140 #459-15145  459-15145 #459-15148 
                         459-15148 #459-15149  459-15149 #459-15150  459-15150 #459-15152  459-15152 #462-15233  462-15233 
                        #462-15234  462-15234 #462-15244  462-15244 #463-15274  463-15274 #463-15276  463-15276 #463-15278 
                         463-15278 #463-15280  463-15280 #463-15286  463-15286 #463-15287  463-15287 #466-15380  466-15380 
                        #466-15381  466-15381 #466-15385  466-15385 #466-15386  466-15386 #466-15390  466-15390 #467-15398 
                         467-15398 #471-15532  471-15532 #476-15748  476-15748 #476-15753  476-15753 #478-15825  478-15825 
                        #479-15847  479-15847 #479-15850  479-15850 #479-15852  479-15852 #480-15895  480-15895 #480-15899 
                         480-15899 #480-15908  480-15908 #481-15937  481-15937 #483-15990  483-15990 #483-15992  483-15992 
                        #488-16120  488-16120 #488-16127  488-16127 #490-16199  490-16199 #490-16203  490-16203 #490-16208 
                         490-16208 #491-16216  491-16216 #491-16217  491-16217 #491-16221  491-16221 #491-16224  491-16224 
                        #495-16340  495-16340 #495-16341  495-16341 #495-16342  495-16342 #497-16382  497-16382 #497-16384 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 34

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         497-16384 #497-16386  497-16386 #497-16388  497-16388 #500-16436  500-16436 #500-16437  500-16437 
                        #500-16438  500-16438 #500-16442  500-16442 #500-16444  500-16444 #500-16451  500-16451 #500-16458 
                         500-16458 #500-16459  500-16459 #500-16460  500-16460 #500-16463  500-16463 #501-16471  501-16471 
                        #501-16476  501-16476 #501-16478  501-16478 #504-16571  504-16571 #506-16657  506-16657 #506-16669 
                         506-16669 #506-16673  506-16673 #506-16674  506-16674 #506-16676  506-16676 #506-16677  506-16677 
                        #506-16679  506-16679 #506-16680  506-16680 #506-16682  506-16682 #509-16775  509-16775 #509-16778 
                         509-16778 #511-16853  511-16853 #511-16855  511-16855 #511-16867  511-16867 #512-16876  512-16876 
                        #512-16878  512-16878 #512-16880  512-16880 #512-16882  512-16882 #512-16883  512-16883 #512-16885 
                         512-16885 #512-16887  512-16887 #512-16889  512-16889 #512-16890  512-16890 #512-16893  512-16893 
                        #512-16898  512-16898 #512-16900  512-16900 #513-16916  513-16916 #516-16991  516-16991 #518-17042 
                         518-17042 #518-17044  518-17044 #520-17090  520-17090 #520-17091  520-17091 #520-17092  520-17092 
                        #520-17096  520-17096 #520-17098  520-17098 #520-17104  520-17104 #520-17106  520-17106 #520-17110 
                         520-17110 #521-17125  521-17125 #521-17126  521-17126 #521-17127  521-17127 #524-17204  524-17204 
                        #526-17255  526-17255 #528-17336  528-17336 #528-17338  528-17338 #528-17341  528-17341 #533-17484 
                         533-17484 #533-17485  533-17485 #533-17487  533-17487 #533-17491  533-17491 #533-17495  533-17495 
                        #533-17497  533-17497 #536-17584  536-17584 #536-17589  536-17589 #537-17607  537-17607 #537-17609 
                         537-17609 #537-17611  537-17611 #537-17614  537-17614 #537-17618  537-17618 #538-17641  538-17641 
                        #538-17643  538-17643 #538-17645  538-17645 
$$A   	= 000100	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$B   	= 000000	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$C   	= 000200	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$CMDN	= 006723 R	#73-2826    73-2826   #73-2827    73-2827   #73-2828    73-2828   #73-2829    73-2829   #73-2830   
                         73-2830   #73-2831    73-2831   #73-2832    73-2832   #73-2833    73-2833   #73-2834    73-2834   
                        #73-2835    73-2835   #73-2836    73-2836   #73-2840    73-2840   #73-2841    73-2841   #73-2842   
                         73-2842   #73-2843    73-2843   #73-2844    73-2844   #73-2845    73-2845   #73-2846    73-2846   
                        #73-2847    73-2847   #73-2848    73-2848   #73-2849    73-2849   #73-2850    73-2850   #73-2851   
                         73-2851   #73-2852    73-2852   #95-3514    95-3514   #95-3515    95-3515   #95-3516    95-3516   
                        #95-3517    95-3517   #95-3518    95-3518   #114-4123   114-4123  #114-4124   114-4124  #114-4125  
                         114-4125  #114-4126   114-4126  #114-4127   114-4127  #114-4128   114-4128  #114-4129   114-4129  
                        #114-4130   114-4130  #175-6008   175-6008  #175-6009   175-6009  #175-6010   175-6010  #175-6011  
                         175-6011  #175-6012   175-6012  #186-6327   186-6327  #186-6328   186-6328  #186-6329   186-6329  
                        #186-6330   186-6330  #186-6331   186-6331  #186-6332   186-6332  #186-6333   186-6333  #186-6334  
                         186-6334  #186-6335   186-6335  #186-6336   186-6336  #186-6338   186-6338  #186-6339   186-6339  
                        #186-6340   186-6340  #186-6341   186-6341  #186-6342   186-6342  #186-6343   186-6343  #186-6344  
                         186-6344  #186-6345   186-6345  #186-6346   186-6346  #186-6347   186-6347  #186-6348   186-6348  
                        #186-6349   186-6349  #186-6350   186-6350  #186-6351   186-6351  #186-6352   186-6352  #186-6353  
                         186-6353  #186-6354   186-6354  #186-6355   186-6355  #186-6356   186-6356  #186-6357   186-6357  
                        #186-6358   186-6358  #254-8655   254-8655  #254-8656   254-8656  #254-8657   254-8657  #254-8661  
                         254-8661  #254-8662   254-8662  #275-9278   275-9278  #275-9279   275-9279  #275-9280   275-9280  
                        #275-9281   275-9281  #275-9282   275-9282  #275-9283   275-9283  #275-9284   275-9284  #275-9285  
                         275-9285  #275-9286   275-9286  #275-9287   275-9287  #275-9288   275-9288  #275-9289   275-9289  
                        #329-11193  329-11193 #329-11194  329-11194 #329-11195  329-11195 #329-11196  329-11196 #329-11197 
                         329-11197 #329-11198  329-11198 #329-11199  329-11199 #329-11200  329-11200 #362-12176  362-12176 
                        #362-12177  362-12177 #362-12178  362-12178 #362-12179  362-12179 #367-12330  367-12330 #367-12331 
                         367-12331 #367-12332  367-12332 #367-12333  367-12333 #367-12334  367-12334 #367-12335  367-12335 
                        #367-12336  367-12336 #367-12337  367-12337 #367-12338  367-12338 #367-12339  367-12339 #367-12340 
                         367-12340 #387-12987  387-12987 #387-12988  387-12988 #395-13169  395-13169 #395-13170  395-13170 
                        #395-13171  395-13171 #395-13172  395-13172 #395-13173  395-13173 #395-13174  395-13174 #395-13175 
                         395-13175 #403-13348  403-13348 #403-13349  403-13349 #403-13350  403-13350 #403-13351  403-13351 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 35

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                        #403-13352  403-13352 #403-13353  403-13353 #403-13354  403-13354 #403-13355  403-13355 #403-13356 
                         403-13356 #403-13357  403-13357 #403-13358  403-13358 #403-13359  403-13359 #403-13361  403-13361 
                        #424-14045  424-14045 #424-14046  424-14046 #493-16273  493-16273 #493-16274  493-16274 #493-16275 
                         493-16275 #493-16276  493-16276 #493-16277  493-16277 #493-16278  493-16278 #493-16279  493-16279 
                        #493-16280  493-16280 #493-16281  493-16281 #493-16282  493-16282 #493-16284  493-16284 #493-16286 
                         493-16286 
$$D   	= 000011	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$E   	= 000016	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$F   	= 000000	#345-11660  345-11660 #345-11662  345-11662 #345-11664  345-11664 #345-11666  345-11666 #348-11732 
                         348-11732 #348-11734  348-11734 
$$$ARG	= 000006	#179-6128   179-6128   179-6128   179-6128   179-6128   179-6128   179-6128   179-6128   179-6128  
                         179-6128   179-6128   179-6128  #211-7238   211-7238  #211-7238   211-7238  #211-7238   211-7238  
                        #239-8169   239-8169  #239-8169   239-8169  #239-8169   239-8169  #239-8174   239-8174  #239-8174  
                         239-8174  #239-8174   239-8174  #486-16049  486-16049 #486-16049  486-16049 #486-16049  486-16049 
                        #486-16049  486-16049 #486-16058  486-16058 #486-16063  486-16063 
$$$GLB	= ******	 71-2786    71-2786    71-2786    71-2786    71-2786    90-3380    90-3380    90-3380    90-3380   
                         90-3380    90-3380    204-6975   204-6975   204-6975   204-6975   204-6975   204-6975   204-6975  
                         204-6975   211-7238   211-7238   211-7238   211-7238   211-7238   211-7238   211-7238   211-7238  
                         239-8169   239-8169   239-8169   239-8169   239-8174   239-8174   239-8174   239-8174   354-11907 
                         354-11907  354-11907  354-11907  354-11907  354-11907  486-16049  486-16049  486-16049  486-16049 
                         486-16049  486-16049  486-16049  486-16049  486-16058  486-16058  486-16058  486-16058  486-16058 
                         486-16058  486-16058  486-16058  486-16063  486-16063  486-16063  486-16063  486-16063  486-16063 
                         486-16063  486-16063  506-16659  506-16659  506-16659  506-16659  506-16659  506-16659  506-16659 
                         506-16659  513-16924  513-16924  513-16924  513-16924  513-16924  513-16924 
$$$OST	= 000016	#71-2786    71-2786    71-2786   #71-2786    71-2786    71-2786   #71-2786    71-2786    71-2786   
                        #71-2786    71-2786    71-2786   #71-2786   #90-3380    90-3380    90-3380   #90-3380    90-3380   
                         90-3380   #90-3380    90-3380    90-3380   #90-3380    90-3380    90-3380   #90-3380    90-3380   
                         90-3380   #90-3380   #204-6975   204-6975   204-6975  #204-6975   204-6975   204-6975  #204-6975  
                         204-6975   204-6975  #204-6975   204-6975   204-6975  #204-6975   204-6975   204-6975  #204-6975  
                         204-6975   204-6975  #204-6975   204-6975   204-6975  #204-6975   204-6975   204-6975  #204-6975  
                        #211-7238   211-7238   211-7238  #211-7238   211-7238   211-7238  #211-7238   211-7238   211-7238  
                        #211-7238   211-7238   211-7238  #211-7238   211-7238   211-7238  #211-7238   211-7238   211-7238  
                        #211-7238   211-7238  #239-8169   239-8169   239-8169  #239-8169   239-8169   239-8169  #239-8169  
                         239-8169   239-8169  #239-8169  #239-8174   239-8174   239-8174  #239-8174   239-8174   239-8174  
                        #239-8174   239-8174   239-8174  #239-8174  #354-11907  354-11907  354-11907 #354-11907  354-11907 
                         354-11907 #354-11907  354-11907  354-11907 #354-11907  354-11907  354-11907 #354-11907  354-11907 
                         354-11907 #354-11907 #486-16049  486-16049  486-16049 #486-16049  486-16049  486-16049 #486-16049 
                         486-16049  486-16049 #486-16049  486-16049  486-16049 #486-16049  486-16049  486-16049 #486-16049 
                         486-16049  486-16049 #486-16049  486-16049 #486-16058  486-16058  486-16058 #486-16058  486-16058 
                         486-16058 #486-16058  486-16058  486-16058 #486-16058  486-16058  486-16058 #486-16058  486-16058 
                         486-16058 #486-16058  486-16058  486-16058 #486-16058  486-16058 #486-16063  486-16063  486-16063 
                        #486-16063  486-16063  486-16063 #486-16063  486-16063  486-16063 #486-16063  486-16063  486-16063 
                        #486-16063  486-16063  486-16063 #486-16063  486-16063  486-16063 #486-16063  486-16063 #506-16659 
                         506-16659  506-16659 #506-16659  506-16659  506-16659 #506-16659  506-16659  506-16659 #506-16659 
                         506-16659  506-16659 #506-16659  506-16659  506-16659 #506-16659  506-16659  506-16659 #506-16659 
                         506-16659  506-16659 #506-16659  506-16659  506-16659 #506-16659 #513-16924  513-16924  513-16924 
                        #513-16924  513-16924  513-16924 #513-16924  513-16924  513-16924 #513-16924  513-16924  513-16924 
                        #513-16924  513-16924  513-16924 #513-16924 
$$$T1 	= 000000	#90-3380    90-3380    90-3380    90-3380   #90-3380    90-3380   #179-6128   179-6128  #239-8169  
                         239-8169   239-8169  #239-8169   239-8169   239-8169  #239-8169   239-8169   239-8169  #239-8174  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 36

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         239-8174   239-8174  #239-8174   239-8174   239-8174  #239-8174   239-8174   239-8174  #354-11907 
                         354-11907  354-11907  354-11907 #354-11907  354-11907 #513-16924  513-16924  513-16924  513-16924 
                        #513-16924  513-16924 
.ABORT	  001522 RG	#49-2026    51-2101    51-2101    429-14190  429-14190 
.ABRTC	  001562 RG	#51-2099    73-2827   
.ABRT0	  001544 RG	 49-2028   #49-2034   
.APRWD	  000000 RG	#36-1469    36-1548   *300-10193  391-13058 
.ASCID	  014222 RG	 237-8144  #239-8168  
.ASCOD	  014232 RG	 237-8142  #239-8173  
.ATCID	  031660 RG	 484-16024 #486-16057 
.ATLMD	= 000033	#21-833    
.BRCLK	= 005000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.BRMBC	  001574 RG	#53-2164   
.BURST	  001600 RG	#53-2166    252-8604   252-8604  
.CCMDN	  000002 RG	#36-1471   *92-3442   *92-3446   *281-9535   287-9718  *416-13789  463-15277 
.CDIBC	= 012174 R	#211-7241  
.CDIBP	= 012172 R	#211-7240  
.CDINP	  012156 RG	 209-7175  #211-7237   211-7240   211-7241  
.CDOBC	= 031654 RG	 481-15939 *482-15975 *485-16038 #486-16052 
.CDOBP	= 031652 RG	#486-16051 
.CDOFC	= 031656 RG	#486-16053 
.CDOUT	  031636 RG	 484-16026 #486-16048  486-16051  486-16052  486-16053 
.CECLK	= 004000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.CESCK	  001630 RG	#55-2247    93-3476    93-3476    126-4475   126-4475   136-4810   136-4810   243-8289   243-8289  
                         418-13872  418-13872 
.CHTAB	  001360 RG	#43-1811    57-2325    57-2332    58-2362    59-2397    60-2434    61-2463    206-7027   209-7185  
                         225-7741   229-7855   285-9661   331-11259  357-11999  360-12107  413-13719  431-14264 
.CIBFL	= 000214  G	#39-1662    211-7238  
.CIBFR	  000240 RG	#39-1660    39-1662    205-6987   209-7172   211-7238   228-7845   376-12645  376-12654  380-12791 
                         533-17486 
.CISTS	  000004 RG	#36-1473    209-7177   209-7180   211-7238  
.CKARG	  001712 RG	#57-2323    103-3775   103-3775   107-3904   107-3904   110-4008   110-4008   148-5179   148-5179  
                         152-5308   152-5308   161-5563   161-5563   205-6993   205-6993   206-7020   206-7020   206-7030  
                         206-7030   216-7417   216-7417   223-7654   223-7654   229-7857   229-7857   331-11261  331-11261 
                         356-11972  356-11972  356-11984  356-11984  426-14099  426-14099 
.CKCOL	  001752 RG	#58-2360    78-3002    78-3002    86-3243    86-3243    107-3915   107-3915   110-4017   110-4017  
.CKCTC	  002126 RG	#64-2547    462-15233  462-15233  538-17645  538-17645 
.CKEOC	  002010 RG	 51-2100    51-2100   #59-2395    75-2912    75-2912    78-3008    78-3008    90-3374    90-3374   
                         108-3925   108-3925   111-4027   111-4027   146-5104   146-5104   153-5322   153-5322   155-5392  
                         155-5392   158-5486   158-5486   162-5578   162-5578   165-5669   165-5669   167-5742   167-5742  
                         172-5925   172-5925   183-6243   183-6243   190-6458   190-6458   206-7039   206-7039   229-7866  
                         229-7866   235-8073   235-8073   246-8400   246-8400   281-9536   298-10121  298-10121  324-11053 
                         324-11053  331-11267  331-11267  352-11861  352-11861  356-11977  356-11977  360-12112  360-12112 
                         360-12116  360-12116  369-12407  369-12407  373-12541  373-12541  373-12549  373-12549  376-12634 
                         376-12634  380-12798  380-12798  385-12939  385-12939  385-12946  385-12946  391-13063  391-13063 
                         397-13209  397-13209  399-13255  399-13255  401-13295  401-13295  409-13567  409-13567  429-14187 
                         429-14187  431-14267  431-14267  463-15274  463-15274  495-16342  495-16342  506-16657  506-16657 
                         511-16853  511-16853  537-17609  537-17609 
.CKEOS	  002052 RG	#60-2432    84-3161    84-3161    86-3252    86-3252    88-3311    88-3311    217-7440   217-7440  
.CKOBJ	  002074 RG	#61-2461    360-12109  360-12109  380-12794  380-12794  385-12936  385-12936  389-13022  389-13022 
                         405-13419  405-13419  405-13426  405-13426  495-16340  495-16340 
.CKRNP	  002154 RG	#66-2608    331-11271  331-11271  429-14178  429-14178 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 37

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.CKRUN	  002164 RG	#66-2613    78-3001    78-3001    80-3081    80-3081    343-11602  343-11602  358-12030  358-12030 
                         431-14261  431-14261  536-17584  536-17584 
.CKSYM	  002112 RG	 57-2324    57-2324    59-2402    59-2402    61-2462    61-2462   #62-2489    62-2492    216-7410  
                         216-7410   229-7854   229-7854   352-11856  352-11856  462-15234  462-15234 
.CLDFB	  002234 RG	#68-2686    267-9029   267-9029   278-9367   278-9367   327-11133  327-11133 
.CLDFR	  002240 RG	#68-2688   
.CLDFW	  002250 RG	 68-2687    68-2687   #68-2693    270-9141   270-9141   273-9218   273-9218  
.CLKWD	  000010 RG	#36-1475    270-9130  *302-10263  303-10276  339-11479  358-12051  500-16440 
.CLRCM	  025626 RG	 73-2828   #405-13418 
.CLRFF	  002266 RG	#70-2761    251-8571   251-8571   262-8891   262-8891   436-14406  436-14406 
.CLRMR	= 006000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.CLRUN	= 010000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.CMDTB	  002334 RG	#73-2825    92-3441   
.CMNDL	= 000430  G	#39-1677    210-7195  
.COBFL	= 000204  G	#39-1666    485-16039 
.COBFR	  000454 RG	 36-1580   #39-1664    485-16040  486-16049 
.COMEF	= ******  GX	*327-11145  381-12836 
.COMMA	= 000054	#21-831     357-12001 
.COMND	  000670 RG	#39-1675    39-1677    416-13806 
.CONBT	= 012000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.CONTC	  002556 RG	 73-2829   #75-2911   
.COSTS	  000012 RG	#36-1477    484-16028  486-16049 
.CSHRG	= 164000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.DATE3	= ******  GX	 369-12405 *370-12463  506-16684 
.DAY  	= ******  GX	*370-12462 
.DBGSW	  000016 RG	#36-1492    179-6123   291-9862  
.DEPAR	  002660 RG	#78-3000    114-4123  
.DFBLK	  000214 RG	#38-1639    193-6576   196-6703   200-6835   241-8239  
.DFCOM	  002756 RG	#80-3080    84-3160    84-3160    86-3242    86-3242    88-3310    88-3310   
.DFRB 	  000222 RG	#38-1642    68-2690    193-6541   458-15115 
.DFRED	  003066 RG	 73-2833   #84-3159   
.DFWB 	  000214 RG	#38-1640    68-2695    195-6649  *267-9032  *267-9040  *270-9143   273-9219   458-15122 
.DFWRT	  003172 RG	 73-2834   #86-3241   
.DFXCT	  003252 RG	 73-2835   #88-3309   
.DIAG1	= 000000	#10-347    
.DIAG2	= 000002	#10-348     117-4205   117-4226  
.DIAG3	= 000006	#10-350     117-4213   117-4234  
.DISCC	  003272 RG	 73-2831   #90-3373   
.DOCMD	  003334 RG	#92-3433    324-11055  324-11055  416-13810  416-13810 
.DOW  	= ******  GX	*370-12454  506-16670 
.DPBFR	  000020 RG	#36-1495    111-4036   112-4070   138-4858  
.DPBFX	  000026 RG	#36-1497    99-3643    99-3648    110-4019  
.DPDPB	  005736 RG	 137-4824   137-4825  #138-4857  
.DPETB	  003516 RG	#95-3513    107-3906   110-4010  
.DPEWD	  003564 RG	#97-3557    105-3823  
.DPEWI	  003572 RG	#97-3561    105-3830  
.DPEWN	  003600 RG	#97-3565    105-3837  
.DPEWP	  003606 RG	#97-3569    105-3844  
.DPEWT	  003556 RG	#97-3553    105-3851  
.DPKLD	  003654 RG	#99-3625    105-3822  
.DPKLI	  003662 RG	#99-3629    105-3829  
.DPKLM	  005532 RG	 112-4064   112-4064  #135-4777   347-11717  347-11717  409-13580  409-13580 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 38

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DPKLN	  003670 RG	#99-3633    105-3836  
.DPKLP	  003676 RG	#99-3637    105-3843  
.DPKLT	  003646 RG	#99-3621    105-3850  
.DPOBJ	  003736 RG	#101-3705   103-3774  
.DPOEL	  003766 RG	#101-3717   114-4124  
.DPOKL	  003760 RG	#101-3713   114-4125  
.DPOSA	  004022 RG	 103-3777  #103-3781  
.DPOSC	  003776 RG	 73-2830   #103-3772  
.DPOSD	  004032 RG	 95-3514   #105-3818   114-4126  
.DPOSE	  004102 RG	 101-3719   103-3786  #107-3903  
.DPOSI	  004042 RG	 95-3515   #105-3825   114-4127  
.DPOSN	  004052 RG	 95-3516   #105-3832   114-4128  
.DPOSP	  004062 RG	 95-3517   #105-3839   114-4129  
.DPOST	  004264 RG	 101-3715   103-3785  #110-4007  
.DPOSZ	  004072 RG	 95-3518   #105-3846   114-4130  
.DPOTB	  004604 RG	 101-3706  #114-4122  
.DPSEE	  004154 RG	 97-3584   #108-3924  
.DPSTE	  004334 RG	 99-3651   #111-4026  
.DPTRK	  005774 RG	 135-4784   135-4784  #140-4939  
.DREG 	  000230 RG	#38-1645   *118-4243   118-4246   119-4288   193-6576   196-6703   200-6835  
.DRLTC	= 015000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.DSACF	= 066000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.DSIOJ	= 065000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.DTAB 	  005662 R	 135-4779  #137-4823  
.DTBUF	  011756 RG	 204-6974   206-7068  #207-7097  
.DTCID	  031674 RG	 484-16030 #486-16062 
.DTDI1	  000230 RG	#38-1646   
.DTDI2	  000232 RG	#38-1648   
.DTDI3	  000236 RG	#38-1652   
.DTDW1	  004742 RG	 55-2248    55-2248   #117-4221   170-5841   170-5841   170-5847   170-5847   173-5956   243-8302  
                         243-8302   251-8568   251-8568   252-8579   252-8579   252-8605   252-8605   262-8893   262-8893  
                         436-14413  436-14413 
.DTDW2	  004750 RG	#117-4225   173-5955  
.DTDW3	  004770 RG	#117-4233   173-5954  
.DTSTA	  004760 RG	#117-4229   128-4547   128-4547   173-5953   243-8286   243-8286  
.DTSTS	  000234 RG	#38-1650   
.DTSTW	= 000004	#10-349     117-4209   117-4230  
.DTTRK	  005070 RG	 118-4250  #122-4353  
.DWDW1	  004666 RG	#117-4200  
.DWDW2	  004674 RG	#117-4204   333-11334  333-11334 
.DWDW3	  004714 RG	#117-4212   333-11336 
.DWSTA	  004704 RG	#117-4208  
.EBCLK	  005210 RG	#126-4473   170-5840   170-5840  
.EBPCK	  005304 RG	 93-3477   #128-4546  
.EDELA	  000034 RG	#36-1507    97-3554   *108-3930   130-4587   130-4592  *153-5326   177-6048   291-9858  
.EDEWD	  005326 RG	 97-3558    97-3558   #130-4585   177-6052   177-6052  
.EDEWI	  005340 RG	 97-3562    97-3562   #130-4590   177-6056   177-6056  
.EDEWN	  005340 RG	 97-3566    97-3566   #130-4591   177-6060   177-6060  
.EDEWP	  005326 RG	 97-3570    97-3570   #130-4586   177-6064   177-6064  
.EDKLA	  000036 RG	#36-1509    111-4030   132-4661   138-4858   138-4876   162-5582   181-6170  
.EDKLC	  005450 RG	 132-4633   132-4633   132-4638   132-4638   132-4643   132-4643   132-4649   132-4649  #132-4659  
.EDKLD	  005376 RG	 99-3626    99-3626   #132-4642   181-6174   181-6174  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 39

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.EDKLI	  005414 RG	 99-3630    99-3630   #132-4648   181-6178   181-6178  
.EDKLN	  005364 RG	 99-3634    99-3634   #132-4637   181-6182   181-6182  
.EDKLP	  005352 RG	 99-3638    99-3638   #132-4632   181-6186   181-6186  
.EDKLX	  000044 RG	#36-1511    99-3622    110-4015   132-4660   161-5570  *243-8293  *243-8294   244-8341  
.EIOJA	= 067000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.ELDDW	  000052 RG	#36-1513    97-3574   *108-3931  
.ELEDW	  000054 RG	#36-1515   *153-5329  
.ELNCK	  012176 RG	#213-7298   214-7344   214-7344  
.ETAB 	  005652 R	 135-4768  #137-4817  
.EXAD 	  006156 RG	#144-5043   186-6327  
.EXADX	  006164 RG	#144-5047   186-6328  
.EXAMA	  006410 RG	 148-5181  #148-5185  
.EXAMC	  006364 RG	 73-2832   #148-5176  
.EXAMD	  006420 RG	#150-5222   175-6008   186-6354  
.EXAME	  006470 RG	 148-5190  #152-5307   188-6420  
.EXAMF	  006614 RG	#155-5391   158-5494   158-5494   186-6345  
.EXAMI	  006430 RG	#150-5229   175-6009   186-6355  
.EXAMK	  006720 RG	#158-5485   186-6346  
.EXAMN	  006440 RG	#150-5236   175-6010   186-6356  
.EXAMP	  006450 RG	#150-5243   175-6011   186-6357  
.EXAMT	  006774 RG	 148-5189  #161-5562   188-6424  
.EXAMZ	  006460 RG	#150-5250   175-6012   186-6358  
.EXARR	  006172 RG	#144-5051   186-6329  
.EXARX	  006200 RG	#144-5055   186-6330  
.EXBFR	  000056 RG	#36-1517    111-4045   112-4067   112-4071   138-4876   162-5581   244-8342  
.EXBRR	  006206 RG	#144-5059   186-6331  
.EXBRX	  006214 RG	#144-5063   186-6332  
.EXCRA	  007134 RG	#164-5639   186-6339  
.EXCRL	  007142 RG	#164-5643   186-6340  
.EXCTC	  007250 RG	 73-2851   #167-5736  
.EXCTF	  007324 RG	#169-5812   345-11657  347-11720  347-11720  347-11722  347-11722 
.EXDPB	  005750 RG	 137-4818   137-4819  #138-4875  
.EXDPM	  005570 RG	 135-4769   135-4769   135-4780   135-4780  #136-4794  
.EXDRA	  007150 RG	#164-5647   186-6341  
.EXDTE	  007536 RG	#172-5924   186-6342  
.EXEBS	  006222 RG	#144-5067   186-6333  
.EXECT	  007402 RG	 167-5749  #170-5835  
.EXETB	  007654 RG	 152-5310   161-5565  #175-6007  
.EXEWD	  007722 RG	 150-5227  #177-6051  
.EXEWI	  007730 RG	 150-5234  #177-6055  
.EXEWN	  007736 RG	 150-5241  #177-6059  
.EXEWP	  007744 RG	 150-5248  #177-6063  
.EXEWT	  007714 RG	 150-5255  #177-6047  
.EXFER	  007156 RG	#164-5651   186-6344  
.EXFMR	  006230 RG	#144-5071   186-6334  
.EXITP	  007754 RG	 76-2938    90-3377   #179-6121   210-7226   238-8163   244-8332   298-10122  352-11865  360-12137 
                         409-13583  429-14175  485-16043  513-16918 
.EXKLD	  010036 RG	 150-5226  #181-6173  
.EXKLI	  010044 RG	 150-5233  #181-6177  
.EXKLM	  005500 RG	 111-4049   111-4049   112-4069   112-4069  #135-4766   162-5590   162-5590   243-8297   243-8297  
.EXKLN	  010052 RG	 150-5240  #181-6181  
.EXKLP	  010060 RG	 150-5247  #181-6185  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 40

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.EXKLT	  010030 RG	 150-5254  #181-6169  
.EXMEE	  006516 RG	#153-5321   177-6066  
.EXMEL	  010564 RG	 186-6343  #188-6418  
.EXMKL	  010574 RG	 186-6349  #188-6422  
.EXMPI	  010070 RG	 158-5493   158-5493  #183-6242   186-6347  
.EXMQR	  006236 RG	#144-5075   186-6335  
.EXMTB	  010242 RG	#186-6326   186-6337   188-6410   190-6460  
.EXMTE	  007026 RG	#162-5577   181-6188  
.EXOBJ	  010536 RG	 148-5178  #188-6409  
.EXREG	  010602 RG	 186-6348  #190-6457  
.EXSBR	  007164 RG	#164-5655   186-6352  
.EXSCR	  007172 RG	#164-5659   186-6353  
.EXTRK	  005762 RG	 135-4773   135-4773  #140-4934  
.EXVAB	  006244 RG	#145-5082   186-6338  
.EXVMA	  006252 RG	#145-5086   158-5492   158-5492   186-6350  
.EXVMH	  006260 RG	#145-5090   186-6351  
.EXVPC	  006266 RG	#145-5094   158-5490   158-5490   186-6336  
.FEMOD	= ******  GX	 66-2622   *360-12133  429-14188  462-15264  463-15284  504-16572 
.FREAD	  010644 RG	 84-3168    84-3168    126-4482   126-4482  #193-6537   244-8323   244-8323   278-9374   278-9374  
                         300-10189  300-10189  302-10260  302-10260  307-10448  310-10525  310-10525  310-10532  310-10532 
                         310-10539  310-10539  312-10612  312-10612  315-10691  315-10691  318-10802  318-10802  318-10809 
                         318-10809  322-10957  322-10957 
.FRTRK	  030036 RG	 193-6553   193-6553  #458-15112 
.FWRIT	  010740 RG	 86-3255    86-3255   #195-6647   260-8827   260-8827   264-8968   264-8968   267-9035   267-9035  
                         267-9043   267-9043   270-9145   270-9145   270-9150   270-9150   273-9227   273-9227   273-9234  
                         273-9234   278-9369   278-9369   327-11137  327-11137  327-11142  327-11142  528-17341  528-17341 
.FWTRK	  030056 RG	 196-6678   196-6678  #458-15119 
.FXCT 	  011074 RG	 53-2171    70-2767    70-2767    75-2923    75-2923    88-3313    126-4480   126-4480  #199-6769  
                         249-8488   249-8488   257-8735   257-8735   264-8970   277-9355   277-9355   278-9378   278-9378  
                         278-9383   278-9383   418-13876  418-13876  422-14010  422-14010  433-14329  433-14329  438-14482 
                         438-14482 
.FXTRK	  030076 RG	 200-6810   200-6810  #458-15126 
.GFNR 	= 102000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.GTCMD	  011256 RG	#202-6893   416-13807  416-13807 
.GTDAT	  011312 RG	#204-6970   369-12411  369-12411  378-12709  378-12709  378-12723  378-12723 
.GTELN	  012252 RG	 97-3580    97-3580    107-3911   107-3911   107-3916   107-3916   152-5315   152-5315  #214-7338  
                         391-13061  391-13061  431-14266  431-14266 
.GTEXP	  012532 RG	 216-7414   216-7414   217-7439   217-7439  #218-7487   224-7704   224-7704  
.GTFCT	  012740 RG	 220-7548   220-7548   221-7583   221-7583  #222-7617   224-7685   224-7685   224-7690   224-7690  
                         224-7696   224-7696  
.GTKLA	  012302 RG	 110-4016   110-4016   161-5571   161-5571  #215-7371   429-14184  429-14184  536-17589  536-17589 
                         537-17607  537-17607 
.GTKLN	  012334 RG	 80-3086    80-3086    86-3251    86-3251    99-3649    99-3649    110-4020   110-4020   167-5741  
                         167-5741  #216-7408   324-11049  324-11049  399-13253  399-13253 
.GTLIN	  011776 RG	 202-6897   202-6897   205-6991   205-6991  #209-7170   228-7847   228-7847   376-12647  376-12647 
                         376-12655  376-12655  380-12793  380-12793  533-17487  533-17487 
.GTNBR	  013234 RG	 206-7017   206-7017   206-7032   206-7032   222-7626   222-7626  #225-7732   229-7863   229-7863  
                         230-7903   230-7903  
.GTNUM	  012334 RG	 78-3007    78-3007    214-7343   214-7343   215-7372   215-7372  #216-7407   373-12540  373-12540 
.GTR50	  013734 RG	#233-7985   352-11857  352-11857  352-11860  352-11860 
.GTTIM	  013366 RG	#228-7838   369-12415  369-12415  378-12714  378-12714  379-12763  379-12763 
.GTTRM	  012626 RG	 218-7488   218-7488   219-7515   219-7515  #220-7547  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 41

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.HALTC	  014042 RG	 73-2836   #235-8072  
.INCHC	  000064 RG	#36-1519    206-7082  *209-7173  *210-7194   210-7195   210-7201  *225-7733  *225-7743   226-7765  
                         230-7918   376-12657 
.INEXT	  014530 R	 243-8296  #244-8340  
.INICL	= 070000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.INICP	  014052 RG	 36-1584   #237-8132  
.INIC0	  014540 RG	 238-8159   238-8159  #246-8401  
.INIT 	  014242 RG	#241-8236  
.INITC	  014534 RG	 73-2840   #246-8399  
.INKLF	  014272 RG	#243-8282   246-8402   246-8402  
.IRADX	  000066 RG	#36-1521    204-6971  *204-6972  *206-7081   223-7659  *224-7675  *224-7679  *224-7683  *224-7686  
                         225-7737   228-7839  *228-7840  *230-7917  *295-10021  324-11043 *324-11044 *324-11050  399-13245 
                        *399-13246 *399-13260 
.IRLTC	= 014000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.JUMPC	  026456 RG	 73-2841   #429-14173 
.KLCON	  014546 RG	 75-2927    75-2927    170-5857   170-5857  #249-8477  
.KLDFR	  010726 RG	*193-6538   193-6539  #193-6575   286-9684   458-15114 
.KLDFW	  011062 RG	*195-6648   196-6665   196-6668  #196-6702   286-9688   458-15121 
.KLDFX	  011244 RG	*199-6770   199-6771   199-6773  #200-6834   286-9692   458-15128 
.KLFLG	= ******  GX	*55-2256   *55-2258    66-2618    75-2913    78-3009    80-3095    80-3097    111-4028  *137-4829  
                        *137-4833   158-5487   162-5579   169-5813   170-5837  *196-6673   199-6779  *199-6781   199-6785  
                        *199-6787  *199-6794  *199-6800  *241-8244   243-8290   249-8479   257-8748   260-8828   262-8884  
                        *277-9356  *278-9384   343-11587  347-11701  357-12010  416-13791  420-13939  420-13941  431-14269 
                         537-17612 
.KLGO 	  014554 RG	#249-8480   260-8829  
.KLHLT	  014644 RG	 78-3012    78-3012    80-3098    80-3098   #251-8566   260-8824   260-8824   262-8886   264-8966  
                         264-8966   357-12011  357-12011  431-14271  431-14271 
.KLINC	  000070 RG	#36-1523    132-4644   132-4650   373-12542  373-12550  509-16766 
.KLMTB	  014774 RG	#254-8654   380-12795 
.KLMT1	  015020 RG	#254-8660   376-12648 
.KLNFD	= ******  GX	*380-12807 *380-12808  511-16864  512-16879 
.KLNFT	= ******  GX	*380-12806  512-16881 
.KLNMD	= ******  GX	 360-12130 *380-12802 *380-12809  381-12828 *381-12831  511-16857  512-16895  512-16902  512-16905 
.KLNPB	= ******  GX	 381-12839 
.KLNPE	= ******  GX	 381-12846 
.KLNPW	= ******  GX	 380-12812 *381-12832 
.KLNSW	= ******  GX	*90-3375    360-12128  376-12640 *381-12833  511-16860  513-16914 
.KLNTD	= ******  GX	*380-12804 *380-12805  512-16886 
.KLNTT	= ******  GX	*380-12803  512-16888 
.KLRLD	= ******  GX	*397-13210  524-17206 
.KLRST	  015036 RG	 78-3017    78-3017    244-8328   244-8328  #257-8725   350-11795  350-11795  357-12021  357-12021 
.KLST 	  015170 RG	#260-8822   429-14193  429-14193 
.KLSTP	  015220 RG	 49-2030    49-2030    235-8074   244-8319   244-8319  #262-8883   420-13942  420-13942 
.KLXCT	  015304 RG	 169-5821   169-5821   170-5838   170-5838  #264-8965  
.LCRDL	= 052000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRDR	= 051000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRM1	= 057000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRM2	= 056000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRM3	= 055000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRM4	= 054000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LCRM5	= 053000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDAR 	= 077000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 42

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.LDBRC	  015330 RG	#267-9025  
.LDBRG	  015334 RG	 53-2169    53-2169   #267-9027  
.LDBRL	= 043000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDBRR	= 042000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDCK1	= 046000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDCK2	= 047000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDCLK	  015432 RG	#270-9128   327-11130  327-11130  336-11408  336-11408  339-11482  339-11482  358-12050 
.LDCRA	  015530 RG	#273-9213   436-14409  436-14409 
.LDDIS	= 045000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDPAR	  015450 RG	#270-9134   327-11131  327-11131  336-11410  336-11410  339-11485  339-11485  358-12056 
.LDRJD	= 064000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDRJV	= 063000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDRM1	= 060000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDRM2	= 061000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDRM3	= 062000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDSEL	= 044000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.LDZFL	  000100 RG	#36-1531   *122-4354  *146-5102  *459-15139 *472-15568 *474-15657  476-15746 *476-15751  479-15856 
                        *479-15860 *509-16776 
.LGLWD	  000076 RG	#36-1529   *92-3444    93-3460   *93-3471   *101-3710  *188-6414  *331-11266 *405-13434 *416-13808 
.MEMFL	  000102 RG	#36-1533    103-3773   148-5177  *385-12950  516-16993 
.MEMRS	= 076000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.MON  	= ******  GX	*370-12460 
.MONTB	  015644 RG	 206-7022  #275-9277  
.MRCLR	  015756 RG	#277-9352   327-11132  327-11132 
.MTDPB	  002322 RG	 70-2763   #71-2785   
.NOERR	= ******  GX	*55-2254   *75-2930   *418-13877 *422-14007 *429-14195 
.NOHLT	= ******  GX	*70-2765   *249-8498  *257-8753  *350-11796 *409-13568 
.NOTSW	  000104 RG	#36-1535    360-12105  364-12254  365-12279  369-12403  373-12534  376-12635  381-12852  385-12934 
                        *389-13023  391-13059  393-13127  397-13210  399-13251  401-13297  405-13420 *405-13422 *405-13427 
.NSETB	  016124 RG	#280-9424   284-9636  
.NULLC	  016466 RG	 73-2826   #281-9534  
.ORADX	  000106 RG	#36-1537   *295-10022  466-15375 *466-15376 *467-15399  472-15572  472-15576  473-15611  473-15615 
                         474-15660  474-15664  475-15699  475-15703  479-15849  490-16195 *490-16196 *491-16225  509-16770 
                        *509-16771 *509-16779 
.PARER	  016500 RG	#284-9621   295-10035  295-10035 
.PCAB1	= 150000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.PCAB2	= 151000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.PCAB3	= 152000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.PCAB4	= 153000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.PEWRD	  000110 RG	#36-1539    312-10606 
.PITAB	  000112 RG	#36-1541    315-10687  315-10710 
.PSCWD	  000116 RG	#36-1543    270-9136  *302-10264  303-10282  339-11478  358-12057  520-17094 
.PTDIE	  017230 RG	 291-9854  #293-9934  
.PTOAT	  017130 RG	 36-1564   #291-9849  
.PTTRP	  017306 RG	 37-1632   #295-10006 
.QUITC	  017530 RG	 73-2849   #298-10120 
.RCRM1	= 147000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RCRM2	= 146000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RCRM3	= 145000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RCRM4	= 144000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RCSPF	= 141000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RDADR	  020022 RG	 144-5044  #307-10412 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 43

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.RDADX	  020030 RG	 144-5048  #307-10416 
.RDAPR	  017540 RG	 112-4075   112-4075  #300-10185 
.RDARR	  020036 RG	 144-5052  #307-10420 
.RDARX	  020044 RG	 144-5056  #307-10424 
.RDBRR	  020052 RG	 144-5060  #307-10428 
.RDBRX	  020060 RG	 144-5064  #307-10432 
.RDCPP	  017602 RG	 244-8320   244-8320  #302-10251  339-11477  339-11477  357-12014  357-12014  358-12032  358-12032 
                         500-16437  500-16437  520-17091  520-17091 
.RDCRA	  020416 RG	 164-5640  #317-10769 
.RDCRL	  020424 RG	 164-5644  #317-10773 
.RDDRA	  020432 RG	 164-5648  #317-10777 
.RDEBS	  020066 RG	 144-5068  #307-10436 
.RDFER	  020440 RG	 164-5652  #317-10781 
.RDFLG	  020112 RG	 155-5394   155-5394  #310-10520 
.RDFMR	  020074 RG	 144-5072  #307-10440 
.RDIPE	  020236 RG	 288-9749   288-9749  #312-10602 
.RDJ14	= 134000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RDJ71	= 135000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RDMAB	= 133000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.RDMQR	  020102 RG	 144-5076  #307-10444 
.RDPI 	  020320 RG	 183-6246   183-6246  #315-10684 
.RDSBR	  020446 RG	 164-5656  #317-10785 
.RDSCR	  020454 RG	 164-5660  #317-10789 
.RDVAB	  020662 RG	 145-5083  #321-10928 
.RDVMA	  020670 RG	 145-5087  #321-10932 
.RDVMH	  020676 RG	 145-5091  #321-10936 
.RDVPC	  020654 RG	 145-5095  #321-10924 
.RDXSV	  000120 RG	#36-1545   *204-6971   206-7081  *228-7839   230-7917   295-10021  295-10022 *324-11043  324-11050 
                        *399-13245  399-13260 *509-16770  509-16779 
.REGRW	  005056 RG	*117-4201  *117-4205  *117-4209  *117-4213  *117-4215   117-4216   117-4217  *117-4222  *117-4226  
                        *117-4230  *117-4234  *118-4241   118-4244  #119-4284   122-4358   122-4362   122-4368   122-4372  
.REGSV	  021556 RG	 140-4935   140-4940   270-9129   270-9135   291-9852   295-10013  302-10252  312-10603  321-10939 
                        #341-11538 
.RELWD	  000122 RG	#36-1547    223-7641  *391-13064  518-17043 
.REPTC	  021034 RG	 73-2843   #324-11042 
.RESET	  021126 RG	#327-11122  336-11405  336-11405  339-11480  339-11480 
.RESTB	  021254 RG	#329-11192  331-11262 
.RESTC	  021336 RG	 73-2844   #331-11257 
.RESTD	  021420 RG	 136-4811   136-4811   327-11124  327-11124 #333-11332  343-11591  343-11599 
.RESTI	  021444 RG	#336-11402  343-11604  343-11604 
.RESTP	  021504 RG	 273-9216   273-9216   331-11273  331-11273 #339-11474 
.RNDPB	  022270 RG	*352-11862  352-11863 #354-11906 
.RPTCT	  000124 RG	#36-1549    399-13256  416-13809  509-16773 
.RPTPT	  000132 RG	#36-1551   *92-3439    399-13258 
.RSALL	  021614 RG	 329-11193 #343-11586 
.RSAPR	  021712 RG	 329-11194  343-11592  343-11592 #345-11642 
.RSDTE	  021662 RG	 329-11195 #343-11598 
.RSERR	  021720 RG	 329-11196 #345-11646 
.RSPAG	  021774 RG	 329-11199  343-11593  343-11593 #347-11700 
.RSTIN	  021666 RG	 329-11197 #343-11601 
.RSTIO	  021726 RG	 329-11198 #345-11650 
.RSTKL	  022134 RG	 84-3180    86-3257    112-4076   112-4076   146-5112   146-5112   155-5395   155-5395   158-5496  
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 44

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         165-5674   165-5674   169-5823   183-6247   183-6247   190-6469   295-10019  295-10019  343-11596 
                         347-11725 #350-11792  358-12034  500-16438  500-16438  520-17092  520-17092 
.RSTPI	  021734 RG	 329-11200  343-11594  343-11594 #345-11654 
.RUNCM	  022162 RG	 73-2842    73-2845   #352-11855 
.R50TB	  001320 RG	#42-1747    488-16122 
.SCCEC	  023050 RG	#365-12268  367-12331 
.SCCED	  023056 RG	#365-12272  367-12332 
.SCCEE	  023064 RG	#365-12276  367-12333 
.SCCLK	  022306 RG	#356-11971  403-13348 
.SCCLN	  022732 RG	#364-12214  367-12330 
.SCCOM	  022636 RG	#360-12125  362-12176 
.SCCON	  022554 RG	#360-12104  403-13349 
.SCCOO	  022622 RG	#360-12117  362-12177 
.SCCOP	  022630 RG	 360-12108 #360-12121  362-12178 
.SCCOT	  022700 RG	 360-12110 #362-12175 
.SCCOU	  022666 RG	#360-12136  362-12179 
.SCCRF	  022734 RG	#364-12216  367-12337 
.SCCRH	  022740 RG	#364-12220  367-12338 
.SCCRQ	  022746 RG	#364-12224  367-12339 
.SCCRS	  022754 RG	#364-12228  367-12340 
.SCCSE	  022766 RG	#364-12234  367-12334 
.SCCSI	  023016 RG	#364-12245  367-12335 
.SCCSM	  023022 RG	#364-12249  367-12336 
.SCCTB	  023106 RG	 358-12049 #367-12329 
.SCDAT	  023212 RG	#369-12402  403-13350 
.SCFSS	  022320 RG	#356-11976  403-13351 
.SCINC	  023562 RG	#373-12533  403-13352 
.SCKLN	  023644 RG	#376-12633  403-13353 
.SCMEL	  025066 RG	#385-12942  387-12987 
.SCMEM	  025034 RG	#385-12933  403-13354 
.SCMKL	  025100 RG	#385-12947  387-12988 
.SCMTB	  025112 RG	 385-12937 #387-12986 
.SCNOT	  025130 RG	#389-13021  403-13355 
.SCOFS	  025144 RG	#391-13057  403-13356 
.SCPAL	  025176 RG	#393-13100  395-13169 
.SCPAR	  025204 RG	#393-13104  395-13170 
.SCPCR	  025212 RG	#393-13108  395-13171 
.SCPDR	  025220 RG	#393-13112  395-13172 
.SCPEN	  025226 RG	#393-13116  395-13173 
.SCPFM	  025234 RG	#393-13120  395-13174 
.SCPFS	  025242 RG	 356-11980  356-11980 #393-13124  395-13175 
.SCPST	  022342 RG	#356-11983  403-13357 
.SCPTB	  025270 RG	 358-12055 #395-13168 
.SCRLD	  025344 RG	#397-13208  403-13358 
.SCRPT	  025362 RG	#399-13244  403-13359 
.SCTRK	  025460 RG	#401-13294  403-13361 
.SEAMB	  016566 RG	#285-9656   410-13627 
.SECES	  017026 RG	#288-9747   410-13629 
.SECLK	= 003000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.SEFRF	  016654 RG	#286-9683   410-13631 
.SEFWF	  016662 RG	#286-9687   410-13632 
.SEFXF	  016670 RG	#286-9691   410-13633 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 45

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.SEILC	  016612 RG	#285-9666   410-13635 
.SEILS	  016612 RG	#285-9667   410-13636 
.SEIPC	  016612 RG	#285-9668   410-13637 
.SENSK	  016566 RG	#285-9657   410-13639 
.SETCM	  025646 RG	 73-2846   #405-13425 
.SETC0	  025656 RG	 389-13024 #405-13428 
.SETMR	= 007000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.SETRN	= 011000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.SETTB	  025506 RG	#403-13347  405-13430 
.SHIFT	  025702 RG	 267-9038   267-9038  #407-13491 
.SHUTC	  025732 RG	 73-2847   #409-13566 
.SPACE	= 000040	#21-832     42-1759    60-2436    62-2491    205-7001   210-7212   216-7415   285-9671   471-15525 
                         477-15761  477-15762  477-15763  477-15764  477-15766  477-15767  477-15769  477-15770  477-15771 
                         477-15773  477-15774  477-15779  477-15783 
.SPETB	  026024 RG	 284-9623  #410-13626 
.SSCAN	  026114 RG	#413-13705  413-13711  462-15244  462-15244  533-17491  533-17491  533-17495  533-17495 
.SSCLK	= 002000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.SSM  	= ******  GX	*370-12455  378-12716  506-16678 
.SSTTB	  000174 RG	#37-1625    37-1634   *108-3932  *108-3943  *153-5325  *153-5328   237-8140  *291-9854  *291-9869  
                         293-9938  
.START	  026156 RG	 36-1554   #416-13785 
.STCLF	  026306 RG	 277-9357   277-9357  #418-13873 
.STCLK	  026300 RG	 75-2920    75-2920    170-5844   170-5844   249-8491   249-8491   257-8750   257-8750  #418-13870 
                         436-14410  436-14410  537-17614  537-17614 
.STPCL	= 000000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.STPKL	  026330 RG	 112-4074   112-4074   146-5110   146-5110   155-5393   155-5393   158-5488   158-5488   165-5671  
                         165-5671   169-5819   169-5819   183-6245   183-6245   190-6459   190-6459   331-11272  331-11272 
                         343-11590  343-11590  343-11603  343-11603  347-11704  347-11704  358-12031  358-12031 #420-13938 
                         500-16436  500-16436  520-17090  520-17090  537-17611  537-17611 
.STPXC	  026354 RG	 53-2165    53-2165    170-5863   170-5863   252-8587   252-8587   252-8600   252-8600   267-9026  
                         267-9026   278-9366   278-9366   327-11126  327-11126  339-11476  339-11476 #422-14003  436-14407 
                         436-14407  528-17336  528-17336 
.STRCL	= 001000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.STRTB	  026412 RG	#424-14044  426-14104 
.STRTC	  026430 RG	 73-2848   #426-14098 
.STRTT	  026466 RG	 424-14045  426-14101 #429-14177 
.STRTU	  026564 RG	 424-14046 #431-14260 
.STRTV	  000134 RG	#36-1553    238-8160   291-9870   295-10042  364-12243  463-15294 
.STRUN	  026636 RG	 170-5867   170-5867   249-8485   249-8485   257-8733   257-8733   257-8744   257-8744  #433-14325 
.STUCD	  026656 RG	 49-2036    49-2036    431-14273  431-14273 #436-14402 
.SVESP	  000136 RG	#36-1555   *237-8133   416-13786  463-15293 
.SVKLF	  000140 RG	#36-1557   *55-2255   *78-3016   *78-3018   *80-3097   *158-5495  *169-5822  *244-8318   257-8727  
                         257-8736  *257-8756   295-10017 *343-11595 *347-11724  350-11793 *350-11798 *357-12013 *416-13788 
                        *420-13941 *538-17650 
.SYNXC	  026760 RG	 126-4490   252-8590   278-9381   278-9381  #438-14478  528-17338  528-17338 
.TCRLF	  031524 RG	 84-3178    84-3178    108-3944   111-4056   111-4056   146-5119   146-5119   153-5336   155-5415  
                         162-5597   165-5681   173-5948   173-5948   184-6278   209-7179   209-7179   238-8158   238-8158  
                         284-9649   291-9855   291-9855   291-9860   291-9860   293-9943   293-9943   293-9948   293-9948  
                         295-10033  295-10033  296-10052  296-10052  459-15152  459-15152  463-15276  463-15276  480-15896 
                         482-15977 #483-15987  500-16463  500-16463  506-16680  506-16680  509-16780  512-16883  512-16883 
                         512-16890  512-16890  518-17045  521-17132  533-17497  533-17497 
.TFCHR	  031456 RG	 202-6903   202-6903   416-13805  416-13805 #481-15936 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 46

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.TPADD	  027362 RG	 132-4651   132-4651   219-7501   225-7750   225-7750  #448-14780  452-14918  452-14918 
.TPCLR	  027234 RG	 68-2697    68-2697    206-7029   206-7029   216-7413   216-7413   230-7902   230-7902   321-10947 
                         321-10947  373-12551  373-12551  399-13259  399-13259 #444-14630  452-14900  452-14900  479-15847 
                         479-15847 
.TPCMP	  027304 RG	 112-4072   112-4072   442-14575  442-14575 #446-14706  537-17618  537-17618  538-17641  538-17641 
.TPCOM	  027244 RG	 224-7691   224-7691  #445-14661  445-14669  445-14669 
.TPDEC	  027414 RG	 93-3466    93-3466    132-4634   132-4634  #449-14820  456-15041  456-15041  537-17617 
.TPDIV	  027000 RG	 221-7569   229-7871   229-7871  #441-14541  479-15850  479-15850 
.TPINC	  027402 RG	 132-4639   132-4639   442-14580  442-14580  445-14670 #449-14813  456-15052  456-15052  537-17620 
.TPMUL	  027452 RG	 221-7573   225-7747   225-7747  #452-14892 
.TPNEG	  027254 RG	 224-7699   224-7699  #445-14668 
.TPSHI	  027636 RG	 217-7432   217-7432   273-9224   273-9224   273-9231   273-9231   300-10191  300-10191  310-10527 
                         310-10527  310-10534  310-10534  315-10693  315-10693  318-10804  318-10804  318-10811  318-10811 
                         322-10962  322-10962 #454-14970  456-15039  456-15039  456-15050  456-15050 
.TPSHL	  027702 RG	 221-7565  #455-15021 
.TPSUB	  027426 RG	 132-4645   132-4645   219-7505   442-14577  442-14577 #450-14851 
.TPTST	  027340 RG	 93-3458    93-3458    93-3467    93-3467    216-7419   216-7419   217-7441   217-7441   324-11051 
                         324-11051  429-14185  429-14185  441-14546  441-14546 #447-14745  452-14894  452-14894  452-14897 
                         452-14897  452-14925  452-14925  455-15027  455-15027  456-15042  456-15042  456-15053  456-15053 
                         476-15748  476-15748  478-15825  478-15825 
.TPXTN	  027264 RG	 441-14543  441-14543  441-14545  441-14545 #445-14673  455-15026  455-15026 
.TRKWD	  000142 RG	#36-1560    118-4248   135-4771   135-4782   193-6551   196-6676   200-6808  *401-13301  526-17257 
.TRPEC	  000146 RG	#36-1565   *295-10012  295-10034 
.TRPIP	  000150 RG	#36-1567   *293-9935  *295-10007 *295-10028  295-10036 *295-10041 *296-10056 
.TRPPC	  000152 RG	#36-1569   *291-9850  *295-10010 
.TRPPS	  000154 RG	#36-1571   *291-9851  *295-10011 
.TRPSB	  000156 RG	#36-1573   *295-10009  295-10015  295-10023  295-10038 
.TRPTV	  000160 RG	#36-1575   *49-2029    295-10025 *295-10029 
.TRP4V	  000144 RG	#36-1563    108-3932   153-5325  
.TSCAN	  030176 RG	 92-3443    92-3443    101-3707   101-3707   107-3907   107-3907   110-4011   110-4011   152-5311  
                         152-5311   161-5566   161-5566   188-6411   188-6411   206-7023   206-7023   331-11263  331-11263 
                         357-11996  357-11996  360-12111  360-12111  376-12649  376-12649  380-12796  380-12796  385-12938 
                         385-12938  405-13431  405-13431  426-14105  426-14105 #462-15232  495-16341  495-16341 
.TYCHR	  031472 RG	 108-3936   108-3936   153-5332   153-5332   285-9663   285-9663   285-9676   285-9676   285-9679  
                         285-9679   287-9717   287-9717   287-9721   287-9721   466-15390  466-15390  471-15532  471-15532 
                         479-15863  480-15908  480-15908  481-15937  481-15937 #482-15972  483-15990  483-15990  483-15992 
                         483-15992  488-16127  488-16127  490-16208  490-16208  491-16221  491-16221 
.TYCOL	  030604 RG	#471-15503  491-16217  491-16217 
.TYCOM	  030614 RG	 288-9758   288-9758  #471-15508  500-16459  500-16459  521-17126  521-17126 
.TYDAT	  030440 RG	#466-15374  506-16676  506-16676  512-16880  512-16880  512-16887  512-16887 
.TYELA	  030672 RG	 108-3934   108-3934   153-5330   153-5330   466-15380  466-15380  467-15398  467-15398 #472-15567 
                         491-16216  491-16216  491-16224  491-16224  518-17044  518-17044 
.TYELN	  030676 RG	 108-3939   108-3939   122-4370   122-4370   153-5335   153-5335   165-5680   165-5680   173-5947  
                         173-5947   291-9859   291-9859   293-9947   293-9947  #472-15569 
.TYINI	  031610 RG	 416-13790  416-13790 #485-16037 
.TYKLA	  031016 RG	 111-4051   111-4051   141-4963   141-4963   162-5592   162-5592  #474-15656 
.TYKLN	  031066 RG	 84-3177    84-3177    111-4055   111-4055   141-4967   141-4967   146-5118   146-5118   162-5596  
                         162-5596   459-15150  459-15150 #475-15696  509-16778  509-16778 
.TYLIN	  031420 RG	 122-4376   122-4376   141-4975   141-4975   155-5399   155-5399   172-5933   172-5933   293-9945  
                         293-9945   296-10051  296-10051  463-15280  463-15280  463-15287  463-15287 #480-15894  497-16384 
                         497-16384  497-16388  497-16388  500-16442  500-16442  500-16451  500-16451  501-16476  501-16476 
                         501-16483  504-16581  506-16669  506-16669  506-16689  511-16867  511-16867  512-16876  512-16876 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 47

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         512-16898  512-16898  513-16916  513-16916  513-16921  516-16997  520-17096  520-17096  520-17104 
                         520-17104  524-17210  526-17261 
.TYMIN	  030624 RG	 466-15381  466-15381  466-15386  466-15386 #471-15513 
.TYMSF	  031426 RG	 205-6990   205-6990   228-7844   228-7844   376-12644  376-12644  376-12653  376-12653  380-12790 
                         380-12790 #480-15898 
.TYMSG	  031434 RG	 84-3170    84-3170    122-4357   122-4357   122-4360   122-4360   141-4961   141-4961   146-5114  
                         146-5114   155-5406   155-5406   155-5413   155-5413   165-5676   165-5676   173-5943   173-5943  
                         183-6250   183-6250   184-6262   184-6262   184-6264   184-6264   184-6269   184-6269   184-6274  
                         184-6274   286-9701   286-9701   287-9715   287-9715   287-9719   287-9719   287-9724   288-9757  
                         288-9757   288-9768   288-9768   291-9857   291-9857   364-12236  364-12236  378-12705  378-12705 
                         378-12711  378-12711  378-12719  378-12719  379-12760  379-12760  416-13793  416-13793  459-15140 
                         459-15140  463-15278  463-15278  466-15385  466-15385  480-15895  480-15895  480-15899  480-15899 
                        #480-15902  497-16382  497-16382  497-16386  497-16386  500-16444  500-16444  500-16458  500-16458 
                         501-16471  501-16471  501-16478  501-16478  504-16571  504-16571  506-16673  506-16673  506-16682 
                         506-16682  509-16775  509-16775  511-16855  511-16855  512-16878  512-16878  512-16885  512-16885 
                         512-16893  512-16893  512-16900  512-16900  516-16991  516-16991  518-17042  518-17042  520-17098 
                         520-17098  520-17106  520-17106  520-17110  520-17110  521-17125  521-17125  524-17204  524-17204 
                         526-17255  526-17255  533-17484  533-17484 
.TYNCM	  031152 RG	 473-15623  475-15712 #476-15740 
.TYNUM	  031270 RG	 476-15753  476-15753 #478-15814  479-15842 
.TYOBC	  000162 RG	#36-1577   *482-15976 *485-16039 
.TYOBP	  000164 RG	#36-1579    482-15973 *482-15974 *485-16040 
.TYOUT	  031552 RG	 481-15941  482-15980 #484-16023  533-17485  533-17485 
.TYP3D	  030742 RG	 84-3173    84-3173    184-6267   184-6267   184-6272   184-6272   184-6277   184-6277   286-9699  
                         286-9699   459-15145  459-15145 #473-15608 
.TYR50	  031710 RG	 287-9731   287-9731  #488-16114 
.TYSLS	  030634 RG	 84-3174    84-3174    111-4052   111-4052   141-4964   141-4964   146-5115   146-5115   162-5593  
                         162-5593   165-5677   165-5677   173-5944   173-5944   459-15148  459-15148 #471-15518 
.TYSPC	  030644 RG	 84-3175    84-3175    108-3937   108-3937   111-4053   111-4053   122-4361   122-4361   141-4965  
                         141-4965   141-4968   141-4968   146-5116   146-5116   153-5333   153-5333   162-5594   162-5594  
                         165-5678   165-5678   173-5941   173-5941   173-5945   173-5945   287-9722   287-9722   288-9759  
                         288-9759   459-15149  459-15149  463-15286  463-15286  467-15400 #471-15523  491-16226  500-16460 
                         500-16460  506-16674  506-16674  506-16677  506-16677  521-17127  521-17127 
.TYTIM	  031762 RG	#490-16194  506-16679  506-16679  512-16882  512-16882  512-16889  512-16889 
.TYUPA	  030654 RG	 285-9673   285-9673  #471-15528 
.T50TB	  001350 RG	#42-1761    233-7988   488-16116 
.VERNO	= ******  GX	 497-16387 
.VFYFL	  000166 RG	#36-1581    112-4065  
.WHATB	  032120 RG	#493-16272  495-16339 
.WHATC	  032232 RG	 73-2850   #495-16338 
.WHATV	  032256 RG	 493-16286 #497-16380 
.WHCON	  032556 RG	 360-12134  493-16274 #504-16569 
.WHDAT	  032626 RG	 370-12466  493-16275 #506-16656 
.WHINC	  033040 RG	 373-12553  493-16276 #509-16764 
.WHKLN	  033126 RG	 382-12871  493-16277 #511-16852 
.WHMEM	  033452 RG	 385-12951  493-16278 #516-16989 
.WHOFS	  033504 RG	 391-13065  493-16279 #518-17040 
.WHRLD	  033730 RG	 397-13211  493-16281 #524-17202 
.WHRPT	  033052 RG	 399-13261  493-16282 #509-16769 
.WHTCA	  032334 RG	 358-12053 #500-16439 
.WHTCL	  032320 RG	 493-16273 #500-16435 
.WHTPA	  033544 RG	 358-12059 #520-17093 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 48

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.WHTPS	  033530 RG	 493-16280 #520-17089 
.WHTRK	  033762 RG	 401-13302  493-16284 #526-17253 
.WRAR1	  034020 RG	#528-17337 
.WRMBX	= 071000	#133-4714  #191-6508  #194-6615  #197-6742  #428-14169 #535-17559 
.WRTAR	  034014 RG	 78-3015    78-3015   #528-17335 
.XFRCK	  034042 RG	 84-3162    84-3162   #531-17399 
.XFWCK	  034060 RG	 86-3244    86-3244   #531-17406 
.XFXCK	  034076 RG	 88-3312    88-3312   #531-17413 
.YEAR 	= ******  GX	*370-12458 
.YESNO	  034130 RG	 364-12237  364-12237 #533-17480 
.ZEROC	  034234 RG	 73-2852   #536-17583 
..DTP2	= ******  GX	 49-2037    49-2037    409-13582  409-13582  429-14196 
..STIN	= ******  GX	 381-12844  381-12844  382-12868  382-12868 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 49

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#236-8105   239-8169   239-8174  
CALL  		#4-116     #49-2030   #49-2036   #49-2037   #51-2100   #51-2101   #53-2165   #53-2169   #55-2248   #57-2324   
                #59-2402   #61-2462   #68-2687   #68-2697   #70-2767   #75-2912   #75-2920   #75-2923   #75-2927   #78-3001   
                #78-3002   #78-3007   #78-3008   #78-3012   #78-3015   #78-3017   #80-3081   #80-3086   #80-3098   #84-3160   
                #84-3161   #84-3162   #84-3168   #84-3170   #84-3173   #84-3174   #84-3175   #84-3177   #84-3178   #86-3242   
                #86-3243   #86-3244   #86-3251   #86-3252   #86-3255   #88-3310   #88-3311   #88-3312   #90-3374   #92-3443   
                #93-3456   #93-3458   #93-3466   #93-3467   #93-3476   #97-3558   #97-3562   #97-3566   #97-3570   #97-3580   
                #99-3626   #99-3630   #99-3634   #99-3638   #99-3649   #101-3707  #103-3775  #107-3904  #107-3907  #107-3911  
                #107-3915  #107-3916  #108-3925  #108-3934  #108-3936  #108-3937  #108-3939  #110-4008  #110-4011  #110-4016  
                #110-4017  #110-4020  #111-4027  #111-4049  #111-4051  #111-4052  #111-4053  #111-4055  #111-4056  #112-4064  
                #112-4069  #112-4072  #112-4074  #112-4075  #112-4076  #122-4357  #122-4360  #122-4361  #122-4370  #122-4376  
                #126-4475  #126-4480  #126-4482  #128-4547  #132-4633  #132-4634  #132-4638  #132-4639  #132-4643  #132-4645  
                #132-4649  #132-4651  #135-4769  #135-4773  #135-4780  #135-4784  #136-4810  #136-4811  #140-4935  #140-4940  
                #141-4961  #141-4963  #141-4964  #141-4965  #141-4967  #141-4968  #141-4975  #146-5104  #146-5110  #146-5111  
                #146-5112  #146-5114  #146-5115  #146-5116  #146-5118  #146-5119  #148-5179  #152-5308  #152-5311  #152-5315  
                #153-5322  #153-5330  #153-5332  #153-5333  #153-5335  #155-5392  #155-5393  #155-5394  #155-5395  #155-5399  
                #155-5406  #155-5413  #158-5486  #158-5488  #158-5490  #158-5492  #158-5493  #158-5494  #161-5563  #161-5566  
                #161-5571  #162-5578  #162-5590  #162-5592  #162-5593  #162-5594  #162-5596  #165-5669  #165-5671  #165-5672  
                #165-5674  #165-5676  #165-5677  #165-5678  #165-5680  #167-5741  #167-5742  #169-5819  #169-5821  #170-5838  
                #170-5840  #170-5841  #170-5844  #170-5847  #170-5857  #170-5863  #170-5867  #172-5925  #172-5929  #172-5933  
                #173-5941  #173-5943  #173-5944  #173-5945  #173-5947  #173-5948  #177-6052  #177-6056  #177-6060  #177-6064  
                #181-6174  #181-6178  #181-6182  #181-6186  #183-6243  #183-6245  #183-6246  #183-6247  #183-6250  #184-6262  
                #184-6264  #184-6267  #184-6269  #184-6272  #184-6274  #184-6277  #188-6411  #190-6458  #190-6459  #190-6465  
                #193-6553  #196-6678  #200-6810  #202-6897  #202-6903  #205-6990  #205-6991  #205-6993  #206-7017  #206-7020  
                #206-7023  #206-7029  #206-7030  #206-7032  #206-7039  #209-7179  #214-7343  #214-7344  #215-7372  #216-7410  
                #216-7413  #216-7414  #216-7417  #216-7419  #217-7432  #217-7439  #217-7440  #217-7441  #218-7488  #219-7515  
                #219-7518  #220-7548  #221-7583  #221-7586  #222-7626  #223-7654  #224-7685  #224-7690  #224-7691  #224-7696  
                #224-7699  #224-7704  #225-7747  #225-7750  #228-7844  #228-7847  #229-7854  #229-7857  #229-7863  #229-7866  
                #229-7871  #229-7879  #229-7883  #230-7899  #230-7902  #230-7903  #230-7909  #233-8005  #235-8073  #238-8158  
                #238-8159  #243-8286  #243-8289  #243-8297  #243-8302  #244-8319  #244-8320  #244-8323  #244-8328  #246-8400  
                #246-8402  #249-8485  #249-8488  #249-8491  #251-8568  #251-8571  #252-8579  #252-8587  #252-8600  #252-8604  
                #252-8605  #257-8733  #257-8735  #257-8744  #257-8750  #260-8824  #260-8827  #262-8891  #262-8893  #264-8966  
                #264-8968  #267-9026  #267-9029  #267-9035  #267-9038  #267-9043  #270-9129  #270-9135  #270-9141  #270-9145  
                #270-9150  #273-9216  #273-9218  #273-9224  #273-9227  #273-9231  #273-9234  #277-9355  #277-9357  #278-9366  
                #278-9367  #278-9369  #278-9374  #278-9378  #278-9381  #278-9383  #284-9646  #285-9658  #285-9663  #285-9669  
                #285-9673  #285-9676  #285-9679  #286-9694  #286-9699  #286-9701  #287-9715  #287-9717  #287-9719  #287-9721  
                #287-9722  #287-9729  #287-9731  #288-9748  #288-9749  #288-9757  #288-9758  #288-9759  #288-9768  #291-9852  
                #291-9855  #291-9857  #291-9859  #291-9860  #291-9865  #293-9943  #293-9945  #293-9947  #293-9948  #295-10013 
                #295-10019 #295-10033 #295-10035 #296-10051 #296-10052 #296-10058 #298-10121 #300-10189 #300-10191 #302-10252 
                #302-10260 #310-10525 #310-10527 #310-10532 #310-10534 #310-10539 #312-10603 #312-10612 #315-10691 #315-10693 
                #318-10802 #318-10804 #318-10809 #318-10811 #321-10939 #321-10947 #322-10957 #322-10962 #324-11049 #324-11051 
                #324-11053 #324-11055 #327-11124 #327-11126 #327-11130 #327-11131 #327-11132 #327-11133 #327-11137 #327-11142 
                #331-11261 #331-11263 #331-11267 #331-11271 #331-11272 #331-11273 #333-11334 #336-11405 #336-11408 #336-11410 
                #339-11476 #339-11477 #339-11480 #339-11482 #339-11485 #341-11542 #343-11590 #343-11592 #343-11593 #343-11594 
                #343-11602 #343-11603 #343-11604 #347-11704 #347-11717 #347-11720 #347-11722 #350-11795 #352-11856 #352-11857 
                #352-11860 #352-11861 #356-11972 #356-11977 #356-11979 #356-11980 #356-11984 #357-11994 #357-11996 #357-11997 
                #357-12011 #357-12012 #357-12014 #357-12021 #358-12030 #358-12031 #358-12032 #360-12109 #360-12111 #360-12112 
                #360-12116 #364-12236 #364-12237 #369-12407 #369-12411 #369-12415 #369-12422 #370-12450 #373-12540 #373-12541 
                #373-12549 #373-12551 #376-12634 #376-12644 #376-12647 #376-12649 #376-12653 #376-12655 #378-12705 #378-12709 
                #378-12711 #378-12714 #378-12719 #378-12723 #379-12760 #379-12763 #380-12790 #380-12793 #380-12794 #380-12796 
                #380-12798 #381-12844 #382-12868 #385-12936 #385-12938 #385-12939 #385-12946 #389-13022 #391-13061 #391-13063 
                #397-13209 #399-13253 #399-13255 #399-13259 #401-13295 #405-13419 #405-13426 #405-13431 #409-13567 #409-13580 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 50

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #409-13582 #416-13790 #416-13793 #416-13805 #416-13807 #416-13810 #418-13872 #418-13876 #420-13942 #422-14010 
                #426-14099 #426-14105 #429-14174 #429-14178 #429-14184 #429-14185 #429-14187 #429-14190 #429-14193 #431-14261 
                #431-14266 #431-14267 #431-14271 #431-14273 #433-14329 #436-14406 #436-14407 #436-14409 #436-14410 #436-14413 
                #438-14482 #441-14543 #441-14545 #441-14546 #442-14575 #442-14577 #442-14580 #445-14669 #452-14894 #452-14897 
                #452-14900 #452-14918 #452-14925 #455-15026 #455-15027 #456-15039 #456-15041 #456-15042 #456-15050 #456-15052 
                #456-15053 #459-15140 #459-15145 #459-15148 #459-15149 #459-15150 #459-15152 #462-15233 #462-15234 #462-15244 
                #463-15274 #463-15276 #463-15278 #463-15280 #463-15286 #463-15287 #466-15380 #466-15381 #466-15385 #466-15386 
                #466-15390 #467-15398 #471-15532 #476-15748 #476-15753 #478-15825 #479-15847 #479-15850 #479-15852 #480-15895 
                #480-15899 #480-15908 #481-15937 #483-15990 #483-15992 #488-16120 #488-16127 #490-16199 #490-16203 #490-16208 
                #491-16216 #491-16217 #491-16221 #491-16224 #495-16340 #495-16341 #495-16342 #497-16382 #497-16384 #497-16386 
                #497-16388 #500-16436 #500-16437 #500-16438 #500-16442 #500-16444 #500-16451 #500-16458 #500-16459 #500-16460 
                #500-16463 #501-16471 #501-16476 #501-16478 #504-16571 #506-16657 #506-16669 #506-16673 #506-16674 #506-16676 
                #506-16677 #506-16679 #506-16680 #506-16682 #509-16775 #509-16778 #511-16853 #511-16855 #511-16867 #512-16876 
                #512-16878 #512-16880 #512-16882 #512-16883 #512-16885 #512-16887 #512-16889 #512-16890 #512-16893 #512-16898 
                #512-16900 #513-16916 #516-16991 #518-17042 #518-17044 #520-17090 #520-17091 #520-17092 #520-17096 #520-17098 
                #520-17104 #520-17106 #520-17110 #521-17125 #521-17126 #521-17127 #524-17204 #526-17255 #528-17336 #528-17338 
                #528-17341 #533-17484 #533-17485 #533-17487 #533-17491 #533-17495 #533-17497 #536-17584 #536-17589 #537-17607 
                #537-17609 #537-17611 #537-17614 #537-17618 #538-17641 #538-17643 #538-17645 
CALLR 		#4-125     #53-2171   #76-2938   #84-3180   #86-3257   #88-3313   #90-3377   #93-3477   #97-3584   #99-3651   
                #101-3711  #101-3715  #101-3719  #103-3779  #103-3782  #107-3908  #108-3944  #110-4012  #118-4250  #126-4490  
                #148-5183  #148-5186  #152-5312  #153-5336  #155-5415  #158-5496  #161-5567  #162-5597  #165-5681  #167-5749  
                #169-5823  #177-6066  #181-6188  #184-6278  #188-6416  #190-6469  #210-7226  #235-8074  #238-8163  #252-8590  
                #260-8829  #262-8886  #264-8970  #281-9536  #284-9649  #287-9724  #295-10030 #298-10122 #307-10448 #331-11268 
                #333-11336 #343-11591 #343-11596 #343-11599 #345-11657 #347-11725 #352-11865 #357-12017 #357-12022 #358-12034 
                #360-12113 #360-12134 #360-12137 #370-12466 #373-12553 #382-12871 #385-12940 #385-12951 #389-13024 #391-13065 
                #397-13211 #399-13261 #401-13302 #405-13435 #409-13583 #426-14106 #429-14196 #445-14670 #467-15400 #485-16043 
                #491-16226 #495-16343 #501-16483 #504-16581 #506-16689 #509-16780 #513-16918 #513-16921 #516-16997 #518-17045 
                #521-17132 #524-17210 #526-17261 
CLEF$S		#54-2213    55-2253   #63-2524    64-2548   #236-8105   238-8151   238-8152   238-8153  #375-12629  381-12838 
COMND$		#5-183      73-2826    73-2827    73-2828    73-2829    73-2830    73-2831    73-2832    73-2833    73-2834   
                 73-2835    73-2836    73-2840    73-2841    73-2842    73-2843    73-2844    73-2845    73-2846    73-2847   
                 73-2848    73-2849    73-2850    73-2851    73-2852    95-3514    95-3515    95-3516    95-3517    95-3518   
                 114-4123   114-4124   114-4125   114-4126   114-4127   114-4128   114-4129   114-4130   175-6008   175-6009  
                 175-6010   175-6011   175-6012   186-6327   186-6328   186-6329   186-6330   186-6331   186-6332   186-6333  
                 186-6334   186-6335   186-6336   186-6338   186-6339   186-6340   186-6341   186-6342   186-6343   186-6344  
                 186-6345   186-6346   186-6347   186-6348   186-6349   186-6350   186-6351   186-6352   186-6353   186-6354  
                 186-6355   186-6356   186-6357   186-6358   254-8655   254-8656   254-8657   254-8661   254-8662   275-9278  
                 275-9279   275-9280   275-9281   275-9282   275-9283   275-9284   275-9285   275-9286   275-9287   275-9288  
                 275-9289   329-11193  329-11194  329-11195  329-11196  329-11197  329-11198  329-11199  329-11200  362-12176 
                 362-12177  362-12178  362-12179  367-12330  367-12331  367-12332  367-12333  367-12334  367-12335  367-12336 
                 367-12337  367-12338  367-12339  367-12340  387-12987  387-12988  395-13169  395-13170  395-13171  395-13172 
                 395-13173  395-13174  395-13175  403-13348  403-13349  403-13350  403-13351  403-13352  403-13353  403-13354 
                 403-13355  403-13356  403-13357  403-13358  403-13359  403-13361  424-14045  424-14046  493-16273  493-16274 
                 493-16275  493-16276  493-16277  493-16278  493-16279  493-16280  493-16281  493-16282  493-16284  493-16286 
DIR$  		#55-2253    55-2253   #64-2548    64-2548   #69-2738    70-2763   #89-3348    90-3376   #115-4162   118-4244  
                #133-4712   136-4802  #178-6099  #179-6128   179-6128  #179-6129   179-6129  #191-6506   193-6539  #194-6613  
                 196-6665  #197-6740   199-6771  #204-6968  #204-6975   204-6975  #209-7168   209-7175  #236-8105  #237-8140  
                 237-8140   237-8142   237-8144  #238-8151   238-8151  #238-8152   238-8152  #238-8153   238-8153  #238-8154  
                 238-8154  #243-8283   243-8283  #351-11830  352-11863 #381-12838  381-12838 #382-12869  382-12869 #422-14005 
                 422-14005 #484-16021  484-16024  484-16026  484-16030 #506-16659  506-16659 #511-16850  513-16917 #535-17557 
                 538-17639 
ERCON$		#5-173     
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 51

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ERROR$		#5-155      53-2174    55-2259    58-2368    58-2371    59-2409    66-2632    76-2942    81-3106    93-3480   
                 108-3947   112-4083   112-4086   112-4089   118-4259   126-4493   128-4552   132-4672   137-4830   137-4834  
                 137-4837   137-4840   153-5339   162-5600   167-5752   170-5872   193-6558   196-6685   200-6816   207-7086  
                 207-7089   207-7092   207-7095   210-7229   210-7232   215-7379   217-7460   223-7667   224-7707   226-7769  
                 226-7772   230-7921   230-7924   244-8335   244-8338   252-8610   262-8903   324-11059  343-11607  348-11729 
                 353-11879  353-11882  353-11885  358-12040  358-12043  358-12046  360-12140  371-12470  371-12473  371-12476 
                 371-12479  377-12674  377-12677  377-12680  377-12684  379-12779  429-14199  436-14423  436-14426  443-14597 
                 464-15299  464-15302  464-15305  531-17421  531-17424  538-17655  538-17658 
ERR$  		#55-2253   #64-2548   #70-2763   #90-3376   #118-4244  #136-4802  #179-6128  #179-6129  #193-6539  #196-6665  
                #199-6771  #204-6975  #209-7175  #237-8140  #237-8142  #237-8144  #238-8151  #238-8152  #238-8153  #238-8154  
                #243-8283  #352-11863 #381-12838 #382-12869 #422-14005 #484-16024 #484-16026 #484-16030 #506-16659 #513-16917 
                #538-17639 
EXCH$ 		#6-218     
EXIT$S		#178-6099   179-6129  
FATAL$		#5-164     
GTIM$S		#204-6968  #204-6975  #505-16630 #506-16659 
IKL$  		#8-246     
IOKL$ 		#8-274     #345-11660 #345-11662 #345-11664 #345-11666 #348-11732 #348-11734 
KLDR$ 		#191-6506   193-6576  
KLDW$ 		#194-6613   196-6703  
KLDX$ 		#197-6740   200-6835  
MOV$  		#55-2253    55-2253   #64-2548    64-2548   #179-6128  #179-6128   179-6128   179-6128   179-6128   179-6128  
                #204-6975   204-6975  #237-8140   237-8140   237-8140  #238-8151   238-8151  #238-8152   238-8152  #238-8153  
                 238-8153  #238-8154   238-8154  #243-8283   243-8283  #381-12838  381-12838 #382-12869  382-12869 #422-14005 
                 422-14005 #506-16659  506-16659 
MRKT$ 		#69-2738    71-2786   
MVB$  		#179-6128   179-6128  
NBL$  		#239-8169   239-8169  #239-8174   239-8174  
NSERR$		#6-195     #280-9425  #280-9427  #280-9429  #280-9430  #280-9431  #280-9432  #280-9433  #280-9434  #280-9435  
                #280-9440  #280-9441  #280-9442  #280-9443  #280-9444  #280-9445  #280-9446  #280-9447  #280-9449  #280-9450  
                #280-9451  #280-9452  #280-9453  #280-9454  #280-9456  #280-9457  #280-9458  #280-9459  #280-9460  #280-9461  
                #280-9463  #280-9464  #280-9465  #280-9466  #280-9467  #280-9469  #280-9471  #280-9472  #280-9473  #280-9474  
                #280-9475  #280-9476  #280-9478  #280-9479  #280-9481  #280-9483  #280-9485  #280-9486  #280-9487  #280-9488  
                #280-9490  #280-9491  #280-9493  #280-9495  #280-9497  #280-9499  #280-9501  
OFF$  		#71-2786    71-2786    71-2786    71-2786    71-2786    71-2786   #90-3380    90-3380    90-3380    90-3380   
                 90-3380    90-3380    90-3380   #204-6975   204-6975   204-6975   204-6975   204-6975   204-6975   204-6975  
                 204-6975   204-6975  #211-7238   211-7238   211-7238   211-7238   211-7238   211-7238   211-7238   211-7238  
                 211-7238  #239-8169   239-8169   239-8169   239-8169   239-8169  #239-8174   239-8174   239-8174   239-8174  
                 239-8174  #354-11907  354-11907  354-11907  354-11907  354-11907  354-11907  354-11907 #486-16049  486-16049 
                 486-16049  486-16049  486-16049  486-16049  486-16049  486-16049  486-16049 #486-16058  486-16058  486-16058 
                 486-16058  486-16058  486-16058  486-16058  486-16058  486-16058 #486-16063  486-16063  486-16063  486-16063 
                 486-16063  486-16063  486-16063  486-16063  486-16063 #506-16659  506-16659  506-16659  506-16659  506-16659 
                 506-16659  506-16659  506-16659  506-16659 #513-16924  513-16924  513-16924  513-16924  513-16924  513-16924 
                 513-16924 
PARVR$		#35-1440    42-1770    42-1770   
POP   		#4-131     #49-2039   #59-2405   #66-2626   #68-2698   #70-2768   #78-3016   #80-3100   #84-3171   #86-3254   
                #97-3582   #107-3918  #108-3940  #108-3941  #111-4050  #111-4054  #112-4062  #122-4377  #126-4489  #135-4787  
                #141-4976  #158-5495  #162-5591  #162-5595  #165-5679  #169-5820  #169-5822  #173-5946  #190-6466  #196-6681  
                #200-6813  #206-7012  #206-7025  #206-7080  #210-7200  #217-7446  #217-7454  #219-7517  #221-7585  #223-7648  
                #223-7656  #224-7686  #225-7753  #226-7763  #230-7914  #230-7916  #233-8013  #233-8014  #241-8245  #244-8329  
                #249-8500  #252-8589  #257-8755  #262-8900  #267-9044  #273-9236  #278-9386  #284-9648  #286-9695  #287-9730  
                #291-9850  #291-9851  #291-9864  #296-10057 #300-10195 #303-10294 #310-10545 #315-10699 #318-10816 #327-11144 
BIGPARSER  CREATED BY  MACRO  ON 13-JAN-78 AT 09:24	PAGE 52

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #336-11412 #339-11487 #341-11546 #343-11595 #347-11723 #347-11724 #352-11862 #357-12013 #373-12543 #373-12544 
                #373-12545 #380-12801 #380-12803 #380-12804 #380-12805 #380-12806 #380-12807 #380-12808 #381-12824 #399-13257 
                #407-13505 #418-13878 #422-14011 #433-14330 #436-14420 #438-14483 #442-14581 #442-14584 #442-14592 #452-14927 
                #453-14938 #453-14939 #453-14940 #453-14942 #454-14992 #456-15056 #456-15057 #459-15154 #462-15267 #462-15269 
                #467-15399 #471-15533 #476-15755 #479-15848 #479-15855 #480-15912 #483-15993 #488-16128 #488-16132 #491-16215 
                #491-16225 #501-16479 #528-17342 #534-17508 #537-17616 
PRDP$ 		#133-4712  #138-4858  #535-17557 #538-17661 
PREX$ 		#133-4712  #138-4876  
PUSH  		#4-137     #49-2027   #49-2028   #59-2401   #66-2609   #66-2614   #66-2618   #68-2689   #68-2694   #70-2764   
                #75-2913   #78-3009   #84-3167   #86-3249   #92-3435   #92-3437   #92-3438   #97-3579   #103-3774  #107-3914  
                #108-3928  #108-3929  #111-4041  #111-4042  #111-4044  #111-4045  #111-4046  #122-4355  #126-4474  #135-4767  
                #135-4778  #141-4949  #146-5109  #148-5178  #158-5487  #162-5581  #162-5587  #165-5670  #165-5673  #169-5813  
                #169-5818  #169-5828  #170-5837  #172-5930  #190-6464  #196-6667  #202-6896  #204-6973  #205-6995  #206-7019  
                #209-7171  #216-7409  #217-7438  #219-7512  #219-7513  #221-7580  #221-7581  #223-7640  #223-7659  #225-7734  
                #225-7737  #225-7748  #228-7841  #229-7869  #229-7874  #233-7986  #241-8237  #243-8285  #249-8478  #251-8567  
                #257-8726  #260-8823  #262-8889  #267-9028  #273-9215  #277-9353  #284-9622  #286-9684  #286-9688  #286-9692  
                #287-9727  #288-9750  #291-9853  #293-9937  #295-10014 #300-10186 #302-10253 #310-10521 #315-10685 #318-10798 
                #318-10806 #321-10944 #327-11123 #336-11403 #339-11475 #339-11478 #339-11479 #341-11539 #343-11587 #347-11701 
                #347-11705 #347-11706 #347-11711 #347-11713 #347-11714 #352-11859 #357-12008 #357-12010 #376-12642 #407-13492 
                #409-13570 #409-13572 #409-13573 #409-13574 #409-13576 #409-13577 #418-13874 #422-14006 #433-14327 #436-14405 
                #438-14480 #441-14542 #442-14578 #452-14893 #452-14905 #452-14923 #454-14971 #455-15022 #455-15024 #458-15113 
                #458-15114 #458-15115 #458-15120 #458-15121 #458-15122 #458-15127 #458-15128 #462-15237 #462-15238 #462-15240 
                #466-15375 #471-15504 #471-15509 #471-15514 #471-15519 #471-155