📄 usart1.lis
字号:
0392 9E07 cpc R25,R30
0394 09F4 brne X12
0396 B7C0 xjmp L97
0398 X12:
0398 8730 cpi R24,7
039A E0E0 ldi R30,0
039C 9E07 cpc R25,R30
039E 09F4 brne X13
03A0 D9C0 xjmp L98
03A2 X13:
03A2 8830 cpi R24,8
03A4 E0E0 ldi R30,0
03A6 9E07 cpc R25,R30
03A8 09F4 brne X14
03AA FBC0 xjmp L99
03AC X14:
03AC 24C1 xjmp L89
03AE X5:
03AE ; {
03AE L92:
03AE ; case 1 :temp32U=(INT32U)(temp8U-'0');break ;
03AE 8C2D mov R24,R12
03B0 9927 clr R25
03B2 C097 sbiw R24,48
03B4 1C01 movw R2,R24
03B6 4424 clr R4
03B8 37FC sbrc R3,7
03BA 4094 com R4
03BC 5524 clr R5
03BE 47FC sbrc R4,7
03C0 5094 com R5
03C2 FE01 movw R30,R28
03C4 2082 std z+0,R2
03C6 3182 std z+1,R3
03C8 4282 std z+2,R4
03CA 5382 std z+3,R5
03CC 15C1 xjmp L90
03CE L93:
03CE ; case 2 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
03CE FE01 movw R30,R28
03D0 2080 ldd R2,z+0
03D2 3180 ldd R3,z+1
03D4 4280 ldd R4,z+2
03D6 5380 ldd R5,z+3
03D8 4AE0 ldi R20,10
03DA 50E0 ldi R21,0
03DC 60E0 ldi R22,0
03DE 70E0 ldi R23,0
03E0 5A92 st -y,R5
03E2 4A92 st -y,R4
03E4 3A92 st -y,R3
03E6 2A92 st -y,R2
03E8 8A01 movw R16,R20
03EA 9B01 movw R18,R22
03EC 0E940000 xcall empy32u
03F0 1801 movw R2,R16
03F2 2901 movw R4,R18
03F4 8C2D mov R24,R12
03F6 9927 clr R25
03F8 C097 sbiw R24,48
03FA 3C01 movw R6,R24
03FC 8824 clr R8
03FE 77FC sbrc R7,7
0400 8094 com R8
0402 9924 clr R9
0404 87FC sbrc R8,7
0406 9094 com R9
0408 260C add R2,R6
040A 371C adc R3,R7
040C 481C adc R4,R8
040E 591C adc R5,R9
0410 FE01 movw R30,R28
0412 2082 std z+0,R2
0414 3182 std z+1,R3
0416 4282 std z+2,R4
0418 5382 std z+3,R5
041A EEC0 xjmp L90
041C L94:
041C ; case 3 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
041C FE01 movw R30,R28
041E 2080 ldd R2,z+0
0420 3180 ldd R3,z+1
0422 4280 ldd R4,z+2
0424 5380 ldd R5,z+3
0426 4AE0 ldi R20,10
0428 50E0 ldi R21,0
042A 60E0 ldi R22,0
042C 70E0 ldi R23,0
042E 5A92 st -y,R5
0430 4A92 st -y,R4
0432 3A92 st -y,R3
0434 2A92 st -y,R2
0436 8A01 movw R16,R20
0438 9B01 movw R18,R22
043A 0E940000 xcall empy32u
043E 1801 movw R2,R16
0440 2901 movw R4,R18
0442 8C2D mov R24,R12
0444 9927 clr R25
0446 C097 sbiw R24,48
0448 3C01 movw R6,R24
044A 8824 clr R8
044C 77FC sbrc R7,7
044E 8094 com R8
0450 9924 clr R9
0452 87FC sbrc R8,7
0454 9094 com R9
0456 260C add R2,R6
0458 371C adc R3,R7
045A 481C adc R4,R8
045C 591C adc R5,R9
045E FE01 movw R30,R28
0460 2082 std z+0,R2
0462 3182 std z+1,R3
0464 4282 std z+2,R4
0466 5382 std z+3,R5
0468 C7C0 xjmp L90
046A L95:
046A ; case 4 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
046A FE01 movw R30,R28
046C 2080 ldd R2,z+0
046E 3180 ldd R3,z+1
0470 4280 ldd R4,z+2
0472 5380 ldd R5,z+3
0474 4AE0 ldi R20,10
0476 50E0 ldi R21,0
0478 60E0 ldi R22,0
047A 70E0 ldi R23,0
047C 5A92 st -y,R5
047E 4A92 st -y,R4
0480 3A92 st -y,R3
0482 2A92 st -y,R2
0484 8A01 movw R16,R20
0486 9B01 movw R18,R22
0488 0E940000 xcall empy32u
048C 1801 movw R2,R16
048E 2901 movw R4,R18
0490 8C2D mov R24,R12
0492 9927 clr R25
0494 C097 sbiw R24,48
0496 3C01 movw R6,R24
0498 8824 clr R8
049A 77FC sbrc R7,7
049C 8094 com R8
049E 9924 clr R9
04A0 87FC sbrc R8,7
04A2 9094 com R9
04A4 260C add R2,R6
04A6 371C adc R3,R7
04A8 481C adc R4,R8
04AA 591C adc R5,R9
04AC FE01 movw R30,R28
04AE 2082 std z+0,R2
04B0 3182 std z+1,R3
04B2 4282 std z+2,R4
04B4 5382 std z+3,R5
04B6 A0C0 xjmp L90
04B8 L96:
04B8 ; case 5 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
04B8 FE01 movw R30,R28
04BA 2080 ldd R2,z+0
04BC 3180 ldd R3,z+1
04BE 4280 ldd R4,z+2
04C0 5380 ldd R5,z+3
04C2 4AE0 ldi R20,10
04C4 50E0 ldi R21,0
04C6 60E0 ldi R22,0
04C8 70E0 ldi R23,0
04CA 5A92 st -y,R5
04CC 4A92 st -y,R4
04CE 3A92 st -y,R3
04D0 2A92 st -y,R2
04D2 8A01 movw R16,R20
04D4 9B01 movw R18,R22
04D6 0E940000 xcall empy32u
04DA 1801 movw R2,R16
04DC 2901 movw R4,R18
04DE 8C2D mov R24,R12
04E0 9927 clr R25
04E2 C097 sbiw R24,48
04E4 3C01 movw R6,R24
04E6 8824 clr R8
04E8 77FC sbrc R7,7
04EA 8094 com R8
04EC 9924 clr R9
04EE 87FC sbrc R8,7
04F0 9094 com R9
04F2 260C add R2,R6
04F4 371C adc R3,R7
04F6 481C adc R4,R8
04F8 591C adc R5,R9
04FA FE01 movw R30,R28
04FC 2082 std z+0,R2
04FE 3182 std z+1,R3
0500 4282 std z+2,R4
0502 5382 std z+3,R5
0504 79C0 xjmp L90
0506 L97:
0506 ; case 6 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
0506 FE01 movw R30,R28
0508 2080 ldd R2,z+0
050A 3180 ldd R3,z+1
050C 4280 ldd R4,z+2
050E 5380 ldd R5,z+3
0510 4AE0 ldi R20,10
0512 50E0 ldi R21,0
0514 60E0 ldi R22,0
0516 70E0 ldi R23,0
0518 5A92 st -y,R5
051A 4A92 st -y,R4
051C 3A92 st -y,R3
051E 2A92 st -y,R2
0520 8A01 movw R16,R20
0522 9B01 movw R18,R22
0524 0E940000 xcall empy32u
0528 1801 movw R2,R16
052A 2901 movw R4,R18
052C 8C2D mov R24,R12
052E 9927 clr R25
0530 C097 sbiw R24,48
0532 3C01 movw R6,R24
0534 8824 clr R8
0536 77FC sbrc R7,7
0538 8094 com R8
053A 9924 clr R9
053C 87FC sbrc R8,7
053E 9094 com R9
0540 260C add R2,R6
0542 371C adc R3,R7
0544 481C adc R4,R8
0546 591C adc R5,R9
0548 FE01 movw R30,R28
054A 2082 std z+0,R2
054C 3182 std z+1,R3
054E 4282 std z+2,R4
0550 5382 std z+3,R5
0552 52C0 xjmp L90
0554 L98:
0554 ; case 7 :temp32U=temp32U*10+(INT32U)(temp8U-'0');break ;
0554 FE01 movw R30,R28
0556 2080 ldd R2,z+0
0558 3180 ldd R3,z+1
055A 4280 ldd R4,z+2
055C 5380 ldd R5,z+3
055E 4AE0 ldi R20,10
0560 50E0 ldi R21,0
0562 60E0 ldi R22,0
0564 70E0 ldi R23,0
0566 5A92 st -y,R5
0568 4A92 st -y,R4
056A 3A92 st -y,R3
056C 2A92 st -y,R2
056E 8A01 movw R16,R20
0570 9B01 movw R18,R22
0572 0E940000 xcall empy32u
0576 1801 movw R2,R16
0578 2901 movw R4,R18
057A 8C2D mov R24,R12
057C 9927 clr R25
057E C097 sbiw R24,48
0580 3C01 movw R6,R24
0582 8824 clr R8
0584 77FC sbrc R7,7
0586 8094 com R8
0588 9924 clr R9
058A 87FC sbrc R8,7
058C 9094 com R9
058E 260C add R2,R6
0590 371C adc R3,R7
0592 481C adc R4,R8
0594 591C adc R5,R9
0596 FE01 movw R30,R28
0598 2082 std z+0,R2
059A 3182 std z+1,R3
059C 4282 std z+2,R4
059E 5382 std z+3,R5
05A0 2BC0 xjmp L90
05A2 L99:
05A2 ; case 8 :temp32U=temp32U*10+(INT32U)(temp8U-'0');num=0 ;putchar1(' ');break ;
05A2 FE01 movw R30,R28
05A4 2080 ldd R2,z+0
05A6 3180 ldd R3,z+1
05A8 4280 ldd R4,z+2
05AA 5380 ldd R5,z+3
05AC 4AE0 ldi R20,10
05AE 50E0 ldi R21,0
05B0 60E0 ldi R22,0
05B2 70E0 ldi R23,0
05B4 5A92 st -y,R5
05B6 4A92 st -y,R4
05B8 3A92 st -y,R3
05BA 2A92 st -y,R2
05BC 8A01 movw R16,R20
05BE 9B01 movw R18,R22
05C0 0E940000 xcall empy32u
05C4 1801 movw R2,R16
05C6 2901 movw R4,R18
05C8 8C2D mov R24,R12
05CA 9927 clr R25
05CC C097 sbiw R24,48
05CE 3C01 movw R6,R24
05D0 8824 clr R8
05D2 77FC sbrc R7,7
05D4 8094 com R8
05D6 9924 clr R9
05D8 87FC sbrc R8,7
05DA 9094 com R9
05DC 260C add R2,R6
05DE 371C adc R3,R7
05E0 481C adc R4,R8
05E2 591C adc R5,R9
05E4 FE01 movw R30,R28
05E6 2082 std z+0,R2
05E8 3182 std z+1,R3
05EA 4282 std z+2,R4
05EC 5382 std z+3,R5
05EE AA24 clr R10
05F0 00E2 ldi R16,32
05F2 6DDD xcall _putchar1
05F4 01C0 xjmp L90
05F6 L89:
05F6 ; default :num=0 ;break ;
05F6 AA24 clr R10
05F8 L90:
05F8 ; }
05F8 ; }
05F8 L87:
05F8 L85:
05F8 8C2D mov R24,R12
05FA 8D30 cpi R24,13
05FC 09F0 breq X15
05FE A1CE xjmp L84
0600 X15:
0600 ; }
0600 ; return temp32U;
0600 FE01 movw R30,R28
0602 0081 ldd R16,z+0
0604 1181 ldd R17,z+1
0606 2281 ldd R18,z+2
0608 3381 ldd R19,z+3
060A L83:
060A 2496 adiw R28,4
060C 0E940000 xcall pop_gset5
0610 .dbline 0 ; func end
0610 0895 ret
.area bss(ram, con, rel)
0000 _tx_counter1::
0000 .blkb 1
0001 _tx_rd_index1::
0001 .blkb 1
0002 _tx_wr_index1::
0002 .blkb 1
0003 _tx_buffer1::
0003 .blkb 4
0007 _rx_buffer_overflow1::
0007 .blkb 1
0008 _rx_counter1::
0008 .blkb 1
0009 _rx_rd_index1::
0009 .blkb 1
000A _rx_wr_index1::
000A .blkb 1
000B _rx_buffer1::
000B .blkb 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -