Trailing-Edge
-
PDP-10 Archives
-
bb-jr93d-bb
-
algfun.c08
There are 14 other files named algfun.c08 in the archive. Click here to see a list.
REP 3/1 ;08C1
;COPYRIGHT (C) 1975,1981,1982 BY
WIT
;COPYRIGHT (C) 1975,1982,1983 BY
INS 15/62 ;08C2
IF SYM IS IN A NON-ZERO AC ;[352]
EDT352: TRNE SYM,-1 ;[352] ANY LOCATION ASSIGNED TO SYM?
TRNE SYM,^-17 ;[352] IS IT AN AC?
JRST FALSE ;[352] NO TO EITHER ONE
THEN ;[352] YES, CHECK FOR POSSIBLE AC CONFLICT
BEGIN ;[352] AND POKE LAC IF NECESSARY. THEN LET
IF; AC CONFLICT ;[352] GLOAD FIGURE OUT WHAT AC TO USE
PUSH SP,SYM ;[352] SAVE SYM FOR A MOMENT
HRLI SYM,0 ;[352] SYM HAS ONLY AC NUMBER NOW
SUB SYM,LAC ;[352] SPACE UNTIL AC CONFLICT
SKIPGE SYM ;[352] NO CONFLICT IF SYM .GE. LAC
CAMGE SYM,[-3];[352] L.R. WANTS 3 AC'S, OTHERS LESS
JRST FALSE ;[352] NO CONFLICT POSSIBLE, OK
THEN; LAC := AC(SYM) ;[352] POKE LAC SO GLOAD ALLOCATES OK
POP SP,SYM ;[352] RESTORE SYM
HRRM SYM,LAC ;[352] AND SET LAC
ELSE; RESTORE SYM ;[352]
POP SP,SYM ;[352]
FI ;[352]
ENDD ;[352]
FI ;[352]
SUM 134526