Lots of MACRO-10 improvements, DAKAM now assembles (but does not pass)
This commit is contained in:
parent
3fb3f44384
commit
09dc4dcb9a
13 changed files with 22047 additions and 1758 deletions
154
apps/pdp10/diags/ka10/dakam/DAKAMT.MAC.txt
Normal file
154
apps/pdp10/diags/ka10/dakam/DAKAMT.MAC.txt
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
;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>
|
||||
|
||||
Loading…
Reference in a new issue