Trailing-Edge
-
PDP-10 Archives
-
bb-kl11f-bm_tops20_v7_0_atpch1_19
-
autopatch/cmngen.c15
There are 2 other files named cmngen.c15 in the archive. Click here to see a list.
INS 20/1 ;15C1
;V13****************
;RLF 26-OCT-86 [1633] Get correct internal size for comp items with
; depending on clause
;MEM 16-OCT-86 [1631] DON'T PUT OUT E.215 IF WE'VE HAD FATAL ERRORS
REP 5/124 ;15C2
LDB CH,DA.INS ;GET SIZE
WIT
LDB TE,DA.USG ;[1633] GET USAGE
CAIGE TE,%US.C1 ;[1633] SEE IF WE HAVE COMP-1
JRST GTBDPA ;[1633] NO
PUSH PP,TA ;[1633] SAVE CURRENT DATAB ENTRY
PUSH PP,TE ;[1633] SAVE USAGE
LDB TA,DA.BRO ;[1633] GET DATAB ENTRY FOR FATHER
PUSHJ PP,LNKSET ;[1633] GET OFFSET
LDB CH,DA.USG ;[1633] GET USAGE OF FATHER
MOVE CH,BYTE.W-1(CH) ;[1633] GET #BYTES/ITEM = INTERNAL SIZE
POP PP,TE ;[1633] RESTORE USAGE
CAIN TE,%US.C2 ;[1633] SEE IF WE HAVE COMP-2
LSH CH,1 ;[1633] YES - MULTIPLY SIZE BY 2
POP PP,TA ;[1633] RESTORE DATAB ENTRY
SKIPA ;[1633]
GTBDPA: LDB CH,DA.INS ;[1633] GET SIZE
REP 17/125 ;15C3
LDB CH,DA.INS ;SIZE OF EACH ITEM
WIT
LDB TE,DA.USG ;[1633] GET USAGE
CAIGE TE,%US.C1 ;[1633] SEE IF WE HAVE COMP-1
JRST GTBDPB ;[1633] NO
PUSH PP,TA ;[1633] SAVE CURRENT DATAB ENTRY
PUSH PP,TE ;[1633] SAVE USAGE
LDB TA,DA.BRO ;[1633] GET DATAB ENTRY FOR FATHER
PUSHJ PP,LNKSET ;[1633] GET OFFSET
LDB CH,DA.USG ;[1633] GET USAGE OF FATHER
MOVE CH,BYTE.W-1(CH) ;[1633] GET #BYTES/ITEM = INTERNAL SIZE
POP PP,TE ;[1633] RESTORE USAGE
CAIN TE,%US.C2 ;[1633] SEE IF WE HAVE COMP-2
LSH CH,1 ;[1633] YES - MULTIPLY SIZE BY 2
POP PP,TA ;[1633] RESTORE DATAB ENTRY
SKIPA ;[1633]
GTBDPB: LDB CH,DA.INS ;[1633] SIZE OF EACH ITEM
REP 40/130 ;15C4
BADEOP: MOVEI DW,E.214
WIT
BADEOP: SKIPE COUNTF## ;[1631]Suppress this if we've had already had
POPJ PP, ;[1631] a fatal error
MOVEI DW,E.214
SUM 97153