Mercurial > repos > blastem
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 |