Added another PDP-10 diagnostic (DAKAJ), which in turn required some more MACRO-10 support (eg, macro parameters with backslashes)
This commit is contained in:
parent
3f06667597
commit
881da5b19c
8 changed files with 13273 additions and 15 deletions
|
|
@ -135,8 +135,8 @@ E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC
|
|||
ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT
|
||||
JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH>
|
||||
|
||||
;EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE
|
||||
; EXIT
|
||||
EXIT: ;DROPDV ;CLOSE LOGICAL OUTPUT FILE
|
||||
;EXIT
|
||||
|
||||
PGMNAM: ASCIZ/
|
||||
PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC #9 SHIFT-ROTATE [DAKAI]
|
||||
|
|
|
|||
9412
apps/pdp10/diags/klad/dakaj/DAKAJ.LST.txt
Normal file
9412
apps/pdp10/diags/klad/dakaj/DAKAJ.LST.txt
Normal file
File diff suppressed because it is too large
Load diff
1869
apps/pdp10/diags/klad/dakaj/DAKAJ.MAC.txt
Normal file
1869
apps/pdp10/diags/klad/dakaj/DAKAJ.MAC.txt
Normal file
File diff suppressed because it is too large
Load diff
1727
apps/pdp10/diags/klad/dakaj/DAKAJM.MAC.txt
Normal file
1727
apps/pdp10/diags/klad/dakaj/DAKAJM.MAC.txt
Normal file
File diff suppressed because it is too large
Load diff
135
apps/pdp10/diags/klad/dakaj/DAKAJT.MAC.txt
Normal file
135
apps/pdp10/diags/klad/dakaj/DAKAJT.MAC.txt
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
;DAKAJ
|
||||
|
||||
|
||||
MCNVER==0
|
||||
DECVER==2
|
||||
|
||||
XLIST
|
||||
DEFINE NAME (MCNVER,DECVER)<
|
||||
|
||||
TITLE DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 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
|
||||
|
||||
DEBUG=40
|
||||
EXCASB=1
|
||||
USRASB=1
|
||||
KA10=1
|
||||
KL10=1
|
||||
KL10P0=1
|
||||
PGMEND=1
|
||||
ERDIAG=1
|
||||
|
||||
;SPECIAL FEATURE PARAMETERS
|
||||
|
||||
SADR1=START
|
||||
SADR2=START
|
||||
SADR3=START
|
||||
SADR4=START
|
||||
SADR5=JRST START
|
||||
SADR6=JRST START
|
||||
SADR7=JRST START
|
||||
SADR8=JRST START
|
||||
SADR9=JRST START
|
||||
SADR10=JRST START
|
||||
SADR11=JRST START
|
||||
|
||||
PAREA0=0
|
||||
PAREA1=0
|
||||
PAREA2=0
|
||||
PAREA3=SIXBIT/DAKAJ/
|
||||
PAREA4=SIXBIT/TMP/
|
||||
PAREA5=0
|
||||
PAREA6=0
|
||||
ITERAT==1000
|
||||
|
||||
;MACROS
|
||||
|
||||
DEFINE SAVEAC (A,B)<
|
||||
MOVEI AC+2,. ;SETUP TESTPC
|
||||
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>
|
||||
60
apps/pdp10/diags/klad/dakaj/README.md
Normal file
60
apps/pdp10/diags/klad/dakaj/README.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
layout: page
|
||||
title: PDP-10 KA10 Basic Instruction Diagnostic #10
|
||||
permalink: /apps/pdp10/diags/klad/dakaj/
|
||||
machines:
|
||||
- id: testka10
|
||||
type: pdp10
|
||||
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
|
||||
debugger: true
|
||||
commands: a DAKAJ.MAC
|
||||
---
|
||||
|
||||
PDP-10 KA10 Basic Instruction Diagnostic #10
|
||||
--------------------------------------------
|
||||
|
||||
The *PDP-10 KA10 Basic Instruction Diagnostic #10* (MAINDEC-10-DAKAJ) test code has been extracted from
|
||||
[DAKAJM.MAC](DAKAJM.MAC.txt) [[original](http://pdp-10.trailing-edge.com/klad_sources/01/klad.sources/dakajm.mac.html)] and
|
||||
[DAKAJT.MAC](DAKAJT.MAC.txt) [[original](http://pdp-10.trailing-edge.com/klad_sources/01/klad.sources/dakajt.mac.html)]
|
||||
for use with the [PDP-10 Test Machine with Debugger](/devices/pdp10/machine/ka10/test/debugger/) below.
|
||||
|
||||
Resources for this test include:
|
||||
|
||||
- [Instructions](#dakajtxt)
|
||||
- [History](#dakajhst)
|
||||
- [Source Code](#dakajmac)
|
||||
- [MACRO-10 Listing](DAKAJ.LST.txt)
|
||||
- [Additional Information](http://archive.pcjs.org/apps/pdp10/diags/klad/dakaj/DAKAJ.SEQ.txt)
|
||||
|
||||
{% include machine.html id="testka10" %}
|
||||
|
||||
The Debugger's assemble ("a") command can be used to test the new built-in
|
||||
[MACRO-10 Mini-Assembler](/modules/pdp10/lib/macro10.js), which supports a subset
|
||||
of the [MACRO-10](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) assembly language.
|
||||
This command:
|
||||
|
||||
a DAKAJ.MAC
|
||||
|
||||
will automatically read the [DAKAJ.MAC](DAKAJ.MAC.txt) source file (a slightly modified copy of [DAKAJM.MAC](DAKAJM.MAC.txt)),
|
||||
assemble it, and then load the binary image at the location specified in the file.
|
||||
|
||||
---
|
||||
|
||||
DAKAJ.TXT
|
||||
---------
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
DAKAJ.HST
|
||||
---------
|
||||
|
||||
|
||||
DAKAJ.MAC
|
||||
---------
|
||||
|
||||
[[Download](DAKAJ.MAC.txt)]
|
||||
|
||||
{% highlight text %}
|
||||
{% include_relative DAKAJ.MAC.txt %}
|
||||
{% endhighlight %}
|
||||
Loading…
Reference in a new issue