File BPMOD.

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

/BREAKPOINT MODULE MAINTENANCE PROGRAM
/
/BPMOD (VERSION 2)
/
/COPYRIGHT 1974 COMPUTER INTERFACE SYSTEMS, INC.
/
/
	MQL=7421
	CLC=7240
/
	*200
/
/DETERMINE SIZE OF CPU MEMORY
/
	CLA CLL
	TAD	(-10
	DCA	FLD
	DCA	CURFLD
	DCA	CDFLOC
	TAD	(CDF
	JMP	.+2
CRLOOP,	ISZ	FLD
	JMP	.+3
	CLC
	JMP	INIT
	TAD	(10
	TAD	CDFLOC
	DCA	CDFLOC
	TAD	(2525
CDFLOC,	0
	DCA I	377
	TAD I	377
	TAD	(-2525
	SNA CLA
	JMP	CRLOOP
/
/INITIALIZE
/
INIT,	TAD	FLD
	TAD	(10
	DCA	FLD
	CDF	0
	TAD	(JMP I 1
	DCA	0
/
/INITIALIZE FOR UPPER TEST
/
UPPER,	DCA	FLG	/CLEAR FLAG
	TAD	(RET	/SET UP LOCATION 1
	DCA	1
	TAD	(7600
	DCA	FROM	/END TEST AT 7600
	TAD	(4000
	DCA	TO	/START OF TEST
/
/DO THE TEST
/
TEST,	TAD	TO	/GET CURRENT CORE LOCATION
	MQL		/PUT IT IN MQ
	TAD	(JMP 0
	DCA I	TO	/STORE WORD OUT THERE
	JMP I	TO	/THEN GO THERE
RET,	ISZ	TO	/INCREMENT LOCATION
	TAD	TO	/COMPARE INDEX WITH END
	CIA
	TAD	FROM
	SZA CLA		/WE DONE YET
	JMP	TEST	/NO
/
/DONE WITH TEST, CHANGE BANK LOCATION
/
	TAD	FLG	/GET THE FLAG
	SZA CLA		/WE IN LOWER HALF
	JMP	UPMOV	/NO, WE ARE IN UPPER
/
/CHANGING TO TEST LOWER BANK
/
	TAD	(200
	DCA	FROM
	TAD	(4000
	DCA	TO
	JMS	MOVE	/MOVE THE PROGRAM
/
/INITIALIZE FOR LOWER TEST
/
	JMP I	.+1	/GO TO NEW PROGRAM AREA
	.+1+3600
	CLC
	DCA	FLG	/SET FLAG
	TAD	(RET+3600
	DCA	1
	TAD	(4000	/END TEST=4000
	DCA	FROM
	TAD	(2	/START AT LOCATION 2
	DCA	TO
	JMP	TEST	/AND DO THE TEST
/
/CHANGING TO TEST UPPER BANK IN NEXT FIELD
/
UPMOV,	ISZ	CURFLD	/INCREMENT CURRENT FIELD
	TAD	CURFLD	/COMPARE TO MAX FIELD
	CIA
	TAD	FLD
	SPA CLA		/WE GONE TOO FAR
	DCA	CURFLD	/YES, BACK TO FIELD 0
	TAD	CURFLD	/GET CURRENT FIELD
	RTL CLL		/MAKE CDF
	RAL
	TAD	(CDF
	DCA	CF2
	TAD	CF2	/MAKE CIF
	IAC
	DCA	MCIF
	TAD	(4000
	DCA	FROM
	TAD	(200
	DCA	TO
	JMS	MOVE	/MOVE PROGRAM
MCIF,	0		/DO RIGHT CIF
	JMP I	.+1	/GO TO NEW PROGRAM LOCATION
	.+1
	TAD	CF2	/ADJUST MOVE SUBROUTINE
	DCA	CF1
	JMP	UPPER-2	/AND CONTINUE
/
/MOVE SUBROUTINE
/
MOVE,	0		/ENTRANCE
	TAD	(-200
	DCA	COUNT	/SET UP COUNT
LOOP,	TAD	FROM	/SET UP FROM LOCATION
	MQL
CF1,	CDF		/DO RIGHT CDF
	TAD I	FROM	/GET LOCATION CONTENTS
	DCA	FLG	/SAVE
	TAD	TO	/SET UP TO LOCATION
	MQL
	TAD	FLG	/RETRIEVE CONTENTS
CF2,	CDF		/RIGHT CDF AGAIN
	DCA I	TO	/AND STORE IN NEW PLACE
	ISZ	FROM	/INDEX
	ISZ	TO
	ISZ	COUNT	/AND SEE IF THROUGH
	JMP	LOOP	/NO
	JMP I	MOVE	/YES
/
/VARIABLE STORAGE
/
FROM,	0
TO,	0
COUNT,	0
FLG,	0
FLD,	0
CURFLD,	0
/
/LITERALS
	*0
/
/END OF PROGRAM
	$



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