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. >