;DAKAL MCNVER==0 DECVER==2 XLIST DEFINE NAME (MCNVER,DECVER)< TITLE DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) MCNVER,DECVER > LIST LALL NAME \MCNVER,\DECVER ;(MULTIPY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE) ;COPYRIGHT 1975,1977 ;DIGITAL EQUIPMENT CORPORATION ;MARLBORO, MASS. 01752 ;JOHN R. KIRCHOFF LOC 137 MCNVER,,DECVER .DIRECTIVE .OKOVL NOSYM SUBTTL DIAGNOSTIC PARAMETERS ;OPERATOR DEFINITIONS OPDEF ER1 [1B8] OPDEF ER2 [2B8] OPDEF ER3 [3B8] OPDEF ER4 [4B8] OPDEF ER5 [5B8] OPDEF ER6 [6B8] OPDEF ER7 [7B8] OPDEF ER10 [10B8] OPDEF ER11 [11B8] OPDEF ER12 [12B8] OPDEF ER13 [13B8] LUUO1=ERRMES LUUO2=ERRMES LUUO3=ERRMES LUUO4=ERRMES LUUO5=ERRMES LUUO6=ERRMES LUUO7=ERRMES LUUO10=ERRMES LUUO11=ERRMES LUUO12=ERRMES LUUO13=ERRMES ;SUBROUTINE ASSEMBLY DEFINITIONS DEBUG=40 EXCASB=1 USRASB=1 KA10=1 KLOLD==1 PGMEND=1 ERDIAG=1 ;SPECIAL FEATURE DEFINITIONS SADR1=BEGIN SADR2=BEGIN SADR3=BEGIN SADR4=BEGIN SADR5=JRST BEGIN SADR6=JRST BEGIN SADR7=JRST BEGIN SADR8=JRST BEGIN SADR9=JRST BEGIN SADR10=JRST BEGIN SADR11=JRST BEGIN ;SPECIAL FEATURE PARAMETERS PAREA0=0 PAREA1=0 PAREA2=0 PAREA3=SIXBIT/DAKAL/ PAREA4=SIXBIT/TMP/ PAREA5=0 PAREA6=0 ITERAT==1000 ;MACROS DEFINE SAVEAC (A,B)< MOVEI AC+2,. ;SAVE TEST PC MOVEM AC+2,TESTPC MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION> DEFINE MOP1 (T,A1,A2,EE,R1,R2)< ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [A1],[A2] AND ;[EE] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1 ;AND E AGAINST [R1], [R2] AND [EE] RESPECTIVELY. ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED F'T'0: AA1=A1 ;INITIAL C(AC) MOVE AC,[A1] ;PRELOAD AC (MULTIPLIER) AA2=A2 ;INITIAL C(AC+1) MOVE AC+1,[A2] ;PRELOAD AC+1 AEE=EE ;INITIAL C(E) MOVE E,[EE] ;PRELOAD E (MULTIPLICAND) MUL AC,E ;*MULTIPLY C(E) BY C(AC) AR1=R1 ;EXPECTED RESULT IN AC CAME AC,[R1] ;IS HIGH PRODUCT CORRECT? ER3 AC,T'1 ;HIGH PRODUCT FAILED AR2=R2 ;EXPECTED RESULT IN AC+1 CAME AC+1,[R2] ;IS LOW PRODUCT CORRECT? ER4 AC+1,T'2 ;LOW PRODUCT FAILED AEE=EE ;INITIAL C(E) CAME E,[EE] ;WAS C(E) CLOBBERED? ER5 E,T'3 ;C(E) WAS CLOBBERED JUMPL AC+2,F'T'0 ;LOOP ON ERROR SWITCH>