Trailing-Edge
-
PDP-10 Archives
-
BB-H580E-SB_1985
-
nubstb.mac
There are 7 other files named nubstb.mac in the archive.  Click here to see a list.
; UPD ID= 2742 on 4/4/80 at 10:51 AM by WRIGHT                          
TITLE	NUBSTB FOR LIBOL V12C
SUBTTL	NUMERIC TEST TABLES FOR BIS.
	SEARCH	COPYRT
	SALL
;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1975, 1985
;ALL RIGHTS RESERVED.
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE.
;REVISION HISTORY:
;V12B ****
;EDIT	  DATE		WHO		DESCRIPTION
				
;1070	16-JUN-83	JEH 	CHG NUMS.7 TABLE FOR NUMSTD=0 SO NUMERIC
;				CHARACTERS WILL BE TRANSLATED
;V10 *****
;	13-AUG-76	ADD ASNII STANDARD NUMERIC TESTING
;	6-JUL-75	/ACK	EXTRACTED THIS MODULE FROM EASTBL.
;*****
	SEARCH	LBLPRM		;DEFINE ASSEMBLY PARAMETERS.
	%%LBLP==:%%LBLP
	NUMSTD==NUMSTD		; [450] STD NUMERIC TEST
	BIS==BIS
	SEARCH	NUMEQV		;[12B] GET NUMERIC EQUIVALENCES
	SEARCH	FLGDF		;DEFINE THE FLAGS.
	SALL
	HISEG
	.COPYRIGHT		;Put COPYRIGHT statement in .REL file.
; NUMERIC TEST TABLES
; THESE ARE NEEDED BECAUSE THE DISPLAY NUMERIC CONVERSION TABLES
; ARE NOT STRICT ENOUGH
DEFINE	NUMS.TB(SRC)
<	.XCREF
	BTBMAC(SRC,S)		;;DEFINE NEEDED MACROS
	%CHAR==0		;;CHARACTER INDEX
	DEFINE	SYMBL		;;BUILD VALUE OF NEXT SYMBOL AND SET SYM%
	<	SYM%==0		;;START WITH ZERO VALUE
	IFE NUMSTD,<
		;IGNORE NULS
		IFE	TOKEN%(\%CHAR)-TK.TAB,<ABTSIG>	;;ABORT ON TRAILING
		IFE	TOKEN%(\%CHAR)-TK.BLK,<ABTSIG>	;;ABORT ON TRAILING
		IFE	TOKEN%(\%CHAR)-TK.DIG,<		;[1070]
				%ADD==NUMVAL		;[1070]
				SIGSET+%ADD>		;[1070];NOTE DIGITS
		IFE	TOKEN%(\%CHAR)-TK.OVP,<ABORT>	;;SEE IF LAST
		IFE	TOKEN%(\%CHAR)-TK.SGN,<ABORT>	;LEADING/TRAILING
		IFE	TOKEN%(\%CHAR)-TK.OTH,<ABORT>	;NOT NUMERIC
	> ; END IFE NUMSTD
	IFN NUMSTD,<
;	ANSII STD NUMERIC TEST NO TABS,NULLS, BLANKS ALLOWED
		IFE	TOKEN%(\%CHAR)-TK.NUL,<ABORT>	;; [450] ABORT ON NULLS
		IFE	TOKEN%(\%CHAR)-TK.TAB,<ABORT>	;; [450] ABORT ON TABS
		IFE	TOKEN%(\%CHAR)-TK.BLK,<ABORT>	;; [450] ABORT ON BLANKS
		IFE	TOKEN%(\%CHAR)-TK.DIG,<		;[12B]
			%ADD==NUMVAL
			SIGSET+%ADD>			;;[450] NOTE DIGITS
		IFE	TOKEN%(\%CHAR)-TK.OVP,<ABORT>	;; [450] SEE IF LAST
		IFE	TOKEN%(\%CHAR)-TK.SGN,<ABORT>	; [450] LEADING/TRAILING
		IFE	TOKEN%(\%CHAR)-TK.OTH,<ABORT>	; [450] NOT NUMERIC
	> 	; END IFN NUMSTD
		%CHAR==%CHAR+1	;;INCREMENT INDEX
		;; NOTE SYM% NEVER HAS ANY VALUE ONLY FLAGS
	>
	TBLSIZ			;;DETERMINE SIZE OF TABLE
	REPEAT	VAL,<		;;VAL IS HALFF NUMBER OF SYMBOLS
		SYMBL		;;GET NEXT SYMBOL
		SYM1==SYM%	;;SAVE IT
		SYMBL		;;NEXT ONE
		XWD	SYM1,SYM%	;;BUILD WORD OF TWO ENTRIES
	>
	.CREF
>
ENTRY	NUMS.7
NUMS.7::	BLOCK	0
ENTRY	NUMS.6
NUMS.6=:.+20
IFN BIS,<
	NUMS.T(A)		;ASCII AND SIXBIT
>
ENTRY	NUMS.9
NUMS.9::	BLOCK	0
IFN BIS,<
	NUMS.T(E)		;EBCDIC
>
	END	;NUBSTB.MAC