Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/ifgen.c04
There are no other files named ifgen.c04 in the archive.
INS 22/1 ;04C1
;[1317] FIX COBOL-74 COMPARE NUMERIC TO NON-NUMERIC ITEMS
INS 44/28 ;04C2
IFN BIS,< ;[1317]
MOVE TD,EMODEA ;[1317] NO NEED TO BREAK DOWN THE SIZE
CAME TD,EMODEB ;[1317] IF THE MODES ARE THE SAME
JRST IFDD3F ;[1317]
IFN ANS74,< ;[1317]
SKIPN COLSEQ ;[1317] AND NO SPECIAL COLLATING
> ;END IFN ANS74 ;[1317]
JRST IFDD3B ;[1317] SO USE THE WHOLE SIZE
IFDD3F: ;[1317]
> ;END IFN BIS ;[1317]
INS 50/28 ;04C3
PUSH PP,TD ;[1317] SAVE TD FOR A SECOND
IDIVI TE,3770 ;[1317] FIND OUT HOW MANY
SKIPE TD ;[1317] PARTS LEFT
ADDI TE,1 ;[1317]
MOVEM TE,ECNTA ;[1317] SAVE PART COUNT
POP PP,TD ;[1317] RESTORE TD
INS 54/28 ;04C4
HRROI TE,-1 ;[1317] DECREMENT NUMBER
ADDM TE,ECNTA ;[1317] OF PARTS LEFT
REP 3/69 ;04C5
ADDRS3: MOVEI TC,3
WIT
ADDRS3: MOVEI TC,4 ;[1317] OFFSET BASE FOR JRSTS EQUALS
IMUL TC,ECNTA ;[1317] NUMBER OF PIECES LEFT TIMES 4
TLNE W1,NOTF ;[1317] UNLESS THIS IS A "NOT"
SETZ TC, ;[1317] THEN THE OFFSET BASE = 0
PUSH PP,TC ;[1317] SAVE THE OFFSET BASE
ADDI TC,3 ;[1317] FIRST OFFSET
REP 8/69 ;04C6
MOVEI TC,2
WIT
POP PP,TC ;[1317] RESTORE OFFSET BASE
ADDI TC,2 ;[1317] SECOND OFFSET BASE
INS 13/69 ;04C7
SKIPE ECNTA ;[1317] IF THIS ISN'T THE LAST PART
POPJ PP, ;[1317] DON'T WANT THIRD JRST
SUM 138607