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
|
4b730c26d0
|
Satisfy GCC warning.
|
2023-11-16 23:31:51 -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
|
233ec7b818
|
Soften some warnings.
|
2023-11-16 10:57:17 -05:00 |
|
Thomas Harte
|
7323af0b41
|
Avoid shadowing template parameter.
|
2023-11-15 11:10:01 -05:00 |
|
Thomas Harte
|
e927fd00d8
|
Do just enough to include x86 code in the main build.
|
2023-11-15 11:01:28 -05:00 |
|
Thomas Harte
|
f83d2a8740
|
Take a swing at ENTER.
|
2023-11-14 16:23:24 -05:00 |
|
Thomas Harte
|
aafa7de536
|
Implement LEAVE, almost.
|
2023-11-14 11:39:36 -05:00 |
|
Thomas Harte
|
ac826f90c3
|
Formalise a separate manager of segments.
|
2023-11-14 10:56:00 -05:00 |
|
Thomas Harte
|
6c405680f2
|
Implement PUSHA, POPA.
|
2023-11-14 10:42:06 -05:00 |
|
Thomas Harte
|
1552500b10
|
Implement BOUND.
|
2023-11-13 22:33:46 -05:00 |
|
Thomas Harte
|
60cec9fc67
|
Expand commentary.
|
2023-11-13 11:45:17 -05:00 |
|
Thomas Harte
|
3a782faaf3
|
Ensure shoutouts upon LDS, LES and any far jump/call/int.
|
2023-11-10 22:58:59 -05:00 |
|
Thomas Harte
|
7abd4d9b38
|
Fix AAA/AAS carry outcome.
|
2023-11-10 22:47:50 -05:00 |
|
Thomas Harte
|
e61dc0466f
|
Add callout for tracking segment register changes.
|
2023-11-10 22:22:32 -05:00 |
|
Thomas Harte
|
79b126e6bb
|
Add route for tracking segment register changes.
|
2023-11-10 22:11:52 -05:00 |
|
Thomas Harte
|
e78e5c8101
|
Add remaining acceptable error cases.
|
2023-11-09 12:26:40 -05:00 |
|
Thomas Harte
|
800c76a4fe
|
Capture and respond to IDIV_REP.
|
2023-11-09 11:55:04 -05:00 |
|
Thomas Harte
|
5f1ea6c04c
|
Unify AAA and AAS.
|
2023-11-08 22:30:39 -05:00 |
|
Thomas Harte
|
8d2a2bcf4a
|
Unify DAA and DAS.
|
2023-11-08 22:26:48 -05:00 |
|
Thomas Harte
|
6b666bc92a
|
Simplify DAS.
|
2023-11-08 22:19:51 -05:00 |
|
Thomas Harte
|
38933aa079
|
Bring fully into 8086 conformance.
|
2023-11-08 22:16:12 -05:00 |
|
Thomas Harte
|
502b9d2023
|
Simplify implementation of DAA.
|
2023-11-08 22:06:58 -05:00 |
|
Thomas Harte
|
ec4a60b7da
|
Further universalise function layout.
|
2023-11-08 11:30:33 -05:00 |
|
Thomas Harte
|
d7bb1a9ee1
|
Tidy up and comment a little further.
|
2023-11-08 11:23:21 -05:00 |
|
Thomas Harte
|
9566a8de67
|
Split up the ungainly PerformImplementation.hpp.
|
2023-11-08 10:52:36 -05:00 |
|
Thomas Harte
|
b927cf4159
|
Resolve new decoding errors.
|
2023-11-07 22:08:44 -05:00 |
|
Thomas Harte
|
91b7d55871
|
Get strict about writeables.
|
2023-11-07 10:13:18 -05:00 |
|
Thomas Harte
|
e56e49a318
|
Fix SUB/SBB writes.
|
2023-11-07 10:09:04 -05:00 |
|
Thomas Harte
|
0262875088
|
Claw back to building.
|
2023-11-07 09:58:42 -05:00 |
|
Thomas Harte
|
2bed2c2c5c
|
Further simplify syntax.
|
2023-11-07 09:14:42 -05:00 |
|
Thomas Harte
|
2af774601f
|
Temporarily disentangle Memory and access internals; start to be overt in PerformImplementation.
|
2023-11-06 16:04:31 -05:00 |
|
Thomas Harte
|
797c9fe129
|
Temporarily avoid use of Writeable.
|
2023-11-05 21:47:52 -05:00 |
|
Thomas Harte
|
009915f4de
|
Start promotion of ReturnType.
|
2023-11-05 21:42:22 -05:00 |
|
Thomas Harte
|
f96c33102a
|
Add documentation.
|
2023-11-04 22:22:50 -04:00 |
|
Thomas Harte
|
5739862dbb
|
Add specific entryway for preauthorised writes.
|
2023-11-03 15:36:30 -04:00 |
|
Thomas Harte
|
ebdf10525c
|
Fix parameter case.
|
2023-11-02 17:00:22 -04:00 |
|
Thomas Harte
|
83850d7596
|
Commute: Status -> Flags as per usual x86 naming.
|
2023-11-02 16:55:38 -04:00 |
|
Thomas Harte
|
770803b073
|
Be more careful as to authorisation.
|
2023-11-02 15:37:59 -04:00 |
|
Thomas Harte
|
e4fdf09149
|
Fix PUSH SP, far call. Further simplify FlowController.
|
2023-11-01 23:39:52 -04:00 |
|
Thomas Harte
|
acb55aa4e2
|
Subsume repetition of arguments into a single context.
Albeit that it (temporarily?) loses some context used during test validation.
|
2023-11-01 17:03:23 -04:00 |
|
Thomas Harte
|
bc095bb9ce
|
Slim down the flow controller.
|
2023-11-01 14:49:30 -04:00 |
|
Thomas Harte
|
097b328075
|
Split the preauthorised tracks.
|
2023-11-01 14:31:42 -04:00 |
|
Thomas Harte
|
ef83ac855a
|
Fix spelling of Preauthorised, think further on return types.
|
2023-11-01 14:11:10 -04:00 |
|
Thomas Harte
|
430c60111e
|
CMP doesn't write.
|
2023-10-31 22:42:39 -04:00 |
|
Thomas Harte
|
2432396eaa
|
Fix SETMOC.
|
2023-10-31 22:04:26 -04:00 |
|
Thomas Harte
|
da2aea94e3
|
Fix CMPS.
|
2023-10-31 21:58:32 -04:00 |
|
Thomas Harte
|
9538491ee9
|
Fix pushes and pops.
|
2023-10-31 21:55:30 -04:00 |
|
Thomas Harte
|
724e08d4f1
|
Update commentary on semantics.
|
2023-10-31 15:09:21 -04: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
|
1cd1bbd26c
|
Make a first pass of access types.
|
2023-10-29 16:19:10 -04:00 |
|
Thomas Harte
|
7a886f938a
|
Propagate access types, even if incorrect.
|
2023-10-29 14:33:39 -04:00 |
|
Thomas Harte
|
3ee0fcaaeb
|
Hatch an appropriate enum.
|
2023-10-28 15:56:37 -04:00 |
|
Thomas Harte
|
f9d1a4dd8f
|
Add Repetition::Rep to unify repeat logic.
|
2023-10-27 16:27:24 -04:00 |
|
Thomas Harte
|
66cee41b99
|
Fix port.
|
2023-10-27 14:04:23 -04:00 |
|
Thomas Harte
|
a30cad5e8a
|
Rearrange class for clarity.
|
2023-10-27 14:02:53 -04:00 |
|
Thomas Harte
|
f9d98ed219
|
Fix packing_size .
|
2023-10-27 13:46:14 -04:00 |
|
Thomas Harte
|
2d70b44303
|
Boil down segment ahead of time.
|
2023-10-27 12:54:42 -04:00 |
|
Thomas Harte
|
5b0d2d754f
|
Update comments.
|
2023-10-26 23:27:56 -04:00 |
|
Thomas Harte
|
11b032fb06
|
Eliminate length extension.
|
2023-10-26 23:19:31 -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
|
de230fb6be
|
Resolve for work factored out.
|
2023-10-25 22:21:23 -04:00 |
|
Thomas Harte
|
29a921f764
|
Remove TODO, add exposition.
|
2023-10-25 16:15:08 -04:00 |
|
Thomas Harte
|
a2826cdee5
|
Propagate address size.
|
2023-10-25 16:00:01 -04:00 |
|
Thomas Harte
|
3b62638b30
|
Remove dead DataPointerResolver and extra-conditional version of source().
|
2023-10-25 14:43:58 -04:00 |
|
Thomas Harte
|
0c09c14baa
|
Incorporate instruction length into offsets.
|
2023-10-25 13:02:43 -04:00 |
|
Thomas Harte
|
6dd5628dd6
|
Provide full pair for string conversion.
|
2023-10-25 11:21:11 -04:00 |
|
Thomas Harte
|
239ce75db6
|
Fix IN and OUT conversion.
|
2023-10-24 22:35:13 -04:00 |
|
Thomas Harte
|
cc9e8117ab
|
Add note.
|
2023-10-24 16:43:22 -04:00 |
|
Thomas Harte
|
e36274e5c2
|
Add segment prefix for MOVS, LODS, etc.
|
2023-10-24 15:07:53 -04:00 |
|
Thomas Harte
|
0e027445d4
|
Don't offer repne for reps; print far CALLs and JMPs as h-suffix rather than 0x prefix.
|
2023-10-24 11:01:38 -04:00 |
|
Thomas Harte
|
20d7079006
|
Start adaptation to new test disassembly form.
|
2023-10-23 16:37:27 -04:00 |
|
Thomas Harte
|
7a4d74b8e4
|
Correct copy and paste error: 0x27 is DAA.
|
2023-10-23 10:07:57 -04:00 |
|
Thomas Harte
|
82c66e7433
|
Fix far jump with immediate operand.
1655 failures remaining.
|
2023-10-23 10:07:19 -04:00 |
|
Thomas Harte
|
817a30332c
|
Take a swing at LEA r16, r16.
|
2023-10-22 22:15:27 -04:00 |
|
Thomas Harte
|
e3cdf113d1
|
Implement INS, OUTS.
|
2023-10-21 22:52:50 -04:00 |
|
Thomas Harte
|
aade91f043
|
Implement IN, OUT.
|
2023-10-21 22:37:25 -04:00 |
|
Thomas Harte
|
c2ebbe5ad9
|
Implement STOS with one failure.
|
2023-10-20 21:54:30 -04:00 |
|
Thomas Harte
|
4efc181f07
|
Fix memory handler, STOS.
|
2023-10-20 21:49:34 -04:00 |
|
Thomas Harte
|
93e90b09a0
|
Implement MOVS, STOS, revealing an issue in the memory handler.
|
2023-10-20 21:46:47 -04:00 |
|
Thomas Harte
|
dab3dcaafb
|
Fix LODS: REP is not REPE.
|
2023-10-20 21:36:50 -04:00 |
|
Thomas Harte
|
8caad8b99d
|
Document slightly.
|
2023-10-20 17:25:27 -04:00 |
|
Thomas Harte
|
bee094eba1
|
Add LODS; somehow manage to fail some of its tests.
|
2023-10-20 17:13:56 -04:00 |
|
Thomas Harte
|
bcebb2e520
|
Further reduce repetition overhead.
|
2023-10-20 17:08:11 -04:00 |
|
Thomas Harte
|
0f5e0e17a4
|
Fix address manipulation.
|
2023-10-20 17:03:23 -04:00 |
|
Thomas Harte
|
49ac2d8e0c
|
Improve error reporting, remove some dead TODOs.
|
2023-10-20 17:00:32 -04:00 |
|
Thomas Harte
|
a71db54212
|
Simplify flow slightly; uncover issues in CMPSW.
|
2023-10-20 16:52:47 -04:00 |
|
Thomas Harte
|
efb854ddfa
|
Fix repetition. Sufficient for tests.
|
2023-10-19 14:40:03 -04:00 |
|
Thomas Harte
|
387a952328
|
Reduce repetition.
|
2023-10-19 14:21:08 -04:00 |
|
Thomas Harte
|
f715cd89a9
|
Attempt CMPS, changing storage of direction; add flags check.
|
2023-10-19 14:07:59 -04:00 |
|
Thomas Harte
|
617be7cba7
|
Implement PUSHes and POPs.
|
2023-10-18 15:59:39 -04:00 |
|
Thomas Harte
|
02cea3047e
|
Implement LOOP, LOOPE, LOOPNE.
|
2023-10-18 14:04:21 -04:00 |
|
Thomas Harte
|
a8c7871b0c
|
Implement JCXZ.
|
2023-10-18 13:20:28 -04:00 |
|
Thomas Harte
|
90f49a6e73
|
Implement JMP.
|
2023-10-18 13:15:00 -04:00 |
|
Thomas Harte
|
440f3bdb10
|
Further improve error reporting.
|
2023-10-16 15:47:06 -04:00 |
|
Thomas Harte
|
89743f0ba0
|
Implement RET, IRET.
|
2023-10-16 15:40:24 -04:00 |
|