From a252e87fa93041b4edc79b5168dec1cf8d91bcff Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 20 Feb 2025 10:45:11 +0100 Subject: [BOX32][INTERP] Added some support for BOUND opcode ([ARM64_DYNAREC] too) --- src/emu/x64run.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/emu') diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 49600889..0fd35d2d 100644 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -432,9 +432,12 @@ x64emurun: } break; case 0x62: /* BOUND Gd, Ed */ - if(rex.is32bits) { - nextop = F8; - FAKEED(0); + nextop = F8; + if(rex.is32bits && MODREG) { + GETGD; + int* bounds = (int*)GETEA(0); + if(bounds[0]dword[0] || bounds[1]>GD->dword[0]) + emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xb09d); } else { unimp = 1; goto fini; -- cgit 1.4.1