comparison z80.cpu @ 1720:1648c685083a

Implemented DD/FD prefixes for and/or/xor in new Z80 core
author Michael Pavone <pavone@retrodev.com>
date Wed, 30 Jan 2019 22:11:12 -0800
parents fb5ae8c20b85
children 0e5df2bc0f9f
comparison
equal deleted inserted replaced
1719:fb5ae8c20b85 1720:1648c685083a
838 838
839 10100RRR and_reg 839 10100RRR and_reg
840 and a main.R a 840 and a main.R a
841 update_flags SZYH1PXN0C0 841 update_flags SZYH1PXN0C0
842 842
843 dd 10100100 and_ixh
844 lsr ix 8 scratch1
845 and scratch1 a a
846 update_flags SZYH1PXN0C0
847
848 dd 10100101 and_ixl
849 and ix a a
850 update_flags SZYH1PXN0C0
851
852 fd 10100100 and_iyh
853 lsr iy 8 scratch1
854 and scratch1 a a
855 update_flags SZYH1PXN0C0
856
857 fd 10100101 and_iyl
858 and iy a a
859 update_flags SZYH1PXN0C0
860
843 10100110 and_hl 861 10100110 and_hl
844 z80_fetch_hl 862 z80_fetch_hl
845 and a scratch1 a 863 and a scratch1 a
846 update_flags SZYH1PXN0C0 864 update_flags SZYH1PXN0C0
847 865
848 11100110 and_immed 866 dd 10100110 and_ixd
849 z80_fetch_immed 867 z80_fetch_index ix
850 and a scratch1 a 868 and a scratch1 a
851 update_flags SZYH1PXN0C0 869 update_flags SZYH1PXN0C0
870 cycles 3
871
872 fd 10100110 and_iyd
873 z80_fetch_index iy
874 and a scratch1 a
875 update_flags SZYH1PXN0C0
876 cycles 3
877
878 11100110 and_immed
879 z80_fetch_immed
880 and a scratch1 a
881 update_flags SZYH1PXN0C0
852 882
853 10110RRR or_reg 883 10110RRR or_reg
854 or a main.R a 884 or a main.R a
885 update_flags SZYH0PXN0C0
886
887 dd 10110100 or_ixh
888 lsr ix 8 scratch1
889 or scratch1 a a
890 update_flags SZYH0PXN0C0
891
892 dd 10110101 or_ixl
893 or ix a a
894 update_flags SZYH0PXN0C0
895
896 fd 10110100 or_iyh
897 lsr iy 8 scratch1
898 or scratch1 a a
899 update_flags SZYH0PXN0C0
900
901 fd 10110101 or_iyl
902 or iy a a
855 update_flags SZYH0PXN0C0 903 update_flags SZYH0PXN0C0
856 904
857 10110110 or_hl 905 10110110 or_hl
858 z80_fetch_hl 906 z80_fetch_hl
859 or a scratch1 a 907 or a scratch1 a
860 update_flags SZYH0PXN0C0 908 update_flags SZYH0PXN0C0
909
910 dd 10110110 or_ixd
911 z80_fetch_index ix
912 or a scratch1 a
913 update_flags SZYH0PXN0C0
914 cycles 3
915
916 fd 10110110 or_iyd
917 z80_fetch_index iy
918 or a scratch1 a
919 update_flags SZYH0PXN0C0
920 cycles 3
861 921
862 11110110 or_immed 922 11110110 or_immed
863 z80_fetch_immed 923 z80_fetch_immed
864 or a scratch1 a 924 or a scratch1 a
865 update_flags SZYH0PXN0C0 925 update_flags SZYH0PXN0C0
866 926
867 10101RRR xor_reg 927 10101RRR xor_reg
868 xor a main.R a 928 xor a main.R a
929 update_flags SZYH0PXN0C0
930
931 dd 10101100 xor_ixh
932 lsr ix 8 scratch1
933 xor scratch1 a a
934 update_flags SZYH0PXN0C0
935
936 dd 10101101 xor_ixl
937 xor ix a a
938 update_flags SZYH0PXN0C0
939
940 fd 10101100 xor_iyh
941 lsr iy 8 scratch1
942 xor scratch1 a a
943 update_flags SZYH0PXN0C0
944
945 fd 10101101 xor_iyl
946 xor iy a a
869 update_flags SZYH0PXN0C0 947 update_flags SZYH0PXN0C0
870 948
871 10101110 xor_hl 949 10101110 xor_hl
872 z80_fetch_hl 950 z80_fetch_hl
873 xor a scratch1 a 951 xor a scratch1 a
874 update_flags SZYH0PXN0C0 952 update_flags SZYH0PXN0C0
953
954 dd 10101110 xor_ixd
955 z80_fetch_index ix
956 xor a scratch1 a
957 update_flags SZYH0PXN0C0
958 cycles 3
959
960 fd 10101110 xor_iyd
961 z80_fetch_index iy
962 xor a scratch1 a
963 update_flags SZYH0PXN0C0
964 cycles 3
875 965
876 11101110 xor_immed 966 11101110 xor_immed
877 z80_fetch_immed 967 z80_fetch_immed
878 xor a scratch1 a 968 xor a scratch1 a
879 update_flags SZYH0PXN0C0 969 update_flags SZYH0PXN0C0
912 dd 10111110 cp_ixd 1002 dd 10111110 cp_ixd
913 z80_fetch_index ix 1003 z80_fetch_index ix
914 mov scratch1 last_flag_result 1004 mov scratch1 last_flag_result
915 cmp scratch1 a 1005 cmp scratch1 a
916 update_flags SZHVN1C 1006 update_flags SZHVN1C
1007 cycles 3
917 1008
918 fd 10111110 cp_iyd 1009 fd 10111110 cp_iyd
919 z80_fetch_index iy 1010 z80_fetch_index iy
920 mov scratch1 last_flag_result 1011 mov scratch1 last_flag_result
921 cmp scratch1 a 1012 cmp scratch1 a
922 update_flags SZHVN1C 1013 update_flags SZHVN1C
1014 cycles 3
923 1015
924 11111110 cp_immed 1016 11111110 cp_immed
925 z80_fetch_immed 1017 z80_fetch_immed
926 mov scratch1 last_flag_result 1018 mov scratch1 last_flag_result
927 cmp scratch1 a 1019 cmp scratch1 a