src/emu/cpu/upd7810/7810ops.c
| r15515 | r15516 | |
| 6806 | 6806 | |
| 6807 | 6807 | RDOPARG( imm ); |
| 6808 | 6808 | tmp = V + imm + (PSW & CY); |
| 6809 | | ZHC_SUB( tmp, V, (PSW & CY) ); |
| 6809 | ZHC_ADD( tmp, V, (PSW & CY) ); |
| 6810 | 6810 | V = tmp; |
| 6811 | 6811 | } |
| 6812 | 6812 | |
| r15515 | r15516 | |
| 6817 | 6817 | |
| 6818 | 6818 | RDOPARG( imm ); |
| 6819 | 6819 | tmp = A + imm + (PSW & CY); |
| 6820 | | ZHC_SUB( tmp, A, (PSW & CY) ); |
| 6820 | ZHC_ADD( tmp, A, (PSW & CY) ); |
| 6821 | 6821 | A = tmp; |
| 6822 | 6822 | } |
| 6823 | 6823 | |
| r15515 | r15516 | |
| 6828 | 6828 | |
| 6829 | 6829 | RDOPARG( imm ); |
| 6830 | 6830 | tmp = B + imm + (PSW & CY); |
| 6831 | | ZHC_SUB( tmp, B, (PSW & CY) ); |
| 6831 | ZHC_ADD( tmp, B, (PSW & CY) ); |
| 6832 | 6832 | B = tmp; |
| 6833 | 6833 | } |
| 6834 | 6834 | |
| r15515 | r15516 | |
| 6839 | 6839 | |
| 6840 | 6840 | RDOPARG( imm ); |
| 6841 | 6841 | tmp = C + imm + (PSW & CY); |
| 6842 | | ZHC_SUB( tmp, C, (PSW & CY) ); |
| 6842 | ZHC_ADD( tmp, C, (PSW & CY) ); |
| 6843 | 6843 | C = tmp; |
| 6844 | 6844 | } |
| 6845 | 6845 | |
| r15515 | r15516 | |
| 6850 | 6850 | |
| 6851 | 6851 | RDOPARG( imm ); |
| 6852 | 6852 | tmp = D + imm + (PSW & CY); |
| 6853 | | ZHC_SUB( tmp, D, (PSW & CY) ); |
| 6853 | ZHC_ADD( tmp, D, (PSW & CY) ); |
| 6854 | 6854 | D = tmp; |
| 6855 | 6855 | } |
| 6856 | 6856 | |
| r15515 | r15516 | |
| 6861 | 6861 | |
| 6862 | 6862 | RDOPARG( imm ); |
| 6863 | 6863 | tmp = E + imm + (PSW & CY); |
| 6864 | | ZHC_SUB( tmp, E, (PSW & CY) ); |
| 6864 | ZHC_ADD( tmp, E, (PSW & CY) ); |
| 6865 | 6865 | E = tmp; |
| 6866 | 6866 | } |
| 6867 | 6867 | |
| r15515 | r15516 | |
| 6872 | 6872 | |
| 6873 | 6873 | RDOPARG( imm ); |
| 6874 | 6874 | tmp = H + imm + (PSW & CY); |
| 6875 | | ZHC_SUB( tmp, H, (PSW & CY) ); |
| 6875 | ZHC_ADD( tmp, H, (PSW & CY) ); |
| 6876 | 6876 | H = tmp; |
| 6877 | 6877 | } |
| 6878 | 6878 | |
| r15515 | r15516 | |
| 6883 | 6883 | |
| 6884 | 6884 | RDOPARG( imm ); |
| 6885 | 6885 | tmp = L + imm + (PSW & CY); |
| 6886 | | ZHC_SUB( tmp, L, (PSW & CY) ); |
| 6886 | ZHC_ADD( tmp, L, (PSW & CY) ); |
| 6887 | 6887 | L = tmp; |
| 6888 | 6888 | } |
| 6889 | 6889 | |
| r15515 | r15516 | |
| 8822 | 8822 | /* 61: 0110 0001 */ |
| 8823 | 8823 | static void DAA(upd7810_state *cpustate) |
| 8824 | 8824 | { |
| 8825 | | UINT8 l = A & 0x0f, h = A >> 4, tmp, adj = 0x00; |
| 8825 | UINT8 l = A & 0x0f, h = A >> 4, tmp, adj = 0x00, old_cy = PSW & CY; |
| 8826 | |
| 8826 | 8827 | if (0 == (PSW & HC)) |
| 8827 | 8828 | { |
| 8828 | 8829 | if (l < 10) |
| r15515 | r15516 | |
| 8848 | 8849 | } |
| 8849 | 8850 | tmp = A + adj; |
| 8850 | 8851 | ZHC_ADD( tmp, A, PSW & CY ); |
| 8852 | PSW |= old_cy; |
| 8851 | 8853 | A = tmp; |
| 8852 | 8854 | } |
| 8853 | 8855 | |