Thomas Harte
|
5b22e94a4b
|
Map invalid reg+mode combinations to AddressingMode::None; add validation of ADDs and decoding of ADDX.
|
2022-04-19 14:36:36 -04:00 |
|
Thomas Harte
|
7749aef6b6
|
Improve const correctness.
|
2022-04-19 14:35:40 -04:00 |
|
Thomas Harte
|
5de8fb0d08
|
Disallow four illegal NBCD addressing modes.
|
2022-04-19 09:59:02 -04:00 |
|
Thomas Harte
|
19f7335926
|
Add post validation step.
|
2022-04-19 09:44:02 -04:00 |
|
Thomas Harte
|
99f4cd867d
|
Decode the two EXTs.
|
2022-04-19 08:42:17 -04:00 |
|
Thomas Harte
|
93fe3459fd
|
The quick value won't always fit in reg; turf the problem elsewhere.
|
2022-04-19 08:37:35 -04:00 |
|
Thomas Harte
|
1abd3bd7f3
|
Decode SWAP.
|
2022-04-19 08:37:13 -04:00 |
|
Thomas Harte
|
fc4fd41be4
|
Reorder from most specific to least.
|
2022-04-19 08:00:52 -04:00 |
|
Thomas Harte
|
e4c6251ef5
|
Express the BSR/Bcc.l test properly.
|
2022-04-18 14:42:31 -04:00 |
|
Thomas Harte
|
7aa250eaf7
|
Advances to hitting the same absent/present mapping as the old decoder.
|
2022-04-18 14:41:26 -04:00 |
|
Thomas Harte
|
ff380b686a
|
Decode MOVEq.
|
2022-04-18 09:12:45 -04:00 |
|
Thomas Harte
|
d2452f4b68
|
Fix SUBQ ExtendedOperation mappings.
|
2022-04-18 09:08:49 -04:00 |
|
Thomas Harte
|
deb9c32a38
|
Add missing Sccs.
|
2022-04-18 09:04:17 -04:00 |
|
Thomas Harte
|
440f45b996
|
Attempt decoding and disambiguation of Scc, DBcc, Bcc and BSR.
|
2022-04-18 08:55:46 -04:00 |
|
Thomas Harte
|
7d64c4ec66
|
Add STOP.
|
2022-04-18 08:29:10 -04:00 |
|
Thomas Harte
|
7fe0d530c1
|
Add a decoder for TRAP.
|
2022-04-18 08:05:33 -04:00 |
|
Thomas Harte
|
c944767554
|
Better document decoding patterns, add LEA and CHK.
|
2022-04-18 08:00:43 -04:00 |
|
Thomas Harte
|
fde5a1c507
|
Ensure ADDI, SUBI, etc, provide an operation.
|
2022-04-18 07:42:30 -04:00 |
|
Thomas Harte
|
1991ed0804
|
Introduce failing [partial-]test of new 68000 decoder.
|
2022-04-18 07:23:25 -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
|
bb5cf570e5
|
Remove conditional, make generic enough for both 32- and 64-bit operation.
|
2022-04-10 15:18:23 -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
|
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
|
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 |
|
Thomas Harte
|
c581aef11d
|
Test as far as mffs.
|
2022-04-03 18:29:40 -04:00 |
|
Thomas Harte
|
7f6a955a71
|
Complete the cmp set.
|
2022-04-03 15:50:03 -04:00 |
|
Thomas Harte
|
125d97cc41
|
Complete floating point tests.
|
2022-04-03 08:55:28 -04:00 |
|
Thomas Harte
|
de7d9ba471
|
Add further floating point tests.
|
2022-04-03 08:06:59 -04:00 |
|
Thomas Harte
|
ad54b44235
|
Begin documentation and testing of the floating point instructions.
|
2022-04-02 19:58:21 -04:00 |
|
Thomas Harte
|
42532ec0f5
|
Test floating point loads and stores.
|
2022-04-02 15:40:17 -04:00 |
|
Thomas Harte
|
b84fa619da
|
Test integer loads and stores.
|
2022-04-02 15:27:12 -04:00 |
|
Thomas Harte
|
8a1409184f
|
Add decoding of lwa.
|
2022-04-02 10:31:55 -04:00 |
|
Thomas Harte
|
8a3c16a5bc
|
Add lwa.
|
2022-04-02 10:26:47 -04:00 |
|
Thomas Harte
|
6343c65ce2
|
Document further; mftb is optional.
|
2022-04-02 10:09:58 -04:00 |
|
Thomas Harte
|
d5967f7834
|
Correct decoding of stwcx. and stdcx.
|
2022-04-01 20:37:36 -04:00 |
|
Thomas Harte
|
d5f7650ac1
|
Test synchronising loads and stores, further expand documentation.
|
2022-04-01 18:30:48 -04:00 |
|
Thomas Harte
|
8f580c256c
|
Remove explanations; saying nothing is better than giving incomplete advice.
|
2022-04-01 17:49:34 -04:00 |
|
Thomas Harte
|
7c8f044380
|
Complete shift tests.
|
2022-04-01 17:22:32 -04:00 |
|
Thomas Harte
|
8efd506471
|
Transcribe up to the end of 'e', use extswx and remove extsw .
|
2022-04-01 17:11:57 -04:00 |
|
Thomas Harte
|
e83267751e
|
Start shuffling parameters into conventional order; expand on cmp–cmpli, dcbf–dcbz.
|
2022-03-30 20:36:46 -04:00 |
|
Thomas Harte
|
84f0b0a84c
|
Test rotates.
|
2022-03-30 16:43:09 -04:00 |
|
Thomas Harte
|
52e7226655
|
Merge branch 'PowerPCTests' of github.com:TomHarte/CLK into PowerPCTests
|
2022-03-29 20:50:40 -04:00 |
|
Thomas Harte
|
b89c8decd4
|
Test addx–divwx and mtcrf; document fields for crand, etc.
|
2022-03-29 20:48:43 -04:00 |
|
Thomas Harte
|
d783975597
|
Start offering a list of relevant fields per Operation.
|
2022-03-29 19:59:21 -04:00 |
|
Thomas Harte
|
5ec291df5c
|
Merge branch 'PowerPCTests' of github.com:TomHarte/CLK into PowerPCTests
|
2022-03-29 14:38:28 -04:00 |
|
Thomas Harte
|
0a45355055
|
Add a few more field comments.
|
2022-03-29 14:37:21 -04:00 |
|
Thomas Harte
|
99ad40f3e0
|
Test subfcx, subfx; correct decoding of oe().
|
2022-03-28 20:39:52 -04:00 |
|
Thomas Harte
|
b9c8016aca
|
Merge branch 'PowerPCTests' of github.com:TomHarte/CLK into PowerPCTests
|
2022-03-28 20:20:59 -04:00 |
|
Thomas Harte
|
8ad1f2d4f5
|
Add bad attempt to catch subfc.
|
2022-03-28 20:18:41 -04:00 |
|
Thomas Harte
|
dc30581be0
|
Fix typo; . -> ,
|
2022-03-28 16:39:55 -04:00 |
|
Thomas Harte
|
2e56b606fa
|
Improve file division, document some further operations.
|
2022-03-27 18:44:56 -04:00 |
|
Thomas Harte
|
d84c72afe5
|
Test loads and stores, and immediate arithmetic.
|
2022-03-27 08:47:01 -04:00 |
|
Thomas Harte
|
4f6a9917c6
|
Test lbzx, lbzux.
|
2022-03-26 08:45:07 -04:00 |
|
Thomas Harte
|
3d48183753
|
Test lwzux.
|
2022-03-25 20:31:47 -04:00 |
|
Thomas Harte
|
33c31eb798
|
Test lwzx.
|
2022-03-25 20:23:21 -04:00 |
|
Thomas Harte
|
73ae7ad82f
|
Resolve final branch test: aa() applies.
|
2022-03-25 20:10:08 -04:00 |
|
Thomas Harte
|
1a5d3bb69c
|
Match majority of branch tests.
|
2022-03-25 08:41:57 -04:00 |
|
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
|
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 |
|