Trailing-Edge
-
PDP-10 Archives
-
bb-kl11c-bm_tops20_v6_1_atpch1_16
-
autopatch/cobolc.c11
There are 2 other files named cobolc.c11 in the archive. Click here to see a list.
REP 23/1 ;11C1
.COPYRIGHT ;Put standard copyright statement in REL file
WIT
.COPYRIGHT ;PUT STANDARD COPYRIGHT STATEMENT IN REL FILE
INS 30/1 ;11C2
;MJC 5-APR-85 [1574] Fix check for level in DA28.D to check
; that father is a DATAB entry.
;JEH 1-APR-85 [1571] replace some uses of acs so fndpop is called
; with different arguments.
;JEH 28-MAR-85 [1570] Parse and process ref. mod. fields for fields
; which allow subscripting
INS 28/29 ;11C3
LDB TC,[POINT 3,TB,20] ;[1574]
CAIE TC,CD.DAT ;[1574] IS IT A DATAB ENTRY?
POPJ PP, ;[1574] MUST BE RD, EXIT
REP 73/74 ;11C4
POPJ PP, ; IS GREATER THAN THE OLD ONE, ALL IS WELL.
WIT
JRST D54VL4 ;[1557] .GT. THE OLD ONE, ALL IS WELL.
INS 77/74 ;11C5
D54VL4: MOVE TB, EAS1PC ;[1557] USE CURRENT ENDING LOCATION
LDB TC, DA.LVL ;[1557] GET THE LEVEL NBR
MOVEM TB, RDFDAT##(TC) ;[1557] MAKE CURRENT THE NEW EAS1PC.
POPJ PP, ;[1557] NOW EVERYTHING IS OK
INS 57/106 ;11C6
SKIPE RPWERR ;[1575] TEST FOR PREVIOUS ERROR ON RD
;[1575] ERROR ONLY IF RPWERR < 0
JRST [MOVE TA,CURRPW ;[1575] GET ADDR OF CURRENT RPT DESCRIP
SETO TB, ;[1575] MANUFACTURE A 1 BIT
DPB TB,RW.DEF ;[1575] TO AVOID SPURIOUS CBL775 MSG
SETZM RPWTYP## ;[1575] AVOID SPURIOUS CBL793 MSG
SETZM CURDAT ;[1575] AVOID CATASTROPHE IN PHASE C
;[1575] ALSO CUTS OFF FUTHER PARSING
;[1575] OF STATEMENT
JRST .+1] ;[1575]
;[1575]
REP 60/106 ;11C7
DA77.A: LDB TB,DA.LVL
CAIN TB,1 ;01 LEVEL ?
WIT
HLRZ TB,CURDAT ;[1571] Put relative offset in TB
DA77.A: LDB TC,DA.LVL ;[1571]
CAIN TC,1 ;[1571] 01 LEVEL ?
REP 23/142 ;11C8
JRST DA231. ;OUTPUT ARG1
WIT
SKIPN RMFLG ;[1570] Is the operand ref. mod.?
JRST DA231. ;OUTPUT ARG1
TXO TB,RFMLEN ;[1570] TURN ON 'LENGTH' BIT TO INDICATE
SETZM RMFLG ;[1570] TWO MODIFIERS ARE PRESENT
JRST DA231. ;[1570]
INS 45/144 ;11C9
skipn rmflg ;[1570] Is it ref. mod.?
jrst putft ;[1570] No
txo ta,GNREFM ;[1570] Yes, set reference mod. bit in operand
skipg rmflg ;[1570]
setzm rmflg ;[1570] If no length provided, clear flag
INS 104/144 ;11C10
;[1570] Here when found ':' signifying use of reference modification.
INTER. DA232.
DA232.: ;[1570] OFFSET HAS BEEN STORED AS A SUBSCRIPT
SETOM RMFLG## ;[1570] SET FLAG TO CONVERT IT LATER
POPJ PP, ;[1570]
INTER. DA233. ;[1570] SCANNED A LENGTH FIELD
DA233.:
PUSHJ PP,DA220. ;[1570] STORE THE LITERAL
PUSHJ PP,DA225. ;[1570] INCREMENT MODIFIER COUNT
MOVE TA,RMFLG ;[1570]
TLZ TA,400000 ;[1570] ZERO BIT TO INDICATE LENGTH FOUND
MOVEM TA,RMFLG ;[1570]
POPJ PP, ;[1570]
INTER. DA234. ;[1570] FOUND CLOSING RPREN.
DA234.:
PUSHJ PP,DA226. ;[1570] RESTORE ARG1, +1
POPJ PP, ;[1570]
SUM 72735