	.SYSID <	.TITLE QDMP15 >,< 002>
/
/COPYRIGHT (C) 1975
/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
/
/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
/ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
/THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS
/SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PRO-
/VIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON
/EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO
/THESE LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
/SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
/WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COM-
/MITMENT BY DIGITAL EQUIPMENT CORPORATION.
/
/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
/OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
	.EJECT
/
/  UTILITY QDUMP
/
/  DUMP CORE TO DECTAPE UNIT #7
/
/  START AT DECTAPE BLOCK #101
/
/  START AT CORE LOC 5
/
/  CEASE AT CORE LOCATION SPECIFIED BY CONSOLE SWITCHES
/
/ EDIT #000	9/30/75	SCR	RECREATE FROM BINARY PAPER TAPE
/
/ EDIT #001	9/30/75	SCR	REDESIGN
/
/ EDIT #002	10/7/75	SCR	REDESIGN AGAIN
/
/  THE ORIGINAL VERSION OF QDMP DUMPED TO DECTAPE ONLY IN PAGE
/  INCREMENTS. PUTTING 7777 IN THE SWITCHES WOULD DUMP 1 PAGE.
/  PUTTING 10000 IN THE SWITCHES WOULD DUMP 2 PAGES. THE 'FEATURE'
/  THAT 0 IN THE SWITCHES WOULD DUMP ALL OF CORE DOESN"T EXIST!
/  0 IN THE SWITCHES SIMPLY DUMPS 1 PAGE. BIT 0 OF THE SWITCHES,
/  THE 400000 BIT, THAT IS, IS MASKED OFF.
/
/  VERSION 001 WILL STILL DUMP OUT ONLY IN PAGE INCREMENTS. 0 OR -
/  NUMBERS IN THE SWITCHES WILL DUMP ALL OF CORE. NOTE, HOWEVER,
/  IN THIS CASE, THE PROGRAM WILL TERMINATE WITH AN ILLEGAL MEMORY
/  HANG RATHER THAN A HALT. 1 IN THE SWITCHES WILL DUMP OUT 1 PAGE.
/  7777 WILL DUMP 1 PAGE.  10000 WILL DUMP 1 PAGE. 10001 WILL DUMP 2.
/
/  VERSION 002 WILL DUMP 1K DECIMAL INCREMENTS BECAUSE OF DUMP TYPE-IN
/  NOW ALLOWS THAT INCREMENT. 0 IN THE SWITCHES SPECIFIES UP TO AND
/  INCLUDING THE PRESENT LOCATION OF THE QDMP TAPE.  1777 IN SWITCHES
/  DUMPS 1K. 2000 IN SWITCHES DUMPS 2K. I.E. WE HAVE GONE BACK TO
/  ORIGINAL CONCEPT OF THE WORKING OF THE LIMIT, FOR COMPATIBILITY.
/
/
	.DBREL
	.FULLP
	.LOC	77650
/
S0	0		/SAVE LOC 0
S1	0		/ AND 1
S2	0		/ 2
S3	0		/ 3
S4	0		/ 4
S30	0		/ SAVE DECTAPE CHANNEL LOC'S 30
S31	0		/ AND 31
SSC	0		/ SAVE STEP COUNTER
WC	0		/ TEMPRARY FOR WORD COUNT
	SNA!CMA		/SKIP UNLESS AC=0 SPECIAL CASE
	XOR	WC	/SPECIAL,  - ADDR OF QDMP ITSELF
	AND	(776000	/WORD COUNT TO 1K BOUNDARY
	AAC	5	/CORRECT FOR STARTING AT 5
	DAC	WC	/HOLD FOR NOW
RET	LAC	(770000	/RETRY LOOP
	707545		/DECTAPE IOT'S JUST COPIED
	707561
	JMP	.-1
	707572
	AND	(270000
	740200
	JMS	ERROR
	777676
	DAC*	(30
	LAC	(4	/CURRENT ADDR TO START DUMPING 5
	DAC*	(31
	LAC	(731000
	707545
XX	707561
	SKP
	JMS	ERROR
	707601
	JMP	XX
	LAC*	(4
	XOR	(101
	AND	(7777	/??????
	740200
	JMS	ERROR
	LAC	WC	/FETCH WORD COUNT
	DAC*	(30
	LAC	(5000
	707544
XY	707561
	SKP
	JMS	ERROR
	707601
	JMP	XY
	707551
	JMP	HALTIT
/
ERROR	0
	LAC	ERROR	/ADDR IN AC FOR HALT DEBUGGING?
HALTIT	HLT
	JMP	RET	/RETRY?
/
/  NEW STARTING POSITION SO WE CAN JMS WC
/
START	DBA		/PAGE MODE
	LACS		/STEP COUNT
	DAC	SSC
	LAC*	(30	/SAVE DT REG'S
	DAC	S30
	LAC*	(31
	DAC	S31
	LAC*	(0	/SAVE LOC'S 0-4
	DAC	S0
	LAC*	(1	
	DAC	S1
	LAC*	(2
	DAC	S2
	LAC*	(3
	DAC	S3
	LAC*	(4
	DAC	S4
	CLL!LAS		/CORE LIMIT IN AC, CLEAR LINK FOR JMS
	JMS	WC	/ADDR OF QDMP TO WC. LINK=0,PAGE MODE
/			/MAKE TOP BITS OF ADDR 0 !!
	.END	START
