Google
 

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

DECVER==002
MCNVER==000

	XLIST
DEFINE	NAME	(MCNVER,DECVER),<

TITLE	DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER MCNVER,DECVER>
	LIST
	LALL

NAME	\MCNVER,\DECVER

	XALL

;TEST DESIGNED FOR RANDOM NUMBER TESTING OF THE PDP-10 BASIC INSTRUCTIONS
;(MEMORY AND BOTH MODES) AND (PC SENSITIVE INSTRUCTIONS)

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

;JOHN R. KIRCHOFF

	LOC	137
MCNVER,,DECVER

	NOSYM
SUBTTL	DIAGNOSTIC PARAMETERS

;OPERATOR DEFINITIONS

OPDEF	ERR	[1B8]
OPDEF	ERRM	[2B8]
OPDEF	ERRI	[3B8]
OPDEF	ERROR	[4B8]
OPDEF	ER	[5B8]
OPDEF	ERM	[6B8]
OPDEF	ERMM	[7B8]
OPDEF	EERRI	[13B8]

LUUO1=ERRMES
LUUO2=ERRMES
LUUO3=ERRMES
LUUO4=ERRMES
LUUO5=ERRMES
LUUO6=ERRMES
LUUO7=ERRMES
LUUO13=ERRMES

;SUBROUTINE ASSEMBLY DEFINITIONS

EXCASB==1
USRASB==1
ERRELB=1
KLOLD==1
KA10==1
PGMEND==1
DEBUG==40
MEMMAP==1

;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
;BEGIN ASSEMBLY PARAMETERS

SADR1=BEGIN
SADR2=RESRT1
SADR3=RENTR1
SADR4=BEGIN
SADR5=BEGIN
SADR6=BEGIN
SADR7=HALT BEGIN
SADR8=HALT BEGIN
SADR9=HALT BEGIN
SADR10=HALT BEGIN
SADR11=HALT BEGIN

PAREA1=123457,,654321
PAREA2=0
PAREA3=SIXBIT/DAKBD/
PAREA4=SIXBIT/TMP/
PAREA5=0
PAREA6=0

ITERAT=1
;MACROS

DEFINE	SETUP	<
	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	RANDOM	<
	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. >

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