Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/25/sutmap.mac
There are 2 other files named sutmap.mac in the archive. Click here to see a list.
TITLE SUTMAP
SALL
QCR=15
QLF=12
CHANNEL=12
INTERN MAP
OPDEF L [MOVE]
OPDEF LI [HRREI]
OPDEF ST [MOVEM]
OPDEF LD [DMOVE]
OPDEF STD [DMOVEM]
OPDEF GOTO [JRST]
OPDEF EXEC [PUSHJ 17,]
OPDEF RETURN [POPJ 17,]
DEFINE GETCHAR(REG)<
SOSGE BC
EXEC READ
ILDB REG,BP
>
DEFINE ERROR(TXT)<
GOTO [OUTSTR [ASCIZ/
?ERROR IN MAP IN TXT
/]
EXIT]
>
OPDEF SETLINK [SETZM LILO]
OPDEF SETLOAD [SETOM LILO]
OPDEF IFLINK [SKIPN LILO]
OPDEF IFLOAD [SKIPE LILO]
OPDEF GETNUM [EXEC GNUM]
MAP:
STD 5,SAVE
ST 17,PSAVE
SKIPE OPFLAG
GOTO L2
OPEN CHANNEL,[0
SIXBIT/DSK/
XWD 0,BUFH]
ERROR(OPEN)
INBUF CHANNEL,
L 1,PASSNO
L 2,[SIXBIT/MAP1/
SIXBIT/MAP2/
SIXBIT/MAP3/
SIXBIT/RTSLOW/
SIXBIT/SIMRTS/]-1(1)
SETZM LBLOCK+3
EXEC LUP
GOTO MAP1
L 1,[XWD 13,454
XWD 13,455
XWD 13,457
0
XWD 13,617]-1(1)
ST 1,LBLOCK+3
EXEC LUP
GOTO MAP1
RELEASE CHANNEL
RETURN
MAP1:
SETOM OPFLAG
;SCAN PAST HEADER
L1: GETCHAR 2
CAIGE 2,"0"
GOTO L1
CAIN 2,"L"
GOTO L13 ;IF LINK-MAP
SETLOAD
L10: GETCHAR 2
CAIE 2,":"
GOTO L10
LI 3,2
L11: GETCHAR 2
CAIE 2,QCR
GOTO L11
SOJG 3,L11
L 3,BP
IBP 3
ILDB 2,3
CAIE 2,"S"
GOTO L2
ILDB 2,3
CAIE 2,"T"
GOTO L2
GETCHAR 2
GOTO L2
L13: GETCHAR 2
CAIE 2,"*"
GOTO L13
SETLINK
L14: GETCHAR 2
CAIE 2,QCR
GOTO L14
L15: GETCHAR 2
CAIE 2,"*"
GOTO L15
;GET NEXT MODULE
L2:;SEARCH <LF><ANY LETTER OR ".">
GETCHAR 2
CAIE 2,QLF
GOTO L2
GETCHAR 2
CAIG 2,"A"
CAIN 2,"."
SKIPA
GOTO L2
LI 5,6
GOTO L22
L21: GETCHAR 2
CAIL 2," "
CAILE 2,"Z"
LI 2," "
L22: ROT 2,-7
SOJE 5,L23
LSHC 1,7
GOTO L21
L23: IFLOAD
GOTO L4
L3: GETCHAR 3
CAIE 3,QCR
GOTO L3
L4:
GETNUM
L 3,4
GETNUM
IFLOAD
TRNE 3,400K
GETNUM
LD 5,SAVE
AOS (17)
LSH 1,1
RETURN
LUP:
MOVSI 3,(SIXBIT/MAP/)
STD 2,LBLOCK
LOOKUP CHANNEL,LBLOCK
AOS 0(17)
RETURN
READ: IN CHANNEL,
SOSGE BC
GOTO [CLOSE CHANNEL,
RELEASE CHANNEL,
SETZM OPFLAG
L 17,PSAVE
LD 5,SAVE
RETURN]
RETURN
GNUM: GETCHAR 5
CAIL 5,"0"
CAILE 5,"9"
GOTO GNUM
LI 4,0
GNUM1: ROT 5,-3
LSHC 4,3
GETCHAR 5
CAIL 5,"0"
GOTO GNUM1
RETURN
PSAVE: Z
BUFH: Z
BP: Z
BC: Z
LILO: Z
PASSNO:: -20
LBLOCK: SIXBIT/MAP/
SIXBIT/MAP/
0
0
SAVE: BLOCK 2
OPFLAG: Z
LIT
END