Google
 

Trailing-Edge - PDP-10 Archives - BB-Z759A-SM - cobol-source/nubstb.mac
There are 7 other files named nubstb.mac in the archive. Click here to see a list.
; UPD ID= 1037 on 4/29/83 at 12:06 AM by NIXON                          
TITLE	NUBSTB FOR COBOTS.
SUBTTL	NUMERIC TEST TABLES FOR BIS.

	SEARCH COPYRT
	SALL

;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

COPYRIGHT (C) 1975, 1983, 1984 BY DIGITAL EQUIPMENT CORPORATION


	SEARCH	LBLPRM		;DEFINE ASSEMBLY PARAMETERS.
	%%LBLP==:%%LBLP

	SEARCH	NUMEQV		;[12B] GET NUMERIC EQUIVALENCES
	SEARCH	FLGDF		;DEFINE THE FLAGS.

	HISEG
	.COPYRIGHT		;Put standard copyright statement in REL file
	SALL

;REVISION HISTORY:

;V10 *****

;	13-AUG-76	ADD ANSII STANDARD NUMERIC TESTING
;	6-JUL-75	/ACK	EXTRACTED THIS MODULE FROM EASTBL.

;*****
; 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

;	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

		%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

	NUMS.T(A)		;ASCII AND SIXBIT

ENTRY	NUMS.9
NUMS.9::	BLOCK	0

	NUMS.T(E)		;EBCDIC


	END	;NUBSTB.MAC