Mercurial > repos > blastem
comparison z80_to_x86.c @ 712:382a2b5b70c0
Fix crash bug in Z80 interpreter
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 17 May 2015 15:40:31 -0700 |
parents | 144df1a6d3b9 |
children | 1c2020d3e275 |
comparison
equal
deleted
inserted
replaced
711:3342548de036 | 712:382a2b5b70c0 |
---|---|
1672 cycles(&opts->gen, -3); | 1672 cycles(&opts->gen, -3); |
1673 check_cycles_int(&opts->gen, address); | 1673 check_cycles_int(&opts->gen, address); |
1674 call(code, opts->gen.save_context); | 1674 call(code, opts->gen.save_context); |
1675 mov_irdisp(code, address, opts->gen.context_reg, offsetof(z80_context, pc), SZ_W); | 1675 mov_irdisp(code, address, opts->gen.context_reg, offsetof(z80_context, pc), SZ_W); |
1676 push_r(code, opts->gen.context_reg); | 1676 push_r(code, opts->gen.context_reg); |
1677 call_args(code, (code_ptr)z80_interp_handler, 2, opts->gen.scratch1, opts->gen.scratch2); | 1677 call_args(code, (code_ptr)z80_interp_handler, 2, opts->gen.scratch1, opts->gen.context_reg); |
1678 mov_rr(code, RAX, opts->gen.scratch1, SZ_PTR); | 1678 mov_rr(code, RAX, opts->gen.scratch1, SZ_PTR); |
1679 pop_r(code, opts->gen.context_reg); | 1679 pop_r(code, opts->gen.context_reg); |
1680 call(code, opts->gen.load_context); | 1680 call(code, opts->gen.load_context); |
1681 jmp_r(code, opts->gen.scratch1); | 1681 jmp_r(code, opts->gen.scratch1); |
1682 stub.last = code->cur; | 1682 stub.last = code->cur; |