qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

check_lsr.s (3308B)


      1 # mach: crisv0 crisv3 crisv8 crisv10 crisv32
      2 # output: ffffffff\n1\n1\n1ffff\n5a67f\n1\n0\n0\n3699fc67\nffffffff\n1\n1\n1ffff\n5a67f\nda670000\nda670000\nda670000\nda673c67\nffffffff\nffff7fff\n1\nffff0000\nffff0001\n5a67000f\nda67f100\nda67f100\nda67f100\nda67f127\nffffffff\nffffff7f\n1\nffffff00\nffffff00\nffffff01\n5a67f100\n5a67f109\n
      3 
      4  .include "testutils.inc"
      5  start
      6  moveq -1,r3
      7  lsrq 0,r3
      8  test_move_cc 1 0 0 0
      9  checkr3 ffffffff
     10 
     11  moveq 2,r3
     12  lsrq 1,r3
     13  test_move_cc 0 0 0 0
     14  checkr3 1
     15 
     16  moveq -1,r3
     17  lsrq 31,r3
     18  test_move_cc 0 0 0 0
     19  checkr3 1
     20 
     21  moveq -1,r3
     22  lsrq 15,r3
     23  test_move_cc 0 0 0 0
     24  checkr3 1ffff
     25 
     26  move.d 0x5a67f19f,r3
     27  lsrq 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  lsr.d r4,r3
     34  test_move_cc 0 0 0 0
     35  checkr3 1
     36 
     37  move.d 0xda67f19f,r3
     38  move.d 32,r4
     39  lsr.d r4,r3
     40  test_move_cc 0 1 0 0
     41  checkr3 0
     42 
     43  move.d 0xda67f19f,r3
     44  move.d 33,r4
     45  lsr.d r4,r3
     46  test_move_cc 0 1 0 0
     47  checkr3 0
     48 
     49  move.d 0xda67f19f,r3
     50  move.d 66,r4
     51  lsr.d r4,r3
     52  test_move_cc 0 0 0 0
     53  checkr3 3699fc67
     54 
     55  moveq -1,r3
     56  moveq 0,r4
     57  lsr.d r4,r3
     58  test_move_cc 1 0 0 0
     59  checkr3 ffffffff
     60 
     61  moveq 2,r3
     62  moveq 1,r4
     63  lsr.d r4,r3
     64  test_move_cc 0 0 0 0
     65  checkr3 1
     66 
     67  moveq -1,r3
     68  moveq 31,r4
     69  lsr.d r4,r3
     70  test_move_cc 0 0 0 0
     71  checkr3 1
     72 
     73  moveq -1,r3
     74  moveq 15,r4
     75  lsr.d r4,r3
     76  test_move_cc 0 0 0 0
     77  checkr3 1ffff
     78 
     79  move.d 0x5a67f19f,r3
     80  moveq 12,r4
     81  lsr.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  lsr.w r4,r3
     88  test_move_cc 0 1 0 0
     89  checkr3 da670000
     90 
     91  move.d 0xda67f19f,r3
     92  move.d 32,r4
     93  lsr.w r4,r3
     94  test_move_cc 0 1 0 0
     95  checkr3 da670000
     96 
     97  move.d 0xda67f19f,r3
     98  move.d 33,r4
     99  lsr.w r4,r3
    100  test_move_cc 0 1 0 0
    101  checkr3 da670000
    102 
    103  move.d 0xda67f19f,r3
    104  move.d 66,r4
    105  lsr.w r4,r3
    106  test_move_cc 0 0 0 0
    107  checkr3 da673c67
    108 
    109  moveq -1,r3
    110  moveq 0,r4
    111  lsr.w r4,r3
    112  test_move_cc 1 0 0 0
    113  checkr3 ffffffff
    114 
    115  moveq -1,r3
    116  moveq 1,r4
    117  lsr.w r4,r3
    118  test_move_cc 0 0 0 0
    119  checkr3 ffff7fff
    120 
    121  moveq 2,r3
    122  moveq 1,r4
    123  lsr.w r4,r3
    124  test_move_cc 0 0 0 0
    125  checkr3 1
    126 
    127 ;; FIXME: this was wrong. Z should be set.
    128  moveq -1,r3
    129  moveq 31,r4
    130  lsr.w r4,r3
    131  test_move_cc 0 1 0 0
    132  checkr3 ffff0000
    133 
    134  moveq -1,r3
    135  moveq 15,r4
    136  lsr.w r4,r3
    137  test_move_cc 0 0 0 0
    138  checkr3 ffff0001
    139 
    140  move.d 0x5a67f19f,r3
    141  moveq 12,r4
    142  lsr.w r4,r3
    143  test_move_cc 0 0 0 0
    144  checkr3 5a67000f
    145 
    146  move.d 0xda67f19f,r3
    147  move.d 31,r4
    148  lsr.b r4,r3
    149  test_move_cc 0 1 0 0
    150  checkr3 da67f100
    151 
    152  move.d 0xda67f19f,r3
    153  move.d 32,r4
    154  lsr.b r4,r3
    155  test_move_cc 0 1 0 0
    156  checkr3 da67f100
    157 
    158  move.d 0xda67f19f,r3
    159  move.d 33,r4
    160  lsr.b r4,r3
    161  test_move_cc 0 1 0 0
    162  checkr3 da67f100
    163 
    164  move.d 0xda67f19f,r3
    165  move.d 66,r4
    166  lsr.b r4,r3
    167  test_move_cc 0 0 0 0
    168  checkr3 da67f127
    169 
    170  moveq -1,r3
    171  moveq 0,r4
    172  lsr.b r4,r3
    173  test_move_cc 1 0 0 0
    174  checkr3 ffffffff
    175 
    176  moveq -1,r3
    177  moveq 1,r4
    178  lsr.b r4,r3
    179  test_move_cc 0 0 0 0
    180  checkr3 ffffff7f
    181 
    182  moveq 2,r3
    183  moveq 1,r4
    184  lsr.b r4,r3
    185  test_move_cc 0 0 0 0
    186  checkr3 1
    187 
    188  moveq -1,r3
    189  moveq 31,r4
    190  lsr.b r4,r3
    191  test_move_cc 0 1 0 0
    192  checkr3 ffffff00
    193 
    194  moveq -1,r3
    195  moveq 15,r4
    196  lsr.b r4,r3
    197  test_move_cc 0 1 0 0
    198  checkr3 ffffff00
    199 
    200  moveq -1,r3
    201  moveq 7,r4
    202  lsr.b r4,r3
    203  test_move_cc 0 0 0 0
    204  checkr3 ffffff01
    205 
    206  move.d 0x5a67f19f,r3
    207  moveq 12,r4
    208  lsr.b r4,r3
    209  test_move_cc 0 1 0 0
    210  checkr3 5a67f100
    211 
    212  move.d 0x5a67f19f,r3
    213  moveq 4,r4
    214  lsr.b r4,r3
    215  test_move_cc 0 0 0 0
    216  checkr3 5a67f109
    217 
    218  quit