File: msp430x.s

package info (click to toggle)
binutils-avr 2.26.20160125%2BAtmel3.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 365,552 kB
  • sloc: ansic: 2,480,046; asm: 892,807; exp: 188,218; cpp: 133,829; makefile: 63,886; sh: 32,212; yacc: 26,783; lisp: 16,709; xml: 7,490; perl: 6,449; python: 4,555; ada: 4,318; pascal: 3,174; lex: 2,250; cs: 879; sed: 334; f90: 298; awk: 168; objc: 134; java: 73; fortran: 43
file content (277 lines) | stat: -rw-r--r-- 3,460 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
	.text
	.global foo
foo:
	adc	r4		; MSP430 instruction for comparison purposes.

	adcx	r4
	adcx.a	bar
	adcx.b	r6
	adcx.w	r7

	addcx	r8, r9
	addcx.a	#0x12345, r10
	addcx.b	r11, r12
	addcx.w	r13, r14
	
	ADDX    @R9, PC
	ADDX    R9, PC
	ADDX.A  #FE000h, PC
	ADDX.A  &EDE, PC
	ADDX.A  @R9+, PC
	ADDX.A  EDE, PC
	addx.b	r1, r2
	addx.w	r3, r4
	ADDX    K(R4), R5
	
	ANDX    #1234, 4(R6)
	ANDX    4(R7), 4(R6)
	ANDX    @R5+, 4(R6)
	ANDX    EDE, 4(R6)
	ANDX    EDE, TONI
	ANDX.A  @R5, 4(R6)
	ANDX.A  R5, 4(R6)
	ANDX.B  &EDE, 4(R6)
	andx.w	r1, r2
	
	bicx	#0xa0, r14
	bicx.a	#0xa0, r14
	bicx.b	#0xa0, r14
	bicx.w	#0xa0, r14
	
	bisx	#8, r11
	bisx.a	#8, r11
	bisx.b	#8, r11
	bisx.w	#8, r11
	
	BITX    #20, R8
	BITX    &EDE, &TONI
	BITX    &EDE, R8
	BITX    2(R5), R8
	BITX    8(SP), &EDE
	BITX    @R5+, &EDE
	BITX    @R5+, R8
	BITX    @R5, R8
	BITX    EDE, &TONI
	BITX.B  #12, &EDE
	BITX.B  @R5, &EDE
	BITX.B  EDE, R8
	BITX.B  R5, R8
	BITX.W  R5, &EDE
	
	clrx	TONI
	clrx.a	fooz
	clrx.b	bar
	clrx.w	baz

	cmpx	#0, r15
	cmpx.a	#01800h, ede
	cmpx.b	@r1, r15
	cmpx.w	@r2+, &pin
	
	dadcx	fooz
	dadcx.a 0(r12)
	dadcx.b	bar
	dadcx.w r12

	daddx	@r5, r7
	daddx.a	#10h, &decdr
	daddx.b 2(r6), r4
	daddx.w bcd, r4

	decx	toni
	decx.a	fooz
	decx.b	bar
	decx.w	fred
	
	decdx	toni
	decdx.a	fooz
	decdx.b	bar
	decdx.w	fred

	incx	r4
	incx.a	r5
	incx.b	r6
	incx.w	r7
	
	incdx	r8
	incdx.a	r9
	incdx.b	r10
	incdx.w	r11

	invx	r12
	invx.a	LEO
	invx.b	r14
	invx.w	r15

	movx	#foo, r4
	movx.a	#foo, r5
	movx.b	#foo, r6
	movx.w	#foo, r7
	MOVX    &X, R5
	MOVX    #X, R5
	MOVX    R5, &Y
	MOVX    #0xabcde, &Y
	MOVX    &X, &Y
	MOVX    #X, &Y
	MOVX    X, R5
	MOVX    R5, Y
	MOVX    #0xabcde, Y
	MOVX    X, Y

	sbcx	r15
	sbcx.a	012345h
	sbcx.b	r15
	sbcx.w	0(r7)
	
	subcx	r15, r15
	subcx.a	#012345h, r15
	subcx.b	r15, r15
	subcx.w	@r5+, 0(r7)

	SUBX    2(R6), PC
	SUBX.A  #4455, ede
	SUBX.B  2(R6), PC
	SUBX.W  2(R6), PC

	tstx	LEO
	tstx.a	foo
	tstx.b	bar
	tstx.w	baz

	XORX    #5A5Ah, EDE
	XORX    &EDE, TONI
	XORX    @R8, EDE
	XORX    R8, EDE
	XORX.B  2(R6), EDE
	XORX.B  @R8+, EDE
	xorx.a	toni, &cntr
	xorx.w	@r5, r6
	xorx.a	#12345, 0x45678h(r15)

	adda	#0x12345, r7
	adda	r6, r14

	bra	#bar
	bra	#011044H
	bra	r5
	bra	&ede
	bra	@r5
	bra	@r5+
	bra	0x9876(r5)

	calla	r5
	calla	0x1234(r6)
	calla	@r7
	calla	@r8+
	calla	&foo
	calla	bar
	calla	#011004h

	clra	r6

	cmpa	r1, r2
	cmpa	#0xfedcb, r3

	decda	r5
	incda	r5

	mova 	R9,R8
	MOVA 	#12345h,R12
	MOVA	100h(R9),R8
	MOVA	&EDE,R12
	MOVA	@R9,R8
	MOVA	@R9+,R8
	MOVA	R8,100h(R9)
	MOVA	R13,&EDE

	reta
	reti

	suba	r5, r6
	suba	#0xfffff, r6

	tsta	fooz

	popm	#1, r5
	popm.a	#3, r15
	popm.w	#8, r12

	popx	r10
	popx.a	r10
	popx.b	r10
	popx.w	r10

	pushm	#1, r9
	pushm.a	#2, r9
	pushm.w	#3, r9

	pushx	r8
	pushx.a	r8
	pushx.b	&ede
	pushx.w	r8

	rlam	#1, r15
	rlam.a	#2, r15
	rlam.w	#3, r15

	rlax	r6
	rlax.a	r6
	rlax.w	r6

	rlcx	r6
	rlcx.a	r6
	rlcx.w	r6
	
	rram	#1, r6
	rram.a	#4, r6
	rram.w	#2, r6

	rrax	r11
	rrax.a	r11
	rrax.w	r11
	
	rrcm	#4, r5
	rrcm.a	#1, r5
	rrcm.w	#3, r5

	rrcx	r13
	rrcx.a	r13
	rrcx.w	r13

	rrum	#3, r4
	rrum.a	#2, r4
	rrum.w	#1, r4

	rrux	r4
	rrux.a	r7
	rrux.b	r5
	rrux.w	r6

	swpbx	r1
	swpbx.a	ede
	swpbx.w	r12

	sxtx	r2
	sxtx.a	&ede
	sxtx.w	r2

	rpt	#5
	rrax.a	r5
	rpt	r5
	rrax.a	r5

	;; The following are all aliases for similarly named instructions
	;; without the period.  Eg: add.a -> adda
	add.a	r1, r2
	br.a	r1
	call.a	r1
	clr.a	r1
	cmp.a	r1, r2
	decd.a	r1
	incd.a	r1
	mov.a	r1, r2
	ret.a
	sub.a	r1, r2
	tst.a	fooz