Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0057/sddbkt.mac
There are 2 other files named sddbkt.mac in the archive. Click here to see a list.
	TITLE	S$$BKT BREAK TABLE POINTERS TABLE

	ENTRY	S$$BKT
	SEARCH	S$$NDF
	SALL

	COMMENT/
CALL:	LDB	R0,S$$BKT(R2)	; WHERE R1 CONTAINS THE 3.5 WORD
BREAK TABLE POINTER AND R2 CONTAINS THE CHARACTER TO BE TESTED FOR
MEMBERSHIP/

; ENTRY DEFINING MACRO
	DEFINE	TABENT(CHR)
<	IFLE	C1-107,
 <	TBL'CHR= POINT 1,C1&3(R1),^D35-C1/4>
	IFG	C1-107,
 <	TBL'CHR= POINT 1,1+C1-<C1/3>*3(R1),^D17-<C1-^O110>/3>
	C1=C1+1>

; DEFINE TABLE ENTRIES, GIVING CHARACTERS IN ORDER OF DECLINING
; PROBABLE RELATIVE FREQUENCY

	C1=0	; INITIAL BREAK TABLE POSITION (BEST)

	C2=40	; NORMAL CHARACTER CODES 040-137
	REPEAT	100,
<	TABENT(\C2)
	C2=C2+1>

	TABENT(0)	; NULL CHARACTER

	C2=7	; SPECIAL CONTROL CODES 007-015
	REPEAT	7,
<	TABENT(\C2)
	C2=C2+1>

	C2=140	; UPPERCASE CODES 140-177
	REPEAT	40,
<	TABENT(\C2)
	C2=C2+1>

	C2=1	; CONTROL CODES 001-006
	REPEAT	6,
<	TABENT(\C2)
	C2=C2+1>

	C2=16	; CONTROL CODES 016-034
	REPEAT	17,
<	TABENT(\C2)
	C2=C2+1>

	TBL35=TBL34	; CONTROL CODE 035

	TABENT(36)	; CONTROL CODE 036

	TBL37=TBL36	; CONTROL CODE 037

; BUILD TABLE
	DEFINE	TABDEF(CHR)
<	TBL'CHR>

	C2=0
S$$BKT:	REPEAT	200,
<	TABDEF(\C2)
	C2=C2+1>
	XALL
	END
	END