Commit graph pcjs/modules/shared/lib
Author SHA1 Message Date
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
0e8e2ed4a2 Improved fixup handling for better MACRO-10 support 2017-03-16 00:32:30 -07:00
Jeff
3f8705ad98 Successfully assembled my first MACRO-10 source file (DAKAD.MAC) 2017-03-14 14:44:03 -07:00
Jeff
e1f37c8275 More MACRO-10 fixes 2017-03-13 17:44:01 -07:00
Jeff
9ac0ffe679 Perform the documented encoding of SIXBIT character data for MACRO-10 2017-03-12 11:56:15 -07:00
Jeff
05e09699dd Cleaned up expression evaluation for improved compatibility with MACRO-10 2017-03-12 11:44:38 -07:00
Jeff
e2e018af67 More MACRO-10 support 2017-03-11 23:30:06 -08: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
0dc6b7276b Added lots of PDP-10 compare/increment/decrement/skip/jump instructions 2017-03-09 12:30:51 -08:00
Jeff
70cd954974 Debuggers need to handle negative values a bit better 2017-03-08 16:48:25 -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
38a598d21e Added PDP-10 ADD operations 2017-03-06 23:36:48 -08:00
Jeff
1b4129d7ad Added some ASHC tests 2017-03-06 17:18:41 -08:00
Jeff
04ae721eb6 Updated the extended logical operations (LSHC and ROTC) to treat the result as a 71-bit result, and ASHC to treat it as a 70-bit result 2017-03-06 16:42:29 -08:00
Jeff
3d4795bbe4 Updated the Int36 class with support for both signed 71-bit values (my original double-length format) and 70-bit values consisting of two signed 35-bit values (DEC's double-length format) 2017-03-06 15:48:31 -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
61e64bf3fc Sync'ed some of the constants used in the pdp10 and int36 modules 2017-03-05 10:19:04 -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 Parsons
c4f7262e71 Cleaned up the integer base conversion code, and expanded the PDP-10 register dump 2017-02-27 19:18:19 -08:00
Jeff Parsons
17e807ecb6 Tested a couple half-word instructions (so far, so good) 2017-02-27 12:25:13 -08:00
Jeff Parsons
aecd943c52 Added support for PDP-10 RAM images 2017-02-26 20:37:16 -08:00
Jeff Parsons
ef70ed74b3 Added support for parsing of values (ie, integers) greater than 32 bits, and fixed PDP-10 Bus writes (parameter order differs from other emulators) 2017-02-24 13:07:38 -08:00
Jeff Parsons
c0de732f76 Changed toStrBase() to accept a number of bits rather than a number of bytes, because bytes aren't always 8 bits (see PDP-10) 2017-02-24 10:58:56 -08:00
Jeff Parsons
c25ad00c41 Minimal infrastructure for instantiating a PDP-10 test machine 2017-02-23 11:34:19 -08:00
Jeff Parsons
ba7de38fbf Created PDP-10 skeleton 2017-02-19 15:22:58 -08:00
Jeff Parsons
b1d16c979a Removed obsolete version of Int36 (using signed integers internally); sticking with unsigned integers internally not only simplifies some of the existing logic, but will make it easier to add logical operations later (eg, AND, OR, XOR, etc) 2017-02-18 09:36:47 -08:00
Jeff Parsons
acdf89ec54 Make Int36 toDecimal() more paranoid (we want perfect output, or no output at all) 2017-02-18 09:28:43 -08:00
Jeff Parsons
c1ab8918bd Make Int36 toDecimal() more paranoid (we want perfect output, or no output at all) 2017-02-18 09:23:45 -08:00
Jeff Parsons
7770a6bffe Added an "early out" for Int36 division 2017-02-18 09:17:08 -08:00
Jeff Parsons
3f65a1b770 Simplify Int36 bit handling (only affects division) 2017-02-18 08:50:24 -08:00
Jeff Parsons
55bb0252b7 Be more specific about detected errors 2017-02-17 13:38:34 -08:00
Jeff Parsons
cff039f6a5 Added the reduce() function, to reduce 72-bit extended values to 36-bit values, magnitude permitting 2017-02-17 13:31:17 -08:00
Jeff Parsons
689adca2a7 Comment updates 2017-02-17 12:15:48 -08:00
Jeff Parsons
688fa635c8 Clarified the operation of negate(), added an explicit extend(), and made toDecimal() more robust (in case we end up with goofy values) 2017-02-17 11:52:36 -08:00
Jeff Parsons
80756041f3 Int36.toDecimal() now supports any value up to 72 bits 2017-02-16 15:58:50 -08:00
Jeff Parsons
4de50acdf1 Added alternate Int36 addition/subtraction overflow/underflow detection logic as a verification check 2017-02-16 14:05:05 -08:00
Jeff Parsons
048a10aac6 Fixed toDecimal() for large extended Int36 values (although there are still some very large values that trigger an error) 2017-02-15 23:43:23 -08:00
Jeff Parsons
4d94b5812b Cleaned up divExtended() 2017-02-15 22:27:03 -08:00
Jeff Parsons
40311e82b2 Added Int36 overflow/underflow detection 2017-02-15 22:20:07 -08:00
Jeff Parsons
798fae1898 Updated Int36 comments 2017-02-15 16:35:15 -08:00
Jeff Parsons
6bc0d8ac49 Trying a second approach to the Int36 class that sticks to unsigned numbers internally (only downside so far is that the detecting arithmetic overflow/underflow is more work and hasn't been implemented yet) 2017-02-15 16:16:32 -08:00
Jeff Parsons
259dd7d66f Updated comments 2017-02-15 11:54:16 -08:00
Jeff Parsons
3a33ffdd50 A few more toDecimal() fixes 2017-02-14 17:55:41 -08:00
Jeff Parsons
656f7e6796 Numerous fixes to Int36 class, with improved support for 72-bit mul(), div(), and toString()/toDecimal() 2017-02-14 13:12:27 -08:00
Jeff Parsons
7131e471ac Implemented 36-bit division with support for (up to) 72-bit dividends 2017-02-13 14:04:00 -08:00
Jeff Parsons
a0ddaa2239 Implemented 36-bit multiplication with support for (up to) 72-bit results 2017-02-13 11:55:29 -08:00
Jeff Parsons
f03a5686e5 Implemented 36-bit multiplication with support for (up to) 72-bit results 2017-02-13 11:46:58 -08:00
Jeff Parsons
bfab39cf5a Skeleton of an Int36 class that may be used to support 36-bit integers in a PDP-10 simulation 2017-02-12 11:21:49 -08:00