qemu

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

check_btst.s (1271B)


      1 # mach: crisv0 crisv3 crisv8 crisv10 crisv32
      2 # output: 1111\n
      3 
      4  .include "testutils.inc"
      5  start
      6  clearf nzvc
      7  moveq -1,r3
      8  .if 1 ;..asm.arch.cris.v32
      9  .else
     10  setf vc
     11  .endif
     12  btstq 0,r3
     13  test_cc 1 0 0 0
     14 
     15  moveq 2,r3
     16  btstq 1,r3
     17  test_cc 1 0 0 0
     18 
     19  moveq 4,r3
     20  btstq 1,r3
     21  test_cc 0 1 0 0
     22 
     23  moveq -1,r3
     24  btstq 31,r3
     25  test_cc 1 0 0 0
     26 
     27  move.d 0x5a67f19f,r3
     28  btstq 12,r3
     29  test_cc 1 0 0 0
     30 
     31  move.d 0xda67f19f,r3
     32  move.d 29,r4
     33  btst r4,r3
     34  test_cc 0 0 0 0
     35 
     36  move.d 0xda67f19f,r3
     37  move.d 32,r4
     38  btst r4,r3
     39  test_cc 1 0 0 0
     40 
     41  move.d 0xda67f191,r3
     42  move.d 33,r4
     43  btst r4,r3
     44  test_cc 0 0 0 0
     45 
     46  moveq -1,r3
     47  moveq 0,r4
     48  btst r4,r3
     49  test_cc 1 0 0 0
     50 
     51  moveq 2,r3
     52  moveq 1,r4
     53  btst r4,r3
     54  test_cc 1 0 0 0
     55 
     56  moveq -1,r3
     57  moveq 31,r4
     58  btst r4,r3
     59  test_cc 1 0 0 0
     60 
     61  moveq 4,r3
     62  btstq 1,r3
     63  test_cc 0 1 0 0
     64 
     65  moveq -1,r3
     66  moveq 15,r4
     67  btst r4,r3
     68  test_cc 1 0 0 0
     69 
     70  move.d 0x5a67f19f,r3
     71  moveq 12,r4
     72  btst r4,r3
     73  test_cc 1 0 0 0
     74 
     75  move.d 0x5a678000,r3
     76  moveq 11,r4
     77  btst r4,r3
     78  test_cc 0 1 0 0
     79 
     80  move.d 0x5a67f19f,r3
     81  btst r3,r3
     82  test_cc 0 0 0 0
     83 
     84  move.d 0x1111,r3
     85  checkr3 1111
     86 
     87  ; check that X gets cleared and that only the NZ flags are touched.
     88  ;; move.d	0xff, $r0
     89  ;; move $r0, $ccs
     90  ;; btst r3,r3
     91  ;; move $ccs, $r0
     92  ;; and.d 0xff, $r0
     93  ;; cmp.d	0xe3, $r0
     94  ;; test_cc 0 1 0 0
     95 
     96  quit