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_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