File TMUL.PA (PAL assembler source file)

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

/
	*200
START,	CLA
	TAD	M1
	JMS	MULP
M2,	-1
	HLT
	JMP	START
/
M1,	-1
/
/
/  MULP SUBROUTINE
/
/  RECEIVES MULTIPLICANDS AT CALL+1 AND IN AC
/
/  RETURNS ANSWER IN AC,,MQ  WITH LINK=0
/  RETURNS AT CALL+2
/
/  MECHANISM:  USES SHIFT AND ADD
/
/  HIGH PART OF ANSWER BUILT IN 'AC'
/  CONTROL BITS SHIFT RIGHT OUT OF 'MQ', WHILE ANSWER
/  BITS PROPOGATE DOWN INTO MQ
/
MULP,	0
	MQL		/CONTROL BITS IN MQ
	TAD	(-14	/CONTROL COUNT, 12 BITS
	DCA	MULC	/LOOP CAN'T QUIT EARLY ON ALL ZEROES
	CLL		/NASTY, THIS REAPPEARS  AS LINK UPON EXIT
LOOP,	SWP		/GET MQ TO SHIFT CONTROL BIT TO LINK
	RAR		/AND SHIFT IN ANSWER BIT TO TOP OF MQ
	SWP		/GET AC BACK
	SNL		/SKIP IF WE HAVE TO ADD IN MULTIPLICAND
	JMP	NOADD	/NO WE DON'T, JUST DO SHIFT
	CLL		/MUST CLEAR LINK TO REGISTER CARRY  FROM COMING
	TAD I	MULP	/ADDITION, GIVING 13 BIT RESULT
NOADD,	RAR		/LOW BIT A RESULT TO LINK
	ISZ	MULC	/DONE YET
	JMP	LOOP	/NO
	SWP		/FINAL ANSWER BIT TO MQ
	RAR		/CLEARING LINK FROM 'LOOP-1'
	SWP
	ISZ	MULP	/INCREMENT RETURN ADDR
	JMP I	MULP
/
MULC,	0
/
/
$



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