Trailing-Edge
-
PDP-10 Archives
-
bb-y390o-bm_tops20_v41_atpch_20
-
autopatch/algots.c12
There are 13 other files named algots.c12 in the archive. Click here to see a list.
REP 3/1 ;12C1
;COPYRIGHT (C) 1975,1984 BY
WIT
;COPYRIGHT (C) 1975,1985 BY
REP 15/11 ;12C2
MOVNI A2,1
WIT
MONITB: MOVNI A2,1 ; [362]
REP 40/11 ;12C3
JRST MONIT+1
WIT
JRST MONITB ;[362]
DEL 20/21 ;12C4
HRRZ A2,2(AX) ; NUMBER OF FP'S + 1
XCT [
CAIE A0,(A2)
CAILE A0,(A2)](A1) ; CHECK ON NUMBER OF PARAMETERS
SYSER1 10,0 ; WRONG
REP 45/21 ;12C5
AOS %DDTPL(DB) ; UPDATE DYNAMIC PROCEDURE LEVEL
MOVEM A4,%DDTDL(DB) ; [E100] REMEMBER THIS DL
WIT
HRRZ A2,2(AX) ;[363] NUMBER OF FP'S + 1
XCT [ ;[363]
CAIE A0,(A2) ;[363]
CAILE A0,(A2)](A1) ;[363] CHECK ON NUMBER OF PARAMETERS
SYSER1 10,0 ;[363] WRONG
DEL 4/24 ;12C6
EDIT (202);
HRRZ DL,CONDL(DL) ;[202] GET DL TO BE CONTEXT DL
ADDI DL,0(DB) ;[202] AND RELOCATE IT
REP 22/67 ;12C7
PAR9: PUSHJ SP,TRLMAN ; MAKE TRACE ENTRY
WIT
PAR9: MOVEI A4,(DL) ;[363] GET THE NEW DL
SUBI A4,(DB) ;[363] DELOCATE IT
TLO A4,DB ;[363]
AOS %DDTPL(DB) ;[363] UPDATE DYNAMIC PROCEDURE LEVEL
MOVEM A4,%DDTDL(DB) ;[363] REMEMBER THIS DL
PUSHJ SP,TRLMAN ; MAKE TRACE ENTRY
INS 6/92 ;12C8
PUSH SP,A2 ; [366] SAVE CURRENT FREE LIST POINTER
REP 17/92 ;12C9
MOVE A2,%SYS2(DB) ; [326] NO, RESTORE HEAP TABLE PTR.
WIT
POP SP,A2 ; [366][326] NO, RESTORE HEAP TABLE PTR.
REP 28/93 ;12C10
MOVE A2,%SYS2(DB) ;[251] GET HEAP TABLE PTR.
WIT
SKIPE A2,%SYSOV(DB) ;[366] ANY OVERLAYS IN PROGRESS?
PUSHJ SP,GET000 ;[366] YES, CHECK FUNCT. FREE LIST
MOVE A2,%SYS2(DB) ;[251] GET HEAP TABLE PTR.
PUSHJ SP,GET000 ;[366] CHECK FREE LIST
POP SP,A5 ;[366] FREE AC'S
POP SP,A4 ;[366]
JRST GET004 ;[366] CONTINUE
REP 63/93 ;12C11
POP SP,A5 ;[251] RESTORE AC'S
POP SP,A4 ;[251]
WIT
POPJ SP, ;[366] RETURN
GET004: ;[366]
REP 25/130 ;12C12
INOU3: TDOA A1,[
IOERR 0,0] ; R.H. OF A1 = CHAN #
INOU4: TDO A1,[
IOERR 1,0] ; WRONG MODE (0, ABOVE, = DEV NO GOOD)
WIT
INOU3: TDOA A1,[IOERR 0,0] ; R.H. OF A1 = CHAN #
INOU4: TDO A1,[IOERR 1,0] ; WRONG MODE (0, ABOVE, = DEV NO GOOD)
DEL 41/130 ;12C13
DEL 6/131 ;12C14
REP 1/133 ;12C15
INOU7: SKIPN A3,INOU1(A6) ; GET DEVICE PROPERTIES
JRST INOU3 ; NO GOOD FOR ALGOL (DISPLAY, ETC.)
EDIT (213);
WIT
INOU7: SKIPN A3,INOU1(A6) ; GET DEVICE PROPERTIES
JRST INOU3 ; NO GOOD FOR ALGOL (DISPLAY, ETC.)
EDIT (213)
REP 15/133 ;12C16
JUMPL A5,[
AOJE A5,INOU3 ; DEFENSIVE CODING
JRST INOU4]
WIT
JUMPL A5,[AOJE A5,INOU3 ; DEFENSIVE CODING
JRST INOU4]
REP 39/141 ;12C17
CAIG A2,(DB) ; BELOW STACK?
WIT
CAIGE A2,(DB) ; [361] BELOW STACK?
REP 66/141 ;12C18
HRLM A2,(A3) ; AND LINK WORD
WIT
HRLM A2,(A3) ; [366] AND LINK WORD
INS 77/141 ;12C19
MOVEI A0,0 ; [361] WE'RE RETURNING SPACE
REP 12/142 ;12C20
PUSHJ SP,GETKNL ; GET PIECE
WIT
SUBI A0,1 ; [361] COMPENSATE FOR FREE HEADER WORD SPACE
PUSHJ SP,GETKNL ; GET PIECE
MOVEI A1,-1(A1) ; [361] BLOCK STARTS AT HEADER WORD
INS 25/142 ;12C21
REPEAT 0,< ;[366] MAKE CBC A NO-OP
INS 46/142 ;12C22
> ;[366] END REPEAT 0
FNCCBC: JRST FNCTEX ;[366] MAKE CBC A NO-OP
REP 45/146 ;12C23
EDIT (242) ; [242] FIX WRONG LINE # PROBLEM WITH ALGDDT
ERRM2: HRRZ A1,-1(SP) ; [242] GET MODIFIED RETURN ADDRESS
SUB A1,%SYS16(DB) ; [242] FIX IT SO IT'S CORRECT AGAIN
SUBI A1,1 ; [242] NOW MOVE BACK TO THE "PUSHJ" INSTR.
WIT
EDIT(363) ;[363] FIX WRONG LINE #, ILL MEM REF IN ALGDDT
HRRZ A1,PRGLNK(DL) ;[363] NO ADDRESS - GET LAST LINK
ERRM2: HLRZ A0,(A1) ;[363] FETCH OPCODE, AC
ANDI A0,777740 ;[363]
CAIE A0,(PUSHJ SP,) ;[363] IS IT THE CALL?
SOJG A1,ERRM2 ;[363] NO, BACK UP MORE
INS 29/147 ;12C24
JUMPN A5,ERRM12 ; [362] JUMP AHEAD IF DEVICE WAS SUPPLIED
MOVEI A1,[ASCIZ/(none specified)/] ;[362] ELSE STRING WAS BLANK
JRST ERRMJ ; [362] PRINT IT
REP 33/147 ;12C25
PUSHJ SP,MONIT
WIT
ERRMJ: PUSHJ SP,MONIT ;[362]
REP 22/148 ;12C26
ERRM11: MOVEI A1,[
ASCIZ/ channel # /]
WIT
ERRM11: MOVEI A1,[ASCIZ/ channel # /]
INS 1/149 ;12C27
SUM 198103