Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dakamt.mac
There are no other files named dakamt.mac in the archive.
;DAKAM
MCNVER==0
DECVER==2
XLIST
DEFINE NAME (MCNVER,DECVER)<
TITLE DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) MCNVER,DECVER
>
LIST
LALL
NAME \MCNVER,\DECVER
;(BYTE, BLOCK TRANSFER, JFFO AND OTHER BASIC MISCELLANEOUS INSTRUCTIONS)
;COPYRIGHT 1975,1977
;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
KA10=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/DAKAM/
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,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION>
;SPECIAL INSTRUCTIONS TO ASSEMBLER
IF1,<BYTBLK=14773> ;BYTBLK BEYOND AC RANGE FOR PASS 1
IF1,<BLTBLK=15000> ;BLTBLK BEYOND AC RANGE FOR PASS 1
;MACROS
DEFINE GMOV (X1,DATA),<
IFLE <X1-20>,<
MOVE X1,[DATA] ;PRELOAD X1 WITH DATA>
IFG <X1-20>,<
MOVE AC+1,[DATA]
MOVEM AC+1,X1 ;PRELOAD X1 WITH DATA>>
DEFINE GCAM (X1,DATA),<
SN=SN+1
IFG <X1-20>,<
MOVE AC-1,X1
CAME AC-1,[DATA] ;IS C(X1) = DATA
IFIDN <DEST>,<X1>,<
ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
IFDIF <DEST>,<X1>,<
ER2 AC-1,SN ;C(X1) WAS CLOBBERED>>
IFLE <X1-20>,<
CAME X1,[DATA] ;IS C(X1) = DATA
IFIDN <DEST>,<X1>,<
ER2 X1,SN ;DEST NOT LOADED CORRECTLY>
IFDIF <DEST>,<X1>,<
ER2 X1,SN ;C(X1) WAS CLOBBERED>>>
DEFINE BLTM1 (A1,C1,S1,D1,SC)<
;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
;WHERE SOURCE AND DESTINATION ARE DIFFERENT
;SOURCE DATA = SC
AC=C1
SAVEAC (1,1)
SN=A1
SRCE=S1 ;1ST LOC OF SOURCE = S1
DEST=D1 ;1ST LOC OF DESTINATION = D1
SIZ=1 ;BLOCK SIZE = 1 WORD
G'A1: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
GMOV (SRCE-1,<252525252525>)
GMOV (SRCE,<SC>)
GMOV (SRCE+1,<770077007700>)
GMOV (DEST-1,<070707070707>)
GMOV (DEST,<123456765432>)
GMOV (DEST+1,<552255225522>)
BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
GCAM (SRCE-1,<252525252525>)
GCAM (SRCE,<SC>)
GCAM (SRCE+1,<770077007700>)
GCAM (DEST-1,<070707070707>)
GCAM (DEST,<SC>)
GCAM (DEST+1,<552255225522>)
JUMPL AC+2,G'A1 ;LOOP ON ERROR>