]>
Commit | Line | Data |
---|---|---|
c906108c SS |
1 | # fr30 testcase for subc $Rj,$Ri |
2 | # mach(): fr30 | |
3 | ||
4 | .include "testutils.inc" | |
5 | ||
6 | START | |
7 | ||
8 | .text | |
9 | .global subc | |
10 | subc: | |
11 | ; Test subc $Rj,$Ri | |
12 | mvi_h_gr 1,r7 | |
13 | mvi_h_gr 2,r8 | |
14 | set_cc 0x0e ; Make sure carry is off | |
15 | subc r7,r8 | |
16 | test_cc 0 0 0 0 | |
17 | test_h_gr 1,r8 | |
18 | ||
19 | mvi_h_gr 1,r7 | |
20 | mvi_h_gr 0x80000000,r8 | |
21 | set_cc 0x0c ; Make sure carry is off | |
22 | subc r7,r8 | |
23 | test_cc 0 0 1 0 | |
24 | test_h_gr 0x7fffffff,r8 | |
25 | ||
26 | set_cc 0x0a ; Make sure carry is off | |
27 | subc r8,r8 | |
28 | test_cc 0 1 0 0 | |
29 | test_h_gr 0,r8 | |
30 | ||
31 | set_cc 0x06 ; Make sure carry is off | |
32 | subc r7,r8 | |
33 | test_cc 1 0 0 1 | |
34 | test_h_gr 0xffffffff,r8 | |
35 | ||
36 | mvi_h_gr 1,r7 | |
37 | mvi_h_gr 3,r8 | |
38 | set_cc 0x0f ; Make sure carry is on | |
39 | subc r7,r8 | |
40 | test_cc 0 0 0 0 | |
41 | test_h_gr 1,r8 | |
42 | ||
43 | mvi_h_gr 0,r7 | |
44 | mvi_h_gr 0x80000000,r8 | |
45 | set_cc 0x0d ; Make sure carry is on | |
46 | subc r7,r8 | |
47 | test_cc 0 0 1 0 | |
48 | test_h_gr 0x7fffffff,r8 | |
49 | ||
50 | mvi_h_gr 0x7ffffffe,r7 | |
51 | set_cc 0x0b ; Make sure carry is on | |
52 | subc r7,r8 | |
53 | test_cc 0 1 0 0 | |
54 | test_h_gr 0,r8 | |
55 | ||
56 | mvi_h_gr 0,r7 | |
57 | set_cc 0x07 ; Make sure carry is on | |
58 | subc r7,r8 | |
59 | test_cc 1 0 0 1 | |
60 | test_h_gr 0xffffffff,r8 | |
61 | ||
62 | pass |