Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskbat.mac
There are no other files named dskbat.mac in the archive.
;MAINDEC-10-DSKBA

MCNVER=0
DECVER=1

	XLIST
DEFINE	NAME	(MCNVER,DECVER),<

TITLE	DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER MCNVER,DECVER >
	LIST
	LALL

NAME	\MCNVER,\DECVER

	XALL

;TEST DESIGNED FOR RANDOM NUMBER TESTING OF THE PDP-10 BASIC INSTRUCTIONS

;COPYRIGHT 1978
;DIGITAL EQUIPMENT CORPORATION
;MARLBORO, MASS. 01752

;JOHN R. KIRCHOFF

	LOC	137
MCNVER,,DECVER
	NOSYM
SUBTTL	TEST CONTROL SWITCHES

;OPRSEL OR RELIAB = ALLOW FULL MEMORY USAGE
;OTHERWISE MEMORY LIMITED TO 32K UNLESS SWITCH SELECTED.

;SWITCHES 27-35 , SIZE OF MEMORY, HIGH ORDER 9 BITS

;ACCUMULATOR ASSIGNMENTS

RA=10

SUBTTL	DIAGNOSTIC PARAMETERS

;LUUO DEFINITIONS

OPDEF	ERR	[1B8]
OPDEF	ERRM	[2B8]
OPDEF	ERRI	[3B8]
OPDEF	ERROR	[4B8]
OPDEF	ER	[5B8]
OPDEF	ERM	[6B8]
OPDEF	ERMM	[7B8]
OPDEF	EERR	[11B8]
OPDEF	EERRM	[12B8]
OPDEF	EERRI	[13B8]
LUUO1=ERRMES
LUUO2=ERRMES
LUUO3=ERRMES
LUUO4=ERRMES
LUUO5=ERRMES
LUUO6=ERRMES
LUUO7=ERRMES
LUUO11=ERRMES
LUUO12=ERRMES
LUUO13=ERRMES
;SUBROUTINE ASSEMBLY DEFINITIONS

EXCASB==1
USRASB==1
MEMMAP==1
DEBUG==40
EROLD==1
PGMEND==1
ERRELB==1
SADR1==BEGIN
SADR2==RESRT1
SADR3==RENTR1
SADR4==BEGIN
SADR5==$BEND2
SADR6==BEGIN
SADR7==HALT BEGIN
SADR8==HALT BEGIN
SADR9==HALT BEGIN
SADR10==HALT BEGIN
SADR11==HALT BEGIN
PAREA1==123457,,654321
PAREA2==0
PAREA3==SIXBIT/DSKBA/
PAREA4==SIXBIT/LPT/
PAREA5==0
PAREA6==0
ITERAT==1
;MACROS

DEFINE	SETUP	(A,B)<
	AC1=<AC+1>&17
	AC2=<AC+2>&17
	AC3=<AC+3>&17
	AC4=<AC+4>&17
	AC5=<AC+5>&17
	RAN1=<AC-2>&17
	MOVEI	AC-1,.
	MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
	MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
	MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
	MOVEI	AC-1,A		;ROUTINE WEIGHTING
	ASH	AC-1,@CMPLXT+B	;ROUTINE COMPLEXITY
	ASH	AC-1,@RTIME	;RUN TIME CONTROLLER >

DEFINE	RANDOM	(A)<
	MOVE	AC,RAN#		;GENERATE A PSEUDO RANDOM NUMBER
	ADD	AC,[142536475076]
	ROT	AC,-1		;IN BOTH AC AND
	EQVB	AC,RAN		;REGISTER RAN >

DEFINE	LOOP	(A,B)<
	SOJG	AC-1,A		;ITERATION COUNTER
	MOVE	AC,RAN		;RESTORE RANDOM NUMBER
	JUMPL	AC-1,B		;LOOP ON ERROR SWITCH >
;MACROS

DEFINE	MSETUP	<
	AC1=<AC+1>&17
	AC2=<AC+2>&17
	AC3=<AC+3>&17
	AC4=<AC+4>&17
	MOVEI	AC-1,.
	MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
	MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
	MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
	MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. >

DEFINE	MRANDOM	<
	ADD	RA,[142536475076]
	ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
	EQVB	RA,AC		;IN BOTH RA AND AC.
	MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
	MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
	CAME	RA,(AC1)	;DID IT MAKE IT ?
	ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. >

DEFINE	SETUP1	(A,B)<
	AC1=<AC+1>&17
	AC2=<AC+2>&17
	AC3=<AC+3>&17
	AC4=<AC+4>&17
	AC5=<AC+5>&17
	RAN1=<AC-2>&17
	MOVEI	AC-1,.
	MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
	MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
	MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
	MOVEI	AC-1,A		;ROUTINE WEIGHTING
	ASH	AC-1,@CMPLXT+B	;ROUTINE COMPLEXITY
	ASH	AC-1,@RTIME	;RUN TIME CONTROLLER >

DEFINE	RANDM1	(A)<
	MOVE	AC,RAN#		;GENERATE A PSEUDO RANDOM NUMBER
	ADD	AC,[142536475076]
	ROT	AC,-1
	EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. >