Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dbkakt.mac
There are no other files named dbkakt.mac in the archive.
;DBKAK
MCNVER==0
DECVER==2
XLIST
DEFINE NAME (MCNVER,DECVER)<
TITLE DBKAK PDP-10 KL10 & KI10 BASIC INSTRUCTION DIAGNOSTIC (11) MCNVER,DECVER
>
LIST
LALL
NAME \MCNVER,\DECVER
;(MULTIPY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE)
;COPYRIGHT 1975
;DIGITAL EQUIPMENT CORPORATION
;MARLBORO, MASS. 01752
;JOHN R. KIRCHOFF
LOC 137
MCNVER,,DECVER
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
KI10=1
KL10=1
KL10P0=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/DBKAK/
PAREA4=SIXBIT/PNT/
PAREA5=0
PAREA6=0
ITERAT==1000
;MACROS
DEFINE SAVEAC (A,B)<
MOVEI AC+2,. ;SAVE TEST PC
MOVEM AC+2,TESTPC
MOVEI AC+2,<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>