Commit graph pcjs/modules/pdp10/lib/cpuops.js
Author SHA1 Message Date
Jeff
d4c12c8c7a Fixed the PDP-10 BLT instruction 2017-04-05 11:32:16 -07:00
Jeff
d28d1ee940 Added a few PDP-10 byte pointer fixes, along with the ability to pass MACRO-10 text directly into the MACRO-10 assembler (use the Debugger's "as" command) 2017-04-04 10:42:41 -07:00
Jeff
3fb3f44384 Made a tiny 72-bit division optimization 2017-04-02 11:43:54 -07:00
Jeff
defa6cd038 Added some comments regarding 72-bit division. 2017-04-02 11:04:20 -07:00
Jeff
01550cc95e Well, that was brutal, but ALL the PDP-10 DAKAL multiplication and division tests FINALLY pass 2017-04-02 10:35:59 -07:00
Jeff
493ae6c310 I *think* all the PDP-10 DAKAL multiplication tests pass now. Division tests, alas, are a different story. 2017-04-01 23:06:41 -07:00
Jeff
1a8c1306d4 Fixed 36-bit multiplication results in cases of overflow 2017-04-01 15:14:27 -07:00
Jeff
46ed7c77e8 Added code to help identify instances where multiplication constants should be checked against other sources for accuracy 2017-04-01 11:08:44 -07:00
Jeff
1711393755 Fixed 36-bit multiplication in the expression parser so that, within the PDP-10 environment, it produces the same 36-bit results that a PDP-10 would produce (important for MACRO-10 compatibility) 2017-04-01 00:43:44 -07:00
Jeff
71e2ecb5cb PDP-10 "DAKAK" multiplication diagnostic passes 2017-03-31 08:14:56 -07:00
Jeff
307517fd76 PDP-10 multiply diagnostic testing finally underway; fixed one bug related to the KA10 (not that anyone really cares anymore) 2017-03-30 23:46:01 -07:00
Jeff
90ae3f1db8 Fixed the signed 8-bit calculation of all PDP-10 shift/rotate counts; diagnostic DAKAJ now passes 2017-03-30 17:31:13 -07:00
Jeff
3f06667597 Fixed/simplified opASH() a bit; it wasn't preserving the sign bit in all cases, and converting the input from unsigned to signed and back again was more confusing than helpful 2017-03-30 14:49:49 -07:00
Jeff
c045e78395 Added the DAKAG PDP-10 diagnostics, implemented PUSHJ and POPJ instructions, and improved the debugging of XCT sequences 2017-03-29 13:26:23 -07:00
Jeff
d0ff759684 Added MACRO-10 support for OPDEFs, which are macro-like statements used to generate words which can also be combined with addressing modifiers 2017-03-29 10:12:45 -07:00
Jeff
642e43937e Assemble commands can now be batched up; even if they refer to external files that must be loaded asynchronously, command processing will be suspended until assembly is complete 2017-03-29 08:14:07 -07:00
Jeff
f8bf346eab Renamed flags to be more consistent with DEC's names, and updated JSR and JSP to clear the BIS flag 2017-03-28 16:27:18 -07:00
Jeff
d5c48df9bc Added support for MACRO-10 literal collapsing; it's not super-aggressive, but it's more than adequate for what DEC's diagnostics require 2017-03-28 15:22:17 -07:00
Jeff
ae30a5e93c PDPjs passes the first four PDP-10 Basic Instruction Diagnostics (finally) 2017-03-27 19:00:10 -07:00
Jeff
2a8c2a74d2 Fixed a couple of PDP-10 opcode emulation bugs (AOBJN, AOBJP, and CMP), and rounded out the set of DEC's basic instruction diagnostics 2017-03-27 11:44:42 -07:00
Jeff
9c96ec14ad Started executing basic PDP-10 instruction diagnostic #1 2017-03-17 00:01:49 -07:00
Jeff
6e0e489bee Cleaned up the expression parser, fixed some PDP-10 evaluation errors, and added support unary minus 2017-03-16 10:30:56 -07:00
Jeff
9ac0ffe679 Perform the documented encoding of SIXBIT character data for MACRO-10 2017-03-12 11:56:15 -07:00
Jeff
fcee8a2838 Added support for future PDP-10 MACRO-10 assembler 2017-03-10 10:28:32 -08:00
Jeff
3a9cd5cf04 Code cleanup 2017-03-09 17:49:54 -08:00
Jeff
a7b4321f53 Added all the PDP-10 logical testing/modification instructions 2017-03-09 15:37:26 -08:00
Jeff
0dc6b7276b Added lots of PDP-10 compare/increment/decrement/skip/jump instructions 2017-03-09 12:30:51 -08:00
Jeff
e9d2b0ec25 Rounded out the rest of the MUL and DIV instructions 2017-03-08 15:52:33 -08:00
Jeff
b3982328ed Added a couple of doDIV() improvements 2017-03-08 14:41:55 -08:00
Jeff
93e35dfa17 Ported the Int36 72-bit division code to the PDP-10 component 2017-03-08 11:38:54 -08:00
Jeff
48792873de Eliminate PDP-10 dependencies on the Int36 class (which is now used only for prototyping and command-line testing) 2017-03-07 17:21:59 -08:00
Jeff
65eb821710 Well, apparently the PDP-10 MUL instruction really DOES store the high-order word first, and it only stores the low-order word if the destination is an accumulator (weird) 2017-03-07 14:09:24 -08:00
Jeff
7e207db2a1 Added PDP-10 JSP and JFCL operations (which seem to be the simplest means of getting and setting the processor flags) 2017-03-07 13:44:43 -08:00
Jeff
0e18448423 Added PDP-10 SUB and MUL operations 2017-03-07 10:21:17 -08:00
Jeff
38a598d21e Added PDP-10 ADD operations 2017-03-06 23:36:48 -08:00
Jeff
6b68525f24 Fixed minor ASHC bug 2017-03-05 16:19:25 -08:00
Jeff
286a122b05 Implemented (but have not yet tested) ASHC opcode for PDP-10 2017-03-05 14:14:14 -08:00
Jeff
234e8871ba Added "lsh" and "rot" commands to the Int36 command-line tool to mimic the PDP-10 opcodes and test their logic 2017-03-05 10:04:18 -08:00
Jeff
ffb7fa1221 New improved PDP-10 processor flag handling 2017-03-04 21:07:56 -08:00
Jeff
87e17a695c Fixed opIO() dispatch 2017-03-04 16:52:44 -08:00
Jeff
1ac769431f Added initial logic for decoding PDP-10 input-output instructions 2017-03-04 16:47:56 -08:00
Jeff
e04bec1af4 Typo 2017-03-04 14:46:26 -08:00
Jeff
5d48383363 Added logic (untested) for ASH 2017-03-04 14:43:21 -08:00
Jeff
20c24053b9 Simplified ROT and ROTC, converting all right (negative) rotations into left (positive) rotations 2017-03-04 11:22:57 -08:00
Jeff
88f66f9590 Added ROT and ROTC (albeit untested) 2017-03-03 21:09:45 -08:00
Jeff
a08c8c30bf Added LSH and LSHC (albeit untested) 2017-03-03 17:44:27 -08:00
Jeff
b8a38c8ac6 Finished PDP-10 logical operations 2017-03-03 15:58:15 -08:00
Jeff
616f9d4cda Started work on PDP-10 logical operations 2017-03-03 11:30:34 -08:00
Jeff
796a23ce6c Added some "special considerations" to PDP-10 byte pointer processing 2017-03-03 09:01:49 -08:00
Jeff
25aa95cec8 First cut at PDP-10 byte instructions 2017-03-02 23:10:24 -08:00