4.3 KiB
4.3 KiB
| layout | title | date | permalink | machines | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| post | Stepping Through PDP-10 Diagnostics | 2017-03-24 22:00:00 | /blog/2017/03/24/ |
|
Now that the PDPjs MACRO-10 Mini-Assembler is limping along, it was time to start assembling some of DEC's PDP-10 diagnostics and loading them into a test machine. The first diagnostic I tried was KA10 Basic Instruction Diagnostic #1 (MAINDEC-10-DAKAA-B-D), which has been loaded into the machine below.
{% include machine.html id="testka10" %}
Here were the results of my first run attempt:
>> a 30724 /apps/pdp10/diags/klad/dakaa/MYDAKAA.MAC
starting PCjs MACRO-10 Mini-Assembler...
loading MYDAKAA.MAC
CPU will not be auto-started (click Run to start)
2844 words loaded at 030724-036357
00=000000000000 01=000000000000 02=000000000000 03=000000000000
04=000000000000 05=000000000000 06=000000000000 07=000000000000
10=000000000000 11=000000000000 12=000000000000 13=000000000000
14=000000000000 15=000000000000 16=000000000000 17=000000000000
PC=030724 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0
030724: 254000 030741 JRST 30741
>> g
running
undefined opcode: 000000
stopped (1698 instructions, 1697 cycles, 14 ms, 121214 hz)
00=000000000000 01=000000000000 02=777777777777 03=000000000000
04=777777777777 05=000000000000 06=000000000000 07=777777777777
10=777777777777 11=000000000000 12=000000000000 13=000000000000
14=000000000000 15=000000000000 16=000000000000 17=000000000000
PC=035057 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0
035057: 000000 000000 UUO 0,0
>> dh
035044: 444000 036353 EQV 0,36353 ;history=10
035045: 332000 000000 SKIPE 0,0 ;history=9
035047: 324000 035050 JUMPA 0,35050 ;history=8
035050: 200000 036354 MOVE 0,36354 ;history=7
035051: 404000 036355 AND 0,36355 ;history=6
035052: 444000 036356 EQV 0,36356 ;history=5
035053: 444000 036357 EQV 0,36357 ;history=4
035054: 332000 000000 SKIPE 0,0 ;history=3
035056: 324000 035057 JUMPA 0,35057 ;history=2
035057: 000000 000000 UUO 0,0 ;history=1
Happily, this was a good outcome, because 035057 is the end of the test. If you look at the diagnostic's listing file, this is what you would normally see at address 035057:
035057 254 00 0 00 030057 ENDXX: JRST BEGEND ;LOOP PROGRAM
Next, I tried KA10 Basic Instruction Diagnostic #4 (MAINDEC-10-DAKAD-B-D):
>> a 30724 /apps/pdp10/diags/klad/dakad/MYDAKAD.MAC
starting PCjs MACRO-10 Mini-Assembler...
loading MYDAKAD.MAC
1986 words loaded at 030724-034625
00=000000000000 01=000000000000 02=777777777777 03=000000000000
04=777777777777 05=000000000000 06=000000000000 07=777777777777
10=777777777777 11=000000000000 12=000000000000 13=000000000000
14=000000000000 15=000000000000 16=000000000000 17=000000000000
PC=030724 RA=00000000 EA=000000 C0=0 C1=0 OV=0 ND=0 PD=0
030724: 254000 030741 JRST 30741
>> g
running
stopped (450 instructions, 449 cycles, 8 ms, 56125 hz)
00=000000000017 01=400000000000 02=000000000001 03=400000000000
04=000004000004 05=000005000005 06=000006000006 07=000007000007
10=000010000010 11=000011000011 12=000012000012 13=000013000013
14=000014000014 15=000015000015 16=000016000016 17=000017000017
PC=032007 RA=00032007 EA=032007 C0=0 C1=0 OV=0 ND=0 PD=0
032007: 324000 032010 JUMPA 0,32010
>> dh
031774: 201100 000001 MOVEI 2,1 ;history=10
031775: 200142 000000 MOVE 3,0(2) ;history=9
031776: 312140 034461 CAME 3,34461 ;history=8
032000: 324000 032001 JUMPA 0,32001 ;history=7
032001: 476000 000003 SETOM 0,3 ;history=6
032002: 205040 400000 MOVSI 1,400000 ;history=5
032003: 201100 000001 MOVEI 2,1 ;history=4
032004: 200142 000000 MOVE 3,0(2) ;history=3
032005: 312140 034462 CAME 3,34462 ;history=2
032006: 254200 032007 HALT 32007 ;history=1
This looked less good.
@jeffpar Mar 24, 2017