Thomas Harte
3a0f4a0bfc
Improve const
ness, 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
Thomas Harte
787e9e770e
Retain baseless addresses correctly.
2023-09-22 17:27:27 -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
e5dfc882cb
Agree that JZ/JNZ are clearer (for me) of the synonyms.
2023-09-19 13:38:08 -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
28c79b2885
Eliminate redundant [space][tab] pairs.
2023-05-12 14:14:45 -04:00