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