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; A write that works.  Check that flags are set correspondingly.
11 move.d d,r4
12 moveq -2,r5
13 setf c
14 clearf p
15 move.d [r4],r3
16 ax
17 move.d r5,[r4]
18 move.d [r4],r3
19
20 bcc 0f
21 nop
22 fail
23
240:
25 dumpr3 ; fffffffe
26
27; A write that fails; check flags too.
28 move.d d,r4
29 moveq 23,r5
30 setf p
31 clearf c
32 move.d [r4],r3
33 ax
34 move.d r5,[r4]
35 move.d [r4],r3
36
37 bcs 0f
38 nop
39 fail
40
410:
42 dumpr3 ; fffffffe
43 quit
44
45 .data
46d:
47 .dword 42424242
48