.globl _main .globl call_tests .globl movm_tests .globl misc_tests .globl mov_tests .globl ext_tests .globl add_tests .globl sub_tests .globl cmp_tests .globl logical_tests .globl shift_tests .globl muldiv_tests .globl movbu_tests .globl movhu_tests .globl mac_tests .globl bit_tests .globl dsp_add_tests .globl dsp_cmp_tests .globl dsp_sub_tests .globl dsp_mov_tests .globl dsp_logical_tests .globl dsp_misc_tests .globl autoincrement_tests .globl dsp_autoincrement_tests .text .am33 _main: call_tests: call 256,[a2,a3,exreg0],9 call 256,[a2,a3,exreg1],9 call 256,[a2,a3,exother],9 call 256,[a2,a3,all],9 call 131071,[a2,a3,exreg0],9 call 131071,[a2,a3,exreg1],9 call 131071,[a2,a3,exother],9 call 131071,[a2,a3,all],9 movm_tests: movm (sp),[a2,a3,exreg0] movm (sp),[a2,a3,exreg1] movm (sp),[a2,a3,exother] movm (sp),[a2,a3,all] movm [a2,a3,exreg0],(sp) movm [a2,a3,exreg1],(sp) movm [a2,a3,exother],(sp) movm [a2,a3,all],(sp) movm (usp),[a2,a3,exreg0] movm (usp),[a2,a3,exreg1] movm (usp),[a2,a3,exother] movm (usp),[a2,a3,all] movm [a2,a3,exreg0],(usp) movm [a2,a3,exreg1],(usp) movm [a2,a3,exother],(usp) movm [a2,a3,all],(usp) misc_tests: syscall 0x4 mcst9 d0 mcst48 d1 getchx d0 getclx d1 clr r9 sat16 r9,r8 mcste r7,r6 swap r5,r4 swaph r3,r2 swhw r1,r0 mov_tests: mov r0,r1 mov xr0, r1 mov r1, xr2 mov (r1),r2 mov r3,(r4) mov (sp),r5 mov r6,(sp) mov 16,r1 mov 16,xr1 mov (16,r1),r2 mov r2,(16,r1) mov (16,sp),r2 mov r2,(16,sp) mov 0x1ffeff,r2 mov 0x1ffeff,xr2 mov (0x1ffeff,r1),r2 mov r2,(0x1ffeff,r1) mov (0x1ffeff,sp),r2 mov r2,(0x1ffeff,sp) mov (0x1ffeff),r2 mov r2,(0x1ffeff) mov 0x7ffefdfc,r2 mov 0x7ffefdfc,xr2 mov (0x7ffefdfc,r1),r2 mov r2,(0x7ffefdfc,r1) mov (0x7ffefdfc,sp),r2 mov r2,(0x7ffefdfc,sp) mov (0x7ffefdfc),r2 mov r2,(0x7ffefdfc) movu 16,r1 movu 0x1ffeff,r2 movu 0x7ffefdfc,r2 mov usp,a0 mov ssp,a1 mov msp,a2 mov pc,a3 mov a0,usp mov a1,ssp mov a2,msp mov epsw,d0 mov d1,epsw mov a0,r1 mov d2,r3 mov r5,a1 mov r7,d3 ext_tests: ext r2 extb r3,r4 extbu r4,r5 exth r6,r7 exthu r7,r8 add_tests: add r10,r11 add 16,r1 add 0x1ffeff,r2 add 0x7ffefdfc,r2 add r1,r2,r3 addc r12,r13 addc 16,r1 addc 0x1ffeff,r2 addc 0x7ffefdfc,r2 inc r13 inc4 r12 sub_tests: sub r14,r15 sub 16,r1 sub 0x1ffeff,r2 sub 0x7ffefdfc,r2 subc r15,r14 subc 16,r1 subc 0x1ffeff,r2 subc 0x7ffefdfc,r2 cmp_tests: cmp r11,r10 cmp 16,r1 cmp 0x1ffeff,r2 cmp 0x7ffefdfc,r2 logical_tests: and r0,r1 or r2,r3 xor r4,r5 not r6 and 16,r1 or 16,r1 xor 16,r1 and 0x1ffeff,r2 or 0x1ffeff,r2 xor 0x1ffeff,r2 and 0x7ffefdfc,r2 or 0x7ffefdfc,r2 xor 0x7ffefdfc,r2 and 131072,epsw or 65535,epsw shift_tests: asr r7,r8 lsr r9,r10 asl r11,r12 asl2 r13 ror r14 rol r15 asr 16,r1 lsr 16,r1 asl 16,r1 asr 0x1ffeff,r2 lsr 0x1ffeff,r2 asl 0x1ffeff,r2 asr 0x7ffefdfc,r2 lsr 0x7ffefdfc,r2 asl 0x7ffefdfc,r2 muldiv_tests: mul r1,r2 mulu r3,r4 mul 16,r1 mulu 16,r1 mul 0x1ffeff,r2 mulu 0x1ffeff,r2 mul 0x7ffefdfc,r2 mulu 0x7ffefdfc,r2 div r5,r6 divu r7,r8 dmulh r13,r12 dmulhu r11,r10 dmulh 0x7ffefdfc,r2 dmulhu 0x7ffefdfc,r2 mul r1,r2,r3,r4 mulu r1,r2,r3,r4 movbu_tests: movbu (r5),r6 movbu r7,(r8) movbu (sp),r7 movbu r8,(sp) movbu (16,r1),r2 movbu r2,(16,r1) movbu (16,sp),r2 movbu r2,(16,sp) movbu (0x1ffeff,r1),r2 movbu r2,(0x1ffeff,r1) movbu (0x1ffeff,sp),r2 movbu r2,(0x1ffeff,sp) movbu (0x1ffeff),r2 movbu r2,(0x1ffeff) movbu (0x7ffefdfc,r1),r2 movbu r2,(0x7ffefdfc,r1) movbu (0x7ffefdfc,sp),r2 movbu r2,(0x7ffefdfc,sp) movbu (0x7ffefdfc),r2 movbu r2,(0x7ffefdfc) movhu_tests: movhu (r9),r10 movhu r11,(r12) movhu (sp),r9 movhu r10,(sp) movhu (16,r1),r2 movhu r2,(16,r1) movhu (16,sp),r2 movhu r2,(16,sp) movhu (0x1ffeff,r1),r2 movhu r2,(0x1ffeff,r1) movhu (0x1ffeff,sp),r2 movhu r2,(0x1ffeff,sp) movhu (0x1ffeff),r2 movhu r2,(0x1ffeff) movhu (0x7ffefdfc,r1),r2 movhu r2,(0x7ffefdfc,r1) movhu (0x7ffefdfc,sp),r2 movhu r2,(0x7ffefdfc,sp) movhu (0x7ffefdfc),r2 movhu r2,(0x7ffefdfc) mac_tests: mac r1,r2 macu r3,r4 macb r5,r6 macbu r7,r8 mach r9,r10 machu r11,r12 dmach r13,r14 dmachu r15,r14 mac 16,r1 macu 16,r1 macb 16,r1 macbu 16,r1 mach 16,r1 machu 16,r1 mac 0x1ffeff,r2 macu 0x1ffeff,r2 macb 0x1ffeff,r2 macbu 0x1ffeff,r2 mach 0x1ffeff,r2 machu 0x1ffeff,r2 mac 0x7ffefdfc,r2 macu 0x7ffefdfc,r2 macb 0x7ffefdfc,r2 macbu 0x7ffefdfc,r2 mach 0x7ffefdfc,r2 machu 0x7ffefdfc,r2 dmach 0x7ffefdfc,r2 dmachu 0x7ffefdfc,r2 bit_tests: bsch r1,r2 btst 16,r1 btst 0x1ffeff,r2 btst 0x7ffefdfc,r2 dsp_add_tests: add_add r4,r1,r2,r3 add_add r4,r1,2,r3 add_sub r4,r1,r2,r3 add_sub r4,r1,2,r3 add_cmp r4,r1,r2,r3 add_cmp r4,r1,2,r3 add_mov r4,r1,r2,r3 add_mov r4,r1,2,r3 add_asr r4,r1,r2,r3 add_asr r4,r1,2,r3 add_lsr r4,r1,r2,r3 add_lsr r4,r1,2,r3 add_asl r4,r1,r2,r3 add_asl r4,r1,2,r3 add_add 4,r1,r2,r3 add_add 4,r1,2,r3 add_sub 4,r1,r2,r3 add_sub 4,r1,2,r3 add_cmp 4,r1,r2,r3 add_cmp 4,r1,2,r3 add_mov 4,r1,r2,r3 add_mov 4,r1,2,r3 add_asr 4,r1,r2,r3 add_asr 4,r1,2,r3 add_lsr 4,r1,r2,r3 add_lsr 4,r1,2,r3 add_asl 4,r1,r2,r3 add_asl 4,r1,2,r3 dsp_cmp_tests: cmp_add r4,r1,r2,r3 cmp_add r4,r1,2,r3 cmp_sub r4,r1,r2,r3 cmp_sub r4,r1,2,r3 cmp_mov r4,r1,r2,r3 cmp_mov r4,r1,2,r3 cmp_asr r4,r1,r2,r3 cmp_asr r4,r1,2,r3 cmp_lsr r4,r1,r2,r3 cmp_lsr r4,r1,2,r3 cmp_asl r4,r1,r2,r3 cmp_asl r4,r1,2,r3 cmp_add 4,r1,r2,r3 cmp_add 4,r1,2,r3 cmp_sub 4,r1,r2,r3 cmp_sub 4,r1,2,r3 cmp_mov 4,r1,r2,r3 cmp_mov 4,r1,2,r3 cmp_asr 4,r1,r2,r3 cmp_asr 4,r1,2,r3 cmp_lsr 4,r1,r2,r3 cmp_lsr 4,r1,2,r3 cmp_asl 4,r1,r2,r3 cmp_asl 4,r1,2,r3 dsp_sub_tests: sub_add r4,r1,r2,r3 sub_add r4,r1,2,r3 sub_sub r4,r1,r2,r3 sub_sub r4,r1,2,r3 sub_cmp r4,r1,r2,r3 sub_cmp r4,r1,2,r3 sub_mov r4,r1,r2,r3 sub_mov r4,r1,2,r3 sub_asr r4,r1,r2,r3 sub_asr r4,r1,2,r3 sub_lsr r4,r1,r2,r3 sub_lsr r4,r1,2,r3 sub_asl r4,r1,r2,r3 sub_asl r4,r1,2,r3 sub_add 4,r1,r2,r3 sub_add 4,r1,2,r3 sub_sub 4,r1,r2,r3 sub_sub 4,r1,2,r3 sub_cmp 4,r1,r2,r3 sub_cmp 4,r1,2,r3 sub_mov 4,r1,r2,r3 sub_mov 4,r1,2,r3 sub_asr 4,r1,r2,r3 sub_asr 4,r1,2,r3 sub_lsr 4,r1,r2,r3 sub_lsr 4,r1,2,r3 sub_asl 4,r1,r2,r3 sub_asl 4,r1,2,r3 dsp_mov_tests: mov_add r4,r1,r2,r3 mov_add r4,r1,2,r3 mov_sub r4,r1,r2,r3 mov_sub r4,r1,2,r3 mov_cmp r4,r1,r2,r3 mov_cmp r4,r1,2,r3 mov_mov r4,r1,r2,r3 mov_mov r4,r1,2,r3 mov_asr r4,r1,r2,r3 mov_asr r4,r1,2,r3 mov_lsr r4,r1,r2,r3 mov_lsr r4,r1,2,r3 mov_asl r4,r1,r2,r3 mov_asl r4,r1,2,r3 mov_add 4,r1,r2,r3 mov_add 4,r1,2,r3 mov_sub 4,r1,r2,r3 mov_sub 4,r1,2,r3 mov_cmp 4,r1,r2,r3 mov_cmp 4,r1,2,r3 mov_mov 4,r1,r2,r3 mov_mov 4,r1,2,r3 mov_asr 4,r1,r2,r3 mov_asr 4,r1,2,r3 mov_lsr 4,r1,r2,r3 mov_lsr 4,r1,2,r3 mov_asl 4,r1,r2,r3 mov_asl 4,r1,2,r3 dsp_logical_tests: and_add r4,r1,r2,r3 and_add r4,r1,2,r3 and_sub r4,r1,r2,r3 and_sub r4,r1,2,r3 and_cmp r4,r1,r2,r3 and_cmp r4,r1,2,r3 and_mov r4,r1,r2,r3 and_mov r4,r1,2,r3 and_asr r4,r1,r2,r3 and_asr r4,r1,2,r3 and_lsr r4,r1,r2,r3 and_lsr r4,r1,2,r3 and_asl r4,r1,r2,r3 and_asl r4,r1,2,r3 xor_add r4,r1,r2,r3 xor_add r4,r1,2,r3 xor_sub r4,r1,r2,r3 xor_sub r4,r1,2,r3 xor_cmp r4,r1,r2,r3 xor_cmp r4,r1,2,r3 xor_mov r4,r1,r2,r3 xor_mov r4,r1,2,r3 xor_asr r4,r1,r2,r3 xor_asr r4,r1,2,r3 xor_lsr r4,r1,r2,r3 xor_lsr r4,r1,2,r3 xor_asl r4,r1,r2,r3 xor_asl r4,r1,2,r3 or_add r4,r1,r2,r3 or_add r4,r1,2,r3 or_sub r4,r1,r2,r3 or_sub r4,r1,2,r3 or_cmp r4,r1,r2,r3 or_cmp r4,r1,2,r3 or_mov r4,r1,r2,r3 or_mov r4,r1,2,r3 or_asr r4,r1,r2,r3 or_asr r4,r1,2,r3 or_lsr r4,r1,r2,r3 or_lsr r4,r1,2,r3 or_asl r4,r1,r2,r3 or_asl r4,r1,2,r3 dsp_misc_tests: dmach_add r4,r1,r2,r3 dmach_add r4,r1,2,r3 dmach_sub r4,r1,r2,r3 dmach_sub r4,r1,2,r3 dmach_cmp r4,r1,r2,r3 dmach_cmp r4,r1,2,r3 dmach_mov r4,r1,r2,r3 dmach_mov r4,r1,2,r3 dmach_asr r4,r1,r2,r3 dmach_asr r4,r1,2,r3 dmach_lsr r4,r1,r2,r3 dmach_lsr r4,r1,2,r3 dmach_asl r4,r1,r2,r3 dmach_asl r4,r1,2,r3 swhw_add r4,r1,r2,r3 swhw_add r4,r1,2,r3 swhw_sub r4,r1,r2,r3 swhw_sub r4,r1,2,r3 swhw_cmp r4,r1,r2,r3 swhw_cmp r4,r1,2,r3 swhw_mov r4,r1,r2,r3 swhw_mov r4,r1,2,r3 swhw_asr r4,r1,r2,r3 swhw_asr r4,r1,2,r3 swhw_lsr r4,r1,r2,r3 swhw_lsr r4,r1,2,r3 swhw_asl r4,r1,r2,r3 swhw_asl r4,r1,2,r3 sat16_add r4,r1,r2,r3 sat16_add r4,r1,2,r3 sat16_sub r4,r1,r2,r3 sat16_sub r4,r1,2,r3 sat16_cmp r4,r1,r2,r3 sat16_cmp r4,r1,2,r3 sat16_mov r4,r1,r2,r3 sat16_mov r4,r1,2,r3 sat16_asr r4,r1,r2,r3 sat16_asr r4,r1,2,r3 sat16_lsr r4,r1,r2,r3 sat16_lsr r4,r1,2,r3 sat16_asl r4,r1,r2,r3 sat16_asl r4,r1,2,r3 autoincrement_tests: mov (r1+),r2 mov r3,(r4+) movhu (r6+),r7 movhu r8,(r9+) mov (r1+,64),r2 mov r1,(r2+,64) movhu (r1+,64),r2 movhu r1,(r2+,64) mov (r1+,0x1ffef),r2 mov r1,(r2+,0x1ffef) movhu (r1+,0x1ffef),r2 movhu r1,(r2+,0x1ffef) mov (r1+,0x7ffefdfc),r2 mov r1,(r2+,0x7ffefdfc) movhu (r1+,0x7ffefdfc),r2 movhu r1,(r2+,0x7ffefdfc) dsp_autoincrement_tests: mov_llt (r1+,4),r2 mov_lgt (r1+,4),r2 mov_lge (r1+,4),r2 mov_lle (r1+,4),r2 mov_lcs (r1+,4),r2 mov_lhi (r1+,4),r2 mov_lcc (r1+,4),r2 mov_lls (r1+,4),r2 mov_leq (r1+,4),r2 mov_lne (r1+,4),r2 mov_lra (r1+,4),r2