📄 handy.lst
字号:
1 .file "handy.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
17 .Ltext0:
18 .global uart_putchar
20 uart_putchar:
21 .LFB5:
22 .LM1:
23 /* prologue: frame size=0 */
24 0000 1F93 push r17
25 /* prologue end (size=1) */
26 .LVL0:
27 0002 182F mov r17,r24
28 .LM2:
29 0004 8A30 cpi r24,lo8(10)
30 0006 01F4 brne .L6
31 .LM3:
32 0008 8DE0 ldi r24,lo8(13)
33 .LVL1:
34 000a 0E94 0000 call uart_putchar
35 .LVL2:
36 .L6:
37 .LM4:
38 000e 5D9B sbis 43-0x20,5
39 0010 00C0 rjmp .L6
40 .LM5:
41 0012 1CB9 out 44-0x20,r17
42 .LM6:
43 0014 80E0 ldi r24,lo8(0)
44 0016 90E0 ldi r25,hi8(0)
45 /* epilogue: frame size=0 */
46 0018 1F91 pop r17
47 001a 0895 ret
48 /* epilogue end (size=2) */
49 /* function uart_putchar size 14 (11) */
50 .LFE5:
52 .global uart_getchar
54 uart_getchar:
55 .LFB6:
56 .LM7:
57 /* prologue: frame size=0 */
58 /* prologue end (size=0) */
59 .L11:
60 .LM8:
61 001c 5F9B sbis 43-0x20,7
62 001e 00C0 rjmp .L11
63 .LM9:
64 0020 8CB1 in r24,44-0x20
65 .LM10:
66 0022 9927 clr r25
67 /* epilogue: frame size=0 */
68 0024 0895 ret
69 /* epilogue end (size=1) */
70 /* function uart_getchar size 5 (4) */
71 .LFE6:
73 .global uart_clear
75 uart_clear:
76 .LFB7:
77 .LM11:
78 /* prologue: frame size=0 */
79 /* prologue end (size=0) */
80 0026 90E0 ldi r25,lo8(0)
81 .LVL3:
82 .L17:
83 .LBB2:
84 .LM12:
85 0028 8CB1 in r24,44-0x20
86 .LVL4:
87 .LM13:
88 002a 9F5F subi r25,lo8(-(1))
89 002c 9A30 cpi r25,lo8(10)
90 002e 01F4 brne .L17
91 .LBE2:
92 /* epilogue: frame size=0 */
93 0030 0895 ret
94 /* epilogue end (size=1) */
95 /* function uart_clear size 6 (5) */
96 .LFE7:
98 .global Handy_Init
100 Handy_Init:
101 .LFB8:
102 .LM14:
103 /* prologue: frame size=0 */
104 /* prologue end (size=0) */
105 .LM15:
106 0032 88E1 ldi r24,lo8(24)
107 0034 8AB9 out 42-0x20,r24
108 .LM16:
109 0036 8DE4 ldi r24,lo8(77)
110 0038 89B9 out 41-0x20,r24
111 .LM17:
112 003a 60E0 ldi r22,lo8(gs(uart_getchar))
113 003c 70E0 ldi r23,hi8(gs(uart_getchar))
114 003e 80E0 ldi r24,lo8(gs(uart_putchar))
115 0040 90E0 ldi r25,hi8(gs(uart_putchar))
116 0042 0E94 0000 call fdevopen
117 /* epilogue: frame size=0 */
118 0046 0895 ret
119 /* epilogue end (size=1) */
120 /* function Handy_Init size 11 (10) */
121 .LFE8:
123 .data
124 .LC0:
125 0000 6174 2B63 .string "at+cmgs=%i\r\n"
125 6D67 733D
125 2569 0D0A
125 00
126 .LC1:
127 000d 3037 3931 .string "0791947101670000"
127 3934 3731
127 3031 3637
127 3030 3030
127 00
128 .LC2:
129 001e 3131 3343 .string "113C"
129 00
130 .LC3:
131 0023 2530 3258 .string "%02X91"
131 3931 00
132 .LC4:
133 002a 3030 3030 .string "0000A8"
133 4138 00
134 .LC5:
135 0031 2530 3258 .string "%02X"
135 00
136 .text
137 .global Send_SMS
139 Send_SMS:
140 .LFB10:
141 .LM18:
142 /* prologue: frame size=65 */
143 0048 BF92 push r11
144 004a CF92 push r12
145 004c DF92 push r13
146 004e EF92 push r14
147 0050 FF92 push r15
148 0052 0F93 push r16
149 0054 1F93 push r17
150 0056 CF93 push r28
151 0058 DF93 push r29
152 005a CDB7 in r28,__SP_L__
153 005c DEB7 in r29,__SP_H__
154 005e C154 subi r28,lo8(65)
155 0060 D040 sbci r29,hi8(65)
156 0062 0FB6 in __tmp_reg__,__SREG__
157 0064 F894 cli
158 0066 DEBF out __SP_H__,r29
159 0068 0FBE out __SREG__,__tmp_reg__
160 006a CDBF out __SP_L__,r28
161 /* prologue end (size=18) */
162 .LVL5:
163 006c 6C01 movw r12,r24
164 006e 7B01 movw r14,r22
165 0070 00E0 ldi r16,lo8(0)
166 .LVL6:
167 0072 81E0 ldi r24,lo8(1)
168 0074 B82E mov r11,r24
169 .LVL7:
170 0076 00C0 rjmp .L58
171 .LVL8:
172 .L26:
173 .LM19:
174 0078 2B2D mov r18,r11
175 007a 3327 clr r19
176 007c 412F mov r20,r17
177 007e 5527 clr r21
178 0080 BE01 movw r22,r28
179 0082 6F5E subi r22,lo8(-(17))
180 0084 7F4F sbci r23,hi8(-(17))
181 0086 FB01 movw r30,r22
182 0088 E20F add r30,r18
183 008a F31F adc r31,r19
184 008c 9927 clr r25
185 008e 8F77 andi r24,lo8(127)
186 0090 9070 andi r25,hi8(127)
187 0092 042E mov r0,r20
188 0094 00C0 rjmp 2f
189 0096 9595 1: asr r25
190 0098 8795 ror r24
191 009a 0A94 2: dec r0
192 009c 02F4 brpl 1b
193 009e 8083 st Z,r24
194 00a0 0F5F subi r16,lo8(-(1))
195 .LVL9:
196 .LM20:
197 00a2 1123 tst r17
198 00a4 01F4 brne .+2
199 00a6 00C0 rjmp .L27
200 .LM21:
201 00a8 F901 movw r30,r18
202 00aa 3197 sbiw r30,1
203 00ac 2C91 ld r18,X
204 00ae E60F add r30,r22
205 00b0 F71F adc r31,r23
206 00b2 3327 clr r19
207 00b4 81E0 ldi r24,lo8(1)
208 00b6 90E0 ldi r25,hi8(1)
209 00b8 042E mov r0,r20
210 00ba 00C0 rjmp 2f
211 00bc 880F 1: lsl r24
212 00be 991F rol r25
213 00c0 0A94 2: dec r0
214 00c2 02F4 brpl 1b
215 00c4 0197 sbiw r24,1
216 00c6 2823 and r18,r24
217 00c8 3923 and r19,r25
218 00ca 88E0 ldi r24,lo8(8)
219 00cc 90E0 ldi r25,hi8(8)
220 00ce 841B sub r24,r20
221 00d0 950B sbc r25,r21
222 00d2 00C0 rjmp 2f
223 00d4 220F 1: lsl r18
224 00d6 331F rol r19
225 00d8 8A95 2: dec r24
226 00da 02F4 brpl 1b
227 00dc 8081 ld r24,Z
228 00de 822B or r24,r18
229 00e0 8083 st Z,r24
230 .LM22:
231 00e2 1F5F subi r17,lo8(-(1))
232 .LM23:
233 00e4 1830 cpi r17,lo8(8)
234 00e6 01F4 brne .L29
235 .LVL10:
236 .L58:
237 00e8 10E0 ldi r17,lo8(0)
238 00ea 00C0 rjmp .L56
239 .LVL11:
240 .L49:
241 .LM24:
242 00ec 86E4 ldi r24,lo8(70)
243 00ee 8C93 st X,r24
244 .LM25:
245 00f0 192F mov r17,r25
246 .LM26:
247 00f2 490F add r20,r25
248 00f4 511D adc r21,__zero_reg__
249 00f6 FA01 movw r30,r20
250 00f8 1082 st Z,__zero_reg__
251 00fa 00C0 rjmp .L36
252 .LVL12:
253 .L29:
254 .LM27:
255 00fc B394 inc r11
256 .LVL13:
257 .L56:
258 .LM28:
259 00fe D701 movw r26,r14
260 0100 A00F add r26,r16
261 0102 B11D adc r27,__zero_reg__
262 0104 8C91 ld r24,X
263 0106 8823 tst r24
264 0108 01F0 breq .+2
265 010a 00C0 rjmp .L26
266 .LM29:
267 010c 098B std Y+17,r16
268 010e 10E0 ldi r17,lo8(0)
269 .LVL14:
270 0110 00C0 rjmp .L32
271 .LVL15:
272 .L33:
273 .LM30:
274 0112 3181 ldd r19,Z+1
275 .LM31:
276 0114 AE01 movw r20,r28
277 0116 4F5F subi r20,lo8(-(1))
278 0118 5F4F sbci r21,hi8(-(1))
279 011a DC01 movw r26,r24
280 011c A40F add r26,r20
281 011e B51F adc r27,r21
282 0120 FD01 movw r30,r26
283 0122 2183 std Z+1,r18
284 0124 912F mov r25,r17
285 0126 9E5F subi r25,lo8(-(2))
286 .LM32:
287 0128 3323 tst r19
288 012a 01F0 breq .L49
289 .LM33:
290 012c 3C93 st X,r19
291 .LM34:
292 012e 192F mov r17,r25
293 .LM35:
294 0130 490F add r20,r25
295 0132 511D adc r21,__zero_reg__
296 0134 FA01 movw r30,r20
297 0136 1082 st Z,__zero_reg__
298 .L32:
299 .LM36:
300 0138 812F mov r24,r17
301 013a 9927 clr r25
302 013c F601 movw r30,r12
303 013e E80F add r30,r24
304 0140 F91F adc r31,r25
305 0142 2081 ld r18,Z
306 0144 2223 tst r18
307 0146 01F4 brne .L33
308 .L36:
309 .LM37:
310 0148 812F mov r24,r17
311 014a 8695 lsr r24
312 014c 9927 clr r25
313 014e 0796 adiw r24,7
314 0150 8B0D add r24,r11
315 0152 911D adc r25,__zero_reg__
316 0154 9F93 push r25
317 0156 8F93 push r24
318 0158 80E0 ldi r24,lo8(.LC0)
319 015a 90E0 ldi r25,hi8(.LC0)
320 015c 9F93 push r25
321 015e 8F93 push r24
322 0160 0E94 0000 call printf
323 .LVL16:
324 0164 0F90 pop __tmp_reg__
325 0166 0F90 pop __tmp_reg__
326 0168 0F90 pop __tmp_reg__
327 016a 0F90 pop __tmp_reg__
328 .L59:
329 .LBB5:
330 .LBB6:
331 .LM38:
332 016c 5F9B sbis 43-0x20,7
333 016e 00C0 rjmp .L59
334 .LM39:
335 0170 8CB1 in r24,44-0x20
336 .LBE6:
337 .LBE5:
338 .LM40:
339 0172 8032 cpi r24,lo8(32)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -