Fixed the Debugger's arithmetic truncation function (truncate())

This commit is contained in:
Jeff 2017-04-01 14:36:39 -07:00 • committed by Jeff Parsons
commit 75b9a9c2ba
9 changed files with 84 additions and 149 deletions

View file

@ -7,7 +7,7 @@ machines:
type: pdp10
config: /devices/pdp10/machine/ka10/test/debugger/machine.xml
debugger: true
commands: a dakal.mac
commands: a dakal.mac; g 31134
---
PDP-10 KA10 Basic Instruction Diagnostic #12
@ -126,258 +126,179 @@ Here's that output:
MUL(525252525252,000000000002) PDP-10: 652525252524 JavaScript: 252525252524 @030641
MUL(525252525252,000000000002) PDP-10: 652525252524 JavaScript: 252525252524 @030641
MUL(525252525252,000000000004) PDP-10: 525252525250 JavaScript: 525252525250 @030654
MUL(525252525252,000000000004) PDP-10: 525252525250 JavaScript: 525252525250 @030654
MUL(525252525252,000000000010) PDP-10: 652525252520 JavaScript: 252525252520 @030667
MUL(525252525252,000000000010) PDP-10: 652525252520 JavaScript: 252525252520 @030667
MUL(525252525252,000000000020) PDP-10: 525252525240 JavaScript: 525252525240 @030702
MUL(525252525252,000000000020) PDP-10: 525252525240 JavaScript: 525252525240 @030702
MUL(525252525252,000000000040) PDP-10: 652525252500 JavaScript: 252525252500 @030715
MUL(525252525252,000000000040) PDP-10: 652525252500 JavaScript: 252525252500 @030715
MUL(525252525252,000000000100) PDP-10: 525252525200 JavaScript: 525252525200 @030730
MUL(525252525252,000000000100) PDP-10: 525252525200 JavaScript: 525252525200 @030730
MUL(525252525252,000000000200) PDP-10: 652525252400 JavaScript: 252525252400 @030743
MUL(525252525252,000000000200) PDP-10: 652525252400 JavaScript: 252525252400 @030743
MUL(525252525252,000000000400) PDP-10: 525252525000 JavaScript: 525252525000 @030756
MUL(525252525252,000000000400) PDP-10: 525252525000 JavaScript: 525252525000 @030756
MUL(525252525252,000000001000) PDP-10: 652525252000 JavaScript: 252525252000 @030771
MUL(525252525252,000000001000) PDP-10: 652525252000 JavaScript: 252525252000 @030771
MUL(525252525252,000000002000) PDP-10: 525252524000 JavaScript: 525252524000 @031004
MUL(525252525252,000000002000) PDP-10: 525252524000 JavaScript: 525252524000 @031004
MUL(525252525252,000000004000) PDP-10: 652525250000 JavaScript: 252525250000 @031017
MUL(525252525252,000000004000) PDP-10: 652525250000 JavaScript: 252525250000 @031017
MUL(525252525252,000000010000) PDP-10: 525252520000 JavaScript: 525252520000 @031032
MUL(525252525252,000000010000) PDP-10: 525252520000 JavaScript: 525252520000 @031032
MUL(525252525252,000000020000) PDP-10: 652525240000 JavaScript: 252525240000 @031045
MUL(525252525252,000000020000) PDP-10: 652525240000 JavaScript: 252525240000 @031045
MUL(525252525252,000000040000) PDP-10: 525252500000 JavaScript: 525252500000 @031060
MUL(525252525252,000000040000) PDP-10: 525252500000 JavaScript: 525252500000 @031060
MUL(525252525252,000000100000) PDP-10: 652525200000 JavaScript: 252525200000 @031073
MUL(525252525252,000000100000) PDP-10: 652525200000 JavaScript: 252525200000 @031073
MUL(525252525252,000000200000) PDP-10: 525252400000 JavaScript: 525252400000 @031106
MUL(525252525252,000000200000) PDP-10: 525252400000 JavaScript: 525252400000 @031106
MUL(525252525252,000000400000) PDP-10: 652525000000 JavaScript: 252525000000 @031121
MUL(525252525252,000000400000) PDP-10: 652525000000 JavaScript: 252525000000 @031121
MUL(525252525252,000001000000) PDP-10: 125252000000 JavaScript: 525252000000 @031134
MUL(525252525252,000004000000) PDP-10: 125250000000 JavaScript: 525250000000 @031162
MUL(525252525252,000020000000) PDP-10: 125240000000 JavaScript: 525240000000 @031210
MUL(525252525252,000100000000) PDP-10: 125200000000 JavaScript: 525200000000 @031236
MUL(525252525252,000400000000) PDP-10: 125000000000 JavaScript: 525000000000 @031264
MUL(525252525252,002000000000) PDP-10: 124000000000 JavaScript: 524000000000 @031312
MUL(525252525252,010000000000) PDP-10: 120000000000 JavaScript: 520000000000 @031340
MUL(525252525252,040000000000) PDP-10: 100000000000 JavaScript: 500000000000 @031366
MUL(525252525252,200000000000) PDP-10: 000000000000 JavaScript: 400000000000 @031414
MUL(525252525252,400000000000) PDP-10: 000000000000 JavaScript: 000000000000 @031427
MUL(525252525252,000002000000) PDP-10: 652524000000 JavaScript: 252524000000 @031147
MUL(525252525252,000002000000) PDP-10: 652524000000 JavaScript: 252524000000 @031147
MUL(525252525252,000010000000) PDP-10: 652520000000 JavaScript: 252520000000 @031175
MUL(525252525252,000010000000) PDP-10: 652520000000 JavaScript: 252520000000 @031175
MUL(525252525252,000040000000) PDP-10: 652500000000 JavaScript: 252500000000 @031223
MUL(525252525252,000040000000) PDP-10: 652500000000 JavaScript: 252500000000 @031223
MUL(525252525252,000200000000) PDP-10: 652400000000 JavaScript: 252400000000 @031251
MUL(525252525252,000200000000) PDP-10: 652400000000 JavaScript: 252400000000 @031251
MUL(525252525252,001000000000) PDP-10: 652000000000 JavaScript: 252000000000 @031277
MUL(525252525252,001000000000) PDP-10: 652000000000 JavaScript: 252000000000 @031277
MUL(525252525252,004000000000) PDP-10: 650000000000 JavaScript: 250000000000 @031325
MUL(525252525252,004000000000) PDP-10: 650000000000 JavaScript: 250000000000 @031325
MUL(525252525252,020000000000) PDP-10: 640000000000 JavaScript: 240000000000 @031353
MUL(525252525252,020000000000) PDP-10: 640000000000 JavaScript: 240000000000 @031353
MUL(525252525252,100000000000) PDP-10: 600000000000 JavaScript: 200000000000 @031401
MUL(525252525252,100000000000) PDP-10: 600000000000 JavaScript: 200000000000 @031401
MUL(252525252525,000000000002) PDP-10: 125252525252 JavaScript: 525252525252 @031461
MUL(252525252525,000000000004) PDP-10: 252525252524 JavaScript: 252525252524 @031474
MUL(252525252525,000000000010) PDP-10: 125252525250 JavaScript: 525252525250 @031507
MUL(252525252525,000000000020) PDP-10: 252525252520 JavaScript: 252525252520 @031522
MUL(252525252525,000000000040) PDP-10: 125252525240 JavaScript: 525252525240 @031535
MUL(252525252525,000000000100) PDP-10: 252525252500 JavaScript: 252525252500 @031550
MUL(252525252525,000000000200) PDP-10: 125252525200 JavaScript: 525252525200 @031563
MUL(252525252525,000000000400) PDP-10: 252525252400 JavaScript: 252525252400 @031576
MUL(252525252525,000000001000) PDP-10: 125252525000 JavaScript: 525252525000 @031611
MUL(252525252525,000000002000) PDP-10: 252525252000 JavaScript: 252525252000 @031624
MUL(252525252525,000000004000) PDP-10: 125252524000 JavaScript: 525252524000 @031637
MUL(252525252525,000000010000) PDP-10: 252525250000 JavaScript: 252525250000 @031652
MUL(252525252525,000000020000) PDP-10: 125252520000 JavaScript: 525252520000 @031665
MUL(252525252525,000000040000) PDP-10: 252525240000 JavaScript: 252525240000 @031700
MUL(252525252525,000000100000) PDP-10: 125252500000 JavaScript: 525252500000 @031713
MUL(252525252525,000000200000) PDP-10: 252525200000 JavaScript: 252525200000 @031726
MUL(252525252525,000000400000) PDP-10: 125252400000 JavaScript: 525252400000 @031741
MUL(252525252525,000001000000) PDP-10: 252525000000 JavaScript: 252525000000 @031754
MUL(252525252525,000002000000) PDP-10: 125252000000 JavaScript: 525252000000 @031767
MUL(252525252525,000004000000) PDP-10: 252524000000 JavaScript: 252524000000 @032002
MUL(252525252525,000010000000) PDP-10: 125250000000 JavaScript: 525250000000 @032015
MUL(252525252525,000020000000) PDP-10: 252520000000 JavaScript: 252520000000 @032030
MUL(252525252525,000040000000) PDP-10: 125240000000 JavaScript: 525240000000 @032043
MUL(252525252525,000100000000) PDP-10: 252500000000 JavaScript: 252500000000 @032056
MUL(252525252525,000200000000) PDP-10: 125200000000 JavaScript: 525200000000 @032071
MUL(252525252525,000400000000) PDP-10: 252400000000 JavaScript: 252400000000 @032104
MUL(252525252525,001000000000) PDP-10: 125000000000 JavaScript: 525000000000 @032117
MUL(252525252525,002000000000) PDP-10: 252000000000 JavaScript: 252000000000 @032132
MUL(252525252525,004000000000) PDP-10: 124000000000 JavaScript: 524000000000 @032145
MUL(252525252525,010000000000) PDP-10: 250000000000 JavaScript: 250000000000 @032160
MUL(252525252525,020000000000) PDP-10: 120000000000 JavaScript: 520000000000 @032173
MUL(252525252525,040000000000) PDP-10: 240000000000 JavaScript: 240000000000 @032206
MUL(252525252525,100000000000) PDP-10: 100000000000 JavaScript: 500000000000 @032221
MUL(252525252525,200000000000) PDP-10: 200000000000 JavaScript: 200000000000 @032234
MUL(252525252525,000000000002) PDP-10: 125252525252 JavaScript: 525252525252 @032301
MUL(252525252525,000000000004) PDP-10: 252525252524 JavaScript: 252525252524 @032314
MUL(252525252525,000000000010) PDP-10: 125252525250 JavaScript: 525252525250 @032327
MUL(252525252525,000000000020) PDP-10: 252525252520 JavaScript: 252525252520 @032342
MUL(252525252525,000000000040) PDP-10: 125252525240 JavaScript: 525252525240 @032355
MUL(252525252525,000000000100) PDP-10: 252525252500 JavaScript: 252525252500 @032370
MUL(252525252525,000000000200) PDP-10: 125252525200 JavaScript: 525252525200 @032403
MUL(252525252525,000000000400) PDP-10: 252525252400 JavaScript: 252525252400 @032416
MUL(252525252525,000000001000) PDP-10: 125252525000 JavaScript: 525252525000 @032431
MUL(252525252525,000000002000) PDP-10: 252525252000 JavaScript: 252525252000 @032444
MUL(252525252525,000000004000) PDP-10: 125252524000 JavaScript: 525252524000 @032457
MUL(252525252525,000000010000) PDP-10: 252525250000 JavaScript: 252525250000 @032472
MUL(252525252525,000000020000) PDP-10: 125252520000 JavaScript: 525252520000 @032505
MUL(252525252525,000000040000) PDP-10: 252525240000 JavaScript: 252525240000 @032520
MUL(252525252525,000000100000) PDP-10: 125252500000 JavaScript: 525252500000 @032533
MUL(252525252525,000000200000) PDP-10: 252525200000 JavaScript: 252525200000 @032546
MUL(252525252525,000000400000) PDP-10: 125252400000 JavaScript: 525252400000 @032561
MUL(252525252525,000001000000) PDP-10: 252525000000 JavaScript: 252525000000 @032574
MUL(252525252525,000002000000) PDP-10: 125252000000 JavaScript: 525252000000 @032607
MUL(252525252525,000004000000) PDP-10: 252524000000 JavaScript: 252524000000 @032622
MUL(252525252525,000010000000) PDP-10: 125250000000 JavaScript: 525250000000 @032635
MUL(252525252525,000020000000) PDP-10: 252520000000 JavaScript: 252520000000 @032650
MUL(252525252525,000040000000) PDP-10: 125240000000 JavaScript: 525240000000 @032663
MUL(252525252525,000100000000) PDP-10: 252500000000 JavaScript: 252500000000 @032676
MUL(252525252525,000200000000) PDP-10: 125200000000 JavaScript: 525200000000 @032711
MUL(252525252525,000400000000) PDP-10: 252400000000 JavaScript: 252400000000 @032724
MUL(252525252525,001000000000) PDP-10: 125000000000 JavaScript: 525000000000 @032737
MUL(252525252525,002000000000) PDP-10: 252000000000 JavaScript: 252000000000 @032752
MUL(252525252525,004000000000) PDP-10: 124000000000 JavaScript: 524000000000 @032765
MUL(252525252525,010000000000) PDP-10: 250000000000 JavaScript: 250000000000 @033000
MUL(252525252525,020000000000) PDP-10: 120000000000 JavaScript: 520000000000 @033013
MUL(252525252525,040000000000) PDP-10: 240000000000 JavaScript: 240000000000 @033026
MUL(252525252525,100000000000) PDP-10: 100000000000 JavaScript: 500000000000 @033041
MUL(252525252525,200000000000) PDP-10: 200000000000 JavaScript: 200000000000 @033054
MUL(252525252525,400000000000) PDP-10: 000000000000 JavaScript: 400000000000 @033067
MUL(000001000000,000001000000) PDP-10: 000000000000 JavaScript: 000000000000 @033414
MUL(000002000000,000002000000) PDP-10: 000000000000 JavaScript: 000000000000 @033427
MUL(000004000000,000004000000) PDP-10: 000000000000 JavaScript: 000000000000 @033442
MUL(000010000000,000010000000) PDP-10: 000000000000 JavaScript: 000000000000 @033455
MUL(000020000000,000020000000) PDP-10: 000000000000 JavaScript: 000000000000 @033470
MUL(000040000000,000040000000) PDP-10: 000000000000 JavaScript: 000000000000 @033503
MUL(000100000000,000100000000) PDP-10: 000000000000 JavaScript: 000000000000 @033516
MUL(000200000000,000200000000) PDP-10: 000000000000 JavaScript: 000000000000 @033531
MUL(000400000000,000400000000) PDP-10: 000000000000 JavaScript: 000000000000 @033544
MUL(001000000000,001000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033557
MUL(002000000000,002000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033572
MUL(004000000000,004000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033605
MUL(010000000000,010000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033620
MUL(020000000000,020000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033633
MUL(040000000000,040000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033646
MUL(100000000000,100000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033661
MUL(200000000000,200000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033674
MUL(400000000000,400000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033707
MUL(400000000000,400000000000) PDP-10: 000000000000 JavaScript: 000000000000 @033707
MUL(777777777776,777777777776) PDP-10: 000000000004 JavaScript: 000000000000 @033726
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033726
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033726
MUL(777777777775,777777777775) PDP-10: 000000000011 JavaScript: 000000000000 @033741
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033741
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033741
MUL(777777777773,777777777773) PDP-10: 000000000031 JavaScript: 000000000000 @033754
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033754
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033754
MUL(777777777767,777777777767) PDP-10: 000000000121 JavaScript: 000000000000 @033767
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033767
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @033767
MUL(777777777757,777777777757) PDP-10: 000000000441 JavaScript: 000000000000 @034002
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034002
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034002
MUL(777777777737,777777777737) PDP-10: 000000002101 JavaScript: 000000000000 @034015
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034015
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034015
MUL(777777777677,777777777677) PDP-10: 000000010201 JavaScript: 000000000000 @034030
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034030
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034030
MUL(777777777577,777777777577) PDP-10: 000000040401 JavaScript: 000000000000 @034043
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034043
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034043
MUL(777777777377,777777777377) PDP-10: 000000201001 JavaScript: 000000000000 @034056
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034056
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034056
MUL(777777776777,777777776777) PDP-10: 000001002001 JavaScript: 000002000000 @034071
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034071
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034071
MUL(777777775777,777777775777) PDP-10: 000004004001 JavaScript: 000004000000 @034104
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034104
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034104
MUL(777777773777,777777773777) PDP-10: 000020010001 JavaScript: 000020000000 @034117
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034117
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034117
MUL(777777767777,777777767777) PDP-10: 000100020001 JavaScript: 000100000000 @034132
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034132
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034132
MUL(777777757777,777777757777) PDP-10: 000400040001 JavaScript: 000400000000 @034145
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034145
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034145
MUL(777777737777,777777737777) PDP-10: 002000100001 JavaScript: 002000000000 @034160
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034160
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034160
MUL(777777677777,777777677777) PDP-10: 010000200001 JavaScript: 010000000000 @034173
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034173
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034173
MUL(777777577777,777777577777) PDP-10: 040000400001 JavaScript: 040000000000 @034206
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034206
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034206
MUL(777777377777,777777377777) PDP-10: 200001000001 JavaScript: 200002000000 @034221
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034221
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034221
MUL(777776777777,777776777777) PDP-10: 000002000001 JavaScript: 000002000001 @034234
MUL(777776777777,777776777777) PDP-10: 000002000001 JavaScript: 000002000000 @034234
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034234
MUL(000000777777,000000777777) PDP-10: 377776000001 JavaScript: 777776000001 @034234
MUL(777775777777,777775777777) PDP-10: 000004000001 JavaScript: 000004000001 @034247
MUL(777775777777,777775777777) PDP-10: 000004000001 JavaScript: 000004000000 @034247
MUL(000000777776,000000777776) PDP-10: 377774000004 JavaScript: 777774000004 @034247
MUL(000000777776,000000777776) PDP-10: 377774000004 JavaScript: 777774000004 @034247
MUL(777773777777,777773777777) PDP-10: 000010000001 JavaScript: 000010000001 @034262
MUL(777773777777,777773777777) PDP-10: 000010000001 JavaScript: 000010000000 @034262
MUL(000000777774,000000777774) PDP-10: 377770000020 JavaScript: 777770000020 @034262
MUL(000000777774,000000777774) PDP-10: 377770000020 JavaScript: 777770000020 @034262
MUL(777767777777,777767777777) PDP-10: 000020000001 JavaScript: 000020000001 @034275
MUL(777767777777,777767777777) PDP-10: 000020000001 JavaScript: 000020000000 @034275
MUL(000000777770,000000777770) PDP-10: 377760000100 JavaScript: 777760000100 @034275
MUL(000000777770,000000777770) PDP-10: 377760000100 JavaScript: 777760000100 @034275
MUL(777757777777,777757777777) PDP-10: 000040000001 JavaScript: 000040000001 @034310
MUL(777757777777,777757777777) PDP-10: 000040000001 JavaScript: 000040000000 @034310
MUL(000000777760,000000777760) PDP-10: 377740000400 JavaScript: 777740000400 @034310
MUL(000000777760,000000777760) PDP-10: 377740000400 JavaScript: 777740000400 @034310
MUL(777737777777,777737777777) PDP-10: 000100000001 JavaScript: 000100000001 @034323
MUL(777737777777,777737777777) PDP-10: 000100000001 JavaScript: 000100000000 @034323
MUL(000000777740,000000777740) PDP-10: 377700002000 JavaScript: 777700002000 @034323
MUL(000000777740,000000777740) PDP-10: 377700002000 JavaScript: 777700002000 @034323
MUL(777677777777,777677777777) PDP-10: 000200000001 JavaScript: 000200000001 @034336
MUL(777677777777,777677777777) PDP-10: 000200000001 JavaScript: 000200000000 @034336
MUL(000000777700,000000777700) PDP-10: 377600010000 JavaScript: 777600010000 @034336
MUL(000000777700,000000777700) PDP-10: 377600010000 JavaScript: 777600010000 @034336
MUL(777577777777,777577777777) PDP-10: 000400000001 JavaScript: 000400000001 @034351
MUL(777577777777,777577777777) PDP-10: 000400000001 JavaScript: 000400000000 @034351
MUL(000000777600,000000777600) PDP-10: 377400040000 JavaScript: 777400040000 @034351
MUL(000000777600,000000777600) PDP-10: 377400040000 JavaScript: 777400040000 @034351
MUL(777377777777,777377777777) PDP-10: 001000000001 JavaScript: 001000000001 @034364
MUL(777377777777,777377777777) PDP-10: 001000000001 JavaScript: 001000000000 @034364
MUL(000000777400,000000777400) PDP-10: 377000200000 JavaScript: 777000200000 @034364
MUL(000000777400,000000777400) PDP-10: 377000200000 JavaScript: 777000200000 @034364
MUL(776777777777,776777777777) PDP-10: 002000000000 JavaScript: 002000000000 @034377
MUL(776777777777,776777777777) PDP-10: 002000000001 JavaScript: 002000000000 @034377
MUL(000000777000,000000777000) PDP-10: 376001000000 JavaScript: 776001000000 @034377
MUL(000000777000,000000777000) PDP-10: 376001000000 JavaScript: 776001000000 @034377
MUL(775777777777,775777777777) PDP-10: 004000000000 JavaScript: 004000000000 @034412
MUL(775777777777,775777777777) PDP-10: 004000000001 JavaScript: 004000000000 @034412
MUL(000000776000,000000776000) PDP-10: 374004000000 JavaScript: 774004000000 @034412
MUL(000000776000,000000776000) PDP-10: 374004000000 JavaScript: 774004000000 @034412
MUL(773777777777,773777777777) PDP-10: 010000000000 JavaScript: 010000000000 @034425
MUL(773777777777,773777777777) PDP-10: 010000000001 JavaScript: 010000000000 @034425
MUL(000000774000,000000774000) PDP-10: 370020000000 JavaScript: 770020000000 @034425
MUL(000000774000,000000774000) PDP-10: 370020000000 JavaScript: 770020000000 @034425
MUL(767777777777,767777777777) PDP-10: 020000000000 JavaScript: 020000000000 @034440
MUL(767777777777,767777777777) PDP-10: 020000000001 JavaScript: 020000000000 @034440
MUL(000000770000,000000770000) PDP-10: 360100000000 JavaScript: 760100000000 @034440
MUL(000000770000,000000770000) PDP-10: 360100000000 JavaScript: 760100000000 @034440
MUL(757777777777,757777777777) PDP-10: 040000000000 JavaScript: 040000000000 @034453
MUL(757777777777,757777777777) PDP-10: 040000000001 JavaScript: 040000000000 @034453
MUL(000000760000,000000760000) PDP-10: 340400000000 JavaScript: 740400000000 @034453
MUL(000000760000,000000760000) PDP-10: 340400000000 JavaScript: 740400000000 @034453
MUL(737777777777,737777777777) PDP-10: 100000000000 JavaScript: 100000000000 @034466
MUL(737777777777,737777777777) PDP-10: 100000000001 JavaScript: 100000000000 @034466
MUL(000000740000,000000740000) PDP-10: 302000000000 JavaScript: 702000000000 @034466
MUL(000000740000,000000740000) PDP-10: 302000000000 JavaScript: 702000000000 @034466
MUL(677777777777,677777777777) PDP-10: 200000000000 JavaScript: 200000000000 @034501
MUL(677777777777,677777777777) PDP-10: 200000000001 JavaScript: 200000000000 @034501
MUL(000000700000,000000700000) PDP-10: 210000000000 JavaScript: 610000000000 @034501
MUL(000000700000,000000700000) PDP-10: 210000000000 JavaScript: 610000000000 @034501
MUL(577777777777,577777777777) PDP-10: 000000000000 JavaScript: 400000000000 @034514
MUL(577777777777,577777777777) PDP-10: 000000000001 JavaScript: 400000000000 @034514
MUL(000000600000,000000600000) PDP-10: 040000000000 JavaScript: 440000000000 @034514
MUL(377777777777,377777777777) PDP-10: 000000000001 JavaScript: 000000000000 @034527
MUL(000001000000,777776777777) PDP-10: 377777000000 JavaScript: 777777000000 @035054
MUL(000002000000,777775777777) PDP-10: 377776000000 JavaScript: 777776000000 @035067
MUL(000004000000,777773777777) PDP-10: 377774000000 JavaScript: 777774000000 @035102
MUL(000010000000,777767777777) PDP-10: 377770000000 JavaScript: 777770000000 @035115
MUL(000020000000,777757777777) PDP-10: 377760000000 JavaScript: 777760000000 @035130
MUL(000040000000,777737777777) PDP-10: 377740000000 JavaScript: 777740000000 @035143
MUL(000100000000,777677777777) PDP-10: 377700000000 JavaScript: 777700000000 @035156
MUL(000200000000,777577777777) PDP-10: 377600000000 JavaScript: 777600000000 @035171
MUL(000400000000,777377777777) PDP-10: 377400000000 JavaScript: 777400000000 @035204
MUL(001000000000,776777777777) PDP-10: 377000000000 JavaScript: 777000000000 @035217
MUL(002000000000,775777777777) PDP-10: 376000000000 JavaScript: 776000000000 @035232
MUL(004000000000,773777777777) PDP-10: 374000000000 JavaScript: 774000000000 @035245
MUL(010000000000,767777777777) PDP-10: 370000000000 JavaScript: 770000000000 @035260
MUL(020000000000,757777777777) PDP-10: 360000000000 JavaScript: 760000000000 @035273
MUL(040000000000,737777777777) PDP-10: 340000000000 JavaScript: 740000000000 @035306
MUL(100000000000,677777777777) PDP-10: 300000000000 JavaScript: 700000000000 @035321
MUL(200000000000,577777777777) PDP-10: 200000000000 JavaScript: 600000000000 @035334
MUL(400000000000,377777777777) PDP-10: 000000000000 JavaScript: 400000000000 @035347
MUL(000001000000,777776777777) PDP-10: 377777000000 JavaScript: 777777000000 @035674
MUL(000002000000,777775777777) PDP-10: 377776000000 JavaScript: 777776000000 @035707
MUL(000004000000,777773777777) PDP-10: 377774000000 JavaScript: 777774000000 @035722
MUL(000010000000,777767777777) PDP-10: 377770000000 JavaScript: 777770000000 @035735
MUL(000020000000,777757777777) PDP-10: 377760000000 JavaScript: 777760000000 @035750
MUL(000040000000,777737777777) PDP-10: 377740000000 JavaScript: 777740000000 @035763
MUL(000100000000,777677777777) PDP-10: 377700000000 JavaScript: 777700000000 @035776
MUL(000200000000,777577777777) PDP-10: 377600000000 JavaScript: 777600000000 @036011
MUL(000400000000,777377777777) PDP-10: 377400000000 JavaScript: 777400000000 @036024
MUL(001000000000,776777777777) PDP-10: 377000000000 JavaScript: 777000000000 @036037
MUL(002000000000,775777777777) PDP-10: 376000000000 JavaScript: 776000000000 @036052
MUL(004000000000,773777777777) PDP-10: 374000000000 JavaScript: 774000000000 @036065
MUL(010000000000,767777777777) PDP-10: 370000000000 JavaScript: 770000000000 @036100
MUL(020000000000,757777777777) PDP-10: 360000000000 JavaScript: 760000000000 @036113
MUL(040000000000,737777777777) PDP-10: 340000000000 JavaScript: 740000000000 @036126
MUL(100000000000,677777777777) PDP-10: 300000000000 JavaScript: 700000000000 @036141
MUL(200000000000,577777777777) PDP-10: 200000000000 JavaScript: 600000000000 @036154
MUL(777777377777,000001000000) PDP-10: 777777000000 JavaScript: 377777000000 @035347
MUL(777777377777,000001000000) PDP-10: 777777000000 JavaScript: 377777000000 @035347
MUL(000000000010,377777777777) PDP-10: 377777777770 JavaScript: 777777777770 @000000
MUL(000000000020,377777777777) PDP-10: 377777777760 JavaScript: 777777777760 @000000

File diff suppressed because one or more lines are too long

View file

@ -519,7 +519,14 @@ class DebuggerPDP10 extends Debugger {
*/
evalMUL(dst, src)
{
/*
* The CPU requires that all 36-bit inputs/outputs be UNSIGNED, whereas our expression evaluator allows signed
* inputs/outputs. So we perform two's complement conversions on all inputs/outputs as needed.
*/
if (dst < 0) dst += PDP10.WORD_LIMIT;
if (src < 0) src += PDP10.WORD_LIMIT;
var result = PDP10.doMUL.call(this.cpu, dst, src, false, true);
if (result >= PDP10.INT_LIMIT) result -= PDP10.WORD_LIMIT;
if (MAXDEBUG) {
var resultJS = this.truncate(dst * src);
if (resultJS !== result) {
@ -3932,7 +3939,7 @@ class DebuggerPDP10 extends Debugger {
*/
doTest()
{
if (DEBUG) {
if (MAXDEBUG) {
var ops = {}, aOpXXX = [];
var op, opXXX, opCode, sOperation;
for (op = 0o00000; op <= 0o77774; op += 4) {

View file

@ -473,15 +473,21 @@ class Debugger extends Component
}
else {
if (nBits <= 32) {
vNew = v | 0;
} else {
vNew = (v << (32 - nBits)) >> (32 - nBits);
}
else {
limit = Math.pow(2, nBits - 1);
if (v < -limit) {
if (v < -limit * 2) vNew = v % (limit * 2);
vNew += (limit * 2);
} else if (vNew >= limit) {
if (v >= limit * 2) vNew = v % (limit * 2);
vNew -= (limit * 2); // the sign bit was set in this overly large value, so make it negative
if (v >= limit) {
vNew = (v % limit);
if (((v / limit)|0) & 1) vNew -= limit;
} else if (v < -limit) {
vNew = (v % limit);
if ((((-v - 1) / limit) | 0) & 1) {
if (vNew) vNew += limit;
}
else {
if (!vNew) vNew -= limit;
}
}
}
}

View file

@ -14,7 +14,8 @@ directory. If a PDF was not searchable, it was "OCR'ed" before being archived b
PDP-10 Hardware Publications
----------------------------
- [PDP-10 System Reference Manual (1968)](http://archive.pcjs.org/pubs/dec/pdp10/ka10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf) [[Original PDF](http://bitsavers.trailing-edge.com/pdf/dec/pdp10/KA10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf)]
- [PDP-10 System Reference Manual (May 1968)](http://archive.pcjs.org/pubs/dec/pdp10/ka10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf) [[Original PDF](http://bitsavers.trailing-edge.com/pdf/dec/pdp10/KA10/DEC-10-HGAA-D_PDP-10_System_Reference_Manual_May1968.pdf)]
- [DECSYSTEM-10/DECSYSTEM-20 Processor Reference Manual (June 1982)](http://archive.pcjs.org/pubs/dec/pdp10/tops10/AA-H391A-TK_DECsystem-10_DECSYSTEM-20_Processor_Reference_Jun1982.pdf) [[Original PDF](http://bitsavers.org/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol05/AA-H391A-TK_DECsystem-10_DECSYSTEM-20_Processor_Reference_Jun1982.pdf)]
PDP-10 Software Publications
----------------------------

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long