mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-01-13 03:30:31 +00:00
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?
This commit is contained in:
parent
cd77e361ab
commit
c5ac862cef
File diff suppressed because it is too large
Load Diff
@ -24,12 +24,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
#include <cinttypes>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
typedef struct PPCDisasmContext {
|
||||
uint32_t instr_addr;
|
||||
uint32_t instr_code;
|
||||
std::string instr_str;
|
||||
bool simplified; /* true if we should output simplified mnemonics */
|
||||
std::vector<std::string> regs_in;
|
||||
std::vector<std::string> regs_out;
|
||||
} PPCDisasmContext;
|
||||
|
||||
std::string disassemble_single(PPCDisasmContext* ctx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user