filename | test/sh4/div1.s |
changeset | 384:c9d5c194984b |
author | nkeynes |
date | Wed Nov 14 10:18:21 2007 +0000 (16 years ago) |
permissions | -rw-r--r-- |
last change | Add portugese and german translations (thanks to GT and TK) |
file | annotate | diff | log | raw |
nkeynes@384 | 1 | .section .text |
nkeynes@384 | 2 | .include "sh4/inc.s" |
nkeynes@384 | 3 | ! |
nkeynes@384 | 4 | ! Test DIV1 operation |
nkeynes@384 | 5 | ! |
nkeynes@384 | 6 | .global _test_div1 |
nkeynes@384 | 7 | _test_div1: |
nkeynes@384 | 8 | start_test |
nkeynes@384 | 9 | mov.l r11, @-r15 |
nkeynes@384 | 10 | mov.l r10, @-r15 |
nkeynes@384 | 11 | |
nkeynes@384 | 12 | mova test_div1_data, r0 |
nkeynes@384 | 13 | mov r0, r11 |
nkeynes@384 | 14 | mov #12, r10 |
nkeynes@384 | 15 | test_div1_loop: |
nkeynes@384 | 16 | add #1, r12 |
nkeynes@384 | 17 | |
nkeynes@384 | 18 | mov.l @r11+, r4 |
nkeynes@384 | 19 | mov.l @r11+, r5 |
nkeynes@384 | 20 | mov.l @r11+, r6 |
nkeynes@384 | 21 | |
nkeynes@384 | 22 | stc sr, r2 |
nkeynes@384 | 23 | mov.l test_div1_sr_mask, r0 |
nkeynes@384 | 24 | not r0, r1 |
nkeynes@384 | 25 | and r1, r2 |
nkeynes@384 | 26 | or r6, r2 |
nkeynes@384 | 27 | ldc r2, sr |
nkeynes@384 | 28 | mov r4, r3 |
nkeynes@384 | 29 | |
nkeynes@384 | 30 | div1 r4, r5 |
nkeynes@384 | 31 | |
nkeynes@384 | 32 | stc sr, r2 |
nkeynes@384 | 33 | and r0, r2 |
nkeynes@384 | 34 | cmp/eq r3, r4 |
nkeynes@384 | 35 | bf test_div1_fail |
nkeynes@384 | 36 | mov.l @r11+, r3 |
nkeynes@384 | 37 | cmp/eq r3, r5 |
nkeynes@384 | 38 | bf test_div1_fail |
nkeynes@384 | 39 | mov.l @r11+, r3 |
nkeynes@384 | 40 | cmp/eq r3, r2 |
nkeynes@384 | 41 | bt test_div1_next |
nkeynes@384 | 42 | test_div1_fail: |
nkeynes@384 | 43 | fail test_div1_str_k |
nkeynes@384 | 44 | |
nkeynes@384 | 45 | test_div1_next: |
nkeynes@384 | 46 | dt r10 |
nkeynes@384 | 47 | bf test_div1_loop |
nkeynes@384 | 48 | |
nkeynes@384 | 49 | test_div1_end: |
nkeynes@384 | 50 | mov.l @r15+, r10 |
nkeynes@384 | 51 | mov.l @r15+, r11 |
nkeynes@384 | 52 | end_test test_div1_str_k |
nkeynes@384 | 53 | |
nkeynes@384 | 54 | test_div1_data: |
nkeynes@384 | 55 | .long 0x12345678 |
nkeynes@384 | 56 | .long 0x01234123 |
nkeynes@384 | 57 | .long 0x00000001 |
nkeynes@384 | 58 | .long 0xF0122BCF |
nkeynes@384 | 59 | .long 0x00000100 |
nkeynes@384 | 60 | |
nkeynes@384 | 61 | .long 0x11223344 |
nkeynes@384 | 62 | .long 0xF0122BCF |
nkeynes@384 | 63 | .long 0x00000100 |
nkeynes@384 | 64 | .long 0xF1468AE2 |
nkeynes@384 | 65 | .long 0x00000100 |
nkeynes@384 | 66 | |
nkeynes@384 | 67 | .long 0x20103040 |
nkeynes@384 | 68 | .long 0xF1468AE2 |
nkeynes@384 | 69 | .long 0x00000101 |
nkeynes@384 | 70 | .long 0x029D4605 |
nkeynes@384 | 71 | .long 0x00000001 |
nkeynes@384 | 72 | |
nkeynes@384 | 73 | .long 0x01231231 |
nkeynes@384 | 74 | .long 0x029D4605 |
nkeynes@384 | 75 | .long 0x00000000 |
nkeynes@384 | 76 | .long 0x041779D9 |
nkeynes@384 | 77 | .long 0x00000001 |
nkeynes@384 | 78 | |
nkeynes@384 | 79 | .long 0xF1234123 |
nkeynes@384 | 80 | .long 0x13434454 |
nkeynes@384 | 81 | .long 0x00000100 |
nkeynes@384 | 82 | .long 0x17A9C9CB |
nkeynes@384 | 83 | .long 0x00000100 |
nkeynes@384 | 84 | |
nkeynes@384 | 85 | .long 0x65432123 |
nkeynes@384 | 86 | .long 0x12312312 |
nkeynes@384 | 87 | .long 0x00000101 |
nkeynes@384 | 88 | .long 0x89A56748 |
nkeynes@384 | 89 | .long 0x00000001 |
nkeynes@384 | 90 | |
nkeynes@384 | 91 | ! and now the m=1 cases |
nkeynes@384 | 92 | .long 0x12345678 |
nkeynes@384 | 93 | .long 0x01234123 |
nkeynes@384 | 94 | .long 0x00000301 |
nkeynes@384 | 95 | .long 0xF0122BCF |
nkeynes@384 | 96 | .long 0x00000200 |
nkeynes@384 | 97 | |
nkeynes@384 | 98 | .long 0x11223344 |
nkeynes@384 | 99 | .long 0xF0122BCF |
nkeynes@384 | 100 | .long 0x00000200 |
nkeynes@384 | 101 | .long 0xF1468AE2 |
nkeynes@384 | 102 | .long 0x00000200 |
nkeynes@384 | 103 | |
nkeynes@384 | 104 | .long 0x20103040 |
nkeynes@384 | 105 | .long 0xF1468AE2 |
nkeynes@384 | 106 | .long 0x00000201 |
nkeynes@384 | 107 | .long 0x029D4605 |
nkeynes@384 | 108 | .long 0x00000301 |
nkeynes@384 | 109 | |
nkeynes@384 | 110 | .long 0x01231231 |
nkeynes@384 | 111 | .long 0x029D4605 |
nkeynes@384 | 112 | .long 0x00000300 |
nkeynes@384 | 113 | .long 0x041779D9 |
nkeynes@384 | 114 | .long 0x00000301 |
nkeynes@384 | 115 | |
nkeynes@384 | 116 | .long 0xF1234123 |
nkeynes@384 | 117 | .long 0x13434454 |
nkeynes@384 | 118 | .long 0x00000200 |
nkeynes@384 | 119 | .long 0x17A9C9CB |
nkeynes@384 | 120 | .long 0x00000200 |
nkeynes@384 | 121 | |
nkeynes@384 | 122 | .long 0x65432123 |
nkeynes@384 | 123 | .long 0x12312312 |
nkeynes@384 | 124 | .long 0x00000201 |
nkeynes@384 | 125 | .long 0x89A56748 |
nkeynes@384 | 126 | .long 0x00000301 |
nkeynes@384 | 127 | |
nkeynes@384 | 128 | test_div1_data_end: |
nkeynes@384 | 129 | |
nkeynes@384 | 130 | test_div1_sr_mask: |
nkeynes@384 | 131 | .long 0x00000301 |
nkeynes@384 | 132 | |
nkeynes@384 | 133 | test_div1_str_k: |
nkeynes@384 | 134 | .long test_div1_str |
nkeynes@384 | 135 | test_div1_str: |
nkeynes@384 | 136 | .string "DIV1" |
nkeynes@384 | 137 |
.