File LGET.SB (8k SABR macro assembler source file)

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

/ 2	OS/8 V3D FORTRAN II CHARACTER STRING SUBROUTINES
/
/	VERSION 2 ( HIGH SPEED )
/
/	22-MAR-74	(SUBSC-VERSION)	WOLFGANG HOUBEN
/	 2-NOV-78			WOLFGANG HOUBEN
/
/	1) FUNCTION   LGET( STRING , INDEX )
/
/	2) SUBROUTINE LSET( STRING , INDEX , CHAR )
/
/	DEFINITIONEN
/
	OPDEF	BSW	7002
	OPDEF	TADI	1400
	OPDEF	DCAI	3400
	OPDEF	JMPI	5400
	ENTRY	LSET
	ENTRY	LGET
/
/	VARIABLEN
/
STRING,	BLOCK	1	/ STRINGADDRESSE
INDEX,	BLOCK	1	/ CHARACTERINDEX
CHAR,	BLOCK	1	/ CHARACTERCODE
/
/	FUNCTION LGET
/
LGET,	BLOCK	1	/ ENTRYPOINT
	2		/ VERSION 2
	TAD	LGET
	DCA	CDF1	/ CDF CALL
CDF1,	HLT
	TADI	LGET#
	DCA	CDF3	/ CDF STRING
	INC	LGET#
	TADI	LGET#
	DCA	STRING	/ STRING ADDR
	INC	LGET#
	TADI	LGET#
	DCA	CDF2	/ CDF INDEX
	INC	LGET#
	TADI	LGET#
	DCA	INDEX	/ INDEX ADDR
	INC	LGET#
CDF2,	HLT
	CLA CMA
	TADI	INDEX	/ GET INDEX
	DCA	INDEX	/ INDEX - 1
	TAD	INDEX
	CLL RAR		/ MAKE WORD INDEX
	TAD	STRING
	DCA	STRING	/ WORDADDR
	TAD 	INDEX
	CLL RAR
	CLA
CDF3,	HLT
	TADI	STRING	/ GET WORD
	SNL		/ LEFT OR RIGHT BYTE ?
	BSW		/ LEFT !
	AND	(77	/ MASK 6BIT
	DCA	STRING	/ SAVE IT
	CLA CLL IAC RAL	/ AC = 2
	TAD	CDF1
	DCA	CIF1
CIF1,	HLT		/ CDI CALL
	TAD	STRING	/ GET RESULT
	JMPI	LGET#	/ FAST RETURN
/
/	SUBROUTINE LSET
/
LSET,	BLOCK	1	/ ENTRYPOINT
	2		/ VERSION 2
	TAD	LSET
	DCA	CDF4	/ CDF CALL
CDF4,	HLT
	TADI	LSET#
	DCA	CDF5	/ CDF STRING
	INC	LSET#
	TADI	LSET#
	DCA	STRING	/ STRING ADDR
	INC	LSET#
	TADI	LSET#
	DCA	CDF6	/ CDF INDEX
	INC	LSET#
	TADI	LSET#
	DCA	INDEX	/ INDEX ADDR
	INC	LSET#
	TADI	LSET#
	DCA	CDF7	/ CDF CHAR
	INC	LSET#
	TADI	LSET#
	DCA	CHAR	/ CHAR ADDR
	INC	LSET#
CDF6,	HLT
	CLA CMA
	TADI	INDEX
	DCA	INDEX	/ INDEX - 1
CDF7,	HLT
	TADI	CHAR
	AND	(77	/ MASK 6 BIT
	DCA	CHAR
	TAD	INDEX
	CLL RAR		/ WORDINDEX
	TAD	STRING
	DCA	STRING	/ WORDADDR
	TAD	INDEX
	CLL RAR
	CLA
CDF5,	HLT
	TADI	STRING	/ GET WORD
	SNL		/ LEFT OR RIGHT BYTE ?
	BSW
	AND	(7700	/ MASK LEFT HALF
	TAD	CHAR
	SNL
	BSW
	DCAI	STRING	/ RESTORE WORD
	CLA CLL IAC RAL	/ AC = 2
	TAD	CDF4
	DCA	CIF2	/ CDI CALL
CIF2,	HLT
	JMPI	LSET#
/
	END



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