joevt
f55ad323b4
ppcdisasm: Fix order of operands.
...
For cntlzw, extsh, extsb.
2024-03-28 07:09:50 -07:00
joevt
78558e4c52
debugger: Ensure space between opcode and operand.
...
Instructions that are 8 characters or longer (such as mtdbat3l) did not have a space between opcode and operand. Now there is always a space. The width of the opcode column is unchanged except for those opcodes that have 8 or more characters.
2024-03-28 06:54:23 -07:00
joevt
c5ac862cef
debugger: Add list of input and output registers.
...
So the debugger can show them during stepping.
The fmt_* functions now take a PPCDisasmContext instead of just the ctx->instr_str so that they can alter the context.
Some fmt_* functions have an alternate (e.g. fmt_twoop_in for fmt_twoop) to indicate a difference in input/output registers.
The mtsrin and mfsrin instructions use a register to indicate which sr register to use.
The string instructions may affect multiple registers but only the first is included in the list.
Removed some extra blank lines.
Fixes:
lscbx: Add r0 check.
mftb: Do simplified if the spr is illegal. Maybe should do illegal opcode instead?
2024-03-24 19:34:29 -07:00
joevt
968f503d80
debugger: Improve my_sprintf for short strings.
...
Don't need to repeat snprintf with memory allocation if the string is short.
2024-03-02 07:24:17 -07:00
joevt
170a9d78e7
Fix comment.
2023-10-02 15:06:06 +02:00
Maxim Poliakovski
c0cd6eb38f
Add missing licence headers, update license date.
2021-10-23 21:00:31 +02:00
dingusdev
593230f326
Disassembler - floating point instruction fixes
2021-01-23 22:44:14 -07:00
dingusdev
680b437b74
Fixed disassembly for fctiwz, frsp, and fctiw
2021-01-23 21:30:29 -07:00
dingusdev
2539faef7e
Small typo fixes
2021-01-23 15:10:08 -07:00
Maxim Poliakovski
014eefdf7e
ppcdisasm: fix frsp and add tests for it.
2021-01-23 02:32:30 +01:00
Waqar Ahmed
0ab9380be3
clang-format everything
2020-05-12 23:55:45 +05:00
dingusdev
f5e8c9cbb8
Three tiny typos fixed
...
All related to 4*cr1+lt
2020-03-01 14:11:26 -07:00
dingusdev
31147aada3
Fixed most condition register issues with disassembler
2020-03-01 14:09:08 -07:00
dingusdev
81cabc5730
Fixed various bugs in the disassembler
2020-03-01 11:18:29 -07:00
dingusdev
354409812e
Updating files with proper licensing header
2020-02-28 09:04:28 -07:00
Maxim Poliakovski
403c19ca39
Improve the command line debugger.
...
Add next command. Make the debugger somewhat foolproof.
2020-02-23 15:24:55 +01:00
dingusdev
6428f324f6
icbi fixed
2020-02-19 19:37:51 -07:00
dingusdev
d8f4a0c910
icbi fixed
2020-02-19 19:20:01 -07:00
dingusdev
9138b9bafc
Quick fix for cmp
2020-02-19 19:12:23 -07:00
dingusdev
c71be1bc37
Fixed compare instructions
2020-02-19 19:03:39 -07:00
Maxim Poliakovski
5b2369458e
ppcdisasm: remove unused function.
2020-02-20 02:35:38 +01:00
Maxim Poliakovski
8671517a08
ppcdisasm: new tests and fixes for rlwinm/rlwimi.
2020-02-20 02:27:48 +01:00
dingusdev
8babfa9987
Fixed some convoluted code for rlwinm
2020-02-17 20:17:56 -07:00
dingusdev
7a654fa576
Fixed rlwinm, rlwimi, and rlwnm mnemonics
2020-02-16 22:19:28 -07:00
dingusdev
1f43b69878
Implemented the remaining recognized SPRs
2020-02-15 21:37:36 -07:00
dingusdev
87a4ff1b73
CMPW mnemonics added
2020-02-15 20:59:09 -07:00
dingusdev
d7e4f3a6a8
Small fixes to M(F/T)SPR and rotate instructions
2020-02-15 16:15:08 -07:00
dingusdev
bedbd54f5b
Almost all major rotate op mnemonics added
2020-02-15 14:48:21 -07:00
dingusdev
158b0d2b50
Added major MTSPR/MFSPR mnemonics and MFTB mnemonics
2020-02-15 13:10:01 -07:00
dingusdev
ef27fcec69
More tests, more fixes
...
Only significant bugs left are with stfd(u) and sllq(.)
2020-02-15 11:29:03 -07:00
dingusdev
4f02a98c2b
More tests +fix for fsel
2020-02-14 07:58:30 -07:00
dingusdev
17e69677e8
One more fix for the segment reg instructions
2020-02-13 21:46:12 -07:00
dingusdev
07844c7388
One tiny fix to tlbie
2020-02-13 21:40:36 -07:00
dingusdev
73dfec443a
Fixed cntlzw, mtsr(in), tlbie
2020-02-13 21:37:33 -07:00
dingusdev
3d89b0438a
Many new test cases, many fixes
2020-02-13 21:04:14 -07:00
dingusdev
d4239c5aa1
Fixed comparison instructions, 603 instructions, mnemonics
2020-02-13 08:00:36 -07:00
dingusdev
eda9454f66
Fixed twi and tw; added more tests
2020-02-12 22:21:16 -07:00
dingusdev
40f399e0c4
Inserting missing instructions and fixing several opcodes
2020-02-12 22:08:40 -07:00
dingusdev
3d492b7f72
stwcx., slwi, and tw fixed
2020-02-12 20:58:51 -07:00
dingusdev
c8e03286e7
Condensed trap operations + added mnemonics for tw
2020-02-12 20:41:23 -07:00
dingusdev
c2eafcc45d
Fixed shifting ops and eieio
2020-02-12 20:26:12 -07:00
Maxim Poliakovski
e4ee252b6c
ppcdisasm: fix several instructions.
2020-02-13 04:13:26 +01:00
dingusdev
11b1623a69
All remaining 601 opcodes implemented
...
Plus adjustments to twi, bclr, and bcctr.
2020-02-12 19:31:54 -07:00
Maxim Poliakovski
1543acc696
ppcdisasm: fix bcctr and bclr instructions.
2020-02-13 03:16:47 +01:00
Maxim Poliakovski
4ecc48a6cc
ppcdisasm: fix string buffer overflow in VS19.
2020-02-13 00:05:10 +01:00
dingusdev
513658b45f
Quick fix to ori
2020-02-10 20:03:14 -07:00
dingusdev
30b1116393
Implemeted limited simplified mnemonics for rlwinm
2020-02-10 20:02:41 -07:00
Maxim Poliakovski
a934ed5bde
ppcdisasm: fix Clang errors and warnings.
2020-02-10 20:01:02 -07:00
dingusdev
ad0659a702
Started bugfixing and refactoring
2020-02-10 20:00:49 -07:00
dingusdev
6473ea1a26
Added the last few opcodes
2020-02-10 20:00:28 -07:00