Google
 

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