diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-16 20:32:37 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-16 20:32:37 +0100 |
| commit | b553c3f3ac7fe752dca6c27be72bec5969a1c955 (patch) | |
| tree | aaff157a1de3962b8190609c49ba70f3a1edde73 /src/emu | |
| parent | 551542f99a2bcd690f19e1bb17ac16172feef583 (diff) | |
| download | box64-b553c3f3ac7fe752dca6c27be72bec5969a1c955.tar.gz box64-b553c3f3ac7fe752dca6c27be72bec5969a1c955.zip | |
[DYNAREC] Added 70..7F opcodes (and fixed ORR/AND bitmask coding/decoding, that's some convoluted encoding here)
Diffstat (limited to 'src/emu')
| -rwxr-xr-x | src/emu/x64emu.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/emu/x64emu.c b/src/emu/x64emu.c index 2a167f81..c80e6d56 100755 --- a/src/emu/x64emu.c +++ b/src/emu/x64emu.c @@ -62,7 +62,7 @@ static void internalX64Setup(x64emu_t* emu, box64context_t *context, uintptr_t s emu->sbiidx[i] = &emu->regs[i]; emu->sbiidx[4] = &emu->zero; emu->x64emu_parity_tab = x86emu_parity_tab; - emu->eflags.x32 = 0x202; // default flags? + emu->eflags.x64 = 0x202; // default flags? // own stack? emu->stack2free = (ownstack)?(void*)stack:NULL; emu->init_stack = (void*)stack; @@ -368,7 +368,10 @@ const char* DumpCPURegs(x64emu_t* emu, uintptr_t ip) if (i%5==4) { if(i==4) { if(emu->df) { - strcat(buff, "FLAGS=??????\n"); +#define FLAG_CHAR(f) (ACCESS_FLAG(F_##f##F)) ? #f : "?" + sprintf(tmp, "flags=%s%s%s%s%s%s\n", FLAG_CHAR(O), FLAG_CHAR(C), FLAG_CHAR(P), FLAG_CHAR(A), FLAG_CHAR(Z), FLAG_CHAR(S)); + strcat(buff, tmp); +#undef FLAG_CHAR } else { #define FLAG_CHAR(f) (ACCESS_FLAG(F_##f##F)) ? #f : "-" sprintf(tmp, "FLAGS=%s%s%s%s%s%s\n", FLAG_CHAR(O), FLAG_CHAR(C), FLAG_CHAR(P), FLAG_CHAR(A), FLAG_CHAR(Z), FLAG_CHAR(S)); |