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

8756 Commits

Author SHA1 Message Date
Thomas Harte 950fddebf9 Preserve MOVE USP. 2022-04-20 08:30:16 -04:00
Thomas Harte 47d5d65633 Attempt to resolve all missing register numbers. 2022-04-19 20:38:08 -04:00
Thomas Harte be1cec8f55 Ensure LEA appears as LEA. 2022-04-19 20:20:28 -04:00
Thomas Harte 6207f2ab41 Correct MOVEA output. 2022-04-19 17:15:36 -04:00
Thomas Harte e30a02a0c0 Better log MOVEs. 2022-04-19 16:57:46 -04:00
Thomas Harte c7097274c9 Add register numbers to MOVEs. 2022-04-19 16:33:18 -04:00
Thomas Harte e82f2a3810 Correct ADDX/SUBX mode and register. 2022-04-19 16:20:01 -04:00
Thomas Harte cbf6ae81d0 Output NOP, include register number in NBCD. 2022-04-19 08:05:37 -04:00
Thomas Harte 7a6fab72fe Include register numbers and Q values. 2022-04-17 19:42:45 -04:00
Thomas Harte 4005506e42 Output all existing decodings. 2022-04-17 07:55:13 -04:00
Thomas Harte 4eb752b000 Even out tabs. 2022-04-15 20:41:39 -04:00
Thomas Harte bfb29a58f3 Take another crack at neatness; make LEA overt. 2022-04-15 20:33:59 -04:00
Thomas Harte f86e455a87 Advance permissively through the 4xxx page to LEA. 2022-04-15 16:01:33 -04:00
Thomas Harte faa35fe9fc Decode MOVE and the fixed 0x4xxx set. 2022-04-15 15:40:31 -04:00
Thomas Harte 89b8b59658 Ostensibly completes the 0 line. 2022-04-15 15:33:54 -04:00
Thomas Harte de55a1adc4 Require a model for decoding; shift a bunch of immediates into ExtendedOperation. 2022-04-15 09:40:37 -04:00
Thomas Harte d1613025ee For now, assume the .q actions can be handled inside Preinstruction. 2022-04-13 09:29:12 -04:00
Thomas Harte cc4431c409 Expand decode to accept a wider array of operations, and then funnel them down. 2022-04-12 16:17:30 -04:00
Thomas Harte 3d5986c55d Some minor style changes, plus I think I've talked myself into an expanded Operation-tracking enum. Probably. 2022-04-12 14:54:11 -04:00
Thomas Harte 9aeb6ee532 Formally prepare for one- and two-operand instructions. 2022-04-12 09:14:46 -04:00
Thomas Harte e7f6cc598d Make first attempt to complete broad phase of decoding. 2022-04-12 09:08:46 -04:00
Thomas Harte cd465dd121 Decode page E. 2022-04-12 09:04:40 -04:00
Thomas Harte 174b48a14a Populate lines 9 and D. 2022-04-12 08:57:40 -04:00
Thomas Harte bca18e7aba Fill in line decoders for 5, 6 and 7.
This leaves 9, D and E to go.
2022-04-12 08:44:32 -04:00
Thomas Harte 17e761d6c6 Add enough code to pages 0–3 to shift problem to decode(). 2022-04-12 08:36:44 -04:00
Thomas Harte c50556dde4 Create empty line decoders. 2022-04-12 08:16:29 -04:00
Thomas Harte dd5bdd67d7 Add B page and a large chunk of 4. 2022-04-12 07:49:08 -04:00
Thomas Harte 21ac9363e9 Add page 8. 2022-04-11 16:32:57 -04:00
Thomas Harte 8e3cccf4d6 Begins a formalised 68k decoder. 2022-04-11 15:00:55 -04:00
Thomas Harte 945e935312 Merge pull request #1020 from TomHarte/RotateMask
Improve PowerPC rotate mask generation.
2022-04-10 15:24:17 -04:00
Thomas Harte bb5cf570e5 Remove conditional, make generic enough for both 32- and 64-bit operation. 2022-04-10 15:18:23 -04:00
Thomas Harte a5ed288db2 Merge pull request #1018 from TomHarte/PowerPCTests
Import Dingusdev PowerPC tests
2022-04-10 09:45:39 -04:00
Thomas Harte 7002d6d306 Improve accuracy of comment. 2022-04-10 09:37:18 -04:00
Thomas Harte 1b8d8f3a04 Default to 32-bit versions. 2022-04-10 09:35:58 -04:00
Thomas Harte 284440336d Correct rotate_mask(). 2022-04-10 09:31:39 -04:00
Thomas Harte 140ae7a513 Clarify template parameters. 2022-04-10 08:57:09 -04:00
Thomas Harte 21328d9e37 Normalise macros, remove unused AssertEqualOperationNameO. 2022-04-09 21:25:00 -04:00
Thomas Harte 5177fe1db7 Update tests. 2022-04-09 21:11:58 -04:00
Thomas Harte 7de50b5e2e Provide 64-bit me, mb and sh. Add direct getter for rotate masks. 2022-04-09 21:08:01 -04:00
Thomas Harte 4652a84b43 Add exposition. 2022-04-09 19:20:13 -04:00
Thomas Harte 9e0755bc86 Introduce overlooked: ld, ldu, rldclx, rldcrx, rldicx, rldiclx, rldicrx, rldimix. 2022-04-09 18:28:51 -04:00
Thomas Harte da0f7d7907 Rearrange into alphabetical order. 2022-04-09 10:20:03 -04:00
Thomas Harte 88d72bf31d Fill in more mnemonics. 2022-04-08 10:01:52 -04:00
Thomas Harte aac2f7dd73 Add missing validations. 2022-04-08 09:47:04 -04:00
Thomas Harte 1f44ad1723 Completes test cases. 2022-04-06 21:09:58 -04:00
Thomas Harte 4ab1857a11 Complete MPC601 commentary. 2022-04-06 20:53:44 -04:00
Thomas Harte d23c714ec7 Build in an optional post hoc validation.
TODO: validate.
2022-04-05 11:23:54 -04:00
Thomas Harte ac524532e7 Handle the synonym test cases. 2022-04-04 08:09:59 -04:00
Thomas Harte 59a1fde2a1 Fix is_zero_mask. 2022-04-03 20:37:09 -04:00
Thomas Harte 31276de5c3 Complete 'misc instructions' tests. 2022-04-03 20:33:32 -04:00