diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-04 20:07:02 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-04 20:07:02 +0100 |
| commit | ad05515b70dfa5c28dbd1552b4bc9df9bf98788c (patch) | |
| tree | 836c7cc42f9422bdae27797bd71f995b92bd6b9c /src | |
| parent | e19267dea2ebb5ab4636a9795b0f72ad6f591788 (diff) | |
| download | box64-ad05515b70dfa5c28dbd1552b4bc9df9bf98788c.tar.gz box64-ad05515b70dfa5c28dbd1552b4bc9df9bf98788c.zip | |
Fixed an issue with GetECommon and REX.b
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64run_private.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/x64run_private.h b/src/emu/x64run_private.h index a3c8ef51..69ae17ff 100755 --- a/src/emu/x64run_private.h +++ b/src/emu/x64run_private.h @@ -78,7 +78,7 @@ static inline reg64_t* GetECommon(x64emu_t* emu, rex_t rex, uint8_t m) if (m<=7) { if(m==0x4) { uint8_t sib = Fetch8(emu); - uintptr_t base = ((sib&0x7)==5)?Fetch32(emu):(emu->regs[(sib&0x7)].q[0]+(rex.b<<3)); // base + uintptr_t base = ((sib&0x7)==5)?((uint64_t)(int64_t)Fetch32s(emu)):(emu->regs[(sib&0x7)+(rex.b<<3)].q[0]); // base base += (emu->sbiidx[((sib>>3)&7)+(rex.x<<3)]->sq[0] << (sib>>6)); return (reg64_t*)base; } else if (m==0x5) { //disp32 @@ -227,7 +227,7 @@ void UpdateFlags(x64emu_t *emu); #define RESET_FLAGS(emu) emu->df = d_none //void Run67(x64emu_t *emu); -//void Run0F(x64emu_t *emu); +int Run0F(x64emu_t *emu); //void Run660F(x64emu_t *emu); //void Run66D9(x64emu_t *emu); // x87 //void Run6766(x64emu_t *emu); |