1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-29 12:50:28 +00:00
Commit Graph

10703 Commits

Author SHA1 Message Date
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
b420d4cbd7 Collect TODOs. 2023-10-09 22:22:06 -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
Thomas Harte
4f14210ee0 Remove ideas discarded. 2023-10-08 22:27:01 -04:00
Thomas Harte
f618ca6046 Implement, test AND. 2023-10-08 22:18:40 -04:00
Thomas Harte
0a0d53103d Enable tests for all implemented operations.
Only the various AAM 00hs are failing, which I've yet to understand.
2023-10-08 22:12:22 -04:00
Thomas Harte
e3b18708c7 Handle segment-boundary word accesses.
With all ADDs and ADCs enabled, no remaining failures.
2023-10-08 22:11:05 -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
dbfaef632a Fix DataPointer reference.
Down from 4521 to 1248 failures within 00.json.gz
2023-10-08 15:59:30 -04:00
Thomas Harte
6808f2c778 Attempt to catch illegal accesses ahead of time. 2023-10-08 15:44:11 -04:00
Thomas Harte
0d2af80f7f Avoid access issues if there's no index. 2023-10-08 13:50:36 -04:00
Thomas Harte
6f768d9a3d Start climbing towards address resolution. 2023-10-08 13:47:43 -04:00
Thomas Harte
dd3cc1f510 Fix ADD and ADC sign flags. 2023-10-08 13:39:46 -04:00
Thomas Harte
a4b1d2b00a Float out data resolution. 2023-10-08 13:34:28 -04:00
Thomas Harte
a5523c9feb Fail at scale.
108,645 current failures (!)
2023-10-07 14:37:12 -04:00
Thomas Harte
6e465b9159 Merge branch 'master' into 8088Execution 2023-10-07 14:31:09 -04:00