Thomas Harte
a768b101f8
Further clean up copy-and-paste mess.
2023-10-11 14:36:42 -04:00
Thomas Harte
d0a9b5cb81
Implement NEG, NOT.
2023-10-10 22:09:10 -04:00
Thomas Harte
3d08953103
Add TODO.
2023-10-10 12:43:41 -04:00
Thomas Harte
dbf7d07609
Add DIV, faulty IDIV.
2023-10-10 10:34:18 -04:00
Thomas Harte
0412890923
Add STC, STD, STI.
2023-10-09 22:16:37 -04:00
Thomas Harte
5e830781cc
Implement IMUL, improve test memory footprint.
2023-10-09 22:12:15 -04:00
Thomas Harte
ff6573dd02
Implement MUL.
2023-10-09 21:50:17 -04:00
Thomas Harte
90a8999b4b
Fix typo.
2023-10-05 22:29:15 -04:00
Thomas Harte
f411a961a3
Create a central location for avoiding segment conditionality.
2023-10-05 17:12:38 -04:00
Thomas Harte
eb100e3b29
Start reforming; data size plus register aren't independent in finding a source.
2023-10-05 16:49:02 -04:00
Thomas Harte
f6fd49d950
Relocate all text wrangling; this isn't really test-specific.
2023-10-04 22:35:52 -04:00
Thomas Harte
40af162214
Be overt about what's here to aid with printing only.
2023-10-04 22:15:13 -04:00
Thomas Harte
92c46faf84
Add SETMO and SETMOC.
2023-09-29 22:28:23 -04:00
Thomas Harte
ff9237be9f
Decode SALC.
2023-09-29 22:06:42 -04:00
Thomas Harte
ef5ee8cf94
Include missing context on JMP/CALL far.
...
Zero failing tests amongst official opcodes.
2023-09-29 14:57:08 -04:00
Thomas Harte
1a6c8a2aed
Add outputters for IN and OUT.
...
2 failures remaining.
2023-09-29 09:39:51 -04:00
Thomas Harte
b76899f2bc
Undo broken extension-word DS assumption.
...
8 failures.
2023-09-28 22:17:14 -04:00
Thomas Harte
245919e67d
Resolve REPNE and whitespace issues.
2023-09-28 22:01:12 -04:00
Thomas Harte
ae4a588de3
Adjust semantics to avoid culling end of relevant RETs.
2023-09-28 15:24:15 -04:00
Thomas Harte
2d882d2153
Switch shift/roll semantics to reduce extension words and for sanity generally.
...
37 failures.
2023-09-27 16:40:46 -04:00
Thomas Harte
5368f789f6
Shuffle list slightly.
2023-09-26 17:30:27 -04:00
Thomas Harte
b03b408984
Give the decoder responsibility for sanity-checking repetitions.
...
This may avoid some spurious extension words.
2023-09-26 17:29:20 -04:00
Thomas Harte
0a0051eb59
I've just been inconsistent with POP. Stop being so.
...
71 failures from 288 tests.
2023-09-26 15:16:41 -04:00
Thomas Harte
87097c44b9
Curate list of known failures; apply easiest fixes.
...
Now at 157 failures of 288 applicable tests.
2023-09-25 11:39:12 -04:00
Thomas Harte
5fd98e9833
Add an ignore list.
...
Leaves 180 failures amongst the valid 306 instructions.
2023-09-22 22:56:33 -04:00
Thomas Harte
787e9e770e
Retain baseless addresses correctly.
2023-09-22 17:27:27 -04:00
Thomas Harte
c8c0c3ca6d
Default segment is ::DS if there was no base.
2023-09-22 17:03:40 -04:00
Thomas Harte
587ec81900
Improve string output, better to find actual errors.
...
Still at 194/324 failures, but a lot of them seem reasonable.
2023-09-22 11:24:33 -04:00
Thomas Harte
9f63db991c
Capture default segments, fix base/index confusion.
2023-09-22 11:07:09 -04:00
Thomas Harte
7ebecd2f41
Add notes to self, finally figuring out segment issue.
2023-09-19 23:27:42 -04:00
Thomas Harte
02fcaf0dbd
JCXZ seems to be preferred over JPCX.
2023-09-19 13:56:48 -04:00
Thomas Harte
a7cf7d3183
Resolve LOOPNE, LOOPE, etc.
2023-09-19 13:55:19 -04:00
Thomas Harte
9b3199d97b
Reduce failures to 205/324.
2023-09-19 13:45:19 -04:00
Thomas Harte
e5dfc882cb
Agree that JZ/JNZ are clearer (for me) of the synonyms.
2023-09-19 13:38:08 -04:00
Thomas Harte
3582d2c9e3
Start to beef up operand count list.
2023-09-18 16:34:52 -04:00
Thomas Harte
da953fdf0d
Complete 8086 operation list; standardise enum order.
2023-09-18 16:25:04 -04:00
Thomas Harte
710017ada2
Largely resolve the operation-name problem.
2023-09-18 15:57:26 -04:00
Thomas Harte
f8dc5b8ebc
Attempt to get close on index + base addresses.
2023-09-17 17:05:19 -04:00
Thomas Harte
3e09afbb59
Remove errant square bracket.
2023-06-21 11:57:09 -04:00
Thomas Harte
8578dfbf22
Eliminate various other errant spaces.
2023-05-16 16:40:09 -04:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
1725894fe9
Eliminate redundant CMPSD, CDQ, CWDE.
...
Also removes IBTS for now, as I'm unclear where it should sit in the opcode map.
2022-03-12 12:24:44 -05:00
Thomas Harte
f1c4864016
Eliminate INSD.
2022-03-12 11:37:21 -05:00
Thomas Harte
e6bd265729
Explain which BOUNDs operand is which.
2022-03-11 20:34:28 -05:00
Thomas Harte
c22e8112e7
Expand exposition.
2022-03-11 20:30:56 -05:00
Thomas Harte
44252984c2
Eliminate INT3 special case.
2022-03-11 14:03:46 -05:00
Thomas Harte
4b4f92780e
Shuffle extension word order.
...
The primary objective here is simplifying index calculation, but as per the note it does also potentially open up options with regard to packing in the future.
2022-03-11 13:24:45 -05:00
Thomas Harte
c744a97e3c
Ensure no extensions for default constructed Instruction.
2022-03-11 11:55:26 -05:00
Thomas Harte
572dc40e6b
Allow assignments.
2022-03-11 09:47:23 -05:00
Thomas Harte
641e0c1afc
Resolve default segment question.
2022-03-10 20:27:35 -05:00