[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::axp-developer

Title:Alpha Developer Support
Notice:[email protected], 800-332-4786
Moderator:HYDRA::SYSTEM
Created:Mon Jun 06 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3722
Total number of notes:11359

3294.0. "Scandanavian Softline Technologies" by HYDRA::AXPDEVELOPER (Alpha Developer support) Fri Mar 07 1997 17:31

    Company Name :  Scandinavian Softline Technology
    Contact Name :  Hu Rui
    Phone        :  
    Fax          :  
    Email        :  [email protected]
    Date/Time in :   7-MAR-1997 17:06:42
    Entered by   :  Gerrit Saylor
    SPE center   :  MRO

    Category     :  
    OS Version   :  
    System H/W   :  


    Brief Description of Problem:
    -----------------------------
In multi-threads programming, if one thread crash, will it crashes all
other threads in the same process. 

Regards.

_________________________________________________
Hu Rui
R&D, SMS Unit    (ASAP code A60205)
Scandinavian Softline Technology Oy
Tulkinkuja 3   02600 ESPOO   Finland
tel. +358-9-5495 6202  fax. +358-9-512 4629
home tel. +358-9-2789426
Internet: [email protected]  http://www.softline.fi/
_________________________________________________

T.RTitleUserPersonal
Name
DateLines
3294.1HYDRA::AXPDEVELOPERAlpha Developer supportFri Mar 07 1997 17:338
Yes, it is true that in a multithreaded program, an exception generated
by one thread will crash the entire process.  This may be prevented in Unix
by utilizing setjmp/logjmp pairings and signal handling.  On NT you can take
advantage of the __try,__expect,__finally calls.


Gerrit Saylor
Alpha Developer Support
3294.2HYDRA::AXPDEVELOPERAlpha Developer supportMon Mar 10 1997 10:1639
From:	US6RMC::"[email protected]" "Hu Rui" 10-MAR-1997 10:14:37.15
To:	"[email protected]" <hydra::axpdeveloper>
CC:	
Subj:	Semaphore and threads


I use semaphone to synchronize threads. It works fine. I do not
understand, why there are so many pthread functions. Is there any
performance problem is I use semaphone.

I use Digitial Unix 4.0.

Regards.

_________________________________________________
Hu Rui
R&D, SMS Unit    (ASAP code A60205)
Scandinavian Softline Technology Oy
Tulkinkuja 3   02600 ESPOO   Finland
tel. +358-9-5495 6202  fax. +358-9-512 4629
home tel. +358-9-2789426
Internet: [email protected]  http://www.softline.fi/
_________________________________________________


% ====== Internet headers and postmarks (see DECWRL::GATEWAY.DOC) ======
% Received: from mail13.digital.com by us6rmc.mro.dec.com (5.65/rmc-17Jan97) id AA28449; Mon, 10 Mar 97 10:09:40 -0500
% Received: from ameeba.inet.fi by mail13.digital.com (8.7.5/UNX 1.5/1.0/WV) id KAA20425; Mon, 10 Mar 1997 10:03:43 -0500 (EST)
% Received: from armi.softline.fi ([194.197.150.5]) by smtp.inet.fi with SMTP id <6309-24928>; Mon, 10 Mar 1997 16:55:34 +0200
% Received: from localhost by armi.softline.fi; (5.65/1.1.8.2/29Apr96-0950AM) id AA11200; Mon, 10 Mar 1997 17:03:36 +0200
% Date: 	Mon, 10 Mar 1997 17:03:35 +0200 (EET)
% From: Hu Rui <[email protected]>
% To: "[email protected]" <hydra::axpdeveloper>
% Subject: Semaphore and threads
% In-Reply-To: <[email protected]>
% Message-Id: <[email protected]>
% Organization: Scandinavian Softline Technology
% Mime-Version: 1.0
% Content-Type: TEXT/PLAIN; charset=US-ASCII
3294.3HYDRA::AXPDEVELOPERAlpha Developer supportFri Mar 21 1997 09:487
I sent back some additional mail to Hu Rui that explained some
of the benefits of pthreads synchronization constructs vs. 
semaphore constructs, but I also seem to have lost it and cannot
put it here.  It seems to have worked since I have not heard back
from the customer.

Gerrit
3294.4Real problem statement...HYDRA::KENYONThe Foundation of Science...FictionFri Mar 21 1997 11:502656
Apparently Pat had the wrong test case.  The TSTKEY was solved by Jim.
The attached is the new case -- MASTER5.

-jeff

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