Jeff
|
e7988597c5
|
Changed the remainder operator from '%' to '^/', mainly because '%' must be allowed in MACRO-10 symbols instead, but also because '%' led one to believe it was a "mod" operator (it wasn't); added IFDEF support to the MACRO-10 Mini-Assembler; updated the Debugger's assemble command to recognize filenames with "KLM" extensions, too.
|
2017-03-31 09:37:38 -07:00 |
|
Jeff
|
1d1ac0cb7b
|
The shared expression parser now adapts to the (critically) different precedence of MACRO-10 operators
|
2017-03-30 11:53:21 -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
|
d13e7a5faf
|
The expression parser now allows spaces inside expressions (a relaxation for certain MACRO-10 typos; eg, "- 1" where "-1" was expected)
|
2017-03-28 12:01:06 -07:00 |
|
Jeff
|
b2a6a06908
|
Fixed parsing of expressions with spaces
|
2017-03-28 09:17:09 -07:00 |
|
Jeff
|
6ad35d2d17
|
Added the ^L MACRO-10 unary zero-bit-counting operator, and updated the last blog post with expression parser differences (eg, interpretation of numbers with a decimal point)
|
2017-03-21 17:40:37 -07:00 |
|
Jeff
|
127ddb88b4
|
Added the unary + operator, and cleaned up the display of values from the expression parser
|
2017-03-21 12:47:43 -07:00 |
|
Jeff
|
a42a261cca
|
README fixes
|
2017-03-20 15:33:01 -07:00 |
|
Jeff
|
a6021441c3
|
Fixed the signed truncation of 36-bit values (so that "-34,359,738,368. - 1" correctly produces "34359738367. aka 0o377777777777"), added the proper the right-to-left parsing of unary operators (all two of them: negate and complement), changed the PDP-10 disassembler to honor the selected base when displaying opcodes, and updated all the number-to-string conversions to select an appropriate number of digits when rendering values without a specified number of digits.
|
2017-03-20 13:34:25 -07:00 |
|
Jeff
|
5d2a1ed16b
|
Fixed limits on MACRO-10 ASCII and SIXBIT constants
|
2017-03-19 14:13:24 -07:00 |
|
Jeff
|
4cce2177f4
|
The recursive MACRO-10 test case (MACTEST1.MAC) found in the June 1972 MACRO-10 manual passes now
|
2017-03-19 14:03:49 -07:00 |
|
Jeff
|
fb83d1e503
|
More MACRO-10 parsing improvements
|
2017-03-19 12:03:45 -07:00 |
|
Jeff
|
1c3c9c9856
|
Added various MACRO-10 expression improvements
|
2017-03-18 17:12:54 -07:00 |
|
Jeff
|
abd17be706
|
Allow the debugger to switch to base 2
|
2017-03-17 11:20:26 -07:00 |
|
Jeff
|
9c96ec14ad
|
Started executing basic PDP-10 instruction diagnostic #1
|
2017-03-17 00:01:49 -07:00 |
|
Jeff
|
01e9bcf0fe
|
Fixed multiline ASCIZ MACRO-10 pseudo-op, and expressions with binary shift suffixes finally evaluate correctly in parseExpression()
|
2017-03-16 16:50:47 -07:00 |
|
Jeff
|
ab0dccd866
|
Added MACRO-10 work-arounds for numeric values with embedded binary shift counts
|
2017-03-16 12:45:19 -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
|
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 |
|