📄 spi_2dpj_master.lst
字号:
1 .file "spi_2dpj_master.c"
2 .arch atmega16
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global disp
20 disp:
21 .LFB7:
22 .LM1:
23 /* prologue: frame size=1 */
24 0000 CF93 push r28
25 0002 DF93 push r29
26 0004 CDB7 in r28,__SP_L__
27 0006 DEB7 in r29,__SP_H__
28 0008 2197 sbiw r28,1
29 000a 0FB6 in __tmp_reg__,__SREG__
30 000c F894 cli
31 000e DEBF out __SP_H__,r29
32 0010 0FBE out __SREG__,__tmp_reg__
33 0012 CDBF out __SP_L__,r28
34 /* prologue end (size=10) */
35 0014 8983 std Y+1,r24
36 0016 8FEF ldi r24,lo8(-1)
37 0018 8093 3700 sts 55,r24
38 .LM2:
39 001c 8FEF ldi r24,lo8(-1)
40 001e 8093 3A00 sts 58,r24
41 .LM3:
42 0022 8091 3B00 lds r24,59
43 0026 8F7B andi r24,lo8(-65)
44 0028 8093 3B00 sts 59,r24
45 .LM4:
46 002c 8981 ldd r24,Y+1
47 002e 8093 3800 sts 56,r24
48 /* epilogue: frame size=1 */
49 0032 2196 adiw r28,1
50 0034 0FB6 in __tmp_reg__,__SREG__
51 0036 F894 cli
52 0038 DEBF out __SP_H__,r29
53 003a 0FBE out __SREG__,__tmp_reg__
54 003c CDBF out __SP_L__,r28
55 003e DF91 pop r29
56 0040 CF91 pop r28
57 0042 0895 ret
58 /* epilogue end (size=9) */
59 /* function disp size 34 (15) */
60 .LFE7:
62 .data
63 .LC0:
64 0000 C0 .byte -64
65 0001 F9 .byte -7
66 0002 A4 .byte -92
67 0003 B0 .byte -80
68 0004 99 .byte -103
69 0005 92 .byte -110
70 0006 82 .byte -126
71 0007 F8 .byte -8
72 0008 80 .byte -128
73 0009 90 .byte -112
74 .text
75 .global fill_tx_buffer
77 fill_tx_buffer:
78 .LFB8:
79 .LM5:
80 /* prologue: frame size=10 */
81 0044 CF93 push r28
82 0046 DF93 push r29
83 0048 CDB7 in r28,__SP_L__
84 004a DEB7 in r29,__SP_H__
85 004c 2A97 sbiw r28,10
86 004e 0FB6 in __tmp_reg__,__SREG__
87 0050 F894 cli
88 0052 DEBF out __SP_H__,r29
89 0054 0FBE out __SREG__,__tmp_reg__
90 0056 CDBF out __SP_L__,r28
91 /* prologue end (size=10) */
92 .LM6:
93 0058 8AE0 ldi r24,lo8(10)
94 005a DE01 movw r26,r28
95 005c 1196 adiw r26,1
96 005e E0E0 ldi r30,lo8(.LC0)
97 0060 F0E0 ldi r31,hi8(.LC0)
98 0062 0190 ld __tmp_reg__,Z+
99 0064 0D92 st X+,__tmp_reg__
100 0066 8A95 dec r24
101 0068 E1F7 brne .-8
102 /* epilogue: frame size=10 */
103 006a 2A96 adiw r28,10
104 006c 0FB6 in __tmp_reg__,__SREG__
105 006e F894 cli
106 0070 DEBF out __SP_H__,r29
107 0072 0FBE out __SREG__,__tmp_reg__
108 0074 CDBF out __SP_L__,r28
109 0076 DF91 pop r29
110 0078 CF91 pop r28
111 007a 0895 ret
112 /* epilogue end (size=9) */
113 /* function fill_tx_buffer size 28 (9) */
114 .LFE8:
116 .global read_rx_buffer
118 read_rx_buffer:
119 .LFB9:
120 .LM7:
121 /* prologue: frame size=0 */
122 007c CF93 push r28
123 007e DF93 push r29
124 0080 CDB7 in r28,__SP_L__
125 0082 DEB7 in r29,__SP_H__
126 /* prologue end (size=4) */
127 .LM8:
128 0084 8091 0000 lds r24,SPI_RxBuf+1
129 0088 803C cpi r24,lo8(-64)
130 008a 49F5 brne .L3
131 .LM9:
132 008c 8091 0000 lds r24,SPI_RxBuf+2
133 0090 893F cpi r24,lo8(-7)
134 0092 29F5 brne .L3
135 .LM10:
136 0094 8091 0000 lds r24,SPI_RxBuf+3
137 0098 843A cpi r24,lo8(-92)
138 009a 09F5 brne .L3
139 009c 8091 0000 lds r24,SPI_RxBuf+4
140 00a0 803B cpi r24,lo8(-80)
141 00a2 E9F4 brne .L3
142 .LM11:
143 00a4 8091 0000 lds r24,SPI_RxBuf+5
144 00a8 8939 cpi r24,lo8(-103)
145 00aa C9F4 brne .L3
146 00ac 8091 0000 lds r24,SPI_RxBuf+6
147 00b0 8239 cpi r24,lo8(-110)
148 00b2 A9F4 brne .L3
149 .LM12:
150 00b4 8091 0000 lds r24,SPI_RxBuf+7
151 00b8 8238 cpi r24,lo8(-126)
152 00ba 89F4 brne .L3
153 00bc 8091 0000 lds r24,SPI_RxBuf+8
154 00c0 883F cpi r24,lo8(-8)
155 00c2 69F4 brne .L3
156 .LM13:
157 00c4 8091 0000 lds r24,SPI_RxBuf+9
158 00c8 8038 cpi r24,lo8(-128)
159 00ca 49F4 brne .L3
160 00cc 8091 0000 lds r24,SPI_RxBuf+10
161 00d0 8039 cpi r24,lo8(-112)
162 00d2 29F4 brne .L3
163 .LM14:
164 00d4 8091 3500 lds r24,53
165 00d8 8F7D andi r24,lo8(-33)
166 00da 8093 3500 sts 53,r24
167 .L3:
168 /* epilogue: frame size=0 */
169 00de DF91 pop r29
170 00e0 CF91 pop r28
171 00e2 0895 ret
172 /* epilogue end (size=3) */
173 /* function read_rx_buffer size 52 (45) */
174 .LFE9:
176 .global __vector_10
178 __vector_10:
179 .LFB10:
180 .LM15:
181 /* prologue: frame size=0 */
182 00e4 1F92 push __zero_reg__
183 00e6 0F92 push __tmp_reg__
184 00e8 0FB6 in __tmp_reg__,__SREG__
185 00ea 0F92 push __tmp_reg__
186 00ec 1124 clr __zero_reg__
187 00ee 8F93 push r24
188 00f0 9F93 push r25
189 00f2 EF93 push r30
190 00f4 FF93 push r31
191 00f6 CF93 push r28
192 00f8 DF93 push r29
193 00fa CDB7 in r28,__SP_L__
194 00fc DEB7 in r29,__SP_H__
195 /* prologue end (size=13) */
196 .LM16:
197 00fe 8091 0000 lds r24,SPI_RxHead
198 0102 9927 clr r25
199 0104 FC01 movw r30,r24
200 0106 E050 subi r30,lo8(-(SPI_RxBuf))
201 0108 F040 sbci r31,hi8(-(SPI_RxBuf))
202 010a 8091 2F00 lds r24,47
203 010e 8083 st Z,r24
204 .LM17:
205 0110 8091 0000 lds r24,SPI_RxHead
206 0114 8A30 cpi r24,lo8(10)
207 0116 31F4 brne .L10
208 .LM18:
209 0118 1092 0000 sts SPI_RxHead,__zero_reg__
210 .LM19:
211 011c 81E0 ldi r24,lo8(1)
212 011e 8093 0000 sts spi_trans_com,r24
213 0122 05C0 rjmp .L11
214 .L10:
215 .LM20:
216 0124 8091 0000 lds r24,SPI_RxHead
217 0128 8F5F subi r24,lo8(-(1))
218 012a 8093 0000 sts SPI_RxHead,r24
219 .L11:
220 .LM21:
221 012e 8091 0000 lds r24,Tx_counter
222 0132 8823 tst r24
223 0134 E1F0 breq .L9
224 .LM22:
225 0136 8091 0000 lds r24,Tx_counter
226 013a 8150 subi r24,lo8(-(-1))
227 013c 8093 0000 sts Tx_counter,r24
228 .LM23:
229 0140 8091 0000 lds r24,SPI_TxHead
230 0144 9927 clr r25
231 0146 FC01 movw r30,r24
232 0148 E050 subi r30,lo8(-(SPI_TxBuf))
233 014a F040 sbci r31,hi8(-(SPI_TxBuf))
234 014c 8081 ld r24,Z
235 014e 8093 2F00 sts 47,r24
236 .LM24:
237 0152 8091 0000 lds r24,SPI_TxHead
238 0156 8F5F subi r24,lo8(-(1))
239 0158 8093 0000 sts SPI_TxHead,r24
240 015c 8091 0000 lds r24,SPI_TxHead
241 0160 8A30 cpi r24,lo8(10)
242 0162 29F4 brne .L9
243 .LM25:
244 0164 1092 0000 sts SPI_TxHead,__zero_reg__
245 .LM26:
246 0168 8AE0 ldi r24,lo8(10)
247 016a 8093 0000 sts Tx_counter,r24
248 .L9:
249 /* epilogue: frame size=0 */
250 016e DF91 pop r29
251 0170 CF91 pop r28
252 0172 FF91 pop r31
253 0174 EF91 pop r30
254 0176 9F91 pop r25
255 0178 8F91 pop r24
256 017a 0F90 pop __tmp_reg__
257 017c 0FBE out __SREG__,__tmp_reg__
258 017e 0F90 pop __tmp_reg__
259 0180 1F90 pop __zero_reg__
260 0182 1895 reti
261 /* epilogue end (size=11) */
262 /* function __vector_10 size 80 (56) */
263 .LFE10:
265 .global spi_init
267 spi_init:
268 .LFB11:
269 .LM27:
270 /* prologue: frame size=1 */
271 0184 CF93 push r28
272 0186 DF93 push r29
273 0188 CDB7 in r28,__SP_L__
274 018a DEB7 in r29,__SP_H__
275 018c 2197 sbiw r28,1
276 018e 0FB6 in __tmp_reg__,__SREG__
277 0190 F894 cli
278 0192 DEBF out __SP_H__,r29
279 0194 0FBE out __SREG__,__tmp_reg__
280 0196 CDBF out __SP_L__,r28
281 /* prologue end (size=10) */
282 .LM28:
283 0198 80EB ldi r24,lo8(-80)
284 019a 8093 3700 sts 55,r24
285 .LM29:
286 019e 80E4 ldi r24,lo8(64)
287 01a0 8093 3800 sts 56,r24
288 .LM30:
289 01a4 85ED ldi r24,lo8(-43)
290 01a6 8093 2D00 sts 45,r24
291 .LM31:
292 01aa 1092 2E00 sts 46,__zero_reg__
293 .LM32:
294 01ae 8091 2E00 lds r24,46
295 01b2 8983 std Y+1,r24
296 .LM33:
297 01b4 8091 2F00 lds r24,47
298 01b8 8983 std Y+1,r24
299 /* epilogue: frame size=1 */
300 01ba 2196 adiw r28,1
301 01bc 0FB6 in __tmp_reg__,__SREG__
302 01be F894 cli
303 01c0 DEBF out __SP_H__,r29
304 01c2 0FBE out __SREG__,__tmp_reg__
305 01c4 CDBF out __SP_L__,r28
306 01c6 DF91 pop r29
307 01c8 CF91 pop r28
308 01ca 0895 ret
309 /* epilogue end (size=9) */
310 /* function spi_init size 36 (17) */
311 .LFE11:
313 .global spi_send
315 spi_send:
316 .LFB12:
317 .LM34:
318 /* prologue: frame size=0 */
319 01cc CF93 push r28
320 01ce DF93 push r29
321 01d0 CDB7 in r28,__SP_L__
322 01d2 DEB7 in r29,__SP_H__
323 /* prologue end (size=4) */
324 .LM35:
325 01d4 0E94 0000 call fill_tx_buffer
326 .LM36:
327 01d8 0E94 0000 call spi_init
328 .LM37:
329 01dc 8FEF ldi r24,lo8(-1)
330 01de 8093 2F00 sts 47,r24
331 .LM38:
332 /* #APP */
333 01e2 7894 sei
334 .LM39:
335 /* #NOAPP */
336 01e4 8091 2D00 lds r24,45
337 01e8 806C ori r24,lo8(-64)
338 01ea 8093 2D00 sts 45,r24
339 .LM40:
340 01ee 1092 0000 sts SPI_TxHead,__zero_reg__
341 /* epilogue: frame size=0 */
342 01f2 DF91 pop r29
343 01f4 CF91 pop r28
344 01f6 0895 ret
345 /* epilogue end (size=3) */
346 /* function spi_send size 23 (16) */
347 .LFE12:
349 .global main
351 main:
352 .LFB13:
353 .LM41:
354 /* prologue: frame size=0 */
355 01f8 C0E0 ldi r28,lo8(__stack - 0)
356 01fa D0E0 ldi r29,hi8(__stack - 0)
357 01fc DEBF out __SP_H__,r29
358 01fe CDBF out __SP_L__,r28
359 /* prologue end (size=4) */
360 .LM42:
361 0200 8FEF ldi r24,lo8(-1)
362 0202 8093 3500 sts 53,r24
363 .LM43:
364 0206 8FEF ldi r24,lo8(-1)
365 0208 8093 3400 sts 52,r24
366 .LM44:
367 020c 1092 0000 sts SPI_RxHead,__zero_reg__
368 .LM45:
369 0210 1092 0000 sts SPI_TxHead,__zero_reg__
370 .LM46:
371 0214 8AE0 ldi r24,lo8(10)
372 0216 8093 0000 sts Tx_counter,r24
373 .LM47:
374 021a 0E94 0000 call spi_send
375 .L17:
376 .LM48:
377 021e 8091 0000 lds r24,spi_trans_com
378 0222 8130 cpi r24,lo8(1)
379 0224 E1F7 brne .L17
380 .LM49:
381 0226 0E94 0000 call read_rx_buffer
382 .LM50:
383 022a 1092 0000 sts spi_trans_com,__zero_reg__
384 022e F7CF rjmp .L17
385 /* epilogue: frame size=0 */
386 /* epilogue: noreturn */
387 /* epilogue end (size=0) */
388 /* function main size 28 (24) */
389 .LFE13:
391 .comm SPI_RxBuf,11,1
392 .comm SPI_RxHead,1,1
393 .comm SPI_TxBuf,10,1
394 .comm SPI_TxHead,1,1
395 .comm Tx_counter,1,1
396 .comm spi_trans_com,1,1
397 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 spi_2dpj_master.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:20 .text:00000000 disp
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:77 .text:00000044 fill_tx_buffer
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:118 .text:0000007c read_rx_buffer
*COM*:0000000b SPI_RxBuf
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:178 .text:000000e4 __vector_10
*COM*:00000001 SPI_RxHead
*COM*:00000001 spi_trans_com
*COM*:00000001 Tx_counter
*COM*:00000001 SPI_TxHead
*COM*:0000000a SPI_TxBuf
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:267 .text:00000184 spi_init
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:315 .text:000001cc spi_send
C:\DOCUME~1\lgd\LOCALS~1\Temp/cccLaaaa.s:351 .text:000001f8 main
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -