diff options
Diffstat (limited to 'backend_x86.c')
-rw-r--r-- | backend_x86.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/backend_x86.c b/backend_x86.c index addc34e..f2bb421 100644 --- a/backend_x86.c +++ b/backend_x86.c @@ -224,6 +224,9 @@ code_ptr gen_mem_fun(cpu_options * opts, memmap_chunk const * memmap, uint32_t n } code_ptr not_code = code->cur + 1; jcc(code, CC_NC, code->cur + 2); + if (memmap[chunk].mask != opts->address_mask) { + or_ir(code, memmap[chunk].start, opts->scratch1, opts->address_size); + } call(code, opts->save_context); call_args(code, opts->handle_code_write, 2, opts->scratch2, opts->context_reg); mov_rr(code, RAX, opts->context_reg, SZ_PTR); |