File EXIT.PA (PAL assembler source file)

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

/2	EXIT TASK FOR RTS/8 V2B
	VERS=1
	XLIST 1
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1976 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/
	XLIST 0

	TASK=	EXIT
	INIWT=	RUNWT	/MUST START IN RUN WAIT
	IFNDEF	EXITFLD	<EXITFLD=10>
	IFNDEF	EXITLOC	<EXITLOC=5000>
	CUR=	EXITFLD

/	MESSAGE FORMAT:

/	ADDRESS OF EXIT SUBROUTINE (SAME FIELD AS MESSAGE)

/	IF ADDRESS=0, THEN POST THIS MESSAGE WHEN DONE RUNNING
/	IF NO ADDRESS WAS 0, THEN RETURN TO OS/8 WHEN DONE RUNNING

	FIELD CUR%10
	*EXITLOC

START,	AC4000		/DON'T WAIT IF NO MESSAGES
	CAL
	RECEIVE		/RECEIVE NEXT MESSAGE
MADDR,	0		/ADDRESS WILL BE LEFT HERE
	SNA		/WAS THERE ANY MESSAGE?
	JMP DONE	/NONE, WE ARE DONE
	DCA MCDF	/YES, STORE AWAY CDF TO FIELD OF MESSAGE
MCDF,	HLT		/EXECUTE CDF TO FIELD OF MESSAGE
	TAD I MADDR	/GET MESSAGE (ADDRESS OF EXIT SUBROUTINE)
	CDF CUR		/BACK TO OUR SAFE DF
	SNA		/WAS AN EXIT SUBROUTINE SUPPLIED?
	JMP SNTNL	/NO, THIS MEANS USER WANTS CONTROL BACK
	DCA SUBR	/YES, SAVE ADDRESS USER WANTS CALLED
	CLA IAC		/'CDF'+1='CIF'
	TAD MCDF	/FORM CIF TO FIELD OF EXIT SUBROUTINE
	DCA .+1
	HLT		/EXECUTE IT
	JMS I SUBR	/CALL USER'S EXIT SUBROUTINE
	TAD MCDF	/DOESN'T HURT IF SUBR SET WRONG DF
	DCA EFCDF
	AC7775		/EVENT FLAG IS 3 LOCATIONS BACK
EXITGO,	TAD MADDR	/PUT ADDRESS OF EVENT FLAG IN AC
	CAL
	POST		/GO POST IT
EFCDF,	HLT
	JMP START	/GO GET NEXT MESSAGE

SNTNL, TAD SAVEF /LOOK AT OLD SAVED EVENT FLAG SZA /OUGHT TO BE 0 HLT /WASN'T L7600, 7600 /CLA TAD MCDF /SAVE FIELD OF MESSAGE DCA SAVCDF AC7775 /BUMP BACK MADDR TO POINT TAD MADDR /TO EVENT FLAG DCA SAVEF /SAVE IT JMP START /GET NEXT MESSAGE, DON'T POST THIS ONE DONE, TAD SAVEF /DID ANYONE WANT CONTROL BACK SNA CLA JMP GOS8 /NO, RETURN CONTROL TO OS/8 (OR OTHER MONITOR) TAD SAVEF /YES, SET ADDRESS OF EVENT FLAG DCA MADDR TAD SAVCDF /SET FIELD OF EVENT FLAG DCA EFCDF DCA SAVEF /ZERO SAVED FLAG JMP EXITGO /GO POST OLD EVENT FLAG SAVEF, 0 /SAVED EVENT FLAG SAVCDF, 0 /CDF OF SAVED EVENT FLAG GOS8, CDF 0 /INHIBIT TASK SWITCHING DCA I XTSWFLG ISZ MADDR JMP .-1 ISZ EXDLAY /ALLOW (MOST) I/O TO COMPLETE JMP .-3 TAD I M1 /TURN OFF BACKGROUND BIT AND L6777 DCA I M1 IFZERO PDP8E <IOF> IFNZRO PDP8E <CAF> /DOES AN IOF CIF CDF 0 JMP I L7600 /RETURN TO MONITOR SUBR, 0 EXDLAY, -60 XTSWFLG,TSWFLG /DON'T USE LITERALS IN CASE USER WANTS TO /PACK THIS ROUTINE INTO FREE SPACE ON ONE /OF HIS PAGES M1, -1 L6777, 6777



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