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
|
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 |
|
Thomas Harte
|
f1779e6067
|
Implement SHR.
|
2023-10-16 12:34:11 -04:00 |
|
Thomas Harte
|
e38fe7dffc
|
Implement SAL, SAR.
|
2023-10-14 21:42:33 -04:00 |
|
Thomas Harte
|
f1cba4eb78
|
Implement remaining rolls.
|
2023-10-13 22:03:54 -04:00 |
|
Thomas Harte
|
f45d8bcbdb
|
Implement RCR.
|
2023-10-13 21:44:48 -04:00 |
|
Thomas Harte
|
6f7991f54a
|
Avoid loop.
|
2023-10-13 21:32:35 -04:00 |
|
Thomas Harte
|
6ec291d96f
|
Move ownership of mask test.
|
2023-10-13 15:34:06 -04:00 |
|
Thomas Harte
|
1a0f848b21
|
Implement RCL.
|
2023-10-13 14:44:22 -04:00 |
|
Thomas Harte
|
bf832768e6
|
Implement XLAT.
|
2023-10-12 21:12:03 -04:00 |
|
Thomas Harte
|
d35377c776
|
Implement SALC, SETMO, SETMOC.
|
2023-10-12 15:52:05 -04:00 |
|
Thomas Harte
|
97d3a9fa78
|
Implement MOV.
|
2023-10-12 15:34:46 -04:00 |
|
Thomas Harte
|
da029ee344
|
Implement LEA.
|
2023-10-12 14:31:25 -04:00 |
|
Thomas Harte
|
cf846f501a
|
Implement LDS, LES.
|
2023-10-12 14:24:28 -04:00 |
|
Thomas Harte
|
e948a67814
|
Implement SAHF, LAHF.
|
2023-10-12 13:54:51 -04:00 |
|
Thomas Harte
|
56e639e09a
|
Add INT (including INT3), INTO.
|
2023-10-11 16:01:09 -04:00 |
|
Thomas Harte
|
e75ef70c96
|
Further generalise.
|
2023-10-11 15:08:04 -04:00 |
|
Thomas Harte
|
a768b101f8
|
Further clean up copy-and-paste mess.
|
2023-10-11 14:36:42 -04:00 |
|
Thomas Harte
|
7159366360
|
Collapse all flags accesses behind setters and getters.
|
2023-10-11 12:35:17 -04:00 |
|
Thomas Harte
|
033ba75376
|
Standardise repetitive sign/zero/parity sets.
|
2023-10-11 11:15:59 -04:00 |
|
Thomas Harte
|
fbd647080d
|
Start factoring out useful ALU stuff.
|
2023-10-11 11:06:20 -04:00 |
|
Thomas Harte
|
4a803e2d43
|
Reduce ADD/ADC/SUB/SBB repetition.
|
2023-10-10 22:43:06 -04:00 |
|
Thomas Harte
|
7753497a93
|
Add header for std::swap.
|
2023-10-10 22:35:25 -04:00 |
|
Thomas Harte
|
a83b43a1ae
|
Implement XCHG.
|
2023-10-10 22:34:42 -04:00 |
|
Thomas Harte
|
5125907048
|
Implement TEST.
|
2023-10-10 22:28:10 -04:00 |
|
Thomas Harte
|
08867f4970
|
Implement CMP.
|
2023-10-10 22:15:33 -04:00 |
|
Thomas Harte
|
d0a9b5cb81
|
Implement NEG, NOT.
|
2023-10-10 22:09:10 -04:00 |
|
Thomas Harte
|
0ecc319ee6
|
Add OR, XOR.
|
2023-10-10 17:12:06 -04:00 |
|
Thomas Harte
|
de95026076
|
Implement Jcc.
|
2023-10-10 16:27:06 -04:00 |
|
Thomas Harte
|
ec982444f7
|
Add getters to obscure internal flag storage.
|
2023-10-10 16:14:20 -04:00 |
|
Thomas Harte
|
f083eab011
|
Implement INC, DEC.
|
2023-10-10 15:57:33 -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
|
e46e42d896
|
This is the same test either way around.
|
2023-10-09 16:47:02 -04:00 |
|
Thomas Harte
|
1cb26cb141
|
Pull add/sub distinction into templates.
|
2023-10-09 16:40:50 -04:00 |
|
Thomas Harte
|
f74ca8aee1
|
Fix SBB.
|
2023-10-09 16:32:01 -04:00 |
|
Thomas Harte
|
58aa1da649
|
Fix SUB. SBB still failing.
|
2023-10-09 16:30:47 -04:00 |
|
Thomas Harte
|
67d364cc89
|
Add faulty SUB, SBB.
|
2023-10-09 16:21:04 -04:00 |
|
Thomas Harte
|
d24fa381c7
|
'Implement' ESC, NOP.
|
2023-10-09 15:03:01 -04:00 |
|
Thomas Harte
|
fe6e2eb0a1
|
Generalise CBW.
|
2023-10-09 15:00:04 -04:00 |
|
Thomas Harte
|
08aed3bac5
|
Implement CWD.
|
2023-10-09 14:54:14 -04:00 |
|
Thomas Harte
|
6bbd896c34
|
Add DAS with a manageable number of failures.
|
2023-10-09 14:47:39 -04:00 |
|
Thomas Harte
|
0bf2099a70
|
Improve DAA.
|
2023-10-09 14:42:32 -04:00 |
|
Thomas Harte
|
1b9e6e8c8e
|
Add DAA, which doesn't yet pass all tests.
|
2023-10-09 14:27:02 -04:00 |
|
Thomas Harte
|
59521f9d38
|
Implement CBW, CLC, CLD, CLI, CMC.
|
2023-10-09 11:59:38 -04:00 |
|
Thomas Harte
|
769aed10ea
|
Reduce repetition.
|
2023-10-09 11:49:38 -04:00 |
|
Thomas Harte
|
5a77f0c93c
|
Implement CALL .
|
2023-10-09 11:46:59 -04:00 |
|