Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
algots.c10
There are 14 other files named algots.c10 in the archive. Click here to see a list.
REP 3/1 ;10C1
;COPYRIGHT (C) 1975,1982,1983,1984 BY
WIT
;COPYRIGHT (C) 1975,1984 BY
REP 13/4 ;10C2
EDIT(232) ;DELETE IN ALGOTS [JBS 6/2/80]
WIT
EDIT(232)
REP 29/70 ;10C3
EDIT(224); CORRECT EDIT 054 [JBS 4/1/80]
WIT
EDIT(224); CORRECT EDIT 054
REP 39/70 ;10C4
;
EDIT(152); Save AX over possible stack shifts.
;
FNN0: SUBI AX,(DB) ; [E152] Delocate AX over GETOWN
TLO AX,DB ; [E152] "
WIT
EDIT(152); SAVE AX OVER POSSIBLE STACK SHIFTS
FNN0: SUBI AX,(DB) ; [E152] DELOCATE AX OVER GETOWN
TLO AX,DB ; [E152]
REP 15/95 ;10C5
SKIPE A2,(A2) ; [326] ANY MORE HEAL TABLES TO USE?
WIT
SKIPE A2,(A2) ; [326] ANY MORE HEAP TABLES TO USE?
REP 37/95 ;10C6
PUSH SP,(A1) ; SAVE OLD UPEPER TABLE POINTER
WIT
PUSH SP,(A1) ; SAVE OLD UPPER TABLE POINTER
REP 39/143 ;10C7
CAIG A2,(DB) ; BELOW STACK ?
WIT
CAIGE A2,(DB) ; [361] BELOW STACK?
REP 43/143 ;10C8
MOVEI A1,1(DB) ; SAVE OLD DB
WIT
MOVEI A1,1(DB) ; SAVE OLD DB
REP 1/144 ;10C9
FNCG2: TLZ DB,TMPFL3 ; SET OVL HEAP SEARCH FLAG
WIT
FNCG2: TLZ DB,TMPFL3 ; SET OVL HEAP SEARCH FLAG
DEL 14/144 ;10C10
HRLM A2,(A3) ; AND LINK WORD
INS 25/144 ;10C11
MOVEI A0,0 ; [361] WE'RE RETURNING SPACE
REP 50/144 ;10C12
JRST FNCG21 ; YES - USE IT
WIT
JRST FNCG21 ; YES - USE IT
REP 1/145 ;10C13
FNCCOR: ; GET CORE ANYWHERE
SKIPE A2,%SYSOV(DB) ; FIRST ENTRY ?
JRST FNCCR1 ; NO
WIT
; GET CORE ANYWHERE
FNCCOR: SKIPE A2,%SYSOV(DB) ; FIRST ENTRY ?
JRST FNCCR1 ; NO
REP 11/145 ;10C14
PUSHJ SP,GETKNL ; GET PIECE
JRST FNCTST ; DONE
FNCRAD: ; RETURN CORE
MOVE A1,@3(AX) ; ADDR OF PIECE TO RETURN
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
JRST FNCTST ; DONE
; RETURN CORE
FNCRAD: MOVE A1,@3(AX) ; ADDR OF PIECE TO RETURN
REP 1/146 ;10C15
FNCGOT: ; GET OTS (HEAP) CORE
MOVE A0,@4(AX) ; LENGTH
PUSHJ SP,GETOWN ; GET IT
;
; NOTE THAT, DESPITE THE DESCRIPTION IN SOME VERSIONS OF THE
; DOCUMENTATION, THIS FUNCTION IS A "GET-CORE-ANYWHERE" TYPE
;
WIT
; GET OTS (HEAP) CORE
;
; NOTE THAT, DESPITE THE DESCRIPTION IN SOME VERSIONS OF THE
; DOCUMENTATION, THIS FUNCTION IS A "GET-CORE-ANYWHERE" TYPE
;
FNCGOT: MOVE A0,@4(AX) ; LENGTH
PUSHJ SP,GETOWN ; GET IT
REP 11/146 ;10C16
FNCROT: ; RETURN OTS CORE
MOVE A1,@3(AX) ; ADDRESS
WIT
; RETURN OTS CORE
FNCROT: MOVE A1,@3(AX) ; ADDRESS
REP 17/146 ;10C17
FNCGCH: ; GET CHANNEL
MOVEI A1,17(DB) ; TRY 17 FIRST
WIT
; GET CHANNEL
FNCGCH: MOVEI A1,17(DB) ; TRY 17 FIRST
REP 30/146 ;10C18
FNCRCH: ; RETURN CHANNEL
MOVE A1,@3(AX) ; NUMBER
WIT
; RETURN CHANNEL
FNCRCH: MOVE A1,@3(AX) ; NUMBER
REP 37/146 ;10C19
FNCRNT: ; GET START RUN-TIME
MOVE A1,%SYS5(DB)
JRST FNCTST ; EASY
FNCIFS: ; GET LOAD-FILE NAME, ETC
MOVE A1,%IFDAT+2(DB) ; DEVICE
WIT
; GET START RUN-TIME
FNCRNT: MOVE A1,%SYS5(DB)
JRST FNCTST ; EASY
; GET LOAD-FILE NAME, ETC
FNCIFS: MOVE A1,%IFDAT+2(DB) ; DEVICE
REP 57/146 ;10C20
BLT A3,A3 ; RETORE ACCS
WIT
BLT A3,A3 ; RESTORE ACCS
DEL 65/146 ;10C21
SUM 139841