📄 usart_0.lst
字号:
03CB 940E0461 CALL xicall
03CD 818E LDD R24,Y+6
03CE 819F LDD R25,Y+7
03CF 9601 ADIW R24,1
03D0 839F STD Y+7,R25
03D1 838E STD Y+6,R24
03D2 2D8C MOV R24,R12
03D3 2D9D MOV R25,R13
03D4 9601 ADIW R24,1
03D5 2EC8 MOV R12,R24
03D6 2ED9 MOV R13,R25
03D7 2DEC MOV R30,R12
03D8 2DFD MOV R31,R13
03D9 8020 LDD R2,Z+0
03DA 2022 TST R2
03DB F751 BNE 0x03C6
03DC C005 RJMP 0x03E2
03DD E182 LDI R24,0x12
03DE E091 LDI R25,1
03DF 2EC8 MOV R12,R24
03E0 2ED9 MOV R13,R25
03E1 CFD7 RJMP 0x03B9
03E2 898E LDD R24,Y+22
03E3 899F LDD R25,Y+23
03E4 9601 ADIW R24,1
03E5 8B9F STD Y+23,R25
03E6 8B8E STD Y+22,R24
03E7 89EE LDD R30,Y+22
03E8 89FF LDD R31,Y+23
03E9 8020 LDD R2,Z+0
03EA 2022 TST R2
03EB F009 BEQ 0x03ED
03EC CE6B RJMP 0x0258
03ED 810E LDD R16,Y+6
03EE 811F LDD R17,Y+7
03EF 962A ADIW R28,0xA
03F0 940E043F CALL pop_gset5
03F2 9624 ADIW R28,4
03F3 9508 RET
_strcpy:
03F4 2FA0 MOV R26,R16
03F5 2FB1 MOV R27,R17
03F6 2FE2 MOV R30,R18
03F7 2FF3 MOV R31,R19
03F8 9001 LD R0,Z+
03F9 920D ST R0,X+
03FA 2000 TST R0
03FB F7E1 BNE 0x03F8
03FC 9508 RET
push_arg4:
03FD 933A ST R19,-Y
03FE 932A ST R18,-Y
push_arg2:
03FF 931A ST R17,-Y
0400 930A ST R16,-Y
0401 9508 RET
mod16s:
0402 9468 BSET 6
0403 92DA ST R13,-Y
0404 2ED1 MOV R13,R17
0405 C004 RJMP 0x040A
div16s:
0406 94E8 BCLR 6
0407 92DA ST R13,-Y
0408 2ED1 MOV R13,R17
0409 26D3 EOR R13,R19
040A FF17 SBRS R17,7
040B C004 RJMP 0x0410
040C 9510 COM R17
040D 9500 COM R16
040E 5F0F SUBI R16,0xFF
040F 4F1F SBCI R17,0xFF
0410 FF37 SBRS R19,7
0411 C004 RJMP 0x0416
0412 9530 COM R19
0413 9520 COM R18
0414 5F2F SUBI R18,0xFF
0415 4F3F SBCI R19,0xFF
0416 940E0423 CALL xdiv16u
0418 FED7 SBRS R13,7
0419 C004 RJMP 0x041E
041A 9510 COM R17
041B 9500 COM R16
041C 5F0F SUBI R16,0xFF
041D 4F1F SBCI R17,0xFF
041E 90D9 LD R13,Y+
041F 9508 RET
mod16u:
0420 9468 BSET 6
0421 C001 RJMP xdiv16u
div16u:
0422 94E8 BCLR 6
xdiv16u:
0423 92EA ST R14,-Y
0424 92FA ST R15,-Y
0425 938A ST R24,-Y
0426 24EE CLR R14
0427 24FF CLR R15
0428 E180 LDI R24,0x10
0429 0F00 LSL R16
042A 1F11 ROL R17
042B 1CEE ROL R14
042C 1CFF ROL R15
042D 16E2 CP R14,R18
042E 06F3 CPC R15,R19
042F F018 BCS 0x0433
0430 1AE2 SUB R14,R18
0431 0AF3 SBC R15,R19
0432 9503 INC R16
0433 958A DEC R24
0434 F7A1 BNE 0x0429
0435 F416 BRTC 0x0438
0436 2D0E MOV R16,R14
0437 2D1F MOV R17,R15
0438 9189 LD R24,Y+
0439 90F9 LD R15,Y+
043A 90E9 LD R14,Y+
043B 9508 RET
pop_gset4:
043C E0E8 LDI R30,0x8
043D 940C044E JMP pop
pop_gset5:
043F 27EE CLR R30
0440 940C044E JMP pop
push_gset5:
0442 92FA ST R15,-Y
0443 92EA ST R14,-Y
push_gset4:
0444 92DA ST R13,-Y
0445 92CA ST R12,-Y
push_gset3:
0446 92BA ST R11,-Y
0447 92AA ST R10,-Y
push_gset2:
0448 937A ST R23,-Y
0449 936A ST R22,-Y
push_gset1:
044A 935A ST R21,-Y
044B 934A ST R20,-Y
044C 9508 RET
pop_gset1:
044D E0E1 LDI R30,1
pop:
044E 9149 LD R20,Y+
044F 9159 LD R21,Y+
0450 FDE0 SBRC R30,0
0451 9508 RET
0452 9169 LD R22,Y+
0453 9179 LD R23,Y+
0454 FDE1 SBRC R30,1
0455 9508 RET
0456 90A9 LD R10,Y+
0457 90B9 LD R11,Y+
0458 FDE2 SBRC R30,2
0459 9508 RET
045A 90C9 LD R12,Y+
045B 90D9 LD R13,Y+
045C FDE3 SBRC R30,3
045D 9508 RET
045E 90E9 LD R14,Y+
045F 90F9 LD R15,Y+
0460 9508 RET
xicall:
0461 920A ST R0,-Y
0462 95C8 LPM
0463 920A ST R0,-Y
0464 9631 ADIW R30,1
0465 95C8 LPM
0466 2DF0 MOV R31,R0
0467 91E9 LD R30,Y+
0468 9009 LD R0,Y+
0469 9409 IJMP
_putchar:
046A 940E044A CALL push_gset1
046C 2F40 MOV R20,R16
046D 902001EA LDS R2,_textmode
046F 903001EB LDS R3,_textmode+1
0471 2022 TST R2
0472 F411 BNE 0x0475
0473 2033 TST R3
0474 F021 BEQ 0x0479
0475 304A CPI R20,0xA
0476 F411 BNE 0x0479
0477 E00D LDI R16,0xD
0478 DFF1 RCALL _putchar
0479 9B5D SBIS 0x0B,5
047A CFFE RJMP 0x0479
047B B94C OUT 0x0C,R20
047C 2F04 MOV R16,R20
047D 2711 CLR R17
047E 940E044D CALL pop_gset1
0480 9508 RET
__va_start:
0481 2F82 MOV R24,R18
0482 2F93 MOV R25,R19
0483 9601 ADIW R24,1
0484 7F8E ANDI R24,0xFE
0485 0F80 ADD R24,R16
0486 1F91 ADC R25,R17
0487 2F08 MOV R16,R24
0488 2F19 MOV R17,R25
0489 9508 RET
_itoa:
048A 940E0442 CALL push_gset5
048C 2EC2 MOV R12,R18
048D 2ED3 MOV R13,R19
048E 2F40 MOV R20,R16
048F 2F51 MOV R21,R17
0490 97A2 SBIW R28,0x22
0491 A4AC LDD R10,Y+44
0492 A4BD LDD R11,Y+45
0493 2D8C MOV R24,R12
0494 2D9D MOV R25,R13
0495 3080 CPI R24,0
0496 E0E0 LDI R30,0
0497 079E CPC R25,R30
0498 F444 BGE 0x04A1
0499 E061 LDI R22,1
049A 9580 COM R24
049B 9590 COM R25
049C 5F8F SUBI R24,0xFF
049D 4F9F SBCI R25,0xFF
049E 2EC8 MOV R12,R24
049F 2ED9 MOV R13,R25
04A0 C001 RJMP 0x04A2
04A1 2766 CLR R22
04A2 2422 CLR R2
04A3 A229 STD Y+33,R2
04A4 2F8C MOV R24,R28
04A5 2F9D MOV R25,R29
04A6 9681 ADIW R24,0x21
04A7 2EE8 MOV R14,R24
04A8 2EF9 MOV R15,R25
04A9 2D8E MOV R24,R14
04AA 2D9F MOV R25,R15
04AB 9701 SBIW R24,1
04AC 2E28 MOV R2,R24
04AD 2E39 MOV R3,R25
04AE 2EE8 MOV R14,R24
04AF 2EF9 MOV R15,R25
04B0 2D2A MOV R18,R10
04B1 2D3B MOV R19,R11
04B2 2D0C MOV R16,R12
04B3 2D1D MOV R17,R13
04B4 940E0402 CALL mod16s
04B6 2FE0 MOV R30,R16
04B7 2FF1 MOV R31,R17
04B8 E887 LDI R24,0x87
04B9 E091 LDI R25,1
04BA 0FE8 ADD R30,R24
04BB 1FF9 ADC R31,R25
04BC 8040 LDD R4,Z+0
04BD 2DE2 MOV R30,R2
04BE 2DF3 MOV R31,R3
04BF 8240 STD Z+0,R4
04C0 2D2A MOV R18,R10
04C1 2D3B MOV R19,R11
04C2 2D0C MOV R16,R12
04C3 2D1D MOV R17,R13
04C4 940E0406 CALL div16s
04C6 2EC0 MOV R12,R16
04C7 2ED1 MOV R13,R17
04C8 20CC TST R12
04C9 F6F9 BNE 0x04A9
04CA 20DD TST R13
04CB F6E9 BNE 0x04A9
04CC 2366 TST R22
04CD F059 BEQ 0x04D9
04CE 2D8E MOV R24,R14
04CF 2D9F MOV R25,R15
04D0 9701 SBIW R24,1
04D1 2E28 MOV R2,R24
04D2 2E39 MOV R3,R25
04D3 2EE8 MOV R14,R24
04D4 2EF9 MOV R15,R25
04D5 E28D LDI R24,0x2D
04D6 2DE2 MOV R30,R2
04D7 2DF3 MOV R31,R3
04D8 8380 STD Z+0,R24
04D9 2D2E MOV R18,R14
04DA 2D3F MOV R19,R15
04DB 2F04 MOV R16,R20
04DC 2F15 MOV R17,R21
04DD 940E03F4 CALL _strcpy
04DF 96A2 ADIW R28,0x22
04E0 940E043F CALL pop_gset5
04E2 9508 RET
_utoa:
04E3 940E0444 CALL push_gset4
04E5 2EA2 MOV R10,R18
04E6 2EB3 MOV R11,R19
04E7 2EC0 MOV R12,R16
04E8 2ED1 MOV R13,R17
04E9 97A2 SBIW R28,0x22
04EA A56A LDD R22,Y+42
04EB A57B LDD R23,Y+43
04EC 2422 CLR R2
04ED A229 STD Y+33,R2
04EE 2F4C MOV R20,R28
04EF 2F5D MOV R21,R29
04F0 5D4F SUBI R20,0xDF
04F1 4F5F SBCI R21,0xFF
04F2 2F84 MOV R24,R20
04F3 2F95 MOV R25,R21
04F4 9701 SBIW R24,1
04F5 2E28 MOV R2,R24
04F6 2E39 MOV R3,R25
04F7 2F48 MOV R20,R24
04F8 2F59 MOV R21,R25
04F9 2F26 MOV R18,R22
04FA 2F37 MOV R19,R23
04FB 2D0A MOV R16,R10
04FC 2D1B MOV R17,R11
04FD 940E0420 CALL mod16u
04FF 2FE0 MOV R30,R16
0500 2FF1 MOV R31,R17
0501 EA8C LDI R24,0xAC
0502 E091 LDI R25,1
0503 0FE8 ADD R30,R24
0504 1FF9 ADC R31,R25
0505 8040 LDD R4,Z+0
0506 2DE2 MOV R30,R2
0507 2DF3 MOV R31,R3
0508 8240 STD Z+0,R4
0509 2F26 MOV R18,R22
050A 2F37 MOV R19,R23
050B 2D0A MOV R16,R10
050C 2D1B MOV R17,R11
050D 940E0422 CALL div16u
050F 2EA0 MOV R10,R16
0510 2EB1 MOV R11,R17
0511 20AA TST R10
0512 F6F9 BNE 0x04F2
0513 20BB TST R11
0514 F6E9 BNE 0x04F2
0515 2F24 MOV R18,R20
0516 2F35 MOV R19,R21
0517 2D0C MOV R16,R12
0518 2D1D MOV R17,R13
0519 940E03F4 CALL _strcpy
051B 96A2 ADIW R28,0x22
051C 940E043C CALL pop_gset4
051E 9508 RET
_islower:
051F E88F LDI R24,0x8F
0520 E090 LDI R25,0
0521 2E20 MOV R2,R16
0522 2E31 MOV R3,R17
0523 0E28 ADD R2,R24
0524 1E39 ADC R3,R25
0525 2DE2 MOV R30,R2
0526 2DF3 MOV R31,R3
0527 95C8 LPM
0528 2D00 MOV R16,R0
0529 2711 CLR R17
052A 7002 ANDI R16,2
052B 7010 ANDI R17,0
052C 9508 RET
_toupper:
052D 940E044A CALL push_gset1
052F 2F40 MOV R20,R16
0530 2F51 MOV R21,R17
0531 2F04 MOV R16,R20
0532 2F15 MOV R17,R21
0533 940E051F CALL _islower
0535 3000 CPI R16,0
0536 0701 CPC R16,R17
0537 F039 BEQ 0x053F
0538 2F04 MOV R16,R20
0539 2F15 MOV R17,R21
053A 5601 SUBI R16,0x61
053B 4010 SBCI R17,0
053C 5B0F SUBI R16,0xBF
053D 4F1F SBCI R17,0xFF
053E C002 RJMP 0x0541
053F 2F04 MOV R16,R20
0540 2F15 MOV R17,R21
0541 940E044D CALL pop_gset1
0543 9508 RET
_printf:
0544 940E03FD CALL push_arg4
0546 940E044A CALL push_gset1
0548 9722 SBIW R28,2
0549 E022 LDI R18,2
054A E030 LDI R19,0
054B 2F0C MOV R16,R28
054C 2F1D MOV R17,R29
054D 5F0C SUBI R16,0xFC
054E 4F1F SBCI R17,0xFF
054F 940E0481 CALL __va_start
0551 2F40 MOV R20,R16
0552 2F51 MOV R21,R17
0553 8359 STD Y+1,R21
0554 8348 STD Y+0,R20
0555 812C LDD R18,Y+4
0556 813D LDD R19,Y+5
0557 E80C LDI R16,0x8C
0558 E010 LDI R17,0
0559 940E024E CALL __print
055B 2F40 MOV R20,R16
055C 2F51 MOV R21,R17
055D 9622 ADIW R28,2
055E 940E044D CALL pop_gset1
0560 9624 ADIW R28,4
0561 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -