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 >