Thomas Harte
d79135ea01
Eliminate non-functional workaround.
2025-03-04 11:30:43 -05:00
Thomas Harte
409c8a6859
Keep poking at this.
2025-03-04 11:10:35 -05:00
Thomas Harte
805ce36592
Fix spelling, namespace.
2025-03-04 11:01:07 -05:00
Thomas Harte
07fa56c53d
Get heavier with GCC workarounds.
2025-03-04 10:56:45 -05:00
Thomas Harte
28fca80023
Attempt lighter GCC workaround.
2025-03-04 10:46:14 -05:00
Thomas Harte
08c0ee9ca8
Fix further speed reference; eliminate Decoder8086 entirely.
2025-03-04 10:35:16 -05:00
Thomas Harte
efd4a83bd2
Remove dead #undefs.
2025-02-28 21:55:52 -05:00
Thomas Harte
e13b4ab7c9
Reduce reliance upon macros.
2025-02-28 21:51:44 -05:00
Thomas Harte
3a0f4a0bfc
Improve constness, formatting.
2024-12-01 18:09:19 -05:00
Thomas Harte
795529ef97
Resolve sizing types.
2023-12-24 14:26:15 -05:00
Thomas Harte
ec2d878e3f
End run around the template.
...
I have yet to get any insight whatsoever on the reason for GCC's failure here and won't have access to a suitable test
machine for a while so all I have for testing is the arduous CI cycle.
2023-11-17 17:02:46 -05:00
Thomas Harte
83c8f9996e
Switch back to the natural type.
2023-11-17 10:27:38 -05:00
Thomas Harte
3f27338b2c
New guess: the definition of size_t varies?
2023-11-16 23:46:22 -05:00
Thomas Harte
fbe02e3ad5
Randomly try a different explicit instantiation.
2023-11-16 23:37:37 -05:00
Thomas Harte
33486e69bf
Remove CI trap.
2023-11-16 15:30:43 -05:00
Thomas Harte
1c7bb6d759
Add CI diagnosis trap.
2023-11-16 15:25:42 -05:00
Thomas Harte
25f0a373f3
Don't sign-extend ports (!).
2023-11-16 11:17:12 -05:00
Thomas Harte
800c76a4fe
Capture and respond to IDIV_REP.
2023-11-09 11:55:04 -05:00
Thomas Harte
b927cf4159
Resolve new decoding errors.
2023-11-07 22:08:44 -05:00
Thomas Harte
1d479ec2d7
Ensure that reads can only read, accept that source is sometimes written to. E.g. XCHG.
2023-10-31 15:06:19 -04:00
Thomas Harte
8e35a56ff7
Include repetition in operation; simplify Instruction constructor.
2023-10-26 23:08:07 -04:00
Thomas Harte
dafb134cdc
Eliminate dead detour.
2023-10-25 22:27:44 -04:00
Thomas Harte
89743f0ba0
Implement RET, IRET.
2023-10-16 15:40:24 -04:00
Thomas Harte
a768b101f8
Further clean up copy-and-paste mess.
2023-10-11 14:36:42 -04:00
Thomas Harte
5a77f0c93c
Implement CALL.
2023-10-09 11:46:59 -04:00
Thomas Harte
bd0b62232f
Consider that displacements may always be signed.
...
Down to 1 failure.
2023-10-08 21:41:36 -04:00
Thomas Harte
2d20175472
Explain absence.
2023-10-05 09:27:02 -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
6cbb434482
Deal with all dangling aliases.
...
Leaves just five undocumented instructions.
2023-09-29 15:36:34 -04:00
Thomas Harte
103f42f0b0
Introduce FF.7 alias.
2023-09-29 15:26:25 -04:00
Thomas Harte
f2732962d0
Add 6x 8086 aliases.
2023-09-29 15:22:05 -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
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
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
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