comparison m68k.cpu @ 1983:a7b753e260a2 mame_interp

Merge from default
author Michael Pavone <pavone@retrodev.com>
date Sat, 09 May 2020 23:39:44 -0700
parents 9eec86183aae
children 7d4df6b74263
comparison
equal deleted inserted replaced
1937:cafde1255ad3 1983:a7b753e260a2
399 add src dregs.D dregs.D Z 399 add src dregs.D dregs.D Z
400 update_flags XNZVC 400 update_flags XNZVC
401 m68k_prefetch 401 m68k_prefetch
402 402
403 1101DDD1ZZMMMRRR add_dn_ea 403 1101DDD1ZZMMMRRR add_dn_ea
404 invalid M 0
405 invalid M 1
404 invalid M 7 R 2 406 invalid M 7 R 2
405 invalid M 7 R 3 407 invalid M 7 R 3
406 invalid M 7 R 4 408 invalid M 7 R 4
407 invalid M 7 R 5 409 invalid M 7 R 5
408 invalid M 7 R 6 410 invalid M 7 R 6
437 m68k_prefetch 439 m68k_prefetch
438 440
439 00000110ZZMMMRRR addi 441 00000110ZZMMMRRR addi
440 local immed 32 442 local immed 32
441 invalid Z 3 443 invalid Z 3
444 invalid M 1
442 invalid M 7 R 2 445 invalid M 7 R 2
443 invalid M 7 R 3 446 invalid M 7 R 3
444 invalid M 7 R 4 447 invalid M 7 R 4
445 invalid M 7 R 5 448 invalid M 7 R 5
446 invalid M 7 R 6 449 invalid M 7 R 6
576 end 579 end
577 end 580 end
578 mov aregs.D scratch2 581 mov aregs.D scratch2
579 m68k_write_size Z 0 582 m68k_write_size Z 0
580 m68k_prefetch 583 m68k_prefetch
581 584
585 1100DDD0ZZMMMRRR and_ea_dn
586 invalid M 1
587 invalid M 7 R 5
588 invalid M 7 R 6
589 invalid M 7 R 7
590 invalid Z 3
591 m68k_fetch_src_ea M R Z
592
593 and src dregs.D dregs.D Z
594 update_flags NZV0C0
595 m68k_prefetch
596
597 1100DDD1ZZMMMRRR and_dn_ea
598 invalid M 0
599 invalid M 1
600 invalid M 7 R 2
601 invalid M 7 R 3
602 invalid M 7 R 4
603 invalid M 7 R 5
604 invalid M 7 R 6
605 invalid M 7 R 7
606 invalid Z 3
607 m68k_fetch_dst_ea M R Z
608
609 and dregs.D dst dst Z
610 update_flags NZV0C0
611 m68k_save_dst Z
612 m68k_prefetch
613
614 00000010ZZMMMRRR andi
615 local immed 32
616 invalid Z 3
617 invalid M 1
618 invalid M 7 R 2
619 invalid M 7 R 3
620 invalid M 7 R 4
621 invalid M 7 R 5
622 invalid M 7 R 6
623 invalid M 7 R 7
624 #fetch immediate operand
625 m68k_prefetch
626 switch Z
627 case 2
628 lsl prefetch 16 immed
629 m68k_prefetch
630 or prefetch immed immed
631 default
632 mov prefetch immed
633 end
634 #fetch dst EA
635 m68k_fetch_dst_ea M R Z
636
637 and immed dst dst Z
638 update_flags NZV0C0
639 m68k_save_dst Z
640 m68k_prefetch
641
642 0000001000111100 andi_to_ccr
643 #fetch immediate operand
644 m68k_prefetch
645 and prefetch ccr ccr
646 m68k_prefetch
647
648 1011DDD1ZZMMMRRR eor_dn_ea
649 invalid M 1
650 invalid M 7 R 2
651 invalid M 7 R 3
652 invalid M 7 R 4
653 invalid M 7 R 5
654 invalid M 7 R 6
655 invalid M 7 R 7
656 invalid Z 3
657 m68k_fetch_dst_ea M R Z
658
659 xor dregs.D dst dst Z
660 update_flags NZV0C0
661 m68k_save_dst Z
662 m68k_prefetch
663
664 00001010ZZMMMRRR eori
665 local immed 32
666 invalid Z 3
667 invalid M 1
668 invalid M 7 R 2
669 invalid M 7 R 3
670 invalid M 7 R 4
671 invalid M 7 R 5
672 invalid M 7 R 6
673 invalid M 7 R 7
674 #fetch immediate operand
675 m68k_prefetch
676 switch Z
677 case 2
678 lsl prefetch 16 immed
679 m68k_prefetch
680 or prefetch immed immed
681 default
682 mov prefetch immed
683 end
684 #fetch dst EA
685 m68k_fetch_dst_ea M R Z
686
687 xor immed dst dst Z
688 update_flags NZV0C0
689 m68k_save_dst Z
690 m68k_prefetch
691
692 0000001000111100 eori_to_ccr
693 #fetch immediate operand
694 m68k_prefetch
695 xor prefetch ccr ccr
696 m68k_prefetch
697
698 1000DDD0ZZMMMRRR or_ea_dn
699 invalid M 1
700 invalid M 7 R 5
701 invalid M 7 R 6
702 invalid M 7 R 7
703 invalid Z 3
704 m68k_fetch_src_ea M R Z
705
706 or src dregs.D dregs.D Z
707 update_flags NZV0C0
708 m68k_prefetch
709
710 1000DDD1ZZMMMRRR or_dn_ea
711 invalid M 0
712 invalid M 1
713 invalid M 7 R 2
714 invalid M 7 R 3
715 invalid M 7 R 4
716 invalid M 7 R 5
717 invalid M 7 R 6
718 invalid M 7 R 7
719 invalid Z 3
720 m68k_fetch_dst_ea M R Z
721
722 or dregs.D dst dst Z
723 update_flags NZV0C0
724 m68k_save_dst Z
725 m68k_prefetch
726
727 00000000ZZMMMRRR ori
728 local immed 32
729 invalid Z 3
730 invalid M 1
731 invalid M 7 R 2
732 invalid M 7 R 3
733 invalid M 7 R 4
734 invalid M 7 R 5
735 invalid M 7 R 6
736 invalid M 7 R 7
737 #fetch immediate operand
738 m68k_prefetch
739 switch Z
740 case 2
741 lsl prefetch 16 immed
742 m68k_prefetch
743 or prefetch immed immed
744 default
745 mov prefetch immed
746 end
747 #fetch dst EA
748 m68k_fetch_dst_ea M R Z
749
750 or immed dst dst Z
751 update_flags NZV0C0
752 m68k_save_dst Z
753 m68k_prefetch
754
755 0000000000111100 ori_to_ccr
756 #fetch immediate operand
757 m68k_prefetch
758 or prefetch ccr ccr
759 m68k_prefetch
760
761 1001DDD0ZZMMMRRR sub_ea_dn
762 invalid M 7 R 5
763 invalid M 7 R 6
764 invalid M 7 R 7
765 invalid Z 3
766 m68k_fetch_src_ea M R Z
767
768 sub src dregs.D dregs.D Z
769 update_flags XNZVC
770 m68k_prefetch
771
772 1001DDD1ZZMMMRRR sub_dn_ea
773 invalid M 0
774 invalid M 1
775 invalid M 7 R 2
776 invalid M 7 R 3
777 invalid M 7 R 4
778 invalid M 7 R 5
779 invalid M 7 R 6
780 invalid M 7 R 7
781 invalid Z 3
782 m68k_fetch_dst_ea M R Z
783
784 sub dregs.D dst dst Z
785 update_flags XNZVC
786 m68k_save_dst Z
787 m68k_prefetch
788
789 1001AAAZ11MMMRRR suba
790 invalid M 7 R 5
791 invalid M 7 R 6
792 invalid M 7 R 7
793 local size 16
794 local ext_src 32
795 if Z
796 mov 2 size
797 else
798 mov 1 size
799 end
800 m68k_fetch_src_ea M R size
801 switch size
802 case 1
803 sext 32 src ext_src
804 meta src ext_src
805 end
806
807 sub src aregs.A aregs.A
808 m68k_prefetch
809
810 00000100ZZMMMRRR subi
811 local immed 32
812 invalid Z 3
813 invalid M 1
814 invalid M 7 R 2
815 invalid M 7 R 3
816 invalid M 7 R 4
817 invalid M 7 R 5
818 invalid M 7 R 6
819 invalid M 7 R 7
820 #fetch immediate operand
821 m68k_prefetch
822 switch Z
823 case 2
824 lsl prefetch 16 immed
825 m68k_prefetch
826 or prefetch immed immed
827 default
828 mov prefetch immed
829 end
830 #fetch dst EA
831 m68k_fetch_dst_ea M R Z
832
833 sub immed dst dst Z
834 update_flags XNZVC
835 m68k_save_dst Z
836 m68k_prefetch
837
838 0101III1ZZMMMRRR subq
839 invalid Z 3
840 invalid M 7 R 2
841 invalid M 7 R 3
842 invalid M 7 R 4
843 invalid M 7 R 5
844 invalid M 7 R 6
845 invalid M 7 R 7
846 local src 32
847 switch I
848 case 0
849 mov 8 src
850 default
851 mov I src
852 end
853
854 m68k_fetch_dst_ea M R Z
855 switch M
856 case 1
857 sub src dst dst Z
858 default
859 sub src dst dst Z
860 update_flags XNZVC
861 end
862 m68k_save_dst Z
863 m68k_prefetch
582 864
583 00ZZRRRMMMEEESSS move 865 00ZZRRRMMMEEESSS move
584 invalid Z 0 866 invalid Z 0
585 invalid M 1 867 invalid M 1
586 invalid M 7 #not actually invalid, but will be handled separately due to DSL limitations 868 invalid M 7 #not actually invalid, but will be handled separately due to DSL limitations