Thomas Harte
ae4a588de3
Adjust semantics to avoid culling end of relevant RETs.
2023-09-28 15:24:15 -04:00
Thomas Harte
960cca163e
Make better guess at CALL/JMP size; apply same sizing-logic as offset for disassembly matching.
...
13 failures.
2023-09-28 14:52:42 -04:00
Thomas Harte
249da884a7
Trim trailing space.
2023-09-28 13:59:41 -04:00
Thomas Harte
035a1265f6
Map invalid reg numbers properly for the 8086.
...
17 failures.
2023-09-28 13:11:15 -04:00
Thomas Harte
ff4d79e77e
Add test synonym, fix operand size.
...
19 failures.
2023-09-28 09:43:26 -04:00
Thomas Harte
78cb39ad67
Also fix AddrReg.
...
24 failures.
2023-09-27 22:47:14 -04:00
Thomas Harte
9207de4164
Fix RegAddr macro.
...
26 failures.
2023-09-27 22:44:10 -04:00
Thomas Harte
c20e7ed9b6
Fix TEST.
...
28 failures.
2023-09-27 22:30:40 -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
b59eae3676
Adopt normative ESC decoding.
...
55 failures.
2023-09-27 10:32:22 -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
cd072e1b57
LEA implies a word. Otherwise add TODOs.
...
So that's now 69 failures.
2023-09-26 15:41:51 -04:00
Thomas Harte
f16ac603f2
Deal with printing segment:offset.
...
70 failing files remaining.
2023-09-26 15:28:51 -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
92c8e1ca93
Add missing #include.
2023-09-26 14:52:08 -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
7fadf01e4e
BP in isolation acts as a base.
2023-09-24 18:06:53 -04:00
Thomas Harte
d2b9c435e5
Allow for non-sign-extended offsets/displacements.
2023-09-24 15:00:16 -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
5a5f71e703
JMPs imply their size.
2023-09-22 17:00:10 -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
6f5fcf23dc
Add missing substitutions.
2023-09-19 14:00:27 -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
f039d44ee3
Fully handle rm = 6, mod = 0.
2023-09-15 22:08:20 -04:00
Thomas Harte
7ee5adc481
Forcing a displacement upon BP reduces to 29 failures.
...
(At the current limited fidelity of testing)
2023-09-15 16:09:04 -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
28c79b2885
Eliminate redundant [space][tab] pairs.
2023-05-12 14:14:45 -04:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
5e355383df
Correct SIB test.
2022-04-27 19:53:15 -04: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
fd4f85eb19
Add SMSW.
2022-03-12 12:23:48 -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
f694620087
Resolve TODO.
2022-03-11 13:10:44 -05:00