InusualZ
65b0966a97
isa: `b` and `bc` change modifiers order
...
Previously they were `modifiers: [ AA, LK ]` and this caused problems,
because the modifiers add a char to the instruction mnemonics, but this
char is position dependant.
2022-05-31 20:24:54 -04:00
InusualZ
f4389e5edd
isa: add missing `L` arg to the `cmp` instruction family
...
Also fix the mnemonics for said instruction family
2022-05-31 20:24:36 -04:00
InusualZ
ad1ec7aaa9
isa: fix paired single instruction arguments
...
Argument specific to this instruction were re/named to a more dolphin
aligned name
2022-05-31 20:24:29 -04:00
InusualZ
b90b46ef8e
isa: Add missing argument to `bcctr` and `bclr`
2022-05-31 20:24:29 -04:00
InusualZ
d03a713a2b
genisa: cast unmasked signed value
...
Co-authored-by: Richard Patel <me@terorie.dev>
2022-05-31 20:24:29 -04:00
InusualZ
9fd7546916
disasm: improve branch ins helpers
...
`branch_dest`: Support absolute destinations
`is_branch`: Use `matches!` to improve readability
`is_direct_branch`: Added helper to better match direct branches
Co-authored-by: Richard Patel <me@terorie.dev>
2022-05-31 20:24:20 -04:00
Richard Patel
a80372c1b6
disasm: branch helpers, fix split fields
2022-04-11 00:08:39 +02:00
Richard Patel
5c4a3d01e5
add analysis/cfa.md
2022-04-11 00:07:16 +02:00
Richard Patel
4c2f5119f5
update README.md
2022-04-09 17:19:50 +02:00
Richard Patel
9dab42c364
disasm-py: add fields() method
2022-04-09 17:19:05 +02:00
Richard Patel
88c6a478e2
disasm-py: support fields
2022-04-09 16:30:48 +02:00
Richard Patel
9d5b73c0dc
fix condition register logical instructions
2022-04-09 15:33:40 +02:00
Richard Patel
70192c75a4
fix psq_st disasm
2022-04-09 02:09:44 +02:00
Richard Patel
da869222d0
update README.md
2022-04-07 06:20:53 +02:00
Richard Patel
fd94a6c493
fuzz: add threads flag
2022-04-07 06:11:03 +02:00
Richard Patel
9c433919fc
disasm-py: add opcode getter
2022-04-07 06:01:25 +02:00
Richard Patel
fcad8da86b
document Python module
2022-04-07 05:58:09 +02:00
Richard Patel
fb65bc8e7d
Merge pull request #17 from terorie/auto-gen-isa
...
Auto-generate opcode detection, fields and printing
2022-04-07 05:45:28 +02:00
Richard Patel
6548c6ec5d
bump version to 0.2.0
2022-04-07 05:45:01 +02:00
Richard Patel
d845d6c067
bump pyo3 to 0.16
2022-04-07 05:42:55 +02:00
Richard Patel
e667999a3d
disasm-py: temporarily remove field accessors
2022-04-07 05:40:22 +02:00
Richard Patel
6391c87797
flow-graph: fix deprecated clap_app macro
2022-04-07 05:37:32 +02:00
Richard Patel
4c5735e403
more flexible modifier handling
2022-04-07 05:33:38 +02:00
Richard Patel
99c7f252f8
fix bcctr and bclr
2022-04-07 04:44:38 +02:00
Richard Patel
16f955947e
fix bc opcode
2022-04-07 04:23:12 +02:00
Richard Patel
b8199e678c
fix signed fields
2022-04-07 04:07:15 +02:00
Richard Patel
9e7f70444f
update deps
2022-04-07 02:51:17 +02:00
Richard Patel
8a57bd9eb2
more tests
2022-04-07 02:36:49 +02:00
Richard Patel
b6ad3f4f2c
make clippy happy
2022-04-07 02:14:11 +02:00
Richard Patel
1f5fec522a
genisa: improve codegen
2022-04-07 01:55:07 +02:00
Richard Patel
95f93a761e
update README.md
2022-04-07 01:48:21 +02:00
Richard Patel
5207876164
temporarily disable broken crates
2022-04-07 01:29:45 +02:00
Richard Patel
e8945a8e0d
genisa: remove matcher
2022-04-07 01:27:04 +02:00
Richard Patel
82970d166b
isa.yaml: use condition expressions instead of matchers
2022-04-07 01:25:20 +02:00
Richard Patel
ea364a52d8
isa.yaml: unquote everything
2022-04-07 01:20:28 +02:00
Richard Patel
e9041072e9
support simplified mnemonic conditions
2022-04-07 01:17:31 +02:00
Richard Patel
c8c1daaa64
progress mnemonics
2022-04-06 17:41:13 +02:00
Richard Patel
eb39f9fa47
add generated code
2022-04-06 15:14:03 +02:00
Richard Patel
5431836376
switch from macro to ahead-of-time generated code
2022-04-06 15:13:55 +02:00
Richard Patel
171666e6fc
progress
2022-04-06 14:07:57 +02:00
Richard Patel
dff1075737
support permanent suffixes
2021-08-29 09:05:52 +02:00
Richard Patel
40142dcd9b
support mnemonic suffixes
2021-08-29 09:02:31 +02:00
Richard Patel
756e23f240
fix fuzz and rand crates
2021-08-29 06:29:49 +02:00
Richard Patel
f04c68578b
re-implement formatting
2021-08-29 06:06:08 +02:00
Richard Patel
5833e81236
generate def/use information
2021-08-29 04:25:39 +02:00
Richard Patel
d0409f599b
cleanup, remove stale codegen defs
2021-08-25 03:37:02 +02:00
Richard Patel
7a6b4df8d4
big rewrite, everything half broken
2021-08-25 03:23:57 +02:00
Richard Patel
ec727af8dd
isa.yaml: add fields
2021-08-24 03:30:03 +02:00
Richard Patel
e57fa2c659
dol: fix missing derives
2021-08-24 02:42:52 +02:00
Richard Patel
25f82bc26b
isa.yaml: correct uses or rA zero special case
2021-08-24 02:40:58 +02:00