File FOCLIN.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/FOCAL PATCH:LINE # (DMK)

	/PATCH TO ALLOW COMPUTED LINE NUMBERS
	/IN FOCAL

	PUSHJ=JMS I 140
	EVAL=1613
	FLAC=44
	MULT10=5667
	AC=40
	ALIGN=6623
	LINENO=67
	ERROR4=JMS I 166
	RTL6=JMS I 157
	GETC=JMS I 145

	*307	/PATCH 'XGETLN'

	JMP ALL		/'A' SEEN.  PROCESS 'ALL'
	PUSHJ		/NOT ALL
		EVAL	/EVALUATE LINE # EXPRESSION
			/(MAY BE JUST #, E.G., 1.05
	IAC
	DCA AC+2	/SET UP UNNORMALIZED FLOATING #
			/IN 'AC'
	DCA AC+1	/THAT WON'T BOTHER US BELOW
	TAD C13		/EXPONENT REQUIRED
	DCA AC		/SEE ABOVE
	JMS I LALIGN	/LET ALIGN PUT BINARY POINT BETWEEN
			/LOW AND HIGH ORDER WORDS OF FLAC,
			/BY ALIGNING IT WITH 'AC'
	TAD FLAC	/EXPONENT OF FLAC
	SPA CLA		/POSITIVE?
	ERROR4		/NO.  ERROR
	TAD FLAC+1	/HOW ABOUT MANTISSA?
	SPA
	ERROR4		/ILLEGAL LINE #
	TAD 372		/P7740: -40 (8)
	SMA CLA		/GROUP # >31?
	ERROR4		/YES
	TAD FLAC+1	/NO.  GET IT AGAIN
	RTL6		/PUT IN ITS PLACE
	RAL
	DCA LINENO	/SAVE LINE #
	DCA FLAC+1	/CLEAR HIGH ORDER MANTISSA
	JMS I LMUL10	/MULTIPLY BINARY FRACTION BY
	JMS I LMUL10	/100, GIVING LINE #
	TAD FLAC+2
	SPA CLA		/PERFORM ROUND OFF
	IAC
	TAD FLAC+1	/GET RESULT (LINE #)
	TAD LINENO	/ADD TO GROUP #
	JMP B		/CONTINUE BELOW
LMUL10,	MULT10
LALIGN, ALIGN
ALL,	GETC		/FOR 'ALL', SKIP 'A' FOR TEST
			/BELOW HERE (BACK IN REGULAR FOCAL)
B,	DCA LINENO	/SAVE LINE # (0 FOR ALL)

	*371	/OVERLAY A NO LONGER NEEDED CONSTANT
C13,	13	/WITH THIS


	*1626	/PATCH TO EVAL
	JMP 1650	/IGNORE ERROR
$$$$$$$$$$$



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search