Mercurial > repos > blastem
comparison z80_to_x86.c @ 1054:ca38a29d2d76
Implement undocumented flag bits for RLD and RRD
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 29 Jul 2016 20:59:19 -0700 |
parents | b86c3ce007d9 |
children | ac4615d16226 |
comparison
equal
deleted
inserted
replaced
1053:b86c3ce007d9 | 1054:ca38a29d2d76 |
---|---|
1795 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_H), SZ_B); | 1795 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_H), SZ_B); |
1796 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_N), SZ_B); | 1796 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_N), SZ_B); |
1797 setcc_rdisp(code, CC_P, opts->gen.context_reg, zf_off(ZF_PV)); | 1797 setcc_rdisp(code, CC_P, opts->gen.context_reg, zf_off(ZF_PV)); |
1798 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z)); | 1798 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z)); |
1799 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S)); | 1799 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S)); |
1800 mov_rrdisp(code, opts->regs[Z80_A], opts->gen.context_reg, zf_off(ZF_XY), SZ_B); | |
1800 | 1801 |
1801 zreg_to_native(opts, Z80_HL, opts->gen.scratch2); | 1802 zreg_to_native(opts, Z80_HL, opts->gen.scratch2); |
1802 ror_ir(code, 8, opts->gen.scratch1, SZ_W); | 1803 ror_ir(code, 8, opts->gen.scratch1, SZ_W); |
1803 call(code, opts->write_8); | 1804 call(code, opts->write_8); |
1804 break; | 1805 break; |
1826 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_H), SZ_B); | 1827 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_H), SZ_B); |
1827 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_N), SZ_B); | 1828 mov_irdisp(code, 0, opts->gen.context_reg, zf_off(ZF_N), SZ_B); |
1828 setcc_rdisp(code, CC_P, opts->gen.context_reg, zf_off(ZF_PV)); | 1829 setcc_rdisp(code, CC_P, opts->gen.context_reg, zf_off(ZF_PV)); |
1829 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z)); | 1830 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z)); |
1830 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S)); | 1831 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S)); |
1832 mov_rrdisp(code, opts->regs[Z80_A], opts->gen.context_reg, zf_off(ZF_XY), SZ_B); | |
1831 | 1833 |
1832 zreg_to_native(opts, Z80_HL, opts->gen.scratch2); | 1834 zreg_to_native(opts, Z80_HL, opts->gen.scratch2); |
1833 ror_ir(code, 8, opts->gen.scratch1, SZ_W); | 1835 ror_ir(code, 8, opts->gen.scratch1, SZ_W); |
1834 call(code, opts->write_8); | 1836 call(code, opts->write_8); |
1835 break; | 1837 break; |