| 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
|