nkeynes@393: .section .text nkeynes@393: .include "sh4/inc.s" nkeynes@393: nkeynes@393: .global _test_xtrct nkeynes@393: _test_xtrct: nkeynes@393: start_test nkeynes@393: nkeynes@393: test_xtrct_1: nkeynes@393: add #1, r12 nkeynes@393: nkeynes@393: mov.l test_xtrct_1_input_1, r3 nkeynes@393: mov.l test_xtrct_1_input_2, r4 nkeynes@393: mov r4, r5 nkeynes@393: xtrct r3, r4 nkeynes@393: xtrct r5, r3 nkeynes@393: mov.l test_xtrct_1_result_1, r0 nkeynes@393: mov.l test_xtrct_1_result_2, r1 nkeynes@393: cmp/eq r0, r4 nkeynes@393: bf test_xtrct_1_fail nkeynes@393: cmp/eq r1, r3 nkeynes@393: bt test_xtrct_2 nkeynes@393: test_xtrct_1_fail: nkeynes@393: fail test_xtrct_str_k nkeynes@393: bra test_xtrct_2 nkeynes@393: nop nkeynes@393: test_xtrct_1_input_1: nkeynes@393: .long 0x12345678 nkeynes@393: test_xtrct_1_input_2: nkeynes@393: .long 0x9ABCDEF0 nkeynes@393: test_xtrct_1_result_1: nkeynes@393: .long 0x56789ABC nkeynes@393: test_xtrct_1_result_2: nkeynes@393: .long 0xDEF01234 nkeynes@393: nkeynes@393: test_xtrct_2: nkeynes@393: add #1, r12 nkeynes@393: nkeynes@393: mov.l test_xtrct_2_input, r3 nkeynes@393: xtrct r3, r3 nkeynes@393: mov.l test_xtrct_2_result, r4 nkeynes@393: cmp/eq r3, r3 nkeynes@393: bt test_xtrct_end nkeynes@393: fail test_xtrct_str_k nkeynes@393: bra test_xtrct_end nkeynes@393: nop nkeynes@393: test_xtrct_2_input: nkeynes@393: .long 0x2143546A nkeynes@393: test_xtrct_2_result: nkeynes@393: .long 0x546A2143 nkeynes@393: nkeynes@393: test_xtrct_end: nkeynes@393: end_test test_xtrct_str_k nkeynes@393: nkeynes@393: test_xtrct_str: nkeynes@393: .string "XTRCT" nkeynes@393: nkeynes@393: .align 4 nkeynes@393: test_xtrct_str_k: nkeynes@393: .long test_xtrct_str nkeynes@393: