📄 string.lst
字号:
261 008a 80E3 ldi r24,lo8(48)
262 008c F82E mov r15,r24
263 .L20:
264 008e F801 movw r30,r16
265 0090 E40F add r30,r20
266 0092 F11D adc r31,__zero_reg__
267 0094 F082 st Z,r15
268 0096 00C0 rjmp .L17
269 .L18:
123:util/string.c **** _putc(string[i]);
124:util/string.c **** //softuart_putc('=');
270 0,124,.LM16-.LFBB3
271 .LM16:
272 0098 C21B sub r28,r18
273 009a D30B sbc r29,r19
125:util/string.c **** k_eof){
274 abn 68,0,125,.LM17-.LFBB3
275 .LM17:
276 009c 8081 ld r24,Z
277 009e 8F5F subi r24,lo8(-(1))
278 00a0 8083 st Z,r24
279 .L17:
281 .LM18:
282 00a2 C217 cp r28,r18
283 00a4 D307 cpc r29,r19
284 00a6 00F4 brsh .L18
286 .LM19:
287 00a8 C901 movw r24,r18
288 00aa 6AE0 ldi r22,lo8(10)
289 00ac 70E0 ldi r23,hi8(10)
290 00ae 0E94 0000 call __udivmodhi4
291 00b2 9B01 movw r18,r22
292 00b4 4430 cpi r20,lo8(4)
293 00b6 01F0 breq .L21
126:util/string.c **** is defined in string.h !
127:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
294 20-.LFBB3
295 .LM20:
296 00b8 4F5F subi r20,lo8(-(1))
297 00ba 00C0 rjmp .L20
298 .L21:
299 /* epilogue start */
128:util/string.c **** is defined in string.h !
129:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
300 n 68,0,129,.LM21-.LFBB3
301 .LM21:
302 00bc DF91 pop r29
303 00be CF91 pop r28
304 00c0 1F91 pop r17
305 00c2 0F91 pop r16
306 00c4 FF90 pop r15
307 00c6 0895 ret
313 .Lscope3:
316 .global string_buffer_to_uint32
318 string_buffer_to_uint32:
130:util/string.c **** is defined in string.h !
131:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
319 M22-.LFBB4
320 .LM22:
321 .LFBB4:
322 00c8 EF92 push r14
323 00ca FF92 push r15
324 00cc 1F93 push r17
325 00ce CF93 push r28
326 00d0 DF93 push r29
327 /* prologue: function */
328 /* frame size = 0 */
329 00d2 7C01 movw r14,r24
331 .LM23:
332 00d4 20E0 ldi r18,lo8(0)
333 00d6 30E0 ldi r19,hi8(0)
334 00d8 40E0 ldi r20,hlo8(0)
335 00da 50E0 ldi r21,hhi8(0)
336 00dc C0E0 ldi r28,lo8(0)
337 00de D0E0 ldi r29,hi8(0)
338 00e0 00C0 rjmp .L23
339 .L25:
132:util/string.c **** is defined in string.h !
133:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
134:util/string.c **** unsigned char i=0;
135:util/string.c **** while(pgm_read_byte(pointer)){
136:util/string.c **** //softuart_putc(string[i]);
137:util/string.c **** //softuart_putc('=');
138:util/string.c **** //softuart_putc(pgm_read_byte(pointer));
340 4-.LFBB4
341 .LM24:
342 00e2 CA01 movw r24,r20
343 00e4 B901 movw r22,r18
344 00e6 2AE0 ldi r18,lo8(10)
345 00e8 30E0 ldi r19,hi8(10)
346 00ea 40E0 ldi r20,hlo8(10)
347 00ec 50E0 ldi r21,hhi8(10)
348 00ee 0E94 0000 call __mulsi3
349 00f2 9B01 movw r18,r22
350 00f4 AC01 movw r20,r24
139:util/string.c **** byte(pointer)){
351 0,139,.LM25-.LFBB4
352 .LM25:
353 00f6 812F mov r24,r17
354 00f8 90E0 ldi r25,lo8(0)
355 00fa C097 sbiw r24,48
356 00fc AA27 clr r26
357 00fe 97FD sbrc r25,7
358 0100 A095 com r26
359 0102 BA2F mov r27,r26
360 0104 280F add r18,r24
361 0106 391F adc r19,r25
362 0108 4A1F adc r20,r26
363 010a 5B1F adc r21,r27
364 .L23:
366 .LM26:
367 010c F701 movw r30,r14
368 010e EC0F add r30,r28
369 0110 FD1F adc r31,r29
370 0112 1081 ld r17,Z
371 0114 812F mov r24,r17
372 0116 8053 subi r24,lo8(-(-48))
373 0118 8A30 cpi r24,lo8(10)
374 011a 00F4 brsh .L24
375 011c 2196 adiw r28,1
376 011e C630 cpi r28,6
377 0120 D105 cpc r29,__zero_reg__
378 0122 01F4 brne .L25
379 .L24:
140:util/string.c **** PGM_P pointer, unsigned char *string, unsigned char check_eof){
141:util/string.c **** unsigned char i=0;
142:util/string.c **** while(pgm_read_byte(pointer)){
143:util/string.c **** //softuart_putc(string[i]);
380
381 .LM27:
382 0124 B901 movw r22,r18
383 0126 CA01 movw r24,r20
384 /* epilogue start */
385 0128 DF91 pop r29
386 012a CF91 pop r28
387 012c 1F91 pop r17
388 012e FF90 pop r15
389 0130 EF90 pop r14
390 0132 0895 ret
395 .Lscope4:
398 .global string_buffer_to_uint16
400 string_buffer_to_uint16:
144:util/string.c **** tring, unsigned char check_eof){
145:util/string.c **** unsigned char i=0;
401 28-.LFBB5
402 .LM28:
403 .LFBB5:
404 /* prologue: function */
405 /* frame size = 0 */
406 0134 BC01 movw r22,r24
408 .LM29:
409 0136 20E0 ldi r18,lo8(0)
410 0138 30E0 ldi r19,hi8(0)
411 013a 40E0 ldi r20,lo8(0)
412 013c 50E0 ldi r21,hi8(0)
413 013e 00C0 rjmp .L28
414 .L30:
146:util/string.c **** h !
147:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
148:util/string.c **** unsigned char i=0;
149:util/string.c **** while(pgm_read_byte(pointer)){
150:util/string.c **** //softuart_putc(string[i]);
151:util/string.c **** //softuart_putc('=');
152:util/string.c **** //softuart_putc(pgm_read_byte(pointer));
415 52,.LM30-.LFBB5
416 .LM30:
417 0140 C901 movw r24,r18
418 0142 A3E0 ldi r26,3
419 0144 880F 1: lsl r24
420 0146 991F rol r25
421 0148 AA95 dec r26
422 014a 01F4 brne 1b
423 014c 220F lsl r18
424 014e 331F rol r19
425 0150 820F add r24,r18
426 0152 931F adc r25,r19
153:util/string.c **** byte(pointer)){
427 ,153,.LM31-.LFBB5
428 .LM31:
429 0154 2E2F mov r18,r30
430 0156 30E0 ldi r19,lo8(0)
431 0158 2053 subi r18,lo8(-(-48))
432 015a 3040 sbci r19,hi8(-(-48))
433 015c 280F add r18,r24
434 015e 391F adc r19,r25
435 .L28:
437 .LM32:
438 0160 FB01 movw r30,r22
439 0162 E40F add r30,r20
440 0164 F51F adc r31,r21
441 0166 E081 ld r30,Z
442 0168 8E2F mov r24,r30
443 016a 8053 subi r24,lo8(-(-48))
444 016c 8A30 cpi r24,lo8(10)
445 016e 00F4 brsh .L29
446 0170 4F5F subi r20,lo8(-(1))
447 0172 5F4F sbci r21,hi8(-(1))
448 0174 4630 cpi r20,6
449 0176 5105 cpc r21,__zero_reg__
450 0178 01F4 brne .L30
451 .L29:
154:util/string.c **** PGM_P pointer, unsigned char *string, unsigned char check_eof){
155:util/string.c **** unsigned char i=0;
156:util/string.c **** while(pgm_read_byte(pointer)){
157:util/string.c **** //softuart_putc(string[i]);
452 FBB5
453 .LM33:
454 017a C901 movw r24,r18
455 /* epilogue start */
456 017c 0895 ret
461 .Lscope5:
465 .global string_uint8_to_buffer
467 string_uint8_to_buffer:
158:util/string.c **** tring, unsigned char check_eof){
159:util/string.c **** unsigned char i=0;
468 ,.LM34-.LFBB6
469 .LM34:
470 .LFBB6:
471 017e 0F93 push r16
472 0180 1F93 push r17
473 0182 CF93 push r28
474 0184 DF93 push r29
475 /* prologue: function */
476 /* frame size = 0 */
477 0186 EC01 movw r28,r24
478 0188 162F mov r17,r22
480 .LM35:
481 018a 24E6 ldi r18,lo8(100)
482 018c 30E0 ldi r19,hi8(100)
483 018e 40E0 ldi r20,lo8(0)
160:util/string.c **** h !
161:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
162:util/string.c **** unsigned char i=0;
163:util/string.c **** while(pgm_read_byte(pointer)){
484 ,.LM36-.LFBB6
485 .LM36:
486 0190 00E3 ldi r16,lo8(48)
487 .L36:
488 0192 FE01 movw r30,r28
489 0194 E40F add r30,r20
490 0196 F11D adc r31,__zero_reg__
491 0198 0083 st Z,r16
492 019a 00C0 rjmp .L33
493 .L34:
164:util/string.c **** PGM_P pointer, unsigned char *string, unsigned char check_eof){
494 ,0,164,.LM37-.LFBB6
495 .LM37:
496 019c 121B sub r17,r18
165:util/string.c **** is defined in string.h !
166:util/string.c **** char string_compare_progmem2(PGM_P pointer, unsigned char *string, unsigned char check_eof){
497 tabn 68,0,166,.LM38-.LFBB6
498 .LM38:
499 019e 8081 ld r24,Z
500 01a0 8F5F subi r24,lo8(-(1))
501 01a2 8083 st Z,r24
502 .L33:
504 .LM39:
505 01a4 812F mov r24,r17
506 01a6 90E0 ldi r25,lo8(0)
507 01a8 8217 cp r24,r18
508 01aa 9307 cpc r25,r19
509 01ac 00F4 brsh .L34
511 .LM40:
512 01ae C901 movw r24,r18
513 01b0 6AE0 ldi r22,lo8(10)
514 01b2 70E0 ldi r23,hi8(10)
515 01b4 0E94 0000 call __udivmodhi4
516 01b8 9B01 movw r18,r22
517 01ba 4230 cpi r20,lo8(2)
518 01bc 01F0 breq .L35
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -