trunk/src/emu/cpu/hd6309/6309ops.c
| r21412 | r21413 | |
| 743 | 743 | { |
| 744 | 744 | r16 = *src16Reg + *dst16Reg + (CC & CC_C); |
| 745 | 745 | CLR_NZVC; |
| 746 | SET_FLAGS16(*src16Reg,*dst16Reg,r16); |
| 746 | 747 | *dst16Reg = r16; |
| 747 | | SET_FLAGS16(*src16Reg,*dst16Reg,r16); |
| 748 | 748 | } |
| 749 | 749 | else |
| 750 | 750 | { |
| 751 | 751 | r8 = *src8Reg + *dst8Reg + (CC & CC_C); |
| 752 | 752 | CLR_NZVC; |
| 753 | 753 | /* SET_H(*src8Reg,*src8Reg,r8);*/ /*Experimentation prooved this not to be the case */ |
| 754 | SET_FLAGS8(*src8Reg,*dst8Reg,r8); |
| 754 | 755 | *dst8Reg = r8; |
| 755 | | SET_FLAGS8(*src8Reg,*dst8Reg,r8); |
| 756 | 756 | } |
| 757 | 757 | } |
| 758 | 758 | |
| r21412 | r21413 | |
| 772 | 772 | { |
| 773 | 773 | r16 = (UINT32)*dst16Reg - (UINT32)*src16Reg; |
| 774 | 774 | CLR_NZVC; |
| 775 | SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16); |
| 775 | 776 | *dst16Reg = r16; |
| 776 | | SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16); |
| 777 | 777 | } |
| 778 | 778 | else |
| 779 | 779 | { |
| 780 | 780 | r8 = *dst8Reg - *src8Reg; |
| 781 | 781 | CLR_NZVC; |
| 782 | SET_FLAGS8(*dst8Reg,*src8Reg,r8); |
| 782 | 783 | *dst8Reg = r8; |
| 783 | | SET_FLAGS8(*dst8Reg,*src8Reg,r8); |
| 784 | 784 | } |
| 785 | 785 | } |
| 786 | 786 | |
| r21412 | r21413 | |
| 800 | 800 | { |
| 801 | 801 | r16 = (UINT32)*dst16Reg - (UINT32)*src16Reg - (CC & CC_C); |
| 802 | 802 | CLR_NZVC; |
| 803 | SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16); |
| 803 | 804 | *dst16Reg = r16; |
| 804 | | SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16); |
| 805 | 805 | } |
| 806 | 806 | else |
| 807 | 807 | { |
| 808 | 808 | r8 = *dst8Reg - *src8Reg - (CC & CC_C); |
| 809 | 809 | CLR_NZVC; |
| 810 | SET_FLAGS8(*dst8Reg,*src8Reg,r8); |
| 810 | 811 | *dst8Reg = r8; |
| 811 | | SET_FLAGS8(*dst8Reg,*src8Reg,r8); |
| 812 | 812 | } |
| 813 | 813 | } |
| 814 | 814 | |
| r21412 | r21413 | |
| 828 | 828 | { |
| 829 | 829 | r16 = *src16Reg & *dst16Reg; |
| 830 | 830 | CLR_NZV; |
| 831 | SET_NZ16(r16); |
| 831 | 832 | *dst16Reg = r16; |
| 832 | | SET_NZ16(r16); |
| 833 | 833 | } |
| 834 | 834 | else |
| 835 | 835 | { |
| 836 | 836 | r8 = *src8Reg & *dst8Reg; |
| 837 | 837 | CLR_NZV; |
| 838 | SET_NZ8(r8); |
| 838 | 839 | *dst8Reg = r8; |
| 839 | | SET_NZ8(r8); |
| 840 | 840 | } |
| 841 | 841 | } |
| 842 | 842 | |
| r21412 | r21413 | |
| 856 | 856 | { |
| 857 | 857 | r16 = *src16Reg | *dst16Reg; |
| 858 | 858 | CLR_NZV; |
| 859 | SET_NZ16(r16); |
| 859 | 860 | *dst16Reg = r16; |
| 860 | | SET_NZ16(r16); |
| 861 | 861 | } |
| 862 | 862 | else |
| 863 | 863 | { |
| 864 | 864 | r8 = *src8Reg | *dst8Reg; |
| 865 | 865 | CLR_NZV; |
| 866 | SET_NZ8(r8); |
| 866 | 867 | *dst8Reg = r8; |
| 867 | | SET_NZ8(r8); |
| 868 | 868 | } |
| 869 | 869 | } |
| 870 | 870 | |
| r21412 | r21413 | |
| 884 | 884 | { |
| 885 | 885 | r16 = *src16Reg ^ *dst16Reg; |
| 886 | 886 | CLR_NZV; |
| 887 | SET_NZ16(r16); |
| 887 | 888 | *dst16Reg = r16; |
| 888 | | SET_NZ16(r16); |
| 889 | 889 | } |
| 890 | 890 | else |
| 891 | 891 | { |
| 892 | 892 | r8 = *src8Reg ^ *dst8Reg; |
| 893 | 893 | CLR_NZV; |
| 894 | SET_NZ8(r8); |
| 894 | 895 | *dst8Reg = r8; |
| 895 | | SET_NZ8(r8); |
| 896 | 896 | } |
| 897 | 897 | } |
| 898 | 898 | |