qemu

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

check_movei.s (657B)


      1 # mach: crisv32
      2 # output: fffffffe\n
      3 # output: fffffffe\n
      4 
      5 ; Check basic integral-write semantics regarding flags.
      6 
      7  .include "testutils.inc"
      8  start
      9 
     10  move.d 0, $r3	
     11 ; A write that works.  Check that flags are set correspondingly.
     12  move.d d,r4
     13  ;; store to bring it into the tlb with the right prot bits
     14  move.d r3,[r4]
     15  moveq -2,r5
     16  setf c
     17  clearf p
     18  move.d [r4],r3
     19  ax
     20  move.d r5,[r4]
     21  move.d [r4],r3
     22 
     23  bcc 0f
     24  nop
     25  fail
     26 
     27 0:
     28  checkr3 fffffffe
     29 
     30 ; A write that fails; check flags too.
     31  move.d d,r4
     32  moveq 23,r5
     33  setf p
     34  clearf c
     35  move.d [r4],r3
     36  ax
     37  move.d r5,[r4]
     38  move.d [r4],r3
     39 
     40  bcs 0f
     41  nop
     42  fail
     43 
     44 0:
     45  checkr3 fffffffe
     46  quit
     47 
     48  .data
     49 d:
     50  .dword 42424242