Revision 559dd74d target-sh4/op.c
b/target-sh4/op.c | ||
---|---|---|
43 | 43 |
RETURN(); |
44 | 44 |
} |
45 | 45 |
|
46 |
void OPPROTO op_not_T0(void) |
|
47 |
{ |
|
48 |
T0 = ~T0; |
|
49 |
RETURN(); |
|
50 |
} |
|
51 |
|
|
52 | 46 |
void OPPROTO op_bf_s(void) |
53 | 47 |
{ |
54 | 48 |
env->delayed_pc = PARAM1; |
... | ... | |
113 | 107 |
RETURN(); |
114 | 108 |
} |
115 | 109 |
|
116 |
void OPPROTO op_addl_imm_T0(void) |
|
117 |
{ |
|
118 |
T0 += PARAM1; |
|
119 |
RETURN(); |
|
120 |
} |
|
121 |
|
|
122 |
void OPPROTO op_addl_imm_T1(void) |
|
123 |
{ |
|
124 |
T1 += PARAM1; |
|
125 |
RETURN(); |
|
126 |
} |
|
127 |
|
|
128 | 110 |
void OPPROTO op_clrmac(void) |
129 | 111 |
{ |
130 | 112 |
env->mach = env->macl = 0; |
... | ... | |
180 | 162 |
RETURN(); |
181 | 163 |
} |
182 | 164 |
|
183 |
void OPPROTO op_swapb_T0(void) |
|
184 |
{ |
|
185 |
T0 = (T0 & 0xffff0000) | ((T0 & 0xff) << 8) | ((T0 >> 8) & 0xff); |
|
186 |
RETURN(); |
|
187 |
} |
|
188 |
|
|
189 |
void OPPROTO op_swapw_T0(void) |
|
190 |
{ |
|
191 |
T0 = ((T0 & 0xffff) << 16) | ((T0 >> 16) & 0xffff); |
|
192 |
RETURN(); |
|
193 |
} |
|
194 |
|
|
195 |
void OPPROTO op_xtrct_T0_T1(void) |
|
196 |
{ |
|
197 |
T1 = ((T0 & 0xffff) << 16) | ((T1 >> 16) & 0xffff); |
|
198 |
RETURN(); |
|
199 |
} |
|
200 |
|
|
201 |
void OPPROTO op_add_T0_T1(void) |
|
202 |
{ |
|
203 |
T1 += T0; |
|
204 |
RETURN(); |
|
205 |
} |
|
206 |
|
|
207 | 165 |
void OPPROTO op_addc_T0_T1(void) |
208 | 166 |
{ |
209 | 167 |
helper_addc_T0_T1(); |
... | ... | |
329 | 287 |
RETURN(); |
330 | 288 |
} |
331 | 289 |
|
332 |
void OPPROTO op_neg_T0(void) |
|
333 |
{ |
|
334 |
T0 = -T0; |
|
335 |
RETURN(); |
|
336 |
} |
|
337 |
|
|
338 | 290 |
void OPPROTO op_negc_T0(void) |
339 | 291 |
{ |
340 | 292 |
helper_negc_T0(); |
... | ... | |
508 | 460 |
RETURN(); |
509 | 461 |
} |
510 | 462 |
|
511 |
void OPPROTO op_shll2_Rn(void) |
|
512 |
{ |
|
513 |
env->gregs[PARAM1] <<= 2; |
|
514 |
RETURN(); |
|
515 |
} |
|
516 |
|
|
517 |
void OPPROTO op_shll8_Rn(void) |
|
518 |
{ |
|
519 |
env->gregs[PARAM1] <<= 8; |
|
520 |
RETURN(); |
|
521 |
} |
|
522 |
|
|
523 |
void OPPROTO op_shll16_Rn(void) |
|
524 |
{ |
|
525 |
env->gregs[PARAM1] <<= 16; |
|
526 |
RETURN(); |
|
527 |
} |
|
528 |
|
|
529 |
void OPPROTO op_shlr2_Rn(void) |
|
530 |
{ |
|
531 |
env->gregs[PARAM1] >>= 2; |
|
532 |
RETURN(); |
|
533 |
} |
|
534 |
|
|
535 |
void OPPROTO op_shlr8_Rn(void) |
|
536 |
{ |
|
537 |
env->gregs[PARAM1] >>= 8; |
|
538 |
RETURN(); |
|
539 |
} |
|
540 |
|
|
541 |
void OPPROTO op_shlr16_Rn(void) |
|
542 |
{ |
|
543 |
env->gregs[PARAM1] >>= 16; |
|
544 |
RETURN(); |
|
545 |
} |
|
546 |
|
|
547 | 463 |
void OPPROTO op_fmov_frN_FT0(void) |
548 | 464 |
{ |
549 | 465 |
FT0 = env->fregs[PARAM1]; |
... | ... | |
736 | 652 |
RETURN(); |
737 | 653 |
} |
738 | 654 |
|
739 |
void OPPROTO op_dec1_rN(void) |
|
740 |
{ |
|
741 |
env->gregs[PARAM1] -= 1; |
|
742 |
RETURN(); |
|
743 |
} |
|
744 |
|
|
745 |
void OPPROTO op_dec2_rN(void) |
|
746 |
{ |
|
747 |
env->gregs[PARAM1] -= 2; |
|
748 |
RETURN(); |
|
749 |
} |
|
750 |
|
|
751 |
void OPPROTO op_dec4_rN(void) |
|
752 |
{ |
|
753 |
env->gregs[PARAM1] -= 4; |
|
754 |
RETURN(); |
|
755 |
} |
|
756 |
|
|
757 |
void OPPROTO op_dec8_rN(void) |
|
758 |
{ |
|
759 |
env->gregs[PARAM1] -= 8; |
|
760 |
RETURN(); |
|
761 |
} |
|
762 |
|
|
763 |
void OPPROTO op_inc1_rN(void) |
|
764 |
{ |
|
765 |
env->gregs[PARAM1] += 1; |
|
766 |
RETURN(); |
|
767 |
} |
|
768 |
|
|
769 |
void OPPROTO op_inc2_rN(void) |
|
770 |
{ |
|
771 |
env->gregs[PARAM1] += 2; |
|
772 |
RETURN(); |
|
773 |
} |
|
774 |
|
|
775 |
void OPPROTO op_inc4_rN(void) |
|
776 |
{ |
|
777 |
env->gregs[PARAM1] += 4; |
|
778 |
RETURN(); |
|
779 |
} |
|
780 |
|
|
781 |
void OPPROTO op_inc8_rN(void) |
|
782 |
{ |
|
783 |
env->gregs[PARAM1] += 8; |
|
784 |
RETURN(); |
|
785 |
} |
|
786 |
|
|
787 |
void OPPROTO op_add_T0_rN(void) |
|
788 |
{ |
|
789 |
env->gregs[PARAM1] += T0; |
|
790 |
RETURN(); |
|
791 |
} |
|
792 |
|
|
793 |
void OPPROTO op_sub_T0_rN(void) |
|
794 |
{ |
|
795 |
env->gregs[PARAM1] -= T0; |
|
796 |
RETURN(); |
|
797 |
} |
|
798 |
|
|
799 |
void OPPROTO op_and_T0_rN(void) |
|
800 |
{ |
|
801 |
env->gregs[PARAM1] &= T0; |
|
802 |
RETURN(); |
|
803 |
} |
|
804 |
|
|
805 |
void OPPROTO op_or_T0_rN(void) |
|
806 |
{ |
|
807 |
env->gregs[PARAM1] |= T0; |
|
808 |
RETURN(); |
|
809 |
} |
|
810 |
|
|
811 |
void OPPROTO op_xor_T0_rN(void) |
|
812 |
{ |
|
813 |
env->gregs[PARAM1] ^= T0; |
|
814 |
RETURN(); |
|
815 |
} |
|
816 |
|
|
817 |
void OPPROTO op_add_rN_T0(void) |
|
818 |
{ |
|
819 |
T0 += env->gregs[PARAM1]; |
|
820 |
RETURN(); |
|
821 |
} |
|
822 |
|
|
823 |
void OPPROTO op_add_rN_T1(void) |
|
824 |
{ |
|
825 |
T1 += env->gregs[PARAM1]; |
|
826 |
RETURN(); |
|
827 |
} |
|
828 |
|
|
829 |
void OPPROTO op_add_imm_rN(void) |
|
830 |
{ |
|
831 |
env->gregs[PARAM2] += PARAM1; |
|
832 |
RETURN(); |
|
833 |
} |
|
834 |
|
|
835 |
void OPPROTO op_and_imm_rN(void) |
|
836 |
{ |
|
837 |
env->gregs[PARAM2] &= PARAM1; |
|
838 |
RETURN(); |
|
839 |
} |
|
840 |
|
|
841 |
void OPPROTO op_or_imm_rN(void) |
|
842 |
{ |
|
843 |
env->gregs[PARAM2] |= PARAM1; |
|
844 |
RETURN(); |
|
845 |
} |
|
846 |
|
|
847 |
void OPPROTO op_xor_imm_rN(void) |
|
848 |
{ |
|
849 |
env->gregs[PARAM2] ^= PARAM1; |
|
850 |
RETURN(); |
|
851 |
} |
|
852 |
|
|
853 | 655 |
void OPPROTO op_dt_rN(void) |
854 | 656 |
{ |
855 | 657 |
cond_t((--env->gregs[PARAM1]) == 0); |
... | ... | |
908 | 710 |
RETURN(); |
909 | 711 |
} |
910 | 712 |
|
911 |
void OPPROTO op_and_imm_T0(void) |
|
912 |
{ |
|
913 |
T0 &= PARAM1; |
|
914 |
RETURN(); |
|
915 |
} |
|
916 |
|
|
917 |
void OPPROTO op_or_imm_T0(void) |
|
918 |
{ |
|
919 |
T0 |= PARAM1; |
|
920 |
RETURN(); |
|
921 |
} |
|
922 |
|
|
923 |
void OPPROTO op_xor_imm_T0(void) |
|
924 |
{ |
|
925 |
T0 ^= PARAM1; |
|
926 |
RETURN(); |
|
927 |
} |
|
928 |
|
|
929 | 713 |
void OPPROTO op_tst_imm_T0(void) |
930 | 714 |
{ |
931 | 715 |
cond_t((T0 & PARAM1) == 0); |
Also available in: Unified diff