File RWTAPE.PA (PAL assembler source file)

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


/RTAPE,WTAPE FOR THE TD8E DECTAPE CONTROLLER.
/
/CALLED BY: CALL WTAPE(IUNIT,IBLOCK,IWORDS,IBUF,IER)
/
/

OPDEF DCAI 3400
OPDEF TADI 1400
OPDEF JMPI 5400

ENTRY RTAPE		/READ TAPE ENTRY
ENTRY WTAPE		/WRITE TAPE ENTRY

/PARAMETER UNPACKING ROUTINE....

ARGAD,	0
HANDT,	0

GETARG, 0		/GETS NEXT ARGUMENT IN FORTRAN
			/GENERATED PARAMETER STRING
GTCDF1,	HLT		/REPLACED BY CDF
	TADI  WTAPE#	/GET PARAM DATA FIELD
	DCA   GTCDF2
	INC   WTAPE#	/BUMP LIST ADDRESS
	TADI  WTAPE#	/GET PARAMETER ADDRESS
	DCA   ARGAD	/SAVE FOR INDIRECT (OR ARRAY)
	INC   WTAPE#
GTCDF2,	HLT		/REPLACED BY CDF
	TADI   ARGAD	/PASS VALUE IN ACC
	JMPI   GETARG	/EXIT QUIETLY....


/GENERAL DECODING AND PROCESSING (COMMON) DONE HERE.


THEART, 0
	JMS   GETARG	/GET THE UNIT NUMBER
	AND   (1	/MUST BE 0 OR 1, SO....
	CLL RAR		/FORCE TO ZERO OR ONE.
	TAD   HANDTD	/COMPUTE THE ENTRY POINT TO
			/THE SYSTEM HANDLER ROUTINE.
	SZL		/DTA0 OR DTA1....?
	TAD   (5
	DCA   HANDT
	JMS   GETARG	/GET THE BLOCK NUMBER.
	SPA		/IF NEGATIVE VALUED THEN SET
	ISZ   ARG1	/FLAG IN THE FUNCTION WORD
	SPA		/TO START THE SEARCH IN THE
	CIA		/FORWARD DIRECTION.
	DCA   ARG3	/BLOCK NUMBER = ARG3
	JMS   GETARG	/GET THE NUMBER OF WORDS
	AND   (3700	/CONVERT TO NUMBER OF BLOCKS
	CLL RAR
	TAD   ARG1	/MASK INTO THE FUNCTION WORD
	DCA   ARG1
	JMS   GETARG	/FINALLY GET THE BUFFER
	CLA
	TAD   GTCDF2	/MASK THE DATA FIELD INTO THE
	AND   (0070	/FUNCTION WORD.
	TAD   ARG1
	DCA   ARG1
	TAD   ARGAD	/AND SET UP THE BUFFER ADDRESS
	DCA   ARG2
	DCA   EROR


/  NOW CALL THE SYSTEM HANDLER....

	6202		/CHANGE TO FIELD 0
DOIT,	JMS I HANDT
ARG1,	0		/FUNCTION WORD
ARG2,	0		/BUFFER ADDRESS
ARG3,	0		/BLOCK NUMBER
	DCA   EROR	/ERROR EXIT
	JMP I THEART	/SEEMS RATHER PAINLESS....
EROR,	0
HANDTD, 7607


/ ENTRY POINT FOR WRITE FUNCTION (WTAPE)


WTAPE,	BLOCK 2
	CLL CML RAR	/SET WRITE FLAG
WTPRS,	DCA   ARG1	/INTO FUNCTION WORD
	TAD   WTAPE	/SET UP DATA FIELD CHANGE
	DCA   GTCDF1	/FOR GETTING PARAMETERS
	JMS   THEART	/GO DO IT....
	JMS   GETARG	/PASS BACK ERROR STSTUS
	CLA
	TAD   EROR
	DCAI  ARGAD
	RETRN WTAPE


/  ENTRY POINT FOR READ FUNCTION (RTAPE)


RTAPE,	BLOCK 2
	TAD   RTAPE	/MOVE CALLING SEQ TO WTAPE
	DCA   WTAPE
	TAD   RTAPE#
	DCA   WTAPE#	/ONLY DIFFERENCE IS THAT THE
	JMP   WTPRS	/FUNCTION FLAG IS FOR READ.

	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