tizen 2.4 release
[external/binutils.git] / gas / testsuite / gas / msp430 / msp430x.s
1         .text
2         .global foo
3 foo:
4         adc     r4              ; MSP430 instruction for comparison purposes.
5
6         adcx    r4
7         adcx.a  bar
8         adcx.b  r6
9         adcx.w  r7
10
11         addcx   r8, r9
12         addcx.a #0x12345, r10
13         addcx.b r11, r12
14         addcx.w r13, r14
15         
16         ADDX    @R9, PC
17         ADDX    R9, PC
18         ADDX.A  #FE000h, PC
19         ADDX.A  &EDE, PC
20         ADDX.A  @R9+, PC
21         ADDX.A  EDE, PC
22         addx.b  r1, r2
23         addx.w  r3, r4
24         ADDX    K(R4), R5
25         
26         ANDX    #1234, 4(R6)
27         ANDX    4(R7), 4(R6)
28         ANDX    @R5+, 4(R6)
29         ANDX    EDE, 4(R6)
30         ANDX    EDE, TONI
31         ANDX.A  @R5, 4(R6)
32         ANDX.A  R5, 4(R6)
33         ANDX.B  &EDE, 4(R6)
34         andx.w  r1, r2
35         
36         bicx    #0xa0, r14
37         bicx.a  #0xa0, r14
38         bicx.b  #0xa0, r14
39         bicx.w  #0xa0, r14
40         
41         bisx    #8, r11
42         bisx.a  #8, r11
43         bisx.b  #8, r11
44         bisx.w  #8, r11
45         
46         BITX    #20, R8
47         BITX    &EDE, &TONI
48         BITX    &EDE, R8
49         BITX    2(R5), R8
50         BITX    8(SP), &EDE
51         BITX    @R5+, &EDE
52         BITX    @R5+, R8
53         BITX    @R5, R8
54         BITX    EDE, &TONI
55         BITX.B  #12, &EDE
56         BITX.B  @R5, &EDE
57         BITX.B  EDE, R8
58         BITX.B  R5, R8
59         BITX.W  R5, &EDE
60         
61         clrx    TONI
62         clrx.a  fooz
63         clrx.b  bar
64         clrx.w  baz
65
66         cmpx    #0, r15
67         cmpx.a  #01800h, ede
68         cmpx.b  @r1, r15
69         cmpx.w  @r2+, &pin
70         
71         dadcx   fooz
72         dadcx.a 0(r12)
73         dadcx.b bar
74         dadcx.w r12
75
76         daddx   @r5, r7
77         daddx.a #10h, &decdr
78         daddx.b 2(r6), r4
79         daddx.w bcd, r4
80
81         decx    toni
82         decx.a  fooz
83         decx.b  bar
84         decx.w  fred
85         
86         decdx   toni
87         decdx.a fooz
88         decdx.b bar
89         decdx.w fred
90
91         incx    r4
92         incx.a  r5
93         incx.b  r6
94         incx.w  r7
95         
96         incdx   r8
97         incdx.a r9
98         incdx.b r10
99         incdx.w r11
100
101         invx    r12
102         invx.a  LEO
103         invx.b  r14
104         invx.w  r15
105
106         movx    #foo, r4
107         movx.a  #foo, r5
108         movx.b  #foo, r6
109         movx.w  #foo, r7
110         MOVX    &X, R5
111         MOVX    #X, R5
112         MOVX    R5, &Y
113         MOVX    #0xabcde, &Y
114         MOVX    &X, &Y
115         MOVX    #X, &Y
116         MOVX    X, R5
117         MOVX    R5, Y
118         MOVX    #0xabcde, Y
119         MOVX    X, Y
120
121         sbcx    r15
122         sbcx.a  012345h
123         sbcx.b  r15
124         sbcx.w  0(r7)
125         
126         subcx   r15, r15
127         subcx.a #012345h, r15
128         subcx.b r15, r15
129         subcx.w @r5+, 0(r7)
130
131         SUBX    2(R6), PC
132         SUBX.A  #4455, ede
133         SUBX.B  2(R6), PC
134         SUBX.W  2(R6), PC
135
136         tstx    LEO
137         tstx.a  foo
138         tstx.b  bar
139         tstx.w  baz
140
141         XORX    #5A5Ah, EDE
142         XORX    &EDE, TONI
143         XORX    @R8, EDE
144         XORX    R8, EDE
145         XORX.B  2(R6), EDE
146         XORX.B  @R8+, EDE
147         xorx.a  toni, &cntr
148         xorx.w  @r5, r6
149         xorx.a  #12345, 0x45678h(r15)
150
151         adda    #0x12345, r7
152         adda    r6, r14
153
154         bra     #bar
155         bra     #011044H
156         bra     r5
157         bra     &ede
158         bra     @r5
159         bra     @r5+
160         bra     0x9876(r5)
161
162         calla   r5
163         calla   0x1234(r6)
164         calla   @r7
165         calla   @r8+
166         calla   &foo
167         calla   bar
168         calla   #011004h
169
170         clra    r6
171
172         cmpa    r1, r2
173         cmpa    #0xfedcb, r3
174
175         decda   r5
176         incda   r5
177
178         mova    R9,R8
179         MOVA    #12345h,R12
180         MOVA    100h(R9),R8
181         MOVA    &EDE,R12
182         MOVA    @R9,R8
183         MOVA    @R9+,R8
184         MOVA    R8,100h(R9)
185         MOVA    R13,&EDE
186
187         reta
188         reti
189
190         suba    r5, r6
191         suba    #0xfffff, r6
192
193         tsta    fooz
194
195         popm    #1, r5
196         popm.a  #3, r15
197         popm.w  #8, r12
198
199         popx    r10
200         popx.a  r10
201         popx.b  r10
202         popx.w  r10
203
204         pushm   #1, r9
205         pushm.a #2, r9
206         pushm.w #3, r9
207
208         pushx   r8
209         pushx.a r8
210         pushx.b &ede
211         pushx.w r8
212
213         rlam    #1, r15
214         rlam.a  #2, r15
215         rlam.w  #3, r15
216
217         rlax    r6
218         rlax.a  r6
219         rlax.w  r6
220
221         rlcx    r6
222         rlcx.a  r6
223         rlcx.w  r6
224         
225         rram    #1, r6
226         rram.a  #4, r6
227         rram.w  #2, r6
228
229         rrax    r11
230         rrax.a  r11
231         rrax.w  r11
232         
233         rrcm    #4, r5
234         rrcm.a  #1, r5
235         rrcm.w  #3, r5
236
237         rrcx    r13
238         rrcx.a  r13
239         rrcx.w  r13
240
241         rrum    #3, r4
242         rrum.a  #2, r4
243         rrum.w  #1, r4
244
245         rrux    r4
246         rrux.a  r7
247         rrux.b  r5
248         rrux.w  r6
249
250         swpbx   r1
251         swpbx.a ede
252         swpbx.w r12
253
254         sxtx    r2
255         sxtx.a  &ede
256         sxtx.w  r2
257
258         rpt     #5
259         rrax.a  r5
260         rpt     r5
261         rrax.a  r5
262
263         ;; The following are all aliases for similarly named instructions
264         ;; without the period.  Eg: add.a -> adda
265         add.a   r1, r2
266         br.a    r1
267         call.a  r1
268         clr.a   r1
269         cmp.a   r1, r2
270         decd.a  r1
271         incd.a  r1
272         mov.a   r1, r2
273         ret.a
274         sub.a   r1, r2
275         tst.a   fooz
276         
277