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

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

//	CHECK CHAIN BIT, AND FETCH TEXT PARAMETER.
/
/	IFLAG = IFCHN(IBUFF)
/
/	CCLX HAS THE CAPABILITY OF CHAINING TO A DEFINED COMMAND'S
/	PROGRAM WITH A TEXT PARAMETER STORED IN 17600-17646.
/	THIS FUNCTION PACKS THE TEXT FROM THOSE LOCATIONS,
/	INTO IBUFF, CONVERTING LOWER CASE TO UPPER CASE,
/	IGNORING ANYTHING ELSE OTHER THAN THE 64 CHARACTER SET.
/
/	IFLAG = 0  IF PROGRAM NOT CHAINED TO.
/		(IBUFF WILL BE ALL ZEROES)
/
/	IFLAG > 0  IF PROGRAM CHAINED TO.
/		(IBUFF CONTAINS TEXT STRING)
/
/	IBUFF IS A 20 WORD BUFFER INTO WHICH THE CHAIN TEXT
/	PARAMETER IN LOCATIONS 17600-17646 IS PACKED.
/
/	THE TEXT IS IN 6-BIT FORMAT, TWO CHARACTERS PER WORD,
/	FOR 19 WORDS.  THE 20TH WORD IS A ZERO.
/
	LAP
	ENTRY IFCHN

	DUMMY FROM
	DUMMY TO
FROM,	6211;7600
TO,	0;0

IFCHN,	0
IFCHN1,	0
	TAD IFCHN
	DCA CDF1
CDF1,	TAD I IFCHN1	/*CDF
	DCA TO
	INC IFCHN1
	TAD I IFCHN1
	DCA TO#
	INC IFCHN1
	6201		/RELOAD BIT=1?
	TAD 7746
	AND (1000
	DCA PAR
	TAD (7600
	DCA FROM#
	TAD (-23
	DCA CTR
	DCA TEMP
LOOP,
	JMS GET
	CLL RTL;RTL;RTL
	DCA TEMP
	JMS GET
	TAD TEMP
	JMS PUT
	ISZ CTR
	JMP LOOP

	JMS PUT
IFCHNX,	TAD PAR
	RETRN IFCHN

PUT,	0
	DCA I TO
	INC TO#
	JMP I PUT

GET,	0
GET1,	CLA
	TAD PAR
	SZA CLA
	TAD I FROM
	DCA PUT
	DCA I FROM
	TAD PUT
	SZA
	INC FROM#
	SNA
	JMP GETX
	AND (177
	TAD (-40
	SPA
	JMP GET1
	TAD (-133
	SMA
	JMP GET1
	TAD (33
	SNA
	JMP GET1
	SPA
	TAD (140
GETX,	AND (77
	JMP I GET

TEMP,	0
CTR,	0
PAR,	0

	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