cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

check_asr.s (3557B)


      1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
      2# output: ffffffff\n1\nffffffff\nffffffff\n5a67f\nffffffff\nffffffff\nffffffff\nf699fc67\nffffffff\n1\nffffffff\nffffffff\n5a67f\nda67ffff\nda67ffff\nda67ffff\nda67fc67\nffffffff\nffffffff\n1\nffffffff\nffffffff\n5a670007\nda67f1ff\nda67f1ff\nda67f1ff\nda67f1e7\nffffffff\nffffffff\n1\nffffffff\nffffffff\nffffffff\n5a67f1ff\n5a67f1f9\n0\n5a670000\n
      3
      4 .include "testutils.inc"
      5 start
      6 moveq -1,r3
      7 asrq 0,r3
      8 test_move_cc 1 0 0 0
      9 checkr3 ffffffff
     10
     11 moveq 2,r3
     12 asrq 1,r3
     13 test_move_cc 0 0 0 0
     14 checkr3 1
     15
     16 moveq -1,r3
     17 asrq 31,r3
     18 test_move_cc 1 0 0 0
     19 checkr3 ffffffff
     20
     21 moveq -1,r3
     22 asrq 15,r3
     23 test_move_cc 1 0 0 0
     24 checkr3 ffffffff
     25
     26 move.d 0x5a67f19f,r3
     27 asrq 12,r3
     28 test_move_cc 0 0 0 0
     29 checkr3 5a67f
     30
     31 move.d 0xda67f19f,r3
     32 move.d 31,r4
     33 asr.d r4,r3
     34 test_move_cc 1 0 0 0
     35 checkr3 ffffffff
     36
     37 move.d 0xda67f19f,r3
     38 move.d 32,r4
     39 asr.d r4,r3
     40 test_move_cc 1 0 0 0
     41 checkr3 ffffffff
     42
     43 move.d 0xda67f19f,r3
     44 move.d 33,r4
     45 asr.d r4,r3
     46 test_move_cc 1 0 0 0
     47 checkr3 ffffffff
     48
     49 move.d 0xda67f19f,r3
     50 move.d 66,r4
     51 asr.d r4,r3
     52 test_move_cc 1 0 0 0
     53 checkr3 f699fc67
     54
     55 moveq -1,r3
     56 moveq 0,r4
     57 asr.d r4,r3
     58 test_move_cc 1 0 0 0
     59 checkr3 ffffffff
     60
     61 moveq 2,r3
     62 moveq 1,r4
     63 asr.d r4,r3
     64 test_move_cc 0 0 0 0
     65 checkr3 1
     66
     67 moveq -1,r3
     68 moveq 31,r4
     69 asr.d r4,r3
     70 test_move_cc 1 0 0 0
     71 checkr3 ffffffff
     72
     73 moveq -1,r3
     74 moveq 15,r4
     75 asr.d r4,r3
     76 test_move_cc 1 0 0 0
     77 checkr3 ffffffff
     78
     79 move.d 0x5a67f19f,r3
     80 moveq 12,r4
     81 asr.d r4,r3
     82 test_move_cc 0 0 0 0
     83 checkr3 5a67f
     84
     85 move.d 0xda67f19f,r3
     86 move.d 31,r4
     87 asr.w r4,r3
     88 test_move_cc 1 0 0 0
     89 checkr3 da67ffff
     90
     91 move.d 0xda67f19f,r3
     92 move.d 32,r4
     93 asr.w r4,r3
     94 test_move_cc 1 0 0 0
     95 checkr3 da67ffff
     96
     97 move.d 0xda67f19f,r3
     98 move.d 33,r4
     99 asr.w r4,r3
    100 test_move_cc 1 0 0 0
    101 checkr3 da67ffff
    102
    103 move.d 0xda67f19f,r3
    104 move.d 66,r4
    105 asr.w r4,r3
    106 test_move_cc 1 0 0 0
    107 checkr3 da67fc67
    108
    109 moveq -1,r3
    110 moveq 0,r4
    111 asr.w r4,r3
    112 test_move_cc 1 0 0 0
    113 checkr3 ffffffff
    114
    115 moveq -1,r3
    116 moveq 1,r4
    117 asr.w r4,r3
    118 test_move_cc 1 0 0 0
    119 checkr3 ffffffff
    120
    121 moveq 2,r3
    122 moveq 1,r4
    123 asr.w r4,r3
    124 test_move_cc 0 0 0 0
    125 checkr3 1
    126
    127 moveq -1,r3
    128 moveq 31,r4
    129 asr.w r4,r3
    130 test_move_cc 1 0 0 0
    131 checkr3 ffffffff
    132
    133 moveq -1,r3
    134 moveq 15,r4
    135 asr.w r4,r3
    136 test_move_cc 1 0 0 0
    137 checkr3 ffffffff
    138
    139 move.d 0x5a67719f,r3
    140 moveq 12,r4
    141 asr.w r4,r3
    142 test_move_cc 0 0 0 0
    143 checkr3 5a670007
    144
    145 move.d 0xda67f19f,r3
    146 move.d 31,r4
    147 asr.b r4,r3
    148 test_move_cc 1 0 0 0
    149 checkr3 da67f1ff
    150
    151 move.d 0xda67f19f,r3
    152 move.d 32,r4
    153 asr.b r4,r3
    154 test_move_cc 1 0 0 0
    155 checkr3 da67f1ff
    156
    157 move.d 0xda67f19f,r3
    158 move.d 33,r4
    159 asr.b r4,r3
    160 test_move_cc 1 0 0 0
    161 checkr3 da67f1ff
    162
    163 move.d 0xda67f19f,r3
    164 move.d 66,r4
    165 asr.b r4,r3
    166 test_move_cc 1 0 0 0
    167 checkr3 da67f1e7
    168
    169 moveq -1,r3
    170 moveq 0,r4
    171 asr.b r4,r3
    172 test_move_cc 1 0 0 0
    173 checkr3 ffffffff
    174
    175 moveq -1,r3
    176 moveq 1,r4
    177 asr.b r4,r3
    178 test_move_cc 1 0 0 0
    179 checkr3 ffffffff
    180
    181 moveq 2,r3
    182 moveq 1,r4
    183 asr.b r4,r3
    184 test_move_cc 0 0 0 0
    185 checkr3 1
    186
    187 moveq -1,r3
    188 moveq 31,r4
    189 asr.b r4,r3
    190 test_move_cc 1 0 0 0
    191 checkr3 ffffffff
    192
    193 moveq -1,r3
    194 moveq 15,r4
    195 asr.b r4,r3
    196 test_move_cc 1 0 0 0
    197 checkr3 ffffffff
    198
    199 moveq -1,r3
    200 moveq 7,r4
    201 asr.b r4,r3
    202 test_move_cc 1 0 0 0
    203 checkr3 ffffffff
    204
    205; FIXME: was wrong.
    206 move.d 0x5a67f19f,r3
    207 moveq 12,r4
    208 asr.b r4,r3
    209 test_move_cc 1 0 0 0
    210 checkr3 5a67f1ff
    211
    212; FIXME: was wrong.
    213 move.d 0x5a67f19f,r3
    214 moveq 4,r4
    215 asr.b r4,r3
    216 test_move_cc 1 0 0 0
    217 checkr3 5a67f1f9
    218
    219 move.d 0x5a67f19f,r3
    220 asrq 31,r3
    221 test_move_cc 0 1 0 0
    222 checkr3 0
    223
    224 move.d 0x5a67419f,r3
    225 moveq 16,r4
    226 asr.w r4,r3
    227 test_move_cc 0 1 0 0
    228 checkr3 5a670000
    229
    230 quit