Upload Tizen:Base source
[external/gdb.git] / sim / testsuite / d10v-elf / t-mvtc.s
1 .include "t-macros.i"
2
3         start
4
5 ;;; Try out each bit in the PSW
6
7         loadpsw2 PSW_SM
8         checkpsw2 1 PSW_SM
9
10         loadpsw2 PSW_01
11         checkpsw2 2 0 ;; PSW_01
12
13         loadpsw2 PSW_EA
14         checkpsw2 3 PSW_EA
15
16         loadpsw2 PSW_DB
17         checkpsw2 4 PSW_DB
18
19         loadpsw2 PSW_DM
20         checkpsw2 5 0 ;; PSW_DM
21
22         loadpsw2 PSW_IE
23         checkpsw2 6 PSW_IE
24
25         loadpsw2 PSW_RP
26         checkpsw2 7 PSW_RP
27
28         loadpsw2 PSW_MD
29         checkpsw2 8 PSW_MD
30
31         loadpsw2 PSW_FX|PSW_ST
32         checkpsw2 9 PSW_FX|PSW_ST
33
34         ;; loadpsw2 PSW_ST
35         ;; checkpsw2 10 
36
37         loadpsw2 PSW_10
38         checkpsw2 11 0 ;; PSW_10
39
40         loadpsw2 PSW_11
41         checkpsw2 12 0 ;; PSW_11
42
43         loadpsw2 PSW_F0
44         checkpsw2 13 PSW_F0
45
46         loadpsw2 PSW_F1
47         checkpsw2 14 PSW_F1
48
49         loadpsw2 PSW_14
50         checkpsw2 15 0 ;; PSW_14
51
52         loadpsw2 PSW_C
53         checkpsw2 16 PSW_C
54
55
56 ;;; Check that bit 0 (LSB) of the MOD_E & MOD_S registers are stuck at ZERO.
57
58         ldi     r6, #0xdead
59         mvtc    r6, cr10
60         ldi     r6, #0xbeef
61         mvtc    r6, cr11
62         
63         mvfc    r7, cr10
64         check 17 r7 0xdeac
65         mvfc    r7, cr11
66         check 18 r7 0xbeee
67
68 ;;; Check that certain bits of the PSW, DPSW and BPSW are hardwired to zero
69
70 psw_ffff:
71         ldi     r6, 0xffff
72         mvtc    r6, psw
73         mvfc    r7, psw
74         check 18 r7 0xb7cd
75
76 bpsw_ffff:
77         ldi     r6, 0xffff
78         mvtc    r6, bpsw
79         mvfc    r7, bpsw
80         check 18 r7 0xb7cd
81
82 dpsw_ffff:
83         ldi     r6, 0xffff
84         mvtc    r6, dpsw
85         mvfc    r7, dpsw
86         check 18 r7 0xb7cd
87
88 ;;; Another check. Very similar
89
90 psw_dfff:
91         ldi     r6, 0xdfff
92         mvtc    r6, psw
93         mvfc    r7, psw
94         check 18 r7 0x97cd
95
96 bpsw_dfff:
97         ldi     r6, 0xdfff
98         mvtc    r6, bpsw
99         mvfc    r7, bpsw
100         check 18 r7 0x97cd
101
102 dpsw_dfff:
103         ldi     r6, 0xdfff
104         mvtc    r6, dpsw
105         mvfc    r7, dpsw
106         check 18 r7 0x97cd
107
108 ;;; And again.
109
110 psw_8005:
111         ldi     r6, 0x8005
112         mvtc    r6, psw
113         mvfc    r7, psw
114         check 18 r7 0x8005
115
116 bpsw_8005:
117         ldi     r6, 0x8005
118         mvtc    r6, bpsw
119         mvfc    r7, bpsw
120         check 18 r7 0x8005
121
122 dpsw_8005:
123         ldi     r6, 0x8005
124         mvtc    r6, dpsw
125         mvfc    r7, dpsw
126         check 18 r7 0x8005
127
128
129         exit0