|  | Date:	19-MAR-1997 16:29:53.49
From:	SMTP%"[email protected]"
Subj:	TSTKEY Solution - MASTER5 Problem Report
To:
mail11:;@[email protected]@unknown;@[email protected]
om;; (@macro)
CC:	[email protected]
2649 records, external message id MAIL$180B3CDD0005009B.MAI
Attributes: None
Return-Path: [email protected]
Received: by asimov.mro.dec.com (UCX V4.1-12, OpenVMS V6.2 VAX);
	Wed, 19 Mar 1997 16:29:49 -0500
Received: from pobox1.pa.dec.com by fluid.mro.dec.com
(5.65v4.0/1.1.8.2/19Nov96-0448PM)
	id AA25887; Wed, 19 Mar 1997 16:30:01 -0500
Received: by pobox1.pa.dec.com; id AA07508; Wed, 19 Mar 97 13:30:02 -0800
Received: from us3rmc.pa.dec.com by mail1.digital.com (5.65 EXP 4/12/95 for
V3.2/1.0/WV)
	id AA07876; Wed, 19 Mar 1997 13:22:48 -0800
Received: from isvnet.enet by us3rmc.pa.dec.com (5.65/rmc-22feb94)
	id AA16607; Wed, 19 Mar 97 13:22:26 -0800
Message-Id: <[email protected]>
Received: from isvnet.enet; by us3rmc.enet; Wed, 19 Mar 97 13:22:37 PST
Date: Wed, 19 Mar 97 13:22:37 PST
From: Moving yesterday's software into tomorrow.  19-Mar-1997 1629
<[email protected]>
To:
mail11:;@[email protected]@unknown;@[email protected]
om;; (@macro)
Cc: [email protected]
Apparently-To: [email protected]
Subject: TSTKEY Solution - MASTER5 Problem Report
Hi,
I have located the problem with the TSTKEY.MAR program.  There is an RSB
in a $DATA psect on about line 765.  Once this is removed, the compile works
fine.  It would be nice to see the Macro-32 compiler handle this type of error
a bit more gracefully.
I have another problem with the attached program, MASTER5.MAR.  The CALLS
instruction on line 526 is generating a INSFREEREG error (insufficient free
registers).  This same code is used in many other programs and does not
generate an error.  If I compile the program with the OPTIMZE=VAXREGS option,
the error disappears.  I do not see excessive register usage in the program, so
I do not understand why the error is being generated.
Compile command:
	  MACRO -
	    /NODIAG -
	    /NOLIST -
	    /MIGRATE -
	    /OBJECT=MASTER5 -
	    /UNALIGN -
	    /WARN=NOINFO -
		SYS$LIBRARY:ARCH_DEFS.MAR + []MASTER5.MAR
Regards,
Mr. Bruce Claremont
Migration Specialties International (MSI)
496 Manchester Drive
Florissant, CO    80816-9255
U.S.A.
Phone:	(719)687-9196
Fax:	(719)687-8747
Internet: [email protected]
	.TITLE  MASTER5
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
	.ASCII  'Version: 6.2   Distribution Date: 11-JAN-1997  '
	.ASCII	'19-MAR-1997 12:28:11  '
 
	$DSCDEF
 
	BLANK		= ^X20
	NULL		= ^X00
	PARM_EXTEND	= 10 	;Max # of parms beyond what a subprogram expects.
 
N_OFF:		.ASCII	'0'	;Indicator off.
N_ON:		.ASCII	'1'	;Indicator on.
 
N_HALT10_MSG_01: .ASCIZ	'RTS-HLT1001 - Unidentified record type'
N_HALT10_MSG_02: .ASCIZ	'RTS-HLT1002 - Error occurred during an I/O operation to
a SPECIAL device file'
 
TMPBYT1:	.BYTE	0
N$DETAIL_FLG:			.BYTE	0
N$EXTRACT_CONTROL_FLD_FLG:	.BYTE	0
N$FETCH_OVERFLOW_FLG:		.BYTE	0
N$FREE_FLG:			.BYTE	0
N$INVALID_PARAMETER:		.BYTE	0
N$NUMBER_OF_ARGUMENTS:		.LONG	0
N$TEMP_ADDR:			.LONG	0
N$TEMP_SIZE:			.LONG	0
N$OUTPUT_CTL:			.BYTE	0
N$PARAMETER_POINTER:		.LONG	0
N$PROG_ACTIVE:			.BYTE	0
PAGE:	.LONG	0
PAGE1:	.LONG	0
PAGE2:	.LONG	0
PAGE3:	.LONG	0
PAGE4:	.LONG	0
PAGE5:	.LONG	0
PAGE6:	.LONG	0
PAGE7:	.LONG	0
V51_HIGH:	.ASCII	'0'
V51_LOW:	.ASCII	'0'
V51_EQUAL:	.ASCII	'0'
UDATE:		.ASCII	'000000'
UMONTH:	.ASCII	'00'
UDAY:		.ASCII	'00'
UYEAR:		.ASCII	'00'
N$DUMMY_IND:	.ASCII	'0'
$STAT$:	.ASCII	'        '
 
N_INHD:	.ASCII	'0'	;'*' indicator output header
N_INFD:	.ASCII	'0'	;'*' indicator output field
N_IN00:	.ASCII	'0'	;'*' indicator calc
N_IN__:	;Internal indicator array label.
N_IN01:	.ASCII	'0'
N_IN02:	.ASCII	'0'
N_IN03:	.ASCII	'0'
N_IN04:	.ASCII	'0'
N_IN05:	.ASCII	'0'
N_IN06:	.ASCII	'0'
N_IN07:	.ASCII	'0'
N_IN08:	.ASCII	'0'
N_IN09:	.ASCII	'0'
N_IN10:	.ASCII	'0'
N_IN11:	.ASCII	'0'
N_IN12:	.ASCII	'0'
N_IN13:	.ASCII	'0'
N_IN14:	.ASCII	'0'
N_IN15:	.ASCII	'0'
N_IN16:	.ASCII	'0'
N_IN17:	.ASCII	'0'
N_IN18:	.ASCII	'0'
N_IN19:	.ASCII	'0'
N_IN20:	.ASCII	'0'
N_IN21:	.ASCII	'0'
N_IN22:	.ASCII	'0'
N_IN23:	.ASCII	'0'
N_IN24:	.ASCII	'0'
N_IN25:	.ASCII	'0'
N_IN26:	.ASCII	'0'
N_IN27:	.ASCII	'0'
N_IN28:	.ASCII	'0'
N_IN29:	.ASCII	'0'
N_IN30:	.ASCII	'0'
N_IN31:	.ASCII	'0'
N_IN32:	.ASCII	'0'
N_IN33:	.ASCII	'0'
N_IN34:	.ASCII	'0'
N_IN35:	.ASCII	'0'
N_IN36:	.ASCII	'0'
N_IN37:	.ASCII	'0'
N_IN38:	.ASCII	'0'
N_IN39:	.ASCII	'0'
N_IN40:	.ASCII	'0'
N_IN41:	.ASCII	'0'
N_IN42:	.ASCII	'0'
N_IN43:	.ASCII	'0'
N_IN44:	.ASCII	'0'
N_IN45:	.ASCII	'0'
N_IN46:	.ASCII	'0'
N_IN47:	.ASCII	'0'
N_IN48:	.ASCII	'0'
N_IN49:	.ASCII	'0'
N_IN50:	.ASCII	'0'
N_IN51:	.ASCII	'0'
N_IN52:	.ASCII	'0'
N_IN53:	.ASCII	'0'
N_IN54:	.ASCII	'0'
N_IN55:	.ASCII	'0'
N_IN56:	.ASCII	'0'
N_IN57:	.ASCII	'0'
N_IN58:	.ASCII	'0'
N_IN59:	.ASCII	'0'
N_IN60:	.ASCII	'0'
N_IN61:	.ASCII	'0'
N_IN62:	.ASCII	'0'
N_IN63:	.ASCII	'0'
N_IN64:	.ASCII	'0'
N_IN65:	.ASCII	'0'
N_IN66:	.ASCII	'0'
N_IN67:	.ASCII	'0'
N_IN68:	.ASCII	'0'
N_IN69:	.ASCII	'0'
N_IN70:	.ASCII	'0'
N_IN71:	.ASCII	'0'
N_IN72:	.ASCII	'0'
N_IN73:	.ASCII	'0'
N_IN74:	.ASCII	'0'
N_IN75:	.ASCII	'0'
N_IN76:	.ASCII	'0'
N_IN77:	.ASCII	'0'
N_IN78:	.ASCII	'0'
N_IN79:	.ASCII	'0'
N_IN80:	.ASCII	'0'
N_IN81:	.ASCII	'0'
N_IN82:	.ASCII	'0'
N_IN83:	.ASCII	'0'
N_IN84:	.ASCII	'0'
N_IN85:	.ASCII	'0'
N_IN86:	.ASCII	'0'
N_IN87:	.ASCII	'0'
N_IN88:	.ASCII	'0'
N_IN89:	.ASCII	'0'
N_IN90:	.ASCII	'0'
N_IN91:	.ASCII	'0'
N_IN92:	.ASCII	'0'
N_IN93:	.ASCII	'0'
N_IN94:	.ASCII	'0'
N_IN95:	.ASCII	'0'
N_IN96:	.ASCII	'0'
N_IN97:	.ASCII	'0'
N_IN98:	.ASCII	'0'
N_IN99:	.ASCII	'0'
N_INXX:	.ASCII	'0'
N_INL1:	.ASCII	'0'
N_INL2:	.ASCII	'0'
N_INL3:	.ASCII	'0'
N_INL4:	.ASCII	'0'
N_INL5:	.ASCII	'0'
N_INL6:	.ASCII	'0'
N_INL7:	.ASCII	'0'
N_INL8:	.ASCII	'0'
N_INL9:	.ASCII	'0'
N_INLR:	.ASCII	'0'
N_INRT:	.ASCII	'0'
N_INH1:	.ASCII	'0'
N_INH2:	.ASCII	'0'
N_INH3:	.ASCII	'0'
N_INH4:	.ASCII	'0'
N_INH5:	.ASCII	'0'
N_INH6:	.ASCII	'0'
N_INH7:	.ASCII	'0'
N_INH8:	.ASCII	'0'
N_INH9:	.ASCII	'0'
N_IN1P:	.ASCII	'1'
N_INL0:	.ASCII	'0'
N_INMR:	.ASCII	'0'
N_INOA:	.ASCII	'0'
N_INOB:	.ASCII	'0'
N_INOC:	.ASCII	'0'
N_INOD:	.ASCII	'0'
N_INOE:	.ASCII	'0'
N_INOF:	.ASCII	'0'
N_INOG:	.ASCII	'0'
N_INOV:	.ASCII	'0'
N_INKA:	.ASCII	'0'
N_INKB:	.ASCII	'0'
N_INKC:	.ASCII	'0'
N_INKD:	.ASCII	'0'
N_INKE:	.ASCII	'0'
N_INKF:	.ASCII	'0'
N_INKG:	.ASCII	'0'
N_INKH:	.ASCII	'0'
N_INKI:	.ASCII	'0'
N_INKJ:	.ASCII	'0'
N_INKK:	.ASCII	'0'
N_INKL:	.ASCII	'0'
N_INKM:	.ASCII	'0'
N_INKN:	.ASCII	'0'
N_INKP:	.ASCII	'0'
N_INKQ:	.ASCII	'0'
N_INKR:	.ASCII	'0'
N_INKS:	.ASCII	'0'
N_INKT:	.ASCII	'0'
N_INKU:	.ASCII	'0'
N_INKV:	.ASCII	'0'
N_INKW:	.ASCII	'0'
N_INKX:	.ASCII	'0'
N_INKY:	.ASCII	'0'
N_INU1:	.ASCII	'0'
N_INU2:	.ASCII	'0'
N_INU3:	.ASCII	'0'
N_INU4:	.ASCII	'0'
N_INU5:	.ASCII	'0'
N_INU6:	.ASCII	'0'
N_INU7:	.ASCII	'0'
N_INU8:	.ASCII	'0'
	.BYTE	-1
N$DATE_PRINT_CTL: .ASCII /    /
	TIMEOUT = 10
 
FILE_01_NAME:	.ASCIZ	'CALL    '
	.ALIGN   LONG
  FILE_01_FAB:	$FAB	FNM=<CALL>,-
			DNM=<.DAT>,-
			FAC=<GET>,-
			FOP=<SQO>,-
			SHR=<GET,PUT,UPD,DEL>,-
			NAM=FILE_01_NAM
 
  FILE_01_NAM:	$NAM	RSA=N$FILE_01_NAME,-
			RSS=NAM$C_MAXRSS
 
  FILE_01_RAB:	$RAB	FAB=FILE_01_FAB,-
			ROP=<TMO,WAT,NLK,RRL>,-
			UBF=N$FILE_01_REC_BUF,-
			USZ=FILE_01_REC_SIZ,-
			TMO=TIMEOUT
 
  FILE_01_REC_SIZ = 0080
  N$FILE_01_REC_BUF:	.BLKB FILE_01_REC_SIZ
  N$FILE_01_NAME:	.BLKB	NAM$C_MAXRSS
  EOF_01_FLG:		.BYTE	0	;End of file flag.
  F$TY01:		.BYTE	0,0
  REC_ID_FLG_01:	.BYTE	0
  F$IO01:		.BYTE	0	;IO CONTROL SWITCH
  F$CB01:		.BYTE	2	;COMBINED FILE IO CTL SW
  F$RF01:		.BLKB	8	;RFA SAVE SPACE
 
FILE_02_NAME:	.ASCIZ	'REPORT  '
	.ALIGN   LONG
  FILE_02_FAB:	$FAB	FNM=<REPORT>,-
			DNM=<.LIS>,-
			FAC=<PUT,TRN>,-
			FOP=<CBT,TEF,SQO,DFW>,-
			RFM=VAR,-
			MRS=FILE_02_REC_SIZ,-
			NAM=FILE_02_NAM
 
  FILE_02_NAM:	$NAM	RSA=N$FILE_02_NAME,-
			RSS=NAM$C_MAXRSS
 
  FILE_02_RAB:	$RAB	FAB=FILE_02_FAB,-
			RBF=N$FILE_02_REC_BUF,-
			RSZ=FILE_02_REC_SIZ,-
			TMO=TIMEOUT
 
  FILE_02_REC_SIZ = 0132
  N$FILE_02_REC_BUF:	.BLKB FILE_02_REC_SIZ
  N$FILE_02_NAME:	.BLKB	NAM$C_MAXRSS
 
  FILE_02_PRT_CTL_BLK:	.BYTE	066	;Printer lines per page
			.BYTE	060	;Overflow line
			.BYTE	1	;Line cnt
			.BYTE	0	;Overflow indicator index
			.BYTE	0	;Last cycle line cnt
 
  EOF_02_FLG:		.BYTE	0	;End of file flag.
  F$TY02:		.BYTE	0,0
  REC_ID_FLG_02:	.BYTE	0
  F$IO02:		.BYTE	0	;IO CONTROL SWITCH
  F$CB02:		.BYTE	2	;COMBINED FILE IO CTL SW
  F$RF02:		.BLKB	8	;RFA SAVE SPACE
 
	PRLCT	= 2	;Line cnt
	LSLCT	= 4	;Lst cycle line cnt
 
SPACE_BEFORE:	.BYTE	0
SPACE_AFTER:	.BYTE	0
SKIP_BEFORE:	.BYTE	0
SKIP_AFTER:	.BYTE	0
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$CLOSE_FILES: .JSB32_ENTRY
	$CLOSE	FAB=FILE_01_FAB	;CALL    
	$CLOSE	FAB=FILE_02_FAB	;REPORT  
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$READ_FILE_01: .JSB32_ENTRY
	MOVC5	#0,#0,#^A/ /,#FILE_01_REC_SIZ,N$FILE_01_REC_BUF
	MOVAL	EOF_01_FLG,R5
	PUSHAL	$STAT$
	PUSHL	R5
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	PUSHL	R10
	CALLS	#6,G^S3X$READ
	MOVL	RAB$L_UBF(R7),R5
	MOVW	RAB$W_USZ(R7),R4
	BICL	#^XFFFF0000,R4
	BLBC	R0,30$
	RSB
 
  30$:	MOVAL	N$FILE_01_REC_BUF,R1		;Fill rec buf with 9's
	MOVL	#FILE_01_REC_SIZ,R4		;when EOF encountered
	MOVL	R1,R5			;Setup R5 & R4 to pnt to rec
	MOVL	R4,R0			;buf & siz when routine exits
 
  32$:	MOVB	#^A/9/,(R1)+
	SOBGTR	R0,32$
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$IDENTIFY_REC_FROM_FILE_01: .JSB32_ENTRY
	CLRB	F$TY01
60001$: MOVB	#001,F$TY01
	MOVB	#01,REC_ID_FLG_01
	CLRL	R0
	RSB
40001$:
	PUSHAL	N_HALT10_MSG_01
	CALLS	#1,G^S3X$HALT10
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$DET:
	MOVB	N_OFF,N_IN00
 
	  ;IFEQ 
 
	MOVAL	N_IN10,R6
	MOVAL	L$0001,R7
	PUSHAL	V51_HIGH
	PUSHAL	V51_LOW
	PUSHAL	V51_EQUAL
	MOVL	R6,R9
	MOVL	#0001,R8
	MOVL	#0001,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_ALPHAMERIC
	CMPB	V51_EQUAL,N_OFF
	BNEQ	00000$
	JMP	V51_00000001
00000$:
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN10
 
	  ;ELSE 
 
	JMP	V51_00000000
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
V51_00000001:
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETON
 
	MOVB	N_ON,N_IN10
 
	  ;END  
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
V51_00000000:
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;ADD  
 
	MOVAL	A00006,R6
	MOVAL	L$0002,R7
	MOVAL	A00006,R8
        ADDP6 #0003,(R6),#0001,(R7),#17,W$NUMA
	ASHP	#0,#17,W$NUMA,#0,#0003,(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	L$0003,R7
	MOVAL	A00007,R8
	MOVC3	#0001,(R7),(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	CLRL	R6
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;CALL 
 
	JSB	CALL_0001
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	L$0004,R7
	MOVAL	A00007,R8
	MOVC3	#0001,(R7),(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	CLRL	R6
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN11
	MOVB  N_OFF,N_IN21
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;CALL 
 
	JSB	CALL_0002
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	L$0005,R7
	MOVAL	A00007,R8
	MOVC3	#0001,(R7),(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	CLRL	R6
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN12
	MOVB  N_OFF,N_IN22
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;CALL 
 
	JSB	CALL_0003
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	L$0006,R7
	MOVAL	A00007,R8
	MOVC3	#0001,(R7),(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	CLRL	R6
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN13
	MOVB  N_OFF,N_IN23
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;FREE 
 
	PUSHL	#1
	CALLS	#0001,@A00005
	MOVB	N_OFF,N_IN33
	BLBS	R0,40001$
	MOVB	N_ON,N_IN33
40001$:
	JSB	N$INITIALIZE
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	L$0007,R7
	MOVAL	A00007,R8
	MOVC3	#0001,(R7),(R8)
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	CLRL	R6
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN33
	JMP    C$DETX
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$TOT:
	JMP    C$TOTX
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
PARM_00001:	;ALPHA 
	.WORD	0009
	.BYTE	DSC$K_DTYPE_T
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	A00001
PARM_00002:	;ZONED 
	.WORD	0009
	.BYTE	DSC$K_DTYPE_NZ
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	P00002
PARM_00003:	;PACKED
	.WORD	0005
	.BYTE	DSC$K_DTYPE_P
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	A00003
PARM_00004:	;BINARY
	.WORD	0004
	.BYTE	DSC$K_DTYPE_L
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	P00004
PARM_00005:	;CYCLE 
	.WORD	0003
	.BYTE	DSC$K_DTYPE_NZ
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	P00005
PARM_00006:	;EXCPT 
	.WORD	0001
	.BYTE	DSC$K_DTYPE_T
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	A00007
PARM_00007:	;*IN10 
	.WORD	0001
	.BYTE	DSC$K_DTYPE_T
	.BYTE	DSC$K_CLASS_S
	.ADDRESS	N_IN10
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
CALL_0001: .JSB32_ENTRY
 
	;F1 =         F2 =         RESULT = ALPHA 
 
	PUSHAL	PARM_00001
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	A00002,R1
	PUSHAL	P00002
	PUSHL	#0009
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00002
 
	;F1 =         F2 =         RESULT = PACKED
 
	PUSHAL	PARM_00003
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTPL	#9,A00004,R0
	MOVL	R0,P00004
	PUSHAL	PARM_00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	A00006,R1
	PUSHAL	P00005
	PUSHL	#0003
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00005
 
	;F1 =         F2 =         RESULT = EXCPT 
 
	PUSHAL	PARM_00006
 
	;F1 =         F2 =         RESULT = *IN10 
 
	PUSHAL	PARM_00007
	PUSHL	#0
	CALLS	#0008,G^_PROG5A
	MOVB	N_OFF,N_IN11
	BLBS	R0,100$
	MOVB	N_ON,N_IN11
  100$:
	MOVB	N_OFF,N_IN21
	BLBS	R1,110$
	MOVB	N_ON,N_IN21
  110$:
	JSB	N$INITIALIZE
 
	;F1 =         F2 =         RESULT = ALPHA 
 
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	P00002,R1
	MOVL	#0009,R2
	MOVAL	A00002,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = PACKED
 
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTLP	P00004,#9,A00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	P00005,R1
	MOVL	#0003,R2
	MOVAL	A00006,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = EXCPT 
 
 
	;F1 =         F2 =         RESULT = *IN10 
 
	RSB	;OUTPUT_RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
CALL_0002: .JSB32_ENTRY
 
	;F1 =         F2 =         RESULT = ALPHA 
 
	PUSHAL	PARM_00001
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	A00002,R1
	PUSHAL	P00002
	PUSHL	#0009
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00002
 
	;F1 =         F2 =         RESULT = PACKED
 
	PUSHAL	PARM_00003
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTPL	#9,A00004,R0
	MOVL	R0,P00004
	PUSHAL	PARM_00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	A00006,R1
	PUSHAL	P00005
	PUSHL	#0003
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00005
 
	;F1 =         F2 =         RESULT = EXCPT 
 
	PUSHAL	PARM_00006
 
	;F1 =         F2 =         RESULT = *IN10 
 
	PUSHAL	PARM_00007
	PUSHL	#0
	CALLS	#0008,@A00005
	MOVB	N_OFF,N_IN12
	BLBS	R0,100$
	MOVB	N_ON,N_IN12
  100$:
	MOVB	N_OFF,N_IN22
	BLBS	R1,110$
	MOVB	N_ON,N_IN22
  110$:
	JSB	N$INITIALIZE
 
	;F1 =         F2 =         RESULT = ALPHA 
 
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	P00002,R1
	MOVL	#0009,R2
	MOVAL	A00002,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = PACKED
 
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTLP	P00004,#9,A00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	P00005,R1
	MOVL	#0003,R2
	MOVAL	A00006,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = EXCPT 
 
 
	;F1 =         F2 =         RESULT = *IN10 
 
	RSB	;OUTPUT_RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
CALL_0003: .JSB32_ENTRY
 
	;F1 =         F2 =         RESULT = ALPHA 
 
	PUSHAL	PARM_00001
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	A00002,R1
	PUSHAL	P00002
	PUSHL	#0009
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00002
 
	;F1 =         F2 =         RESULT = PACKED
 
	PUSHAL	PARM_00003
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTPL	#9,A00004,R0
	MOVL	R0,P00004
	PUSHAL	PARM_00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	A00006,R1
	PUSHAL	P00005
	PUSHL	#0003
	PUSHL	R1
	PUSHL	R0
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	PUSHAL	PARM_00005
 
	;F1 =         F2 =         RESULT = EXCPT 
 
	PUSHAL	PARM_00006
 
	;F1 =         F2 =         RESULT = *IN10 
 
	PUSHAL	PARM_00007
	PUSHL	#0
	CALLS	#0008,@A00005
	MOVB	N_OFF,N_IN13
	BLBS	R0,100$
	MOVB	N_ON,N_IN13
  100$:
	MOVB	N_OFF,N_IN23
	BLBS	R1,110$
	MOVB	N_ON,N_IN23
  110$:
	JSB	N$INITIALIZE
 
	;F1 =         F2 =         RESULT = ALPHA 
 
 
	;F1 =         F2 =         RESULT = ZONED 
 
	MOVL	#0009,R0
	MOVAL	P00002,R1
	MOVL	#0009,R2
	MOVAL	A00002,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = PACKED
 
 
	;F1 =         F2 =         RESULT = BINARY
 
	CVTLP	P00004,#9,A00004
 
	;F1 =         F2 =         RESULT = CYCLE 
 
	MOVL	#0003,R0
	MOVAL	P00005,R1
	MOVL	#0003,R2
	MOVAL	A00006,R3
	PUSHL	R3
       PUSHL   R2
       PUSHL   R1
       PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;F1 =         F2 =         RESULT = EXCPT 
 
 
	;F1 =         F2 =         RESULT = *IN10 
 
	RSB	;OUTPUT_RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
O$FETO:	.BYTE	0
O$FIL:		.BYTE	0
O$OVFL:	.BYTE	0
W$FETY:	.BYTE	0
W$SAVA:	.BLKB	8
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$OUTPUT: .JSB32_ENTRY
	TSTB	N$FETCH_OVERFLOW_FLG
	BEQL	10$
	MOVQ	N_INOA,W$SAVA
	MOVQ	#^A/00000000/,N_INOA
	MOVB	#1,W$FETY
10$:	JSB	O$0000
	TSTB	W$FETY
	BEQL	20$
	MOVAL	N_INOA,R0
	MOVAL	W$SAVA,R1
	MOVL	#7,R2
15$:	CMPB	(R0),(R1)
	BGEQ	17$
	MOVB	(R1),(R0)
17$:	INCL	R0
	INCL	R1
	SOBGTR	R2,15$
	CLRB    W$FETY
20$:	CALLS	#0,G^S3X$DISPLAY_WORKSTN_SCRN
	MOVAL   FILE_02_RAB,R7
	MOVAL	FILE_02_PRT_CTL_BLK,R3
	PUSHAL	N$OUTPUT_CTL
	PUSHL	R3
	PUSHL	R7
	PUSHAL	N$FETCH_OVERFLOW_FLG
	PUSHAL	N$DETAIL_FLG
	CALLS	#5,G^S3X$CHECK_FOR_OVERFLOW
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
	;  On Entry:	R7 - RAB ptr
	;		R3 - Printer ctl blk ptr
N$FETCH_OVERFLOW: .JSB32_ENTRY INPUT=<R3, R7>
	TSTB	N$FETCH_OVERFLOW_FLG
	BEQL	10$
	BRW	500$
 
  10$:	CMPL	N_INOA,#^A/0000/
	BNEQ	20$
	CMPL	N_INOA+4,#^A/0000/
	BNEQ	20$
	PUSHAL	N$OUTPUT_CTL
	PUSHL	R3
	PUSHL	R7
	PUSHAL	N$FETCH_OVERFLOW_FLG
	PUSHAL	N$DETAIL_FLG
	CALLS	#5,G^S3X$CHECK_FOR_OVERFLOW
	CMPL	N_INOA,#^A/0000/
	BNEQ	20$
	CMPL	N_INOA+4,#^A/0000/
	BNEQ	20$
  	BRW	500$
 
  20$:	TSTB	N$DETAIL_FLG
	BEQL	22$
	MOVB	#2,N$FETCH_OVERFLOW_FLG
	BRB	40$
 
  22$:	MOVB	#1,N$FETCH_OVERFLOW_FLG
  40$:	MOVB	#1,O$OVFL
	PUSHL	SPACE_BEFORE
	MOVB	N$OUTPUT_CTL, TMPBYT1
	MOVB	#^A/T/,N$OUTPUT_CTL
	JSB	O$0000
	MOVB	#^A/H/,N$OUTPUT_CTL
	JSB	O$0000
	MOVB	#^A/D/,N$OUTPUT_CTL
	JSB	O$0000
	MOVB	TMPBYT1, N$OUTPUT_CTL
	MOVL	(SP)+,SPACE_BEFORE
	CLRB	O$OVFL
	CMPB	N$OUTPUT_CTL,#^A/E/
	BNEQ	500$
	MOVQ	#^A/00000000/,N_INOA
  500$:
	RSB	;End of N$FETCH_OVERFLOW
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0000: .JSB32_ENTRY
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/H/
	BEQL	00001$
	BRW	O$0001
00001$:
 
	CMPB	N_IN1P,N_OFF
	BEQL	00002$
	TSTB	O$OVFL
	BNEQ	00002$
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
	BRW	40000$
00002$: BRW	O$0001
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0019,40002$,N$FILE_02_REC_BUF+0000
	BRB	40001$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40002$: .ASCIZ 'Report from MASTER5'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40001$:
 
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00004$: CMPB	(R1)+,#^X00
	BNEQ	00005$
	MOVB	#^A/ /,-1(R1)
00005$: SOBGTR	R0,00004$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0001:
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/H/
	BEQL	00001$
	BRW	O$0002
00001$:
 
	CMPB	N_IN1P,N_OFF
	BEQL	00002$
	TSTB	O$OVFL
	BNEQ	00002$
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
	BRW	40000$
00002$: BRW	O$0002
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00004$: CMPB	(R1)+,#^X00
	BNEQ	00005$
	MOVB	#^A/ /,-1(R1)
00005$: SOBGTR	R0,00004$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0002:
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/H/
	BEQL	00001$
	BRW	O$0003
00001$:
 
	CMPB	N_IN1P,N_OFF
	BEQL	00002$
	TSTB	O$OVFL
	BNEQ	00002$
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
	BRW	40000$
00002$: BRW	O$0003
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40002$,N$FILE_02_REC_BUF+0002
	BRB	40001$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40002$: .ASCIZ 'Alpha'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40001$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40004$,N$FILE_02_REC_BUF+0013
	BRB	40003$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40004$: .ASCIZ 'Zoned'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40003$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40006$,N$FILE_02_REC_BUF+0024
	BRB	40005$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40006$: .ASCIZ 'Packed'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40005$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40008$,N$FILE_02_REC_BUF+0035
	BRB	40007$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40008$: .ASCIZ 'Binary'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40007$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40011$,N$FILE_02_REC_BUF+0090
	BRB	40010$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40011$: .ASCIZ 'Cycle'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40010$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40013$,N$FILE_02_REC_BUF+0097
	BRB	40012$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40013$: .ASCIZ 'EXCPT'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40012$:
 
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00004$: CMPB	(R1)+,#^X00
	BNEQ	00005$
	MOVB	#^A/ /,-1(R1)
00005$: SOBGTR	R0,00004$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0003:
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/H/
	BEQL	00001$
	BRW	O$0004
00001$:
 
	CMPB	N_IN1P,N_OFF
	BEQL	00002$
	TSTB	O$OVFL
	BNEQ	00002$
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
	BRW	40000$
00002$: BRW	O$0004
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00004$: CMPB	(R1)+,#^X00
	BNEQ	00005$
	MOVB	#^A/ /,-1(R1)
00005$: SOBGTR	R0,00004$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0004:
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/E/
	BEQL	00001$
	BRW	O$0005
00001$:
	TSTL	R6
	BEQL	00002$
	BRW	O$0005
00002$:
 
	CMPB	N_IN01,N_OFF
	BEQL	00003$
	TSTB	O$OVFL
	BNEQ	00003$
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
	BRW	40000$
00003$: BRW	O$0005
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0009,R8
	MOVAL   A00001,R7
	MOVAL   N$FILE_02_REC_BUF+0009,R9
	MOVL    #0009,R10
	SUBL2   R10,R9
	MOVC3	R8,(R7),(R9)
40001$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0009,R8
	MOVAL   A00002,R7
	MOVAL   N$FILE_02_REC_BUF+0020,R9
	MOVL    #0009,R10
	SUBL2   R10,R9
	PUSHL	R9
	PUSHL	R8
	PUSHL	R7
	PUSHL	R8
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	MOVB	#^A/ /,R1
	MOVL	#0,R3
	CLRL	R2
	MOVAL	N$FILE_02_REC_BUF,R0
	PUSHAL	N$DATE_PRINT_CTL
	PUSHL	R0
	PUSHL	R1
	PUSHL	R2
	PUSHL	R3
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$EDIT_OUTPUT_FLD
40002$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0009,R8
	MOVAL   A00003,R7
	MOVAL   N$FILE_02_REC_BUF+0031,R9
	MOVL    #0009,R10
	SUBL2   R10,R9
	PUSHL	R9
	PUSHL	R8
	PUSHL	R7
	PUSHL	R8
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	MOVB	#^A/ /,R1
	MOVL	#0,R3
	CLRL	R2
	MOVAL	N$FILE_02_REC_BUF,R0
	PUSHAL	N$DATE_PRINT_CTL
	PUSHL	R0
	PUSHL	R1
	PUSHL	R2
	PUSHL	R3
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$EDIT_OUTPUT_FLD
40003$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0009,R8
	MOVAL   A00004,R7
	MOVAL   N$FILE_02_REC_BUF+0042,R9
	MOVL    #0009,R10
	SUBL2   R10,R9
	PUSHL	R9
	PUSHL	R8
	PUSHL	R7
	PUSHL	R8
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	MOVB	#^A/ /,R1
	MOVL	#0,R3
	CLRL	R2
	MOVAL	N$FILE_02_REC_BUF,R0
	PUSHAL	N$DATE_PRINT_CTL
	PUSHL	R0
	PUSHL	R1
	PUSHL	R2
	PUSHL	R3
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$EDIT_OUTPUT_FLD
40004$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN11,N_OFF
	BEQL	40005$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40006$,N$FILE_02_REC_BUF+0051
	BRB	40005$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40006$: .ASCIZ '11'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40005$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN11,N_OFF
	BNEQ	40007$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40008$,N$FILE_02_REC_BUF+0050
	BRB	40007$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40008$: .ASCIZ 'N11'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40007$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN12,N_OFF
	BEQL	40010$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40011$,N$FILE_02_REC_BUF+0056
	BRB	40010$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40011$: .ASCIZ '12'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40010$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN12,N_OFF
	BNEQ	40012$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40013$,N$FILE_02_REC_BUF+0055
	BRB	40012$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40013$: .ASCIZ 'N12'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40012$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN13,N_OFF
	BEQL	40014$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40015$,N$FILE_02_REC_BUF+0061
	BRB	40014$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40015$: .ASCIZ '13'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40014$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN13,N_OFF
	BNEQ	40016$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40017$,N$FILE_02_REC_BUF+0060
	BRB	40016$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40017$: .ASCIZ 'N13'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40016$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN21,N_OFF
	BEQL	40018$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40020$,N$FILE_02_REC_BUF+0066
	BRB	40018$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40020$: .ASCIZ '21'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40018$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN21,N_OFF
	BNEQ	40021$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40022$,N$FILE_02_REC_BUF+0065
	BRB	40021$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40022$: .ASCIZ 'N21'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40021$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN22,N_OFF
	BEQL	40023$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40024$,N$FILE_02_REC_BUF+0071
	BRB	40023$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40024$: .ASCIZ '22'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40023$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN22,N_OFF
	BNEQ	40025$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40026$,N$FILE_02_REC_BUF+0070
	BRB	40025$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40026$: .ASCIZ 'N22'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40025$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN23,N_OFF
	BEQL	40027$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40028$,N$FILE_02_REC_BUF+0076
	BRB	40027$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40028$: .ASCIZ '23'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40027$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN23,N_OFF
	BNEQ	40030$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40031$,N$FILE_02_REC_BUF+0075
	BRB	40030$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40031$: .ASCIZ 'N23'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40030$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN33,N_OFF
	BEQL	40032$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40033$,N$FILE_02_REC_BUF+0081
	BRB	40032$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40033$: .ASCIZ '33'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40032$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN33,N_OFF
	BNEQ	40034$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40035$,N$FILE_02_REC_BUF+0080
	BRB	40034$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40035$: .ASCIZ 'N33'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40034$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0003,R8
	MOVAL   A00006,R7
	MOVAL   N$FILE_02_REC_BUF+0094,R9
	MOVL    #0003,R10
	SUBL2   R10,R9
	PUSHL	R9
	PUSHL	R8
	PUSHL	R7
	PUSHL	R8
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	MOVB	#^A/ /,R1
	MOVL	#0,R3
	CLRL	R2
	MOVAL	N$FILE_02_REC_BUF,R0
	PUSHAL	N$DATE_PRINT_CTL
	PUSHL	R0
	PUSHL	R1
	PUSHL	R2
	PUSHL	R3
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$EDIT_OUTPUT_FLD
40036$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0001,R8
	MOVAL   A00007,R7
	MOVAL   N$FILE_02_REC_BUF+0101,R9
	MOVL    #0001,R10
	SUBL2   R10,R9
	MOVC3	R8,(R7),(R9)
40037$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN10,N_OFF
	BEQL	40038$
	MOVB	N_ON,N_INFD
	MOVC3	#0002,40040$,N$FILE_02_REC_BUF+0104
	BRB	40038$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40040$: .ASCIZ '10'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40038$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN10,N_OFF
	BNEQ	40041$
	MOVB	N_ON,N_INFD
	MOVC3	#0003,40042$,N$FILE_02_REC_BUF+0103
	BRB	40041$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40042$: .ASCIZ 'N10'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40041$:
 
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00005$: CMPB	(R1)+,#^X00
	BNEQ	00006$
	MOVB	#^A/ /,-1(R1)
00006$: SOBGTR	R0,00005$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0005:
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/T/
	BEQL	00001$
	BRW	O$0006
00001$:
 
	MOVB	#0,SPACE_BEFORE
	MOVB	#1,SPACE_AFTER
	MOVB	#000,SKIP_BEFORE
	MOVB	#000,SKIP_AFTER
	MOVB	#000,O$FETO
40000$:
	MOVB	N_ON,N_INHD
	MOVB	SKIP_BEFORE,R4
	MOVB	SPACE_BEFORE,R5
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_BEFORE
	MOVAL	N$FILE_02_REC_BUF,R0
	MOVL	#0132,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVAL	FILE_02_RAB,R7
	MOVW	#FILE_02_REC_SIZ,RAB$W_RSZ(R7)
	MOVAL	N$FILE_02_REC_BUF,R1
	MOVL	#FILE_02_REC_SIZ,R0
00004$: CMPB	(R1)+,#^X00
	BNEQ	00005$
	MOVB	#^A/ /,-1(R1)
00005$: SOBGTR	R0,00004$
	PUSHL	R7
	CALLS	#1,G^S3X$WRITE
	CLRB	F$CB02
	MOVB	SKIP_AFTER,R4
	MOVB	SPACE_AFTER,R5
	CLRL	R2
	PUSHAL	FILE_02_RAB
	PUSHL	R5
	PUSHL	R4
	PUSHAL	FILE_02_PRT_CTL_BLK
	CALLS	#4,G^S3X$SPACE_AFTER
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0006:
	RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
N$TRANSLATE_TBL:
	.BYTE   -1
W$NUMA:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMB:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMC:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMD:  .BLKB    16   ;NUMERIC WORK AREA
W$NUME:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMF:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMG:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMH:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMI:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMJ:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMK:  .BLKB    16   ;NUMERIC WORK AREA
W$NUML:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMM:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMN:  .BLKB    16   ;NUMERIC WORK AREA
W$SLCD: .BYTE   0
HGH:  .ASCII	'0'
LOW:  .ASCII	'0'
EQL:  .ASCII	'0'
W$MSW:  .BYTE   0
W$SWIT: .BYTE   0
W$FSCL: .BYTE   0
W$FSCY: .BYTE   0
W$FSLR: .BYTE   0
W$FRCE: .BYTE   0
W$RIND: .BYTE   0  ;CURRENT REC IND
W$ZERP: .BYTE   ^X0C
N$ALTERNATE_SEQUENCE_TBL:
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
MATCH_FLAG01:	.BYTE	0
W$SQTB:
	.BYTE   -1
W$MRSY:  .BLKB  0001
W$MRWK:  .BLKB  0001
F$MR01:  .BLKB   0001
F$MS01:  .BLKB   0001
W$MRTB:
	.LONG   0001
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.BYTE   -1
W$LRWK:  .BLKB  0001
F$LR01:  .BLKB   0001
W$LRTB:
	.LONG   0001
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.BYTE   -1
W$ADSC:
A$DS__: .LONG  ^A/A/,N_IN__,0001,0099,^A/ A/,099
      .ASCII  /*IN   /
	.BYTE     -1
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
A00001:  .BLKB  0009
A00002:  .BLKB  0005
A00003:  .BLKB  0005
A00004:  .BLKB  0005
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$INITIALIZE: .JSB32_ENTRY
	PUSHAL	N$ALTERNATE_SEQUENCE_TBL
	PUSHAL	UDATE
	PUSHAL	N_INU1
	PUSHAL	N_INKA
	PUSHAL	N_INOA
	PUSHAL	N_INL1
	PUSHAL	N_IN01
	CALLS	#7,G^S3X$INITIALIZE_COMMON
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
N$INITIALIZE_FLDS: .JSB32_ENTRY
	 MOVC5	#0,#0,#^A/0/,#0006,UDATE 
	 MOVC5	#0,#0,#^A/0/,#0002,UMONTH
	 MOVC5	#0,#0,#^A/0/,#0002,UDAY  
	 MOVC5	#0,#0,#^A/0/,#0002,UYEAR 
	 MOVC5	#0,#0,#NULL,#0004,PAGE  
	 MOVC5	#0,#0,#NULL,#0004,PAGE1 
	 MOVC5	#0,#0,#NULL,#0004,PAGE2 
	 MOVC5	#0,#0,#NULL,#0004,PAGE3 
	 MOVC5	#0,#0,#NULL,#0004,PAGE4 
	 MOVC5	#0,#0,#NULL,#0004,PAGE5 
	 MOVC5	#0,#0,#NULL,#0004,PAGE6 
	 MOVC5	#0,#0,#NULL,#0004,PAGE7 
	 MOVC5	#0,#0,#BLANK,#0008,$STAT$
	 MOVC5	#0,#0,#BLANK,#0009,A00001
	 MOVC5	#0,#0,#NULL,#0005,A00002
	 MOVC5	#0,#0,#NULL,#0005,A00003
	 MOVC5	#0,#0,#NULL,#0005,A00004
	 MOVC5	#0,#0,#NULL,#0002,A00006
	 MOVC5	#0,#0,#BLANK,#0001,A00007
	 MOVC5	#0,#0,#BLANK,#0009,P00002
	 MOVC5	#0,#0,#BLANK,#0004,P00004
	 MOVC5	#0,#0,#BLANK,#0003,P00005
	 RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
A00005:	.ADDRESS _PROG5A
L$0001:  .ASCII '1'
L$0002:  .BYTE   ^B00011100
A00006:  .BYTE   ^B00000000
         .BYTE   ^B00001100
L$0003:  .ASCII 'A'
A00007:  .ASCII ' '
L$0004:  .ASCII 'B'
L$0005:  .ASCII 'C'
L$0006:  .ASCII 'D'
L$0007:  .ASCII 'E'
P00002:  .ASCII '         '
P00004:  .ASCII '    '
P00005:  .ASCII '   '
N_SCREEN_SPEC_TBL:
F$SBUF:
F$SSIZ:  .LONG  0
SAV_STK:	.LONG	0
RPG_STATUS:	.LONG	0	;Program exit status
N_EXCPT:	.LONG	0	;Exception INFSR call flg
N_FUN:		.LONG	0	;Exception handling ind
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
.IF DEFINED VAX
	.ENTRY	_MASTER5,^M<>
.ENDC
.IF DEFINED ALPHA
_MASTER5:: .CALL_ENTRY -
		MAX_ARGS=0000+PARM_EXTEND, -
		HOME_ARGS=TRUE
.ENDC
	MOVL	#1,RPG_STATUS
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP01:
	MOVB	N_OFF,N_INRT
	CLRL	N$NUMBER_OF_ARGUMENTS
	CALLS	#0,G^S3X$CONNECT_CRT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP02:
	JSB	N$INITIALIZE
	BLBC	R0,20$
	TSTL	4(AP)
	BEQL	20$
	TSTB	N$PROG_ACTIVE
	BNEQ	10$
	CALLS	#0,G^S3X$DETACH_CRT
	MOVL	#2,R0
	RET
  10$:	MOVB	#1,N$FREE_FLG
	BRW	STEP37
  20$:	TSTB	N$PROG_ACTIVE
	BEQL	30$
	BRW	STEP05
  30$:	MOVB	#1,N$PROG_ACTIVE
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP03:
	JSB	N$INITIALIZE_FLDS
	MOVAL	N_IN01,R0
00001$:	MOVB	#^A/0/,(R0)+
	CMPB	(R0),#-1
	BNEQ	00001$
	MOVB	N_ON,N_IN1P
	MOVB	N_ON,N_INL0
	PUSHL	#0
	PUSHAL	N$DATE_PRINT_CTL
	CALLS	#2,G^S3X$READ_EXTERNAL_IND_DATE_FILE
	PUSHAL	W$ADSC
	CALLS	#1,G^S3X$INIT_ARYS
 
	MOVAL	FILE_01_FAB,R6
	MOVAL	FILE_01_RAB,R7
	CLRL	R0
	PUSHL	R0
	PUSHL   R1
	PUSHL   R8
	PUSHL   R7
	PUSHL   R6
	CALLS	#5,G^S3X$OPEN_FILE	;CALL    
 
	MOVAL	FILE_02_FAB,R6
	MOVAL	FILE_02_RAB,R7
	PUSHL	R8
       PUSHL   R7
       PUSHL   R6
	CALLS	#3,G^S3X$CREATE_FILE	;REPORT  
 
	MOVAL	W$MRTB,R6		;Ctl tbl addr
	MOVL	(R6),R7			;Entry len
	MOVC5	#0,#0,#^X0,R7,F$MR01	;Init fld ascending
	PUSHL	R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$MRTB,R6		;Ctl tbl addr
	MOVC5	#0,#0,#^X0,R7,F$MS01	;Init fld ascending
	PUSHL	R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$LRTB,R6		;Ctl tbl addr
	MOVL	(R6),R7			;Entry len
	MOVC5	#0,#0,#^X0,R7,F$LR01	;Init fld ascending
	PUSHL	R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
	MOVAL	W$MRTB,R6		;Ctl tbl addr
	MOVL	(R6),R7			;Entry len
	MOVC5	#0,#0,#^X0,R7,W$MRWK	;Init fld ascending
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$MRTB,R6
	MOVC5	#0,#0,#^X0,R7,W$MRSY
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$LRTB,R6
	MOVL	(R6),R7
	MOVC5	#0,#0,#^X0,R7,W$LRWK
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP04:
	MOVB	#^A/H/,N$OUTPUT_CTL
	MOVB	#1,N$DETAIL_FLG
	JSB	G^N$OUTPUT
	CLRB	N$DETAIL_FLG
	MOVB	#^A/D/,N$OUTPUT_CTL
	MOVB	#1,N$DETAIL_FLG
	JSB	G^N$OUTPUT
	CLRB	N$DETAIL_FLG
	MOVL	SP,SAV_STK
	MOVAL	N_INOA,R1
	MOVL	#7,R0
  10$:	CMPB	(R1),N_OFF
	BEQL	20$
	CMPB	(R1),#^A/2/
	BLSS	15$
	MOVB	#^A/2/,(R1)
	TSTB	N$FETCH_OVERFLOW_FLG
	BNEQ	15$
	MOVB	#2,N$FETCH_OVERFLOW_FLG
 15$:	DECB	(R1)
 20$:	INCL	R1
	SOBGTR	R0,10$
	TSTB	N$FETCH_OVERFLOW_FLG
	BEQL	STEP05
	DECB	N$FETCH_OVERFLOW_FLG
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP05:
	MOVB	#^A/0/,922$
	MOVAL	N_INH1,R2
	MOVL	#9,R1
  10$:	INCB	922$
	CMPB	(R2),N_OFF
	BEQL	30$
	PUSHL	R2
	PUSHAL	920$
	CALLS	#1,G^S3X$HALT10
	BLBC	R0,STEP06
	POPL	R2
  30$:	MOVB	N_OFF,(R2)
	INCL	R2
	SOBGTR	R1,10$
	JMP	STEP08
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  920$:	.ASCII	/RPG HALT NUMBER /
  922$:	.ASCIZ	/0/
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP06:
	CLRL	(SP)+
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP07:
	JMP	STEP37
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP08:
	MOVQ	#^A/00000000/,N_INL1
	MOVB	N_OFF,N_INL9
	MOVB	N_OFF,N_IN1P
	MOVB	N_OFF,N_IN01
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP09:
	CMPB	N_INLR,N_ON
	BNEQ	STEP11
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP10:
  	MOVQ	#^A/11111111/,N_INL1
	MOVB	N_ON,N_INL9
	JMP	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP11:
	CMPB	N_INRT,N_ON
	BEQL	STEP12
	JMP	STEP14
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP12:	;Return *ENTRY PLIST parms if present
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP13:	;Return immediately to caller
  20$:	CALLS	#0,G^S3X$DETACH_CRT
	MOVL	#1,R0
	RET
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP14:
	CMPB	F$IO01,#1
	BNEQ	00004$
	BRW	00005$
00004$:	CMPB	F$IO01,#2
	BEQL	00003$
	MOVB	#1,F$IO01
00002$:	TSTB	EOF_01_FLG
	BNEQ	00005$
	CLRL	N_FUN
	MOVAL	FILE_01_RAB,R7
	CLRL	R10
	MOVB	#RAB$C_SEQ,RAB$B_RAC(R7)
	JSB	G^N$READ_FILE_01
	BLBC	R0,00005$
00003$:	JSB	G^N$IDENTIFY_REC_FROM_FILE_01
	BLBS	R0,00002$
00005$:
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP15:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP20:
	MOVB	W$FRCE,W$SLCD
	CLRB	W$FRCE
	CMPB	W$SLCD,#01
	BNEQ	00007$
	TSTB	EOF_01_FLG
	BNEQ	00006$
	JMP	STEP24
00006$: JMP	STEP22
00007$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP22: CLRB	W$SLCD
	TSTB	EOF_01_FLG
	BNEQ	00008$
	TSTB	F$MR01
	BNEQ	00008$
	MOVB	#01,W$SLCD
	JMP	STEP24
00008$:
 
	MOVAL	W$MRTB,R6		;Ctl tbl addr
	MOVL	(R6),R7			;Entry len
	MOVC5	#0,#0,#^X0,R7,W$MRWK	;Init fld ascending
       PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
	CLRB	W$MSW
	TSTB	EOF_01_FLG
	BNEQ	00011$
	TSTB	W$MSW
	BEQL	00010$
	MOVL	W$MRTB,R0
	MOVAL	F$MR01,R9
	MOVL 	R0,R8
	MOVAL	W$MRWK,R7
	MOVL	R0,R6
	PUSHAL	HGH
	PUSHAL	LOW
	PUSHAL	EQL
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_ALPHAMERIC
	CMPB	HGH,N_ON
	BEQL	00011$
	CMPB	EQL,N_ON
	BEQL	00011$
00010$: MOVL	W$MRTB,R7
	MOVC3	R7,F$MR01,W$MRWK
	MOVB	#01,W$SLCD
	MOVB	#1,W$MSW
00011$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP24:
	CMPB	W$SLCD,#01
	BNEQ	00012$
	CLRB	F$IO01
00012$:
	TSTB	EOF_01_FLG
	BNEQ	00013$
	JMP	STEP26
00013$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
CAN_CL:
	MOVL	SP,SAV_STK
	MOVB	N_ON,N_INLR
	MOVB	N_ON,N_INL9
	MOVQ	#^A/11111111/,N_INL1
	JMP	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP26:
	CLRL	R10
	CLRL	R6
	CMPB	W$SLCD,#01
	BNEQ	00001$
	CMPB	F$TY01,#001
	BNEQ	00001$
	MOVB	N_ON,N_IN01
	MOVB	#01,R10
	MOVB	#001,R6
	MOVAL	F$LR01,R8
	JMP	STEP27
00001$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP27:
	TSTB	R10
	BNEQ	20$
	BRW	STEP29
 
  20$:	PUSHL	R6
	PUSHAL	N$EXTRACT_CONTROL_FLD_FLG
	PUSHL	R8
	PUSHAL	W$LRTB
	PUSHL	R10
	CALLS	#5,G^S3X$EXTRACT_CTL_FLDS
	MOVAL	W$LRWK,R7
	MOVAL	W$LRTB,R9
	PUSHAL	W$LRTB
	PUSHL	R8
	PUSHAL	W$LRWK
	PUSHL	R6
	PUSHL	R10
	CALLS	#5,G^S3X$CHK_LEVEL_BRK
	TSTB	R0
	BNEQ	STEP28
	BRW	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP28:
	CMPB	R0,#9
	BEQL	2$
	CMPB	R0,#8
	BEQL	3$
	CMPB	R0,#7
	BEQL	4$
	CMPB	R0,#6
	BEQL	5$
	CMPB	R0,#5
	BEQL	6$
	CMPB	R0,#4
	BEQL	7$
	CMPB	R0,#3
	BEQL	8$
	CMPB	R0,#2
	BEQL	9$
	BRB	10$
 
  2$:	MOVB	N_ON,N_INL9
  3$:	MOVB	N_ON,N_INL8
  4$:	MOVB	N_ON,N_INL7
  5$:	MOVB	N_ON,N_INL6
  6$:	MOVB	N_ON,N_INL5
  7$:	MOVB	N_ON,N_INL4
  8$:	MOVB	N_ON,N_INL3
  9$:	MOVB	N_ON,N_INL2
  10$:	MOVB	N_ON,N_INL1
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP29:
	CMPB	N_INLR,N_OFF
	BNEQ	10$
	TSTB	W$FSLR
	BNEQ	10$
	MOVB	#1,W$FSLR
	JMP	STEP32
  10$:	MOVL	SP,SAV_STK
	JMP	C$TOT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$TOTX: MOVB	#^A/T/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP32:
	CMPB	N_INLR,N_ON
	BEQL	STEP33
	JMP	STEP40
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP33:
	MOVB	#^A/0/,902$
	MOVAL	N_INH1,R2
	MOVL	#9,R1
 
  2$:	INCB	902$
	CMPB	(R2),N_OFF
	BEQL	10$
 
  4$:	PUSHAL	900$
	CALLS	#1,G^S3X$HALT10
	BLBS	R0,10$
	JMP	STEP34
 
  10$:	MOVB	N_OFF,(R2)
	INCL	R2
	SOBGTR	R1,2$
	JMP	STEP34
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  900$:	.ASCII	#RPG HALT NUMBER #
  902$:	.ASCIZ	#X#
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP34:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP36:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
	CALLS	#0,G^S3X$WRITE_EXTERNAL_IND_DATE_FIL
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP37:
	CLRB	N$PROG_ACTIVE
	JSB	G^N$CLOSE_FILES
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP38:
	CALLS	#0,G^S3X$DETACH_CRT
	PUSHAL	W$SQTB
	CALLS	#1,G^S3X$SEQ_CHK_EOJ
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP39:
	CMPL	RPG_STATUS,#2
	BEQL	100$
	CMPL	N_INH1,#^A/0000/
	BNEQ	20$
	CMPL	N_INH5,#^A/0000/
	BNEQ	20$
	CMPB	N_INH9,#^A/0/
	BEQL	100$
  20$:
	PUSHAL	900$
	CALLS	#1,G^LIB$PUT_OUTPUT
	MOVL	#0,RPG_STATUS
  100$:	MOVL	#1,R1
	CMPB	N_INLR,N_ON
	BNEQ	500$
	CLRL	R1
  500$:	MOVL	RPG_STATUS,R0
	RET
 
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  900$:	.ASCID	\WARNING - Program exited with Halt indicator set - MASTER5\
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP40:
	MOVAL	N_INOA,R0
	CMPL	(R0)+,#^A/0000/
	BNEQ	2$
	CMPL	(R0),#^A/0000/
	BNEQ	2$
	BRW	10$
  2$:
	MOVAL	FILE_02_PRT_CTL_BLK,R3
	CMPB	PRLCT(R3),LSLCT(R3)
	BGEQ	4$
	BRW	10$
  4$:	INCB	O$OVFL
	MOVB	#^A/T/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	MOVB	#^A/H/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	MOVB	#^A/D/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	O$OVFL
	MOVB	#1,N$FETCH_OVERFLOW_FLG
  10$:
	MOVAL	FILE_02_PRT_CTL_BLK,R3
	MOVB	PRLCT(R3),LSLCT(R3)
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP42: MOVB	N_OFF,N_INMR
	CLRB	W$MSW
	MOVL	W$MRTB,R7
	CMPB	W$SLCD,#01
	BNEQ	90002$
	TSTB	F$MR01
	BEQL	90002$
	MOVC3	R7,F$MR01,W$MRSY
	MOVB	#1,W$MSW
90002$:
	JMP	STEP43
90004$: MOVB	N_ON,N_INMR
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP43:
	CMPB	W$SLCD,#01
	BNEQ	00001$
	JSB	G^N$MOVE_DATA_TO_FLDS_FOR_FILE_01
00001$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP46:
	MOVL	SP,SAV_STK
	MOVB	#1,N$DETAIL_FLG
	JMP	C$DET
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$DETX:
	CLRB	N$DETAIL_FLG
	JMP	STEP04
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$MOVE_DATA_TO_FLDS_FOR_FILE_01: .JSB32_ENTRY
	CMPB	REC_ID_FLG_01,#01
	BNEQ	00001$
	JMP	80000$
00001$:
	JMP	90000$
80000$:
 
	;ALPHA 
 
	MOVC3	#0009,N$FILE_01_REC_BUF+0001-1,A00001
 
	;ZONED 
 
	MOVL	#0009,R0
	MOVAL	N$FILE_01_REC_BUF+0010-1,R1
	MOVL	R0,R2
	MOVAL	A00002,R3
	PUSHL   R3
	PUSHL   R2
	PUSHL   R1
	PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
 
	;PACKED
 
	MOVL	#0009,R0
	MOVAL	N$FILE_01_REC_BUF+0019-1,R1
	MOVAL	A00003,R2
	PUSHL	R2
	PUSHL   R1
	PUSHL   R0
	CALLS	#3,G^S3X$MOV_PACKED
 
	;BINARY
 
	CVTLP	N$FILE_01_REC_BUF+0024-1,#0009,A00004
90000$:
	BRW	N$END_OF_INPUT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$END_OF_INPUT:
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$SETOF_REC_INDS: .JSB32_ENTRY
	CMPB	W$SLCD,#01
	BEQL	00001$
	JMP	00002$
00001$:
	MOVB	N_OFF,N_IN01
00002$:
	RSB
	.END	_MASTER5
 | 
|  | Date:	19-MAR-1997 16:27:43.27
From:	SMTP%"[email protected]"
Subj:	Original Problem Report - TSTKEY
To:
mail11:;@[email protected]@digital.com;@[email protected]
ec.com;; (@macro)
CC:	[email protected]
2249 records, external message id MAIL$180AEF3F0005009B.MAI
Attributes: None
Return-Path: [email protected]
Received: by asimov.mro.dec.com (UCX V4.1-12, OpenVMS V6.2 VAX);
	Wed, 19 Mar 1997 16:27:38 -0500
Received: from pobox1.pa.dec.com by fluid.mro.dec.com
(5.65v4.0/1.1.8.2/19Nov96-0448PM)
	id AA25719; Wed, 19 Mar 1997 16:27:51 -0500
Received: by pobox1.pa.dec.com; id AA07314; Wed, 19 Mar 97 13:27:51 -0800
Received: from us3rmc.pa.dec.com by mail2.digital.com (5.65 EXP 4/12/95 for
V3.2/1.0/WV)
	id AA18163; Wed, 19 Mar 1997 13:21:51 -0800
Received: from isvnet.enet by us3rmc.pa.dec.com (5.65/rmc-22feb94)
	id AA16544; Wed, 19 Mar 97 13:21:45 -0800
Message-Id: <[email protected]>
Received: from isvnet.enet; by us3rmc.enet; Wed, 19 Mar 97 13:21:47 PST
Date: Wed, 19 Mar 97 13:21:47 PST
From: Moving yesterday's software into tomorrow.  19-Mar-1997 1628
<[email protected]>
To:
mail11:;@[email protected]@digital.com;@[email protected]
ec.com;; (@macro)
Cc: [email protected]
Apparently-To: [email protected]
Subject: Original Problem Report - TSTKEY
From:	ISVNET::MSI "Moving yesterday's software into tomorrow.  07-Mar-1997
2240"  7-MAR-1997 22:41:14.42
To:	@MARVIN_DAVIS
CC:	MSI
Subj:	Problem with Macro-32 compiler on Alpha
Dear Marvin,
The attached Macro-32 program appears to cause the Macro-32 compiler on the
Alpha some trouble.  Can you give me any idea what the problem might be?
The program is being compiled with the following command:
	  MACRO -
	    /NODIAG -
	    /NOLIST -
	    /MIGRATE -
	    /UNALIGN -
	    /WARN=NOINFO -
	    /OBJECT=TSTKEY -
		SYS$LIBRARY:ARCH_DEFS.MAR + []TSTKEY.MAR
Thanks,
Bruce C.
  Attn: Mr. Bruce Claremont
  Migration Specialties International - ASAP Organization
  496 Manchester Drive
  Florissant, CO   80816-9255
  Phone:	(719)687-9196
  Fax:	  	(719)687-8747
  Internet:	[email protected]
	.TITLE  TSTKEY
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
	.ASCII  'Version: 6.2   Distribution Date: 11-JAN-1997  '
	.ASCII	' 7-MAR-1997 19:27:12  '
 
	$DSCDEF
 
	BLANK	= ^X20
	NULL	= ^X00
 
N_OFF:		.ASCII	'0'
N_ON:		.ASCII	'1'
 
N_HALT10_MSG_01: .ASCIZ	'RTS-HLT1001 - Unidentified record type'
N_HALT10_MSG_02: .ASCIZ	'RTS-HLT1002 - Error occurred during an I/O operation to
a SPECIAL device file'
 
TMPBYT1:	.BYTE	0
N$DETAIL_FLG:			.BYTE	0
N$EXTRACT_CONTROL_FLD_FLG:	.BYTE	0
N$FETCH_OVERFLOW_FLG:		.BYTE	0
N$FREE_FLG:			.BYTE	0
N$INVALID_PARAMETER:		.BYTE	0
N$NUMBER_OF_ARGUMENTS:		.LONG	0
N$TEMP_ADDR:			.LONG	0
N$TEMP_SIZE:			.LONG	0
N$OUTPUT_CTL:			.BYTE	0
N$PARAMETER_POINTER:		.LONG	0
N$PROG_ACTIVE:			.BYTE	0
PAGE:	.LONG	0
PAGE1:	.LONG	0
PAGE2:	.LONG	0
PAGE3:	.LONG	0
PAGE4:	.LONG	0
PAGE5:	.LONG	0
PAGE6:	.LONG	0
PAGE7:	.LONG	0
V51_HIGH:	.ASCII	'0'
V51_LOW:	.ASCII	'0'
V51_EQUAL:	.ASCII	'0'
UDATE:		.ASCII	'000000'
UMONTH:	.ASCII	'00'
UDAY:		.ASCII	'00'
UYEAR:		.ASCII	'00'
N$DUMMY_IND:	.ASCII	'0'
$STAT$:	.ASCII	'        '
 
N_INHD:	.ASCII	'0'	;'*' indicator output header
N_INFD:	.ASCII	'0'	;'*' indicator output field
N_IN00:	.ASCII	'0'	;'*' indicator calc
N_IN__:	;Internal indicator array label.
N_IN01:	.ASCII	'0'
N_IN02:	.ASCII	'0'
N_IN03:	.ASCII	'0'
N_IN04:	.ASCII	'0'
N_IN05:	.ASCII	'0'
N_IN06:	.ASCII	'0'
N_IN07:	.ASCII	'0'
N_IN08:	.ASCII	'0'
N_IN09:	.ASCII	'0'
N_IN10:	.ASCII	'0'
N_IN11:	.ASCII	'0'
N_IN12:	.ASCII	'0'
N_IN13:	.ASCII	'0'
N_IN14:	.ASCII	'0'
N_IN15:	.ASCII	'0'
N_IN16:	.ASCII	'0'
N_IN17:	.ASCII	'0'
N_IN18:	.ASCII	'0'
N_IN19:	.ASCII	'0'
N_IN20:	.ASCII	'0'
N_IN21:	.ASCII	'0'
N_IN22:	.ASCII	'0'
N_IN23:	.ASCII	'0'
N_IN24:	.ASCII	'0'
N_IN25:	.ASCII	'0'
N_IN26:	.ASCII	'0'
N_IN27:	.ASCII	'0'
N_IN28:	.ASCII	'0'
N_IN29:	.ASCII	'0'
N_IN30:	.ASCII	'0'
N_IN31:	.ASCII	'0'
N_IN32:	.ASCII	'0'
N_IN33:	.ASCII	'0'
N_IN34:	.ASCII	'0'
N_IN35:	.ASCII	'0'
N_IN36:	.ASCII	'0'
N_IN37:	.ASCII	'0'
N_IN38:	.ASCII	'0'
N_IN39:	.ASCII	'0'
N_IN40:	.ASCII	'0'
N_IN41:	.ASCII	'0'
N_IN42:	.ASCII	'0'
N_IN43:	.ASCII	'0'
N_IN44:	.ASCII	'0'
N_IN45:	.ASCII	'0'
N_IN46:	.ASCII	'0'
N_IN47:	.ASCII	'0'
N_IN48:	.ASCII	'0'
N_IN49:	.ASCII	'0'
N_IN50:	.ASCII	'0'
N_IN51:	.ASCII	'0'
N_IN52:	.ASCII	'0'
N_IN53:	.ASCII	'0'
N_IN54:	.ASCII	'0'
N_IN55:	.ASCII	'0'
N_IN56:	.ASCII	'0'
N_IN57:	.ASCII	'0'
N_IN58:	.ASCII	'0'
N_IN59:	.ASCII	'0'
N_IN60:	.ASCII	'0'
N_IN61:	.ASCII	'0'
N_IN62:	.ASCII	'0'
N_IN63:	.ASCII	'0'
N_IN64:	.ASCII	'0'
N_IN65:	.ASCII	'0'
N_IN66:	.ASCII	'0'
N_IN67:	.ASCII	'0'
N_IN68:	.ASCII	'0'
N_IN69:	.ASCII	'0'
N_IN70:	.ASCII	'0'
N_IN71:	.ASCII	'0'
N_IN72:	.ASCII	'0'
N_IN73:	.ASCII	'0'
N_IN74:	.ASCII	'0'
N_IN75:	.ASCII	'0'
N_IN76:	.ASCII	'0'
N_IN77:	.ASCII	'0'
N_IN78:	.ASCII	'0'
N_IN79:	.ASCII	'0'
N_IN80:	.ASCII	'0'
N_IN81:	.ASCII	'0'
N_IN82:	.ASCII	'0'
N_IN83:	.ASCII	'0'
N_IN84:	.ASCII	'0'
N_IN85:	.ASCII	'0'
N_IN86:	.ASCII	'0'
N_IN87:	.ASCII	'0'
N_IN88:	.ASCII	'0'
N_IN89:	.ASCII	'0'
N_IN90:	.ASCII	'0'
N_IN91:	.ASCII	'0'
N_IN92:	.ASCII	'0'
N_IN93:	.ASCII	'0'
N_IN94:	.ASCII	'0'
N_IN95:	.ASCII	'0'
N_IN96:	.ASCII	'0'
N_IN97:	.ASCII	'0'
N_IN98:	.ASCII	'0'
N_IN99:	.ASCII	'0'
N_INXX:	.ASCII	'0'
N_INL1:	.ASCII	'0'
N_INL2:	.ASCII	'0'
N_INL3:	.ASCII	'0'
N_INL4:	.ASCII	'0'
N_INL5:	.ASCII	'0'
N_INL6:	.ASCII	'0'
N_INL7:	.ASCII	'0'
N_INL8:	.ASCII	'0'
N_INL9:	.ASCII	'0'
N_INLR:	.ASCII	'0'
N_INRT:	.ASCII	'0'
N_INH1:	.ASCII	'0'
N_INH2:	.ASCII	'0'
N_INH3:	.ASCII	'0'
N_INH4:	.ASCII	'0'
N_INH5:	.ASCII	'0'
N_INH6:	.ASCII	'0'
N_INH7:	.ASCII	'0'
N_INH8:	.ASCII	'0'
N_INH9:	.ASCII	'0'
N_IN1P:	.ASCII	'1'
N_INL0:	.ASCII	'0'
N_INMR:	.ASCII	'0'
N_INOA:	.ASCII	'0'
N_INOB:	.ASCII	'0'
N_INOC:	.ASCII	'0'
N_INOD:	.ASCII	'0'
N_INOE:	.ASCII	'0'
N_INOF:	.ASCII	'0'
N_INOG:	.ASCII	'0'
N_INOV:	.ASCII	'0'
N_INKA:	.ASCII	'0'
N_INKB:	.ASCII	'0'
N_INKC:	.ASCII	'0'
N_INKD:	.ASCII	'0'
N_INKE:	.ASCII	'0'
N_INKF:	.ASCII	'0'
N_INKG:	.ASCII	'0'
N_INKH:	.ASCII	'0'
N_INKI:	.ASCII	'0'
N_INKJ:	.ASCII	'0'
N_INKK:	.ASCII	'0'
N_INKL:	.ASCII	'0'
N_INKM:	.ASCII	'0'
N_INKN:	.ASCII	'0'
N_INKP:	.ASCII	'0'
N_INKQ:	.ASCII	'0'
N_INKR:	.ASCII	'0'
N_INKS:	.ASCII	'0'
N_INKT:	.ASCII	'0'
N_INKU:	.ASCII	'0'
N_INKV:	.ASCII	'0'
N_INKW:	.ASCII	'0'
N_INKX:	.ASCII	'0'
N_INKY:	.ASCII	'0'
N_INU1:	.ASCII	'0'
N_INU2:	.ASCII	'0'
N_INU3:	.ASCII	'0'
N_INU4:	.ASCII	'0'
N_INU5:	.ASCII	'0'
N_INU6:	.ASCII	'0'
N_INU7:	.ASCII	'0'
N_INU8:	.ASCII	'0'
	.BYTE	-1
N$DATE_PRINT_CTL: .ASCII /   J/
	TIMEOUT = 10
 
FILE_01_NAME:	.ASCIZ	'SCREEN  '
	.ALIGN   LONG
 
  FILE_01_REC_SIZ = 1090
  N$FILE_01_REC_BUF:	.BLKB FILE_01_REC_SIZ
 
  N$FILE_01_REC_DESC:	.WORD	 FILE_01_REC_SIZ
			.BYTE	 DSC$K_DTYPE_T
			.BYTE	 DSC$K_CLASS_S
			.ADDRESS N$FILE_01_REC_BUF
  EOF_01_FLG:		.BYTE	0	;End of file flag.
  F$TY01:		.BYTE	0,0
  REC_ID_FLG_01:	.BYTE	0
  F$IO01:		.BYTE	0	;IO CONTROL SWITCH
  F$CB01:		.BYTE	2	;COMBINED FILE IO CTL SW
  F$RF01:		.BLKB	8	;RFA SAVE SPACE
 
FILE_02_NAME:	.ASCIZ	'DEBUG   '
	.ALIGN   LONG
  FILE_02_FAB:	$FAB	FNM=<DEBUG>,-
			DNM=<.DAT>,-
			FAC=<PUT,TRN>,-
			FOP=<CBT,TEF,SQO,DFW>,-
			RFM=FIX,-
			MRS=FILE_02_REC_SIZ,-
			SHR=<GET,PUT,UPD,DEL>,-
			NAM=FILE_02_NAM
 
  FILE_02_NAM:	$NAM	RSA=N$FILE_02_NAME,-
			RSS=NAM$C_MAXRSS
 
  FILE_02_RAB:	$RAB	FAB=FILE_02_FAB,-
			RBF=N$FILE_02_REC_BUF,-
			RSZ=FILE_02_REC_SIZ,-
			TMO=TIMEOUT
 
  FILE_02_REC_SIZ = 0070
  N$FILE_02_REC_BUF:	.BLKB FILE_02_REC_SIZ
  N$FILE_02_NAME:	.BLKB	NAM$C_MAXRSS
  EOF_02_FLG:		.BYTE	0	;End of file flag.
  F$TY02:		.BYTE	0,0
  REC_ID_FLG_02:	.BYTE	0
  F$IO02:		.BYTE	0	;IO CONTROL SWITCH
  F$CB02:		.BYTE	2	;COMBINED FILE IO CTL SW
  F$RF02:		.BLKB	8	;RFA SAVE SPACE
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$CLOSE_FILES: .JSB32_ENTRY
	$CLOSE	FAB=FILE_02_FAB	;DEBUG   
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$READ_FILE_01: .JSB32_ENTRY
	MOVC5	#0,#0,#^A/ /,#FILE_01_REC_SIZ,N$FILE_01_REC_BUF
	TSTB	F$CB01
	BEQL	3$
	CMPB	F$CB01,#2
	BEQL	4$
	MOVB	#1,EOF_01_FLG
	CLRL	R0
	RSB
3$:	MOVB	#1,F$CB01
4$:
	MOVAL	EOF_01_FLG,R5
	PUSHAL	N$FILE_01_REC_DESC
	CALLS	#1,G^S3X$READ_WORKSTN
	PUSHL	R0
	PUSHAL	E$WS01
	CALLS	#1,G^S3X$INFSR_UPDATE_AFTER_READ
	MOVL	(SP)+,R0
	TSTL	N_FUN		;Ind prsnt in col 56-57?
	BEQL	190$		;No
	MOVL	N_FUN,R10
	MOVB	N_OFF,(R10)	;Clr ind
  190$:	PUSHL	R0	;Yes
	MOVL	E$WS01,R0
	CMPW	(R0),#^A/00/	;Funct key entered?
	BEQL	200$		;No
	CLRB	F$IO01		;Clear I/O flag for file.
	TSTL	N_FUN		;Ind in 56-57 prsnt?
	BEQL	210$		;No
	MOVB	N_ON,(R10)	;Yes - Set ind
  200$:	MOVL	(SP)+,R0
	RSB
  210$:	MOVL	(SP)+,R0
	JMP	N$INFSR_01	;Yes - Execute INFSR routine.
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$IDENTIFY_REC_FROM_FILE_01: .JSB32_ENTRY
	CLRB	F$TY01
	MOVB	#^A/1/,R0
	MOVB	N$FILE_01_REC_BUF+0001-1,R1
	CMPB	R0,R1
	BEQL	00001$
	JMP	 40001$
00001$:
60001$: MOVB	#099,F$TY01
	MOVB	#01,REC_ID_FLG_01
	CLRL	R0
	RSB
40001$:
60002$: MOVB	#100,F$TY01
	MOVB	#02,REC_ID_FLG_01
	CLRL	R0
	RSB
40002$:
	PUSHAL	N_HALT10_MSG_01
	CALLS	#1,G^S3X$HALT10
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$DET:
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETOF
 
	MOVB  N_OFF,N_IN54
	MOVB  N_OFF,N_IN56
	MOVB  N_OFF,N_IN58
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;READ 
 
	CLRL	N_FUN
	JSB	G^N$READ_FILE_01
	BLBS	R0,40001$
	PUSHAL	40003$
	CALLS	#1,G^S3X$HALT10
	BRW	40002$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40003$:	.ASCIZ	\END OF FILE ON SCREEN   \
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40001$:
	JSB	G^N$IDENTIFY_REC_FROM_FILE_01
	CALLS	#0,G^S3X$CLR_CMDKEY_INDICATORS
	CALLS	#0,G^S3X$SET_CMDKEY_INDICATOR
	MOVAL	F$TY01,R5
	MOVAL	N_IN__,R1
	PUSHL	R5
	CALLS	#1,G^S3X$SETON_IND
	TSTL	N_FUN		;Ind pres in 56-57?
	BEQL	40004$		;No
	MOVL	N_FUN,R10	;Y - Chk it.  If set, do
	CMPB	(R10),N_ON	;not mov input buf to flds
	BEQL	40005$
40004$:
	JSB	G^N$MOVE_DATA_TO_FLDS_FOR_FILE_01
40005$:
40002$:
	MOVB	N_OFF,N_IN00
	CMPB	N_IN99,N_OFF
	BEQL	00000$
	CMPB	N_IN54,N_OFF
	BNEQ	00000$
	BRB	00001$
00000$:
	BRW	00002$
00001$:
 
	  ;EXSR 
 
	JSB	B$0001
	MOVB	N_ON,N_IN00
00002$:
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	MOVAL	Z$0001,R6
	MOVB	#1,(R6)
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVAL	Z$0001,R6
	CLRB	(R6)
	MOVB	N_OFF,N_IN00
	CMPB	N_INKG,N_OFF
	BEQL	00003$
	BRB	00004$
00003$:
	BRW	00005$
00004$:
	MOVB	N_ON,N_IN00
 
	  ;SETON
 
	MOVB	N_ON,N_INLR
00005$:
	JMP    C$DETX
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$TOT:
	JMP    C$TOTX
 
	  ;BEGSR
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
B$0001: .JSB32_ENTRY
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;SETON
 
	MOVB	N_ON,N_IN54
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0001,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN01	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0002,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN02	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0003,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN03	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0004,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN04	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0005,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN05	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0006,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN06	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0007,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN55	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;COMP 
 
	MOVAL	A00003,R6
	MOVAL	L$0008,R7
	PUSHAL	N$DUMMY_IND
	PUSHAL	N$DUMMY_IND
	PUSHAL 	N_IN77	;Equal
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R6
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	MOVAL	W$NUMA,R9
	MOVL	#0005,R8
	MOVL	#0005,R6
	PUSHL	R6
	PUSHL	R7
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$CMP_PACKED
	MOVB	N_OFF,N_IN00
	MOVB	N_ON,N_IN00
 
	  ;MOVE 
 
	MOVAL	A00003,R7
	MOVAL	A00002,R8
	PUSHAL	W$NUMA
	PUSHL	#0005
	PUSHL	R7
	PUSHL	#0005
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
	PUSHL	R8
	PUSHL	#0005
	PUSHL	#0008
	PUSHAL	W$NUMA
	PUSHL	#^A/P/
	PUSHL	#^A/P/
	CALLS	#6,G^S3X$MOV_RIGHT_JUST
 
	  ;TAG  
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
B$0002:
	MOVB	N_OFF,N_IN00
	CMPB	N_IN01,N_OFF
	BEQL	00000$
	BRW	40001$
00000$:
	CMPB	N_IN02,N_OFF
	BEQL	00001$
	BRW	40001$
00001$:
	CMPB	N_IN03,N_OFF
	BEQL	00002$
	BRW	40001$
00002$:
	CMPB	N_IN04,N_OFF
	BEQL	00003$
	BRW	40001$
00003$:
	CMPB	N_IN05,N_OFF
	BEQL	00004$
	BRW	40001$
00004$:
	CMPB	N_IN06,N_OFF
	BEQL	00005$
40001$:
	BRB	00006$
00005$:
	BRW	00007$
00006$:
	MOVB	N_ON,N_IN00
 
	  ;EXCPT
 
	MOVAL	Z$0001,R6
	MOVB	#1,(R6)
	MOVB	#^A/E/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	N$OUTPUT_CTL
	MOVAL	Z$0001,R6
	CLRB	(R6)
00007$:
 
	  ;ENDSR
 
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
B$0003:
	TSTL	N_EXCPT
	BNEQ	00001$
	RSB
00001$:
	CLRL	N_EXCPT
	CMPL L$000A,#^A/*GET/
	BNEQ 00002$
	CMPW L$000A+4,#^A/IN/
	BNEQ 00002$
	MOVL	SAV_STK,SP
	JMP	STEP05
00002$: CMPL L$000A,#^A/*DET/
	BNEQ 00003$
	CMPB L$000A+4,#^A/C/
	BNEQ 00003$
	MOVL	SAV_STK,SP
	JMP	STEP46
00003$: CMPL L$000A,#^A/*CAN/
	BNEQ 00004$
	CMPW L$000A+4,#^A/CL/
	BNEQ 00004$
	MOVL   SAV_STK,SP
	CLRL	RPG_STATUS
	JMP  CAN_CL
00004$: 
	MOVL	SAV_STK,SP
	PUSHAL	EXCMSG1
	CALLS	#1,G^S3X$OUTPUT_MSG
00005$: PUSHAL	EXCMSG2
	CALLS	#1,G^S3X$OUTPUT_MSG
	PUSHAL	N$TEMP_SIZE
	PUSHAL	N$TEMP_ADDR
	PUSHL	#6
	CALLS	#3,G^S3X$READ_TERM
	MOVL	N$TEMP_SIZE,R4
	MOVL	N$TEMP_ADDR,R5
	CMPL	(R5),#^A/GETI/
	BNEQ	00006$
	JMP	STEP05
00006$: CMPL	(R5),#^A/DETC/
	BNEQ	00007$
	JMP	STEP46
00007$: CMPL	(R5),#^A/CANC/
	BNEQ	00008$
	CLRL	RPG_STATUS
	JMP	CAN_CL
00008$: BRW	00005$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
EXCMSG1: .ASCIZ	'EINFSR SUBROUTINE HALT DUE TO EXCEPTION CONDITION.'
EXCMSG2: .ASCIZ	'Enter GETIN, DETC or CANCL to continue: '
	RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
O$FETO:	.BYTE	0
O$FIL:		.BYTE	0
O$OVFL:	.BYTE	0
W$FETY:	.BYTE	0
W$SAVA:	.BLKB	8
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$OUTPUT: .JSB32_ENTRY
	TSTB	N$FETCH_OVERFLOW_FLG
	BEQL	10$
	MOVQ	N_INOA,W$SAVA
	MOVQ	#^A/00000000/,N_INOA
	MOVB	#1,W$FETY
10$:	JSB	O$0000
	TSTB	W$FETY
	BEQL	20$
	MOVAL	N_INOA,R0
	MOVAL	W$SAVA,R1
	MOVL	#7,R2
15$:	CMPB	(R0),(R1)
	BGEQ	17$
	MOVB	(R1),(R0)
17$:	INCL	R0
	INCL	R1
	SOBGTR	R2,15$
	CLRB    W$FETY
20$:	CALLS	#0,G^S3X$DISPLAY_WORKSTN_SCRN
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0000: .JSB32_ENTRY
	MOVB	N_OFF,N_INHD
	CMPB  N$OUTPUT_CTL,#^A/E/
	BEQL	00001$
	BRW	O$0001
00001$:
	TSTL	R6
	BNEQ	00002$
	BRW	O$0001
00002$:
	MOVAL	Z$0001,R0
	TSTB	(R0)
	BNEQ	00003$
	BRW	O$0001
00003$:
 
40000$:
	MOVB	N_ON,N_INHD
	MOVAL	N$FILE_01_REC_BUF,R0
	MOVL	#1090,R1
	MOVC5	#0,#0,#BLANK,R1,(R0)
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVAL	40002$,R5
	PUSHAL	E$WS01
	PUSHL	R5
	CALLS	#2,G^S3X$INFSR_UPDATE_AFTER_WRITE
	CLRL	R4
	PUSHL	R5	;Srceen Name
	PUSHL	R4	;Start Line
	PUSHL	#1		;INFSR available flg
	PUSHL	#1		;INFDS present flg
	PUSHAL	N_SCREEN_SPEC_TBL
	CALLS	#5,G^S3X$SELECT_WORKSTN_SCRN
	BRB	40001$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40002$: .ASCIZ 'F1'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40001$:
 
	MOVB	N_OFF,N_INFD
	MOVB	N_ON,N_INFD
	MOVL    #0008,R8
	MOVAL   A00002,R7
	MOVAL   N$FILE_01_REC_BUF+0008,R9
	MOVL    #0008,R10
	SUBL2   R10,R9
	PUSHL	R9
	PUSHL	R8
	PUSHL	R7
	PUSHL	R8
	CALLS	#4,G^S3X$CVT_PACKED_TO_TRAILING_NUM
	MOVB	#^A/ /,R1
	MOVL	#0,R3
	CLRL	R2
	MOVAL	N$FILE_01_REC_BUF,R0
	PUSHAL	N$DATE_PRINT_CTL
	PUSHL	R0
	PUSHL	R1
	PUSHL	R2
	PUSHL	R3
	PUSHL	R8
	PUSHL	R9
	CALLS	#7,G^S3X$EDIT_OUTPUT_FLD
40003$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN01,N_OFF
	BEQL	40004$
	MOVB	N_ON,N_INFD
	MOVC3	#0009,40005$,N$FILE_01_REC_BUF+0012
	BRB	40004$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40005$: .ASCIZ 'PRINT key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40004$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN02,N_OFF
	BEQL	40006$
	MOVB	N_ON,N_INFD
	MOVC3	#0011,40007$,N$FILE_01_REC_BUF+0010
	BRB	40006$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40007$: .ASCIZ 'ROLL-UP key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40006$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN03,N_OFF
	BEQL	40008$
	MOVB	N_ON,N_INFD
	MOVC3	#0013,40010$,N$FILE_01_REC_BUF+0008
	BRB	40008$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40010$: .ASCIZ 'ROLL-DOWN key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40008$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN04,N_OFF
	BEQL	40011$
	MOVB	N_ON,N_INFD
	MOVC3	#0009,40012$,N$FILE_01_REC_BUF+0012
	BRB	40011$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40012$: .ASCIZ 'CLEAR key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40011$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN05,N_OFF
	BEQL	40013$
	MOVB	N_ON,N_INFD
	MOVC3	#0008,40014$,N$FILE_01_REC_BUF+0013
	BRB	40013$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40014$: .ASCIZ 'HELP key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40013$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN06,N_OFF
	BEQL	40015$
	MOVB	N_ON,N_INFD
	MOVC3	#0008,40016$,N$FILE_01_REC_BUF+0013
	BRB	40015$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40016$: .ASCIZ 'HOME key'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40015$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN55,N_OFF
	BEQL	40017$
	MOVB	N_ON,N_INFD
	MOVC3	#0009,40018$,N$FILE_01_REC_BUF+0012
	BRB	40017$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40018$: .ASCIZ 'Enter Rec'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40017$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40020$
	CMPB	N_INKA,N_OFF
	BEQL	40020$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40021$,N$FILE_01_REC_BUF+0015
	BRB	40020$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40021$: .ASCIZ 'Cmd- A'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40020$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40022$
	CMPB	N_INKB,N_OFF
	BEQL	40022$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40023$,N$FILE_01_REC_BUF+0015
	BRB	40022$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40023$: .ASCIZ 'Cmd- B'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40022$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40024$
	CMPB	N_INKC,N_OFF
	BEQL	40024$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40025$,N$FILE_01_REC_BUF+0015
	BRB	40024$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40025$: .ASCIZ 'Cmd- C'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40024$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40026$
	CMPB	N_INKD,N_OFF
	BEQL	40026$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40027$,N$FILE_01_REC_BUF+0015
	BRB	40026$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40027$: .ASCIZ 'Cmd- D'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40026$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40028$
	CMPB	N_INKE,N_OFF
	BEQL	40028$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40030$,N$FILE_01_REC_BUF+0015
	BRB	40028$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40030$: .ASCIZ 'Cmd- E'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40028$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40031$
	CMPB	N_INKF,N_OFF
	BEQL	40031$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40032$,N$FILE_01_REC_BUF+0015
	BRB	40031$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40032$: .ASCIZ 'Cmd- F'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40031$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40033$
	CMPB	N_INKG,N_OFF
	BEQL	40033$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40034$,N$FILE_01_REC_BUF+0015
	BRB	40033$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40034$: .ASCIZ 'Cmd- G'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40033$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40035$
	CMPB	N_INKG,N_OFF
	BEQL	40035$
	MOVB	N_ON,N_INFD
	MOVC3	#0018,40036$,N$FILE_01_REC_BUF+0022
	BRB	40035$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40036$: .ASCIZ 'EXITING PROGRAM...'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40035$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40037$
	CMPB	N_INKH,N_OFF
	BEQL	40037$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40038$,N$FILE_01_REC_BUF+0015
	BRB	40037$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40038$: .ASCIZ 'Cmd- H'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40037$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40040$
	CMPB	N_INKI,N_OFF
	BEQL	40040$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40041$,N$FILE_01_REC_BUF+0015
	BRB	40040$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40041$: .ASCIZ 'Cmd- I'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40040$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40042$
	CMPB	N_INKJ,N_OFF
	BEQL	40042$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40043$,N$FILE_01_REC_BUF+0015
	BRB	40042$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40043$: .ASCIZ 'Cmd- J'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40042$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40044$
	CMPB	N_INKK,N_OFF
	BEQL	40044$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40045$,N$FILE_01_REC_BUF+0015
	BRB	40044$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40045$: .ASCIZ 'Cmd- K'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40044$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40046$
	CMPB	N_INKL,N_OFF
	BEQL	40046$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40047$,N$FILE_01_REC_BUF+0015
	BRB	40046$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40047$: .ASCIZ 'Cmd- L'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40046$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40048$
	CMPB	N_INKM,N_OFF
	BEQL	40048$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40050$,N$FILE_01_REC_BUF+0015
	BRB	40048$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40050$: .ASCIZ 'Cmd- M'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40048$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40051$
	CMPB	N_INKN,N_OFF
	BEQL	40051$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40052$,N$FILE_01_REC_BUF+0015
	BRB	40051$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40052$: .ASCIZ 'Cmd- N'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40051$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40053$
	CMPB	N_INKP,N_OFF
	BEQL	40053$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40054$,N$FILE_01_REC_BUF+0015
	BRB	40053$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40054$: .ASCIZ 'Cmd- P'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40053$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40055$
	CMPB	N_INKQ,N_OFF
	BEQL	40055$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40056$,N$FILE_01_REC_BUF+0015
	BRB	40055$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40056$: .ASCIZ 'Cmd- Q'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40055$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40057$
	CMPB	N_INKR,N_OFF
	BEQL	40057$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40058$,N$FILE_01_REC_BUF+0015
	BRB	40057$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40058$: .ASCIZ 'Cmd- R'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40057$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40060$
	CMPB	N_INKS,N_OFF
	BEQL	40060$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40061$,N$FILE_01_REC_BUF+0015
	BRB	40060$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40061$: .ASCIZ 'Cmd- S'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40060$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40062$
	CMPB	N_INKT,N_OFF
	BEQL	40062$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40063$,N$FILE_01_REC_BUF+0015
	BRB	40062$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40063$: .ASCIZ 'Cmd- T'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40062$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40064$
	CMPB	N_INKU,N_OFF
	BEQL	40064$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40065$,N$FILE_01_REC_BUF+0015
	BRB	40064$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40065$: .ASCIZ 'Cmd- U'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40064$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40066$
	CMPB	N_INKV,N_OFF
	BEQL	40066$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40067$,N$FILE_01_REC_BUF+0015
	BRB	40066$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40067$: .ASCIZ 'Cmd- V'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40066$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40068$
	CMPB	N_INKW,N_OFF
	BEQL	40068$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40070$,N$FILE_01_REC_BUF+0015
	BRB	40068$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40070$: .ASCIZ 'Cmd- W'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40068$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40071$
	CMPB	N_INKX,N_OFF
	BEQL	40071$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40072$,N$FILE_01_REC_BUF+0015
	BRB	40071$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40072$: .ASCIZ 'Cmd- X'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40071$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN77,N_OFF
	BEQL	40073$
	CMPB	N_INKY,N_OFF
	BEQL	40073$
	MOVB	N_ON,N_INFD
	MOVC3	#0006,40074$,N$FILE_01_REC_BUF+0015
	BRB	40073$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40074$: .ASCIZ 'Cmd- Y'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40073$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN56,N_OFF
	BEQL	40075$
	MOVB	N_ON,N_INFD
	MOVC3	#0009,40076$,N$FILE_01_REC_BUF+0021
	BRB	40075$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40076$: .ASCIZ 'EXCEPTION'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40075$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN58,N_OFF
	BEQL	40077$
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40078$,N$FILE_01_REC_BUF+0035
	BRB	40077$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40078$: .ASCIZ '  EOF'
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40077$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN56,N_OFF
	BNEQ	40080$
	CMPB	N_INKG,N_OFF
	BNEQ	40080$
	MOVB	N_ON,N_INFD
	MOVC3	#0009,40081$,N$FILE_01_REC_BUF+0021
	BRB	40080$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40081$: .ASCIZ '         '
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40080$:
 
	MOVB	N_OFF,N_INFD
	CMPB	N_IN58,N_OFF
	BNEQ	40082$
	CMPB	N_INKG,N_OFF
	BNEQ	40082$
	MOVB	N_ON,N_INFD
	MOVC3	#0005,40083$,N$FILE_01_REC_BUF+0035
	BRB	40082$
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
40083$: .ASCIZ '     '
 
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
 
40082$:
 
	MOVAL	N$FILE_01_REC_BUF,R1
	MOVL	#FILE_01_REC_SIZ,R0
00006$: CMPB	(R1)+,#^X00
	BNEQ	00007$
	MOVB	#^A/ /,-1(R1)
00007$: SOBGTR	R0,00006$
 
	PUSHAL	N$FILE_01_REC_DESC
	PUSHAL	N_SCREEN_SPEC_TBL
	CALLS	#2,G^S3X$WRITE_WORKSTN
	CLRB	F$CB01
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
O$0001:
	RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
N$TRANSLATE_TBL:
	.BYTE   -1
W$NUMA:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMB:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMC:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMD:  .BLKB    16   ;NUMERIC WORK AREA
W$NUME:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMF:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMG:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMH:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMI:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMJ:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMK:  .BLKB    16   ;NUMERIC WORK AREA
W$NUML:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMM:  .BLKB    16   ;NUMERIC WORK AREA
W$NUMN:  .BLKB    16   ;NUMERIC WORK AREA
W$SLCD: .BYTE   0
HGH:  .ASCII	'0'
LOW:  .ASCII	'0'
EQL:  .ASCII	'0'
W$MSW:  .BYTE   0
W$SWIT: .BYTE   0
W$FSCL: .BYTE   0
W$FSCY: .BYTE   0
W$FSLR: .BYTE   0
W$FRCE: .BYTE   0
W$RIND: .BYTE   0  ;CURRENT REC IND
W$ZERP: .BYTE   ^X0C
N$ALTERNATE_SEQUENCE_TBL:
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
	.BYTE
^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00,^X00
MATCH_FLAG01:	.BYTE	0
W$SQTB:
	.BYTE   -1
W$MRSY:  .BLKB  0001
W$MRWK:  .BLKB  0001
W$MRTB:
	.LONG   0001
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.BYTE   -1
W$LRWK:  .BLKB  0001
F$LR01:  .BLKB   0001
W$LRTB:
	.LONG   0001
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.LONG   0000
	.BYTE   -1
W$ADSC:
	.BYTE     -1
E$WS01:	.ADDRESS D00001
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$INFSR_01:
	MOVL   E$WS01,R0
	MOVL	#1,N_EXCPT
	JMP    B$0001
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
      W$DSTR=.
W$DS01:
D00001:
      .=W$DSTR + 0001 - 1
A00003: .BLKB  0005
      .=W$DSTR + 0006 - 1
A00004: .BLKB  0005
      .=W$DSTR + 0032
A00001:  .BLKB  0005
A00002:  .BLKB  0005
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$INITIALIZE: .JSB32_ENTRY
	PUSHAL	N$ALTERNATE_SEQUENCE_TBL
	PUSHAL	UDATE
	PUSHAL	N_INU1
	PUSHAL	N_INKA
	PUSHAL	N_INOA
	PUSHAL	N_INL1
	PUSHAL	N_IN01
	CALLS	#7,G^S3X$INITIALIZE_COMMON
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
N$INITIALIZE_FLDS: .JSB32_ENTRY
	 MOVC5	#0,#0,#^A/0/,#0006,UDATE 
	 MOVC5	#0,#0,#^A/0/,#0002,UMONTH
	 MOVC5	#0,#0,#^A/0/,#0002,UDAY  
	 MOVC5	#0,#0,#^A/0/,#0002,UYEAR 
	 MOVC5	#0,#0,#NULL,#0004,PAGE  
	 MOVC5	#0,#0,#NULL,#0004,PAGE1 
	 MOVC5	#0,#0,#NULL,#0004,PAGE2 
	 MOVC5	#0,#0,#NULL,#0004,PAGE3 
	 MOVC5	#0,#0,#NULL,#0004,PAGE4 
	 MOVC5	#0,#0,#NULL,#0004,PAGE5 
	 MOVC5	#0,#0,#NULL,#0004,PAGE6 
	 MOVC5	#0,#0,#NULL,#0004,PAGE7 
	 MOVC5	#0,#0,#BLANK,#0008,$STAT$
	 MOVC5	#0,#0,#NULL,#0005,A00001
	 MOVC5	#0,#0,#NULL,#0005,A00002
	 RSB
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
Z$0001: .BYTE 0
L$0001:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B00011100
L$0002:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B00101100
L$0003:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B00111100
L$0004:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B01001100
L$0005:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B01011100
L$0006:  .BYTE   ^B00000001
         .BYTE   ^B00010010
         .BYTE   ^B01101100
L$0007:  .BYTE   ^B00000000
         .BYTE   ^B00000000
         .BYTE   ^B00001100
L$0008:  .BYTE   ^B00000000
         .BYTE   ^B00000000
         .BYTE   ^B00101100
L$000A:  .ASCII '*DETC'
SAV_STK:	.LONG	0
RPG_STATUS:	.LONG	0	;Program exit status
N_EXCPT:	.LONG	0	;Exception INFSR call flg
N_FUN:		.LONG	0	;Exception handling ind
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
.IF DEFINED VAX
	.ENTRY	_TSTKEY,^M<>
.ENDC
.IF DEFINED ALPHA
_TSTKEY:: .CALL_ENTRY -
		MAX_ARGS=0000+1, -
		HOME_ARGS=TRUE
.ENDC
	MOVL	#1,RPG_STATUS
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP01:
	MOVB	N_OFF,N_INRT
	CLRL	N$NUMBER_OF_ARGUMENTS
	CALLS	#0,G^S3X$CONNECT_CRT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP02:
	JSB	N$INITIALIZE
	BLBC	R0,20$
	TSTL	4(AP)
	BEQL	20$
	TSTB	N$PROG_ACTIVE
	BNEQ	10$
	CALLS	#0,G^S3X$DETACH_CRT
	MOVL	#2,R0
	RET
  10$:	MOVB	#1,N$FREE_FLG
	BRW	STEP37
  20$:	TSTB	N$PROG_ACTIVE
	BEQL	30$
	BRW	STEP05
  30$:	MOVB	#1,N$PROG_ACTIVE
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP03:
	JSB	N$INITIALIZE_FLDS
	MOVAL	N_IN01,R0
00001$:	MOVB	#^A/0/,(R0)+
	CMPB	(R0),#-1
	BNEQ	00001$
	MOVB	N_ON,N_IN1P
	MOVB	N_ON,N_INL0
	MOVC5 #0,#0,#^A/ /,#0032,D00001
	PUSHL	#0
	PUSHAL	N$DATE_PRINT_CTL
	CALLS	#2,G^S3X$READ_EXTERNAL_IND_DATE_FILE
	PUSHAL	W$ADSC
	CALLS	#1,G^S3X$INIT_ARYS
 
	MOVAL	FILE_02_FAB,R6
	MOVAL	FILE_02_RAB,R7
	PUSHL	R8
       PUSHL   R7
       PUSHL   R6
	CALLS	#3,G^S3X$CREATE_FILE	;DEBUG   
	MOVAL	W$MRTB,R6		;Ctl tbl addr
	MOVL	(R6),R7			;Entry len
	MOVC5	#0,#0,#^X0,R7,W$MRWK	;Init fld ascending
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$MRTB,R6
	MOVC5	#0,#0,#^X0,R7,W$MRSY
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	MOVAL	W$LRTB,R6
	MOVL	(R6),R7
	MOVC5	#0,#0,#^X0,R7,W$LRWK
	PUSHL   R6
	CALLS	#1,G^S3X$CHK_CTL_TBL
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP04:
	MOVB	#^A/H/,N$OUTPUT_CTL
	MOVB	#1,N$DETAIL_FLG
	JSB	G^N$OUTPUT
	CLRB	N$DETAIL_FLG
	MOVB	#^A/D/,N$OUTPUT_CTL
	MOVB	#1,N$DETAIL_FLG
	JSB	G^N$OUTPUT
	CLRB	N$DETAIL_FLG
	MOVL	SP,SAV_STK
	MOVAL	N_INOA,R1
	MOVL	#7,R0
  10$:	CMPB	(R1),N_OFF
	BEQL	20$
	CMPB	(R1),#^A/2/
	BLSS	15$
	MOVB	#^A/2/,(R1)
	TSTB	N$FETCH_OVERFLOW_FLG
	BNEQ	15$
	MOVB	#2,N$FETCH_OVERFLOW_FLG
 15$:	DECB	(R1)
 20$:	INCL	R1
	SOBGTR	R0,10$
	TSTB	N$FETCH_OVERFLOW_FLG
	BEQL	STEP05
	DECB	N$FETCH_OVERFLOW_FLG
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP05:
	MOVB	#^A/0/,922$
	MOVAL	N_INH1,R2
	MOVL	#9,R1
  10$:	INCB	922$
	CMPB	(R2),N_OFF
	BEQL	30$
	PUSHL	R2
	PUSHAL	920$
	CALLS	#1,G^S3X$HALT10
	BLBC	R0,STEP06
	POPL	R2
  30$:	MOVB	N_OFF,(R2)
	INCL	R2
	SOBGTR	R1,10$
	JMP	STEP08
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  920$:	.ASCII	/RPG HALT NUMBER /
  922$:	.ASCIZ	/0/
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP06:
	CLRL	(SP)+
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP07:
	JMP	STEP37
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP08:
	MOVQ	#^A/00000000/,N_INL1
	MOVB	N_OFF,N_INL9
	MOVB	N_OFF,N_IN1P
	MOVB	N_OFF,N_IN99
	MOVB	N_OFF,N_INXX
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP09:
	CMPB	N_INLR,N_ON
	BNEQ	STEP11
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP10:
  	MOVQ	#^A/11111111/,N_INL1
	MOVB	N_ON,N_INL9
	JMP	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP11:
	CMPB	N_INRT,N_ON
	BEQL	STEP12
	JMP	STEP14
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP12:	;Return *ENTRY PLIST parms if present
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP13:	;Return immediately to caller
  20$:	CALLS	#0,G^S3X$DETACH_CRT
	MOVL	#1,R0
	RET
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP14:
	JMP	STEP29
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP15:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP20:
	MOVB	W$FRCE,W$SLCD
	CLRB	W$FRCE
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP22: CLRB	W$SLCD
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP24:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
CAN_CL:
	MOVL	SP,SAV_STK
	MOVB	N_ON,N_INLR
	MOVB	N_ON,N_INL9
	MOVQ	#^A/11111111/,N_INL1
	JMP	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP26:
	CLRL	R10
	CLRL	R6
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP27:
	TSTB	R10
	BNEQ	20$
	BRW	STEP29
 
  20$:	PUSHL	R6
	PUSHAL	N$EXTRACT_CONTROL_FLD_FLG
	PUSHL	R8
	PUSHAL	W$LRTB
	PUSHL	R10
	CALLS	#5,G^S3X$EXTRACT_CTL_FLDS
	MOVAL	W$LRWK,R7
	MOVAL	W$LRTB,R9
	PUSHAL	W$LRTB
	PUSHL	R8
	PUSHAL	W$LRWK
	PUSHL	R6
	PUSHL	R10
	CALLS	#5,G^S3X$CHK_LEVEL_BRK
	TSTB	R0
	BNEQ	STEP28
	BRW	STEP29
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP28:
	CMPB	R0,#9
	BEQL	2$
	CMPB	R0,#8
	BEQL	3$
	CMPB	R0,#7
	BEQL	4$
	CMPB	R0,#6
	BEQL	5$
	CMPB	R0,#5
	BEQL	6$
	CMPB	R0,#4
	BEQL	7$
	CMPB	R0,#3
	BEQL	8$
	CMPB	R0,#2
	BEQL	9$
	BRB	10$
 
  2$:	MOVB	N_ON,N_INL9
  3$:	MOVB	N_ON,N_INL8
  4$:	MOVB	N_ON,N_INL7
  5$:	MOVB	N_ON,N_INL6
  6$:	MOVB	N_ON,N_INL5
  7$:	MOVB	N_ON,N_INL4
  8$:	MOVB	N_ON,N_INL3
  9$:	MOVB	N_ON,N_INL2
  10$:	MOVB	N_ON,N_INL1
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP29:
	CMPB	N_INLR,N_OFF
	BNEQ	10$
	TSTB	W$FSLR
	BNEQ	10$
	MOVB	#1,W$FSLR
	JMP	STEP32
  10$:	MOVL	SP,SAV_STK
	JMP	C$TOT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$TOTX: MOVB	#^A/T/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP32:
	CMPB	N_INLR,N_ON
	BEQL	STEP33
	JMP	STEP40
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP33:
	MOVB	#^A/0/,902$
	MOVAL	N_INH1,R2
	MOVL	#9,R1
 
  2$:	INCB	902$
	CMPB	(R2),N_OFF
	BEQL	10$
 
  4$:	PUSHAL	900$
	CALLS	#1,G^S3X$HALT10
	BLBS	R0,10$
	JMP	STEP34
 
  10$:	MOVB	N_OFF,(R2)
	INCL	R2
	SOBGTR	R1,2$
	JMP	STEP34
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  900$:	.ASCII	#RPG HALT NUMBER #
  902$:	.ASCIZ	#X#
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP34:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP36:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
	CALLS	#0,G^S3X$WRITE_EXTERNAL_IND_DATE_FIL
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP37:
	CLRB	N$PROG_ACTIVE
	JSB	G^N$CLOSE_FILES
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP38:
	CALLS	#0,G^S3X$DETACH_CRT
	PUSHAL	W$SQTB
	CALLS	#1,G^S3X$SEQ_CHK_EOJ
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP39:
	CMPL	RPG_STATUS,#2
	BEQL	100$
	CMPL	N_INH1,#^A/0000/
	BNEQ	20$
	CMPL	N_INH5,#^A/0000/
	BNEQ	20$
	CMPB	N_INH9,#^A/0/
	BEQL	100$
  20$:
	PUSHAL	900$
	CALLS	#1,G^LIB$PUT_OUTPUT
	MOVL	#0,RPG_STATUS
  100$:	MOVL	#1,R1
	CMPB	N_INLR,N_ON
	BNEQ	500$
	CLRL	R1
  500$:	MOVL	RPG_STATUS,R0
	RET
 
 
	.PSECT	$DATA,PIC,REL,CON,NOSHR,RD,WRT,NOEXE,NOVEC,LONG
 
  900$:	.ASCID	\WARNING - Program exited with Halt indicator set - TSTKEY\
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP40:
	MOVAL	N_INOA,R0
	CMPL	(R0)+,#^A/0000/
	BNEQ	2$
	CMPL	(R0),#^A/0000/
	BNEQ	2$
	BRW	10$
  2$:
	BRW	10$
  4$:	INCB	O$OVFL
	MOVB	#^A/T/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	MOVB	#^A/H/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	MOVB	#^A/D/,N$OUTPUT_CTL
	JSB	G^N$OUTPUT
	CLRB	O$OVFL
	MOVB	#1,N$FETCH_OVERFLOW_FLG
  10$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP42: MOVB	N_OFF,N_INMR
	CLRB	W$MSW
	MOVL	W$MRTB,R7
	JMP	STEP43
90004$: MOVB	N_ON,N_INMR
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP43:
	CMPB	W$SLCD,#01
	BNEQ	00001$
	JSB	G^N$MOVE_DATA_TO_FLDS_FOR_FILE_01
00001$:
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
STEP46:
	MOVL	SP,SAV_STK
	MOVB	#1,N$DETAIL_FLG
	JMP	C$DET
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
C$DETX:
	CLRB	N$DETAIL_FLG
	JMP	STEP04
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$MOVE_DATA_TO_FLDS_FOR_FILE_01: .JSB32_ENTRY
	CMPB	REC_ID_FLG_01,#01
	BNEQ	00001$
	JMP	80000$
00001$:
	JMP	90000$
80000$:
 
	;WCTL  
 
	MOVL	#0008,R0
	MOVAL	N$FILE_01_REC_BUF+0002-1,R1
	MOVL	R0,R2
	MOVAL	A00001,R3
	PUSHL   R3
	PUSHL   R2
	PUSHL   R1
	PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
90000$:
	CMPB	REC_ID_FLG_01,#02
	BNEQ	00002$
	JMP	80001$
00002$:
	JMP	90001$
80001$:
 
	;FOO   
 
	MOVL	#0008,R0
	MOVAL	N$FILE_01_REC_BUF+0002-1,R1
	MOVL	R0,R2
	MOVAL	A00002,R3
	PUSHL   R3
	PUSHL   R2
	PUSHL   R1
	PUSHL   R0
	CALLS	#4,G^S3X$CVT_TRAILING_NUM_TO_PACKED
90001$:
	BRW	N$END_OF_INPUT
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$END_OF_INPUT:
	RSB
 
	.DISABLE LSB
	.PSECT	$CODE,PIC,REL,CON,SHR,RD,NOWRT,EXE,NOVEC,LONG
	.ENABLE LSB
 
N$SETOF_REC_INDS: .JSB32_ENTRY
	CMPB	W$SLCD,#01
	BEQL	00001$
	JMP	00002$
00001$:
	MOVB	N_OFF,N_IN99
	MOVB	N_OFF,N_INXX
00002$:
	RSB
	.END	_TSTKEY
 |