| # mach: crisv32 | 
 | # output: fffffffe\n | 
 | # output: fffffffe\n | 
 |  | 
 | ; Check basic integral-write semantics regarding flags. | 
 |  | 
 |  .include "testutils.inc" | 
 |  start | 
 |  | 
 |  move.d 0, $r3	 | 
 | ; A write that works.  Check that flags are set correspondingly. | 
 |  move.d d,r4 | 
 |  ;; store to bring it into the tlb with the right prot bits | 
 |  move.d r3,[r4] | 
 |  moveq -2,r5 | 
 |  setf c | 
 |  clearf p | 
 |  move.d [r4],r3 | 
 |  ax | 
 |  move.d r5,[r4] | 
 |  move.d [r4],r3 | 
 |  | 
 |  bcc 0f | 
 |  nop | 
 |  fail | 
 |  | 
 | 0: | 
 |  checkr3 fffffffe | 
 |  | 
 | ; A write that fails; check flags too. | 
 |  move.d d,r4 | 
 |  moveq 23,r5 | 
 |  setf p | 
 |  clearf c | 
 |  move.d [r4],r3 | 
 |  ax | 
 |  move.d r5,[r4] | 
 |  move.d [r4],r3 | 
 |  | 
 |  bcs 0f | 
 |  nop | 
 |  fail | 
 |  | 
 | 0: | 
 |  checkr3 fffffffe | 
 |  quit | 
 |  | 
 |  .data | 
 | d: | 
 |  .dword 42424242 |