File FACUL.

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

/RECURSIVE ROUTINE TO CALCULATE FACTORIALS
/*****************************************

/CALLED WITH NUMBER IN ACCUMULATOR
/ANSWER IN ACCUMULATOR ON RETURN



*1234			/STARTING ADDRESS



START,	LXI SP 1000	/SET STACK POINTER TO 1000
	LDA NUMBER
	CALL FACTOR
	STA ANSWER
	HLT		/END OF MAIN ROUTINE



FACTOR,	CPI 1		/SUBROUTINE FOR FACTORIALS
	RZ
	PUSH PSW
	DCR A
	CALL FACTOR	/RECURSIVE CALL
	MOV A D
	POP PSW
	CALL MULTIP
	RET



MULTIP,	MVI B 10	/SIMPLE MULTIPLING ROUTINE
	LXI H 0

LOOP,	RAL
	JNC SHIFT
	DAD D
SHIFT,	DCR B
	JZ END
	DAD H
	JMP LOOP

END,	MOV A H
	RET



NUMBER,	3		/NUMBER WHOSE FACTORIAL IS WANTED
ANSWER,	0		/ANSWER IS PUT HERE



$$$$$$$$$$$$$$$$$$	/END OF PROGRAMME



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