📄 spi.lst
字号:
1 .file "spi.c"
2 .arch atmega32
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
11 .text
12 .Ltext0:
74 .global spiInit
76 spiInit:
1:spi.c **** //-------------------------------------------------------------------------
2:spi.c **** #include <avr/io.h>
3:spi.c **** #include <stdint.h>
4:spi.c ****
5:spi.c ****
6:spi.c **** //-------------------------------------------------------------------------
7:spi.c **** #define SS PB4
8:spi.c **** #define MOSI PB5
9:spi.c **** #define MISO PB6
10:spi.c **** #define SCK PB7
11:spi.c **** //-------------------------------------------------------------------------
12:spi.c **** void spiInit(){
78 .LM1:
79 /* prologue: frame size=0 */
80 /* prologue end (size=0) */
13:spi.c **** DDRB|=(_BV(SS)|_BV(MOSI)|_BV(SCK));
82 .LM2:
83 0000 87B3 in r24,55-0x20
84 0002 806B ori r24,lo8(-80)
85 0004 87BB out 55-0x20,r24
14:spi.c **** SPCR=_BV(SPE)|_BV(MSTR); // master mode
87 .LM3:
88 0006 80E5 ldi r24,lo8(80)
89 0008 8DB9 out 45-0x20,r24
90 /* epilogue: frame size=0 */
91 000a 0895 ret
92 /* epilogue end (size=1) */
93 /* function spiInit size 6 (5) */
95 .Lscope0:
98 .global spiTransferByte
100 spiTransferByte:
15:spi.c **** }
16:spi.c **** //-------------------------------------------------------------------------
17:spi.c **** uint8_t spiTransferByte(uint8_t data){
102 .LM4:
103 /* prologue: frame size=0 */
104 /* prologue end (size=0) */
18:spi.c **** SPDR=data;
106 .LM5:
107 000c 8FB9 out 47-0x20,r24
108 .L3:
19:spi.c **** while((SPSR&_BV(SPIF))==0);
110 .LM6:
111 000e 779B sbis 46-0x20,7
112 0010 FECF rjmp .L3
20:spi.c **** return SPDR;
114 .LM7:
115 0012 8FB1 in r24,47-0x20
21:spi.c **** }
117 .LM8:
118 0014 9927 clr r25
119 /* epilogue: frame size=0 */
120 0016 0895 ret
121 /* epilogue end (size=1) */
122 /* function spiTransferByte size 6 (5) */
124 .Lscope1:
125 .text
127 Letext:
128 /* File "spi.c": code 12 = 0x000c ( 10), prologues 0, epilogues 2 */
DEFINED SYMBOLS
*ABS*:00000000 spi.c
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:3 *ABS*:0000003f __SREG__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:4 *ABS*:0000003e __SP_H__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:5 *ABS*:0000003d __SP_L__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:7 *ABS*:00000001 __zero_reg__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:76 .text:00000000 spiInit
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:100 .text:0000000c spiTransferByte
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:127 .text:00000018 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -