📄 uart.lst
字号:
1 .file "uart.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global UartInit
20 UartInit:
21 .LFB7:
22 .LM1:
23 /* prologue: function */
24 /* frame size = 0 */
25 .LM2:
26 0000 80B5 in r24,64-32
27 0002 8F77 andi r24,lo8(127)
28 0004 80BD out 64-32,r24
29 .LM3:
30 0006 10BC out 64-32,__zero_reg__
31 .LM4:
32 0008 87E4 ldi r24,lo8(71)
33 000a 89B9 out 41-32,r24
34 .LM5:
35 000c 88ED ldi r24,lo8(-40)
36 000e 8AB9 out 42-32,r24
37 .LM6:
38 0010 86E8 ldi r24,lo8(-122)
39 0012 80BD out 64-32,r24
40 /* epilogue start */
41 .LM7:
42 0014 0895 ret
43 .LFE7:
45 .global UartSendchar
47 UartSendchar:
48 .LFB8:
49 .LM8:
50 .LVL0:
51 /* prologue: function */
52 /* frame size = 0 */
53 .LM9:
54 0016 5698 cbi 42-32,6
55 .LM10:
56 0018 A091 0000 lds r26,putlast
57 001c B091 0000 lds r27,(putlast)+1
58 0020 2091 0000 lds r18,outlast
59 0024 3091 0000 lds r19,(outlast)+1
60 0028 2A1B sub r18,r26
61 002a 3B0B sbc r19,r27
62 002c 37FF sbrs r19,7
63 002e 00C0 rjmp .L5
64 0030 3095 com r19
65 0032 2195 neg r18
66 0034 3F4F sbci r19,lo8(-1)
67 .L5:
68 0036 2230 cpi r18,2
69 0038 3105 cpc r19,__zero_reg__
70 003a 01F4 brne .L4
71 .LBB12:
72 .LBB13:
73 .LBB14:
74 .LBB15:
75 .LM11:
76 003c E9E9 ldi r30,lo8(5529)
77 003e F5E1 ldi r31,hi8(5529)
78 .LVL1:
79 /* #APP */
80 ; 105 "c:/winavr-20080610/lib/gcc/../../avr/include/util/delay_basic.h" 1
81 0040 3197 1: sbiw r30,1
82 0042 01F4 brne 1b
83 ; 0 "" 2
84 /* #NOAPP */
85 .L4:
86 .LBE15:
87 .LBE14:
88 .LBE13:
89 .LBE12:
90 .LM12:
91 0044 8C93 st X,r24
92 .LM13:
93 0046 8091 0000 lds r24,putlast
94 004a 9091 0000 lds r25,(putlast)+1
95 .LVL2:
96 004e 0196 adiw r24,1
97 0050 9093 0000 sts (putlast)+1,r25
98 0054 8093 0000 sts putlast,r24
99 .LM14:
100 0058 8050 subi r24,lo8(UartSendBuffer+255)
101 005a 9040 sbci r25,hi8(UartSendBuffer+255)
102 005c 01F4 brne .L6
103 005e 80E0 ldi r24,lo8(UartSendBuffer)
104 0060 90E0 ldi r25,hi8(UartSendBuffer)
105 0062 9093 0000 sts (putlast)+1,r25
106 0066 8093 0000 sts putlast,r24
107 .L6:
108 .LM15:
109 006a 81E0 ldi r24,lo8(1)
110 006c 8093 0000 sts UartSendBufferHaveDataFlag,r24
111 .LM16:
112 0070 8091 0000 lds r24,UartSendBufferemptyFlag
113 0074 8823 tst r24
114 0076 01F0 breq .L7
115 .LM17:
116 0078 1092 0000 sts UartSendBufferemptyFlag,__zero_reg__
117 .LM18:
118 007c E091 0000 lds r30,outlast
119 0080 F091 0000 lds r31,(outlast)+1
120 .LVL3:
121 0084 8191 ld r24,Z+
122 0086 8CB9 out 44-32,r24
123 .LM19:
124 0088 F093 0000 sts (outlast)+1,r31
125 008c E093 0000 sts outlast,r30
126 .LM20:
127 0090 E050 subi r30,lo8(UartSendBuffer+255)
128 0092 F040 sbci r31,hi8(UartSendBuffer+255)
129 0094 01F4 brne .L8
130 0096 80E0 ldi r24,lo8(UartSendBuffer)
131 0098 90E0 ldi r25,hi8(UartSendBuffer)
132 009a 9093 0000 sts (outlast)+1,r25
133 009e 8093 0000 sts outlast,r24
134 .L8:
135 .LM21:
136 00a2 2091 0000 lds r18,putlast
137 00a6 3091 0000 lds r19,(putlast)+1
138 00aa 8091 0000 lds r24,outlast
139 00ae 9091 0000 lds r25,(outlast)+1
140 00b2 2817 cp r18,r24
141 00b4 3907 cpc r19,r25
142 00b6 01F4 brne .L7
143 00b8 1092 0000 sts UartSendBufferHaveDataFlag,__zero_reg__
144 .LVL4:
145 .L7:
146 .LM22:
147 00bc 569A sbi 42-32,6
148 /* epilogue start */
149 .LM23:
150 00be 0895 ret
151 .LFE8:
153 .global UartSendString
155 UartSendString:
156 .LFB9:
157 .LM24:
158 .LVL5:
159 00c0 CF93 push r28
160 00c2 DF93 push r29
161 /* prologue: function */
162 /* frame size = 0 */
163 00c4 EC01 movw r28,r24
164 00c6 00C0 rjmp .L11
165 .LVL6:
166 .L12:
167 .LM25:
168 00c8 2196 adiw r28,1
169 00ca 0E94 0000 call UartSendchar
170 .LVL7:
171 .L11:
172 .LM26:
173 00ce 8881 ld r24,Y
174 00d0 8823 tst r24
175 00d2 01F4 brne .L12
176 /* epilogue start */
177 .LM27:
178 00d4 DF91 pop r29
179 00d6 CF91 pop r28
180 .LVL8:
181 00d8 0895 ret
182 .LFE9:
184 .global UartSendByte
186 UartSendByte:
187 .LFB10:
188 .LM28:
189 .LVL9:
190 00da 1F93 push r17
191 00dc CF93 push r28
192 00de DF93 push r29
193 /* prologue: function */
194 /* frame size = 0 */
195 00e0 EC01 movw r28,r24
196 00e2 162F mov r17,r22
197 00e4 00C0 rjmp .L15
198 .LVL10:
199 .L16:
200 .LM29:
201 00e6 8991 ld r24,Y+
202 00e8 0E94 0000 call UartSendchar
203 00ec 1150 subi r17,lo8(-(-1))
204 .LVL11:
205 .L15:
206 .LM30:
207 00ee 1123 tst r17
208 00f0 01F4 brne .L16
209 /* epilogue start */
210 .LM31:
211 00f2 DF91 pop r29
212 00f4 CF91 pop r28
213 .LVL12:
214 00f6 1F91 pop r17
215 .LVL13:
216 00f8 0895 ret
217 .LFE10:
219 .global __vector_15
221 __vector_15:
222 .LFB11:
223 .LM32:
224 00fa 1F92 push __zero_reg__
225 00fc 0F92 push r0
226 00fe 0FB6 in r0,__SREG__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -