More MACRO-10 updates (eg, LOC pseudo-op, SIXBIT/ASCII expression support)
This commit is contained in:
parent
15417ca686
commit
0c9f752f86
24 changed files with 40332 additions and 87 deletions
136
apps/pdp10/diags/klad/dakai/DAKAIT.MAC.txt
Normal file
136
apps/pdp10/diags/klad/dakai/DAKAIT.MAC.txt
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
;DAKAI
|
||||
|
||||
MCNVER==0
|
||||
DECVER==2
|
||||
|
||||
|
||||
XLIST
|
||||
DEFINE NAME (MCNVER,DECVER)<
|
||||
|
||||
TITLE DAKAI PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (9) MCNVER,DECVER
|
||||
>
|
||||
LIST
|
||||
LALL
|
||||
|
||||
NAME \MCNVER,\DECVER
|
||||
|
||||
;(LOGICAL SHIFT, ROTATE, ARITHMETIC SHIFT; SINGLE AND COMBINED)
|
||||
|
||||
;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
|
||||
|
||||
KLOLD==1
|
||||
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/DAKAI/
|
||||
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>
|
||||
|
||||
DEFINE SETACS (WW,XX)<
|
||||
MOVEI AC-1,WW ;SETUP AC-1
|
||||
HRLI AC-1,WW ;FOR COMPARISION
|
||||
MOVE AC-2,<AC-1>&17 ;SETUP AC-2 FOR COMPARISON
|
||||
MOVEI AC,XX ;SETUP AC RIGHT
|
||||
HRLI AC,XX ;SETUP AC LEFT
|
||||
MOVEM AC,<AC+1>&17 ;SETUP AC2>
|
||||
;USER DEFINED MACROS
|
||||
|
||||
DEFINE SR1 (T,D1A,D1B,R1A,R1B,OP,S)<
|
||||
;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD D1A,D1B] S BIT
|
||||
;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD R1A,R1B]
|
||||
;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED
|
||||
|
||||
E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC
|
||||
MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1
|
||||
OP AC,S ;*SHIFT/ROTATE S BIT POSITIONS
|
||||
CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT?
|
||||
ER3 AC,T'01 ;RESULT IN AC IS INCORRECT
|
||||
CAME AC+1,[XWD 741703,607417]
|
||||
ER4 AC+1,T'01 ;C(AC+1) WAS MODIFIED INCORRECTLY
|
||||
JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH>
|
||||
|
||||
|
||||
DEFINE SR2 (T,D1A,D1B,D2A,D2B,R1A,R1B,R2A,R2B,OP,S)<
|
||||
;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE
|
||||
;DATA SPECIFIED IN [XWD D1A,D1B] AND [XWD D2A,D2B] S BIT POSITIONS AND
|
||||
;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD R1A,R1B] AND
|
||||
;[XWD R2A,R2B]
|
||||
|
||||
E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC
|
||||
MOVE AC+1,[XWD D2A,D2B] ;INITIALIZE AC+1
|
||||
OP AC,S ;*SHIFT/ROTATE COMBINED S PLACES
|
||||
CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT?
|
||||
ER3 AC,T'01 ;RESULT IN AC IS INCORRECT
|
||||
CAME AC+1,[XWD R2A,R2B] ;IS RESULT IN AC+1 CORRECT?
|
||||
ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT
|
||||
JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH>
|
||||
Loading…
Reference in a new issue