diff options
Diffstat (limited to 'src/emu/x64run_private.c')
| -rw-r--r-- | src/emu/x64run_private.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c index a2bc6020..1d80e76a 100644 --- a/src/emu/x64run_private.c +++ b/src/emu/x64run_private.c @@ -1701,6 +1701,14 @@ uintptr_t GetEA32(x64emu_t *emu, uintptr_t* addr, rex_t rex, uint8_t v, uint8_t } else return (uintptr_t)GetECommon32O(emu, addr, rex, m, delta, 0); } +uintptr_t GetEA32_16(x64emu_t *emu, uintptr_t* addr, rex_t rex, uint8_t v, uint8_t delta) +{ + uint8_t m = v&0xC7; // filter Ed + if(m>=0xC0) { + return (uintptr_t)&emu->regs[(m&0x07)+(rex.b<<3)]; + } else return (uintptr_t)GetEw16off(emu, addr, rex, m, delta); +} + reg64_t* GetEdO(x64emu_t *emu, uintptr_t* addr, rex_t rex, uint8_t v, uint8_t delta, uintptr_t offset) { uint8_t m = v&0xC7; // filter Ed |