nkeynes@226: .section .text nkeynes@226: .include "sh4/inc.s" nkeynes@226: ! nkeynes@226: ! Test AND Rm,Rn operation nkeynes@226: ! nkeynes@226: .global _test_and nkeynes@226: _test_and: nkeynes@226: start_test nkeynes@226: mov.l r11, @-r15 nkeynes@226: mov.l test_and_data_k, r11 nkeynes@226: nkeynes@226: test_and_loop: nkeynes@226: mov.l test_and_data_end_k, r4 nkeynes@226: cmp/eq r11, r4 nkeynes@226: bt test_and_end nkeynes@226: add #1, r12 nkeynes@226: nkeynes@226: clc nkeynes@226: mov.l @r11+, r0 nkeynes@226: mov.l @r11+, r1 nkeynes@226: and r0, r1 nkeynes@226: stc sr, r4 nkeynes@226: mov.l @r11+, r2 nkeynes@226: mov.l @r11+, r3 nkeynes@226: cmp/eq r1, r2 nkeynes@226: bt test_and_b nkeynes@226: fail test_and_str_k nkeynes@226: bra test_and_loop nkeynes@226: nop nkeynes@226: test_and_b: nkeynes@226: ldc r4, sr nkeynes@226: xor r0, r0 nkeynes@226: add #1, r0 nkeynes@226: and r0, r4 nkeynes@226: cmp/eq r3, r4 nkeynes@226: bt test_and_loop nkeynes@226: fail test_and_str_k nkeynes@226: bra test_and_loop nkeynes@226: nop nkeynes@226: nkeynes@226: test_and_end: nkeynes@231: mov.l @r15+, r11 nkeynes@226: end_test test_and_str_k nkeynes@226: nkeynes@226: .align 4 nkeynes@226: test_and_data_k: nkeynes@226: .long test_and_data nkeynes@226: test_and_data: nkeynes@226: test_and_data_1: nkeynes@226: .long 0xFFFFFFFF nkeynes@226: .long 0x00000000 nkeynes@226: .long 0x00000000 nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: .long 0x55555555 nkeynes@226: .long 0xAAAAAAAA nkeynes@226: .long 0x00000000 nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: .long 0xFFFFFFFF nkeynes@226: .long 0xA5A5A5A5 nkeynes@226: .long 0xA5A5A5A5 nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: .long 0xFFFFFFFF nkeynes@226: .long 0xFFFFFFFF nkeynes@226: .long 0xFFFFFFFF nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: .long 0x12345678 nkeynes@226: .long 0x98765432 nkeynes@226: .long 0x10345430 nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: .long 0x00FFFFFF nkeynes@226: .long 0x98765432 nkeynes@226: .long 0x00765432 nkeynes@226: .long 0x00000000 nkeynes@226: nkeynes@226: test_and_data_end: nkeynes@226: .align 4 nkeynes@226: test_and_data_end_k: nkeynes@226: .long test_and_data_end nkeynes@226: test_and_str_k: nkeynes@226: .long test_and_str nkeynes@226: test_and_str: nkeynes@226: .string "AND" nkeynes@226: