Mercurial > repos > blastem
comparison m68k_to_x86.c @ 121:f848aad2abef
Fix logic for switching between USP and SSP
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 29 Dec 2012 12:52:19 -0800 |
parents | ee19ddadb398 |
children | 0a6da6c7c463 |
comparison
equal
deleted
inserted
replaced
120:3648abc45aec | 121:f848aad2abef |
---|---|
2354 dst = add_ir(dst, 2, opts->aregs[7], SZ_D); | 2354 dst = add_ir(dst, 2, opts->aregs[7], SZ_D); |
2355 dst = call(dst, (uint8_t *)set_sr); | 2355 dst = call(dst, (uint8_t *)set_sr); |
2356 dst = pop_r(dst, SCRATCH1); | 2356 dst = pop_r(dst, SCRATCH1); |
2357 dst = bt_irdisp8(dst, 5, CONTEXT, offsetof(m68k_context, status), SZ_B); | 2357 dst = bt_irdisp8(dst, 5, CONTEXT, offsetof(m68k_context, status), SZ_B); |
2358 end_off = dst+1; | 2358 end_off = dst+1; |
2359 dst = jcc(dst, CC_NC, dst+2); | 2359 dst = jcc(dst, CC_C, dst+2); |
2360 dst = mov_rr(dst, opts->aregs[7], SCRATCH2, SZ_D); | 2360 dst = mov_rr(dst, opts->aregs[7], SCRATCH2, SZ_D); |
2361 dst = mov_rdisp8r(dst, CONTEXT, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, opts->aregs[7], SZ_D); | 2361 dst = mov_rdisp8r(dst, CONTEXT, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, opts->aregs[7], SZ_D); |
2362 dst = mov_rrdisp8(dst, SCRATCH2, CONTEXT, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, SZ_D); | 2362 dst = mov_rrdisp8(dst, SCRATCH2, CONTEXT, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, SZ_D); |
2363 *end_off = dst - (end_off+1); | 2363 *end_off = dst - (end_off+1); |
2364 dst = call(dst, (uint8_t *)m68k_native_addr_and_sync); | 2364 dst = call(dst, (uint8_t *)m68k_native_addr_and_sync); |