📄 level3.lst
字号:
423 .stabn 68,0,148,.LM57-ScaleOnce
424 .LM57:
149:level3.c **** }
150:level3.c **** else if ( maxCaptureTimeScale == 6 )
425 .stabn 68,0,150,.LM58-ScaleOnce
426 .LM58:
427 0158 2630 cpi r18,lo8(6)
428 015a 39F0 breq .L30
151:level3.c **** {
152:level3.c **** period /= 2;
153:level3.c **** maxCaptureTimeScale++;
154:level3.c **** }
155:level3.c **** else if ( period > 255 )
429 .stabn 68,0,155,.LM59-ScaleOnce
430 .LM59:
431 015c 8F3F cpi r24,255
432 015e 9105 cpc r25,__zero_reg__
433 0160 19F0 breq .L23
434 0162 10F0 brlo .L23
156:level3.c **** {
157:level3.c **** period = 255;
435 .stabn 68,0,157,.LM60-ScaleOnce
436 .LM60:
437 0164 8FEF ldi r24,lo8(255)
438 0166 90E0 ldi r25,hi8(255)
439 .L23:
158:level3.c **** }
159:level3.c **** }
160:level3.c **** return period;
161:level3.c **** }
440 .stabn 68,0,161,.LM61-ScaleOnce
441 .LM61:
442 0168 0895 ret
443 .stabn 68,0,152,.LM62-ScaleOnce
444 .LM62:
445 .L30:
446 016a 9695 lsr r25
447 016c 8795 ror r24
448 .L29:
449 .stabn 68,0,153,.LM63-ScaleOnce
450 .LM63:
451 016e 2F5F subi r18,lo8(-(1))
452 0170 2093 0000 sts maxCaptureTimeScale,r18
453 .stabn 68,0,161,.LM64-ScaleOnce
454 .LM64:
455 0174 0895 ret
456 /* epilogue: frame size=0 */
457 0176 0895 ret
458 /* epilogue end (size=1) */
459 /* function ScaleOnce size 26 (25) */
460 .size ScaleOnce, .-ScaleOnce
461 .Lscope4:
462 .stabs "",36,0,0,.Lscope4-ScaleOnce
463 .stabs "ScaleTime:F(4,2)",36,0,167,ScaleTime
464 .stabs "period:P(4,4)",64,0,166,18
465 .global ScaleTime
466 .type ScaleTime, @function
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWGbaaa.s page 12
467 ScaleTime:
162:level3.c ****
163:level3.c ****
164:level3.c **** // ==================================================================
165:level3.c ****
166:level3.c **** uint8_t ScaleTime( uint16_t period )
167:level3.c **** {
468 .stabn 68,0,167,.LM65-ScaleTime
469 .LM65:
470 /* prologue: frame size=0 */
471 0178 CF93 push r28
472 /* prologue end (size=1) */
473 017a 9C01 movw r18,r24
168:level3.c **** uint8_t i;
169:level3.c **** maxCaptureTimeScale = 3;
474 .stabn 68,0,169,.LM66-ScaleTime
475 .LM66:
476 .LBB5:
477 017c 83E0 ldi r24,lo8(3)
478 017e 8093 0000 sts maxCaptureTimeScale,r24
170:level3.c **** for ( i = 0 ; i < 4 ; i++ )
479 .stabn 68,0,170,.LM67-ScaleTime
480 .LM67:
481 0182 C0E0 ldi r28,lo8(0)
482 .L36:
171:level3.c **** {
172:level3.c **** period = ScaleOnce( period );
483 .stabn 68,0,172,.LM68-ScaleTime
484 .LM68:
485 0184 C901 movw r24,r18
486 0186 DEDF rcall ScaleOnce
487 0188 9C01 movw r18,r24
488 .stabn 68,0,170,.LM69-ScaleTime
489 .LM69:
490 018a CF5F subi r28,lo8(-(1))
491 018c C430 cpi r28,lo8(4)
492 018e D0F3 brlo .L36
173:level3.c **** }
174:level3.c **** return period;
493 .stabn 68,0,174,.LM70-ScaleTime
494 .LM70:
495 0190 9927 clr r25
175:level3.c **** }
496 .stabn 68,0,175,.LM71-ScaleTime
497 .LM71:
498 .LBE5:
499 /* epilogue: frame size=0 */
500 0192 CF91 pop r28
501 0194 0895 ret
502 /* epilogue end (size=2) */
503 /* function ScaleTime size 15 (12) */
504 .size ScaleTime, .-ScaleTime
505 .stabs "i:r(4,2)",64,0,168,28
506 .stabn 192,0,0,.LBB5-ScaleTime
507 .stabn 224,0,0,.LBE5-ScaleTime
508 .Lscope5:
509 .stabs "",36,0,0,.Lscope5-ScaleTime
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWGbaaa.s page 13
510 .stabs "__vector_4:F(0,20)",36,0,183,__vector_4
511 .global __vector_4
512 .type __vector_4, @function
513 __vector_4:
176:level3.c ****
177:level3.c **** // ==================================================================
178:level3.c **** // ==================================================================
179:level3.c **** // INTERRUPT ROUTINES
180:level3.c **** // ==================================================================
181:level3.c ****
182:level3.c **** SIGNAL ( SIG_OVERFLOW2 )
183:level3.c **** {
514 .stabn 68,0,183,.LM72-__vector_4
515 .LM72:
516 /* prologue: frame size=0 */
517 0196 1F92 push __zero_reg__
518 0198 0F92 push __tmp_reg__
519 019a 0FB6 in __tmp_reg__,__SREG__
520 019c 0F92 push __tmp_reg__
521 019e 1124 clr __zero_reg__
522 /* prologue end (size=5) */
184:level3.c ****
185:level3.c **** TIMSK = 0; //finished, disable all
523 .stabn 68,0,185,.LM73-__vector_4
524 .LM73:
525 01a0 19BE out 89-0x20,__zero_reg__
186:level3.c **** }
526 .stabn 68,0,186,.LM74-__vector_4
527 .LM74:
528 /* epilogue: frame size=0 */
529 01a2 0F90 pop __tmp_reg__
530 01a4 0FBE out __SREG__,__tmp_reg__
531 01a6 0F90 pop __tmp_reg__
532 01a8 1F90 pop __zero_reg__
533 01aa 1895 reti
534 /* epilogue end (size=5) */
535 /* function __vector_4 size 11 (1) */
536 .size __vector_4, .-__vector_4
537 .Lscope6:
538 .stabs "",36,0,0,.Lscope6-__vector_4
539 .stabs "__vector_2:F(0,20)",36,0,192,__vector_2
540 .global __vector_2
541 .type __vector_2, @function
542 __vector_2:
187:level3.c ****
188:level3.c **** // ==================================================================
189:level3.c **** // PBSK valid data
190:level3.c ****
191:level3.c **** SIGNAL ( SIG_INTERRUPT1 )
192:level3.c **** {
543 .stabn 68,0,192,.LM75-__vector_2
544 .LM75:
545 /* prologue: frame size=0 */
546 01ac 1F92 push __zero_reg__
547 01ae 0F92 push __tmp_reg__
548 01b0 0FB6 in __tmp_reg__,__SREG__
549 01b2 0F92 push __tmp_reg__
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWGbaaa.s page 14
550 01b4 1124 clr __zero_reg__
551 01b6 8F93 push r24
552 01b8 9F93 push r25
553 01ba EF93 push r30
554 01bc FF93 push r31
555 /* prologue end (size=9) */
193:level3.c **** sec = 0 ;
556 .stabn 68,0,193,.LM76-__vector_2
557 .LM76:
558 01be 90E0 ldi r25,lo8(0)
559 01c0 9093 0000 sts sec,r25
194:level3.c **** temp = ( ( PIND >> 4 ) & 1 ) ^ 1;
560 .stabn 68,0,194,.LM77-__vector_2
561 .LM77:
562 01c4 80B3 in r24,48-0x20
563 01c6 8295 swap r24
564 01c8 8F70 andi r24,0x0f
565 01ca 8095 com r24
566 01cc 8170 andi r24,lo8(1)
567 01ce 8093 0000 sts temp,r24
195:level3.c **** while ( ( PIND & 0x08 ) == 0x08 )
568 .stabn 68,0,195,.LM78-__vector_2
569 .LM78:
570 01d2 839B sbis 48-0x20,3
571 01d4 14C0 rjmp .L48
572 .L44:
196:level3.c **** {
197:level3.c **** sec++;
573 .stabn 68,0,197,.LM79-__vector_2
574 .LM79:
575 01d6 9F5F subi r25,lo8(-(1))
576 01d8 9093 0000 sts sec,r25
577 01dc 8399 sbic 48-0x20,3
578 01de FBCF rjmp .L44
579 .L47:
198:level3.c **** }
199:level3.c **** if ( sec >= 5 )
580 .stabn 68,0,199,.LM80-__vector_2
581 .LM80:
582 01e0 9530 cpi r25,lo8(5)
583 01e2 80F0 brlo .L40
200:level3.c **** {
201:level3.c **** raw_data[ number++ ] = temp ;
584 .stabn 68,0,201,.LM81-__vector_2
585 .LM81:
586 01e4 8091 0000 lds r24,number
587 01e8 E82F mov r30,r24
588 01ea FF27 clr r31
589 01ec E050 subi r30,lo8(-(raw_data))
590 01ee F040 sbci r31,hi8(-(raw_data))
591 01f0 9091 0000 lds r25,temp
592 01f4 9083 st Z,r25
593 01f6 8F5F subi r24,lo8(-(1))
594 01f8 8093 0000 sts number,r24
595 01fc 03C0 rjmp .L40
596 .L48:
597 01fe 9091 0000 lds r25,sec
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWGbaaa.s page 15
598 0202 EECF rjmp .L47
202:level3.c **** }
203:level3.c **** }
599 .stabn 68,0,203,.LM82-__vector_2
600 .LM82:
601 .L40:
602 /* epilogue: frame size=0 */
603 0204 FF91 pop r31
604 0206 EF91 pop r30
605 0208 9F91 pop r25
606 020a 8F91 pop r24
607 020c 0F90 pop __tmp_reg__
608 020e 0FBE out __SREG__,__tmp_reg__
609 0210 0F90 pop __tmp_reg__
610 0212 1F90 pop __zero_reg__
611 0214 1895 reti
612 /* epilogue end (size=9) */
613 /* function __vector_2 size 53 (35) */
614 .size __vector_2, .-__vector_2
615 .Lscope7:
616 .stabs "",36,0,0,.Lscope7-__vector_2
617 .stabs "Read_TypeB_Card:F(4,2)",36,0,206,Read_TypeB_Card
618 .global Read_TypeB_Card
619 .type Read_TypeB_Card, @function
620 Read_TypeB_Card:
204:level3.c ****
205:level3.c **** uint8_t Read_TypeB_Card( void )
206:level3.c **** {
621 .stabn 68,0,206,.LM83-Read_TypeB_Card
622 .LM83:
623 /* prologue: frame size=0 */
624 /* prologue end (size=0) */
207:level3.c **** uint8_t i;
208:level3.c ****
209:level3.c **** expectedResponseLen = 14 ;
625 .stabn 68,0,209,.LM84-Read_TypeB_Card
626 .LM84:
627 .LBB6:
628 0216 8EE0 ldi r24,lo8(14)
629 0218 8093 0000 sts expectedResponseLen,r24
210:level3.c ****
211:level3.c **** Send( 5 , 0 );
630 .stabn 68,0,211,.LM85-Read_TypeB_Card
631 .LM85:
632 021c 60E0 ldi r22,lo8(0)
633 021e 70E0 ldi r23,hi8(0)
634 0220 85E0 ldi r24,lo8(5)
635 0222 14DF rcall Send
212:level3.c ****
213:level3.c **** maxCaptureTime = ScaleTime( maxTGeneral );
636 .stabn 68,0,213,.LM86-Read_TypeB_Card
637 .LM86:
638 0224 8091 0000 lds r24,maxTGeneral
639 0228 9091 0000 lds r25,(maxTGeneral)+1
640 022c A5DF rcall ScaleTime
641 022e 8093 0000 sts maxCaptureTime,r24
214:level3.c ****
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccWGbaaa.s page 16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -