1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-21 02:17:08 +00:00
Commit Graph

10521 Commits

Author SHA1 Message Date
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 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