1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-19 19:16:34 +00:00
Commit Graph

8662 Commits

Author SHA1 Message Date
Thomas Harte 7d4fe55d63 Handle bclrx set and clear. 2022-03-25 06:25:06 -04:00
Thomas Harte 089e03afe8 Navigates bcctrx tests, adding simplified bo() helpers and bi() helpers. 2022-03-24 20:44:03 -04:00
Thomas Harte 8e019f01ab Document dozx and dozi. 2022-03-21 10:49:01 -04:00
Thomas Harte 77bdaf3c78 These are likely to be useful outside of the decoder. 2022-03-21 10:41:17 -04:00
Thomas Harte 0b6828c895 Decision: these enums will be at namespace scope. 2022-03-21 10:19:30 -04:00
Thomas Harte d4704c656f Merge branch 'PowerPCTests' of github.com:TomHarte/CLK into PowerPCTests 2022-03-21 10:18:36 -04:00
Thomas Harte c01192c784 Add exposition for absx to divsx. 2022-03-21 10:17:55 -04:00
Thomas Harte 8adb611edf Attempt to clarify with an enum. 2022-03-19 12:27:28 -04:00
Thomas Harte e5af5b57ad Add documentation for bx, bcx, bcctrx.
Catch bcx tests.
2022-03-18 19:55:26 -04:00
Thomas Harte f05d3e6af3 Introduce dingusdev tests, do just enough to check bx. 2022-03-18 17:24:12 -04:00
Thomas Harte 5963d038ef Merge pull request #1014 from TomHarte/DDFSTRTSTOP
Improve application of DDFSTRT and DDFSTOP.
2022-03-18 15:48:06 -04:00
Thomas Harte bfd28a04ba Remove noise. 2022-03-18 10:41:20 -04:00
Thomas Harte 359ec257c0 Add a further state, seemingly to fix high-res mode. 2022-03-18 08:27:46 -04:00
Thomas Harte 88767e402c Switch DDFSTART/STOP state machine. 2022-03-17 20:03:36 -04:00
Thomas Harte 88c7a6d053 Merge pull request #1013 from TomHarte/CroppedBottom
Switches all Copper WAITs to 12 cycles
2022-03-13
2022-03-13 13:38:32 -04:00
Thomas Harte e698cbf092 Silence debugging information. 2022-03-13 12:48:05 -04:00
Thomas Harte f2ce646d8d Undo 8-cycle-if-met WAIT. 2022-03-13 12:47:48 -04:00
Thomas Harte cbf9b345ff Merge pull request #1010 from TomHarte/80386
Expands x86 decoder to recognise 80386 opcodes.
2022-03-12 12:46:15 -05:00
Thomas Harte 1725894fe9 Eliminate redundant CMPSD, CDQ, CWDE.
Also removes IBTS for now, as I'm unclear where it should sit in the opcode map.
2022-03-12 12:24:44 -05:00
Thomas Harte fd4f85eb19 Add SMSW. 2022-03-12 12:23:48 -05:00
Thomas Harte f1c4864016 Eliminate INSD. 2022-03-12 11:37:21 -05:00
Thomas Harte e6bd265729 Explain which BOUNDs operand is which. 2022-03-11 20:34:28 -05:00
Thomas Harte c22e8112e7 Expand exposition. 2022-03-11 20:30:56 -05:00
Thomas Harte 44252984c2 Eliminate INT3 special case. 2022-03-11 14:03:46 -05:00
Thomas Harte 4b4f92780e Shuffle extension word order.
The primary objective here is simplifying index calculation, but as per the note it does also potentially open up options with regard to packing in the future.
2022-03-11 13:24:45 -05:00
Thomas Harte f694620087 Resolve TODO. 2022-03-11 13:10:44 -05:00
Thomas Harte dc1d1f132e Add one more address size modifier test. 2022-03-11 13:01:02 -05:00
Thomas Harte 9b4048ec6e The address size modifier doesn't seem to affect far address sizes.
It's meant to affect only instructions with operands that reside in memory, I think. So probably only ::DirectAddress in my nomenclature. More research to do.
2022-03-11 12:46:07 -05:00
Thomas Harte 727342134c Add 8086 length limit test. 2022-03-11 11:55:41 -05:00
Thomas Harte c744a97e3c Ensure no extensions for default constructed Instruction. 2022-03-11 11:55:26 -05:00
Thomas Harte 40cafb95ed Add 286 and 386 instruction length tests. 2022-03-11 09:48:51 -05:00
Thomas Harte 91d75d7704 Switch strategy on 8086 instruction lengths. 2022-03-11 09:48:26 -05:00
Thomas Harte dc8cff364f Switch to common test. 2022-03-11 09:48:02 -05:00
Thomas Harte 572dc40e6b Allow assignments. 2022-03-11 09:47:23 -05:00
Thomas Harte f92ffddb82 Add instruction length limits. 2022-03-10 20:47:56 -05:00
Thomas Harte 641e0c1afc Resolve default segment question. 2022-03-10 20:27:35 -05:00
Thomas Harte bf7faa80c1 Add TODO. 2022-03-10 16:47:54 -05:00
Thomas Harte a2ae3771eb Add test for switch to Source::IndirectNoBase. 2022-03-10 15:45:56 -05:00
Thomas Harte 673ffc50da Switch to intended compact version of Instruction. 2022-03-10 15:14:50 -05:00
Thomas Harte 6dc9973754 Incorporate length into Instruction. 2022-03-10 07:12:12 -05:00
Thomas Harte cf6a910630 Handle no-base case directly in existing switch. 2022-03-09 20:20:32 -05:00
Thomas Harte 520baa6ec8 Formalise IndirectNoBase and permit a knowledgable caller to avoid conditionals. 2022-03-09 20:19:40 -05:00
Thomas Harte c1cc4f96df Switch to const auto. 2022-03-09 16:56:32 -05:00
Thomas Harte bbf925a27e Clarify, unify and correct decoding and encoding of [CALL/RET/JMP][near/far/relative/absolute]. 2022-03-09 16:48:06 -05:00
Thomas Harte 381fd5dbe4 E8 is a relative call. 2022-03-09 16:37:07 -05:00
Thomas Harte ead8b7437e Remove done TODO. 2022-03-09 15:26:20 -05:00
Thomas Harte 9f2d18b7ba Improve comment formatting. 2022-03-09 15:25:46 -05:00
Thomas Harte acd9df6745 Fix segment/offset sizes for far calls. 2022-03-09 15:23:43 -05:00
Thomas Harte f96c051932 Record PUSH immediate operation size. 2022-03-09 14:24:57 -05:00
Thomas Harte 67b2e40fae Fixed: INs and OUTs remain single byte. 2022-03-09 10:51:16 -05:00