OSDN Git Service

Initial revision
[pf3gnuchains/pf3gnuchains4x.git] / sim / testsuite / sim / fr30 / subc.cgs
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