📄 rs232.lst
字号:
02A5 2DFB MOV R31,R11
02A6 95C8 LPM
02A7 2D00 MOV R16,R0
02A8 89EC LDD R30,Y+20
02A9 89FD LDD R31,Y+21
02AA D0C4 RCALL xicall
02AB 818E LDD R24,Y+6
02AC 819F LDD R25,Y+7
02AD 9601 ADIW R24,1
02AE 839F STD Y+7,R25
02AF 838E STD Y+6,R24
02B0 2D8A MOV R24,R10
02B1 2D9B MOV R25,R11
02B2 9601 ADIW R24,1
02B3 2EA8 MOV R10,R24
02B4 2EB9 MOV R11,R25
02B5 2DEA MOV R30,R10
02B6 2DFB MOV R31,R11
02B7 95C8 LPM
02B8 2000 TST R0
02B9 F751 BNE 0x02A4
02BA C039 RJMP 0x02F4
02BB 8D88 LDD R24,Y+24
02BC 8D99 LDD R25,Y+25
02BD 9602 ADIW R24,2
02BE 8F99 STD Y+25,R25
02BF 8F88 STD Y+24,R24
02C0 2FE8 MOV R30,R24
02C1 2FF9 MOV R31,R25
02C2 9732 SBIW R30,2
02C3 80C0 LDD R12,Z+0
02C4 80D1 LDD R13,Z+1
02C5 20CC TST R12
02C6 F431 BNE 0x02CD
02C7 20DD TST R13
02C8 F421 BNE 0x02CD
02C9 E086 LDI R24,6
02CA E091 LDI R25,1
02CB 2EC8 MOV R12,R24
02CC 2ED9 MOV R13,R25
02CD 326D CPI R22,0x2D
02CE F4D1 BNE 0x02E9
02CF E20D LDI R16,0x2D
02D0 89EC LDD R30,Y+20
02D1 89FD LDD R31,Y+21
02D2 D09C RCALL xicall
02D3 818E LDD R24,Y+6
02D4 819F LDD R25,Y+7
02D5 9601 ADIW R24,1
02D6 839F STD Y+7,R25
02D7 838E STD Y+6,R24
02D8 C010 RJMP 0x02E9
02D9 2DEC MOV R30,R12
02DA 2DFD MOV R31,R13
02DB 8100 LDD R16,Z+0
02DC 89EC LDD R30,Y+20
02DD 89FD LDD R31,Y+21
02DE D090 RCALL xicall
02DF 818E LDD R24,Y+6
02E0 819F LDD R25,Y+7
02E1 9601 ADIW R24,1
02E2 839F STD Y+7,R25
02E3 838E STD Y+6,R24
02E4 2D8C MOV R24,R12
02E5 2D9D MOV R25,R13
02E6 9601 ADIW R24,1
02E7 2EC8 MOV R12,R24
02E8 2ED9 MOV R13,R25
02E9 2DEC MOV R30,R12
02EA 2DFD MOV R31,R13
02EB 8020 LDD R2,Z+0
02EC 2022 TST R2
02ED F759 BNE 0x02D9
02EE C005 RJMP 0x02F4
02EF EA83 LDI R24,0xA3
02F0 E090 LDI R25,0
02F1 2EC8 MOV R12,R24
02F2 2ED9 MOV R13,R25
02F3 CFD9 RJMP 0x02CD
02F4 898E LDD R24,Y+22
02F5 899F LDD R25,Y+23
02F6 9601 ADIW R24,1
02F7 8B9F STD Y+23,R25
02F8 8B8E STD Y+22,R24
02F9 89EE LDD R30,Y+22
02FA 89FF LDD R31,Y+23
02FB 8020 LDD R2,Z+0
02FC 2022 TST R2
02FD F009 BEQ 0x02FF
02FE CE77 RJMP 0x0176
02FF 810E LDD R16,Y+6
0300 811F LDD R17,Y+7
0301 962A ADIW R28,0xA
0302 D04B RCALL pop_gset5
0303 9624 ADIW R28,4
0304 9508 RET
_strcpy:
0305 2FA0 MOV R26,R16
0306 2FB1 MOV R27,R17
0307 2FE2 MOV R30,R18
0308 2FF3 MOV R31,R19
0309 9001 LD R0,Z+
030A 920D ST R0,X+
030B 2000 TST R0
030C F7E1 BNE 0x0309
030D 9508 RET
push_arg4:
030E 933A ST R19,-Y
030F 932A ST R18,-Y
push_arg2:
0310 931A ST R17,-Y
0311 930A ST R16,-Y
0312 9508 RET
mod16s:
0313 9468 BSET 6
0314 92DA ST R13,-Y
0315 2ED1 MOV R13,R17
0316 C004 RJMP 0x031B
div16s:
0317 94E8 BCLR 6
0318 92DA ST R13,-Y
0319 2ED1 MOV R13,R17
031A 26D3 EOR R13,R19
031B FF17 SBRS R17,7
031C C004 RJMP 0x0321
031D 9510 COM R17
031E 9500 COM R16
031F 5F0F SUBI R16,0xFF
0320 4F1F SBCI R17,0xFF
0321 FF37 SBRS R19,7
0322 C004 RJMP 0x0327
0323 9530 COM R19
0324 9520 COM R18
0325 5F2F SUBI R18,0xFF
0326 4F3F SBCI R19,0xFF
0327 D00B RCALL xdiv16u
0328 FED7 SBRS R13,7
0329 C004 RJMP 0x032E
032A 9510 COM R17
032B 9500 COM R16
032C 5F0F SUBI R16,0xFF
032D 4F1F SBCI R17,0xFF
032E 90D9 LD R13,Y+
032F 9508 RET
mod16u:
0330 9468 BSET 6
0331 C001 RJMP xdiv16u
div16u:
0332 94E8 BCLR 6
xdiv16u:
0333 92EA ST R14,-Y
0334 92FA ST R15,-Y
0335 938A ST R24,-Y
0336 24EE CLR R14
0337 24FF CLR R15
0338 E180 LDI R24,0x10
0339 0F00 LSL R16
033A 1F11 ROL R17
033B 1CEE ROL R14
033C 1CFF ROL R15
033D 16E2 CP R14,R18
033E 06F3 CPC R15,R19
033F F018 BCS 0x0343
0340 1AE2 SUB R14,R18
0341 0AF3 SBC R15,R19
0342 9503 INC R16
0343 958A DEC R24
0344 F7A1 BNE 0x0339
0345 F416 BRTC 0x0348
0346 2D0E MOV R16,R14
0347 2D1F MOV R17,R15
0348 9189 LD R24,Y+
0349 90F9 LD R15,Y+
034A 90E9 LD R14,Y+
034B 9508 RET
pop_gset4:
034C E0E8 LDI R30,0x8
034D C00E RJMP pop
pop_gset5:
034E 27EE CLR R30
034F C00C RJMP pop
push_gset5:
0350 92FA ST R15,-Y
0351 92EA ST R14,-Y
push_gset4:
0352 92DA ST R13,-Y
0353 92CA ST R12,-Y
push_gset3:
0354 92BA ST R11,-Y
0355 92AA ST R10,-Y
push_gset2:
0356 937A ST R23,-Y
0357 936A ST R22,-Y
push_gset1:
0358 935A ST R21,-Y
0359 934A ST R20,-Y
035A 9508 RET
pop_gset1:
035B E0E1 LDI R30,1
pop:
035C 9149 LD R20,Y+
035D 9159 LD R21,Y+
035E FDE0 SBRC R30,0
035F 9508 RET
0360 9169 LD R22,Y+
0361 9179 LD R23,Y+
0362 FDE1 SBRC R30,1
0363 9508 RET
0364 90A9 LD R10,Y+
0365 90B9 LD R11,Y+
0366 FDE2 SBRC R30,2
0367 9508 RET
0368 90C9 LD R12,Y+
0369 90D9 LD R13,Y+
036A FDE3 SBRC R30,3
036B 9508 RET
036C 90E9 LD R14,Y+
036D 90F9 LD R15,Y+
036E 9508 RET
xicall:
036F 920A ST R0,-Y
0370 95C8 LPM
0371 920A ST R0,-Y
0372 9631 ADIW R30,1
0373 95C8 LPM
0374 2DF0 MOV R31,R0
0375 91E9 LD R30,Y+
0376 9009 LD R0,Y+
0377 9409 IJMP
_putchar:
0378 DFDF RCALL push_gset1
0379 2F40 MOV R20,R16
037A 9020017B LDS R2,_textmode
037C 9030017C LDS R3,_textmode+1
037E 2022 TST R2
037F F411 BNE 0x0382
0380 2033 TST R3
0381 F021 BEQ 0x0386
0382 304A CPI R20,0xA
0383 F411 BNE 0x0386
0384 E00D LDI R16,0xD
0385 DFF2 RCALL _putchar
0386 9B5D SBIS 0x0B,5
0387 CFFE RJMP 0x0386
0388 B94C OUT 0x0C,R20
0389 2F04 MOV R16,R20
038A 2711 CLR R17
038B DFCF RCALL pop_gset1
038C 9508 RET
__va_start:
038D 2F82 MOV R24,R18
038E 2F93 MOV R25,R19
038F 9601 ADIW R24,1
0390 7F8E ANDI R24,0xFE
0391 0F80 ADD R24,R16
0392 1F91 ADC R25,R17
0393 2F08 MOV R16,R24
0394 2F19 MOV R17,R25
0395 9508 RET
_itoa:
0396 DFB9 RCALL push_gset5
0397 2EC2 MOV R12,R18
0398 2ED3 MOV R13,R19
0399 2F40 MOV R20,R16
039A 2F51 MOV R21,R17
039B 97A2 SBIW R28,0x22
039C A4AC LDD R10,Y+44
039D A4BD LDD R11,Y+45
039E 2D8C MOV R24,R12
039F 2D9D MOV R25,R13
03A0 3080 CPI R24,0
03A1 E0E0 LDI R30,0
03A2 079E CPC R25,R30
03A3 F444 BGE 0x03AC
03A4 E061 LDI R22,1
03A5 9580 COM R24
03A6 9590 COM R25
03A7 5F8F SUBI R24,0xFF
03A8 4F9F SBCI R25,0xFF
03A9 2EC8 MOV R12,R24
03AA 2ED9 MOV R13,R25
03AB C001 RJMP 0x03AD
03AC 2766 CLR R22
03AD 2422 CLR R2
03AE A229 STD Y+33,R2
03AF 2F8C MOV R24,R28
03B0 2F9D MOV R25,R29
03B1 9681 ADIW R24,0x21
03B2 2EE8 MOV R14,R24
03B3 2EF9 MOV R15,R25
03B4 2D8E MOV R24,R14
03B5 2D9F MOV R25,R15
03B6 9701 SBIW R24,1
03B7 2E28 MOV R2,R24
03B8 2E39 MOV R3,R25
03B9 2EE8 MOV R14,R24
03BA 2EF9 MOV R15,R25
03BB 2D2A MOV R18,R10
03BC 2D3B MOV R19,R11
03BD 2D0C MOV R16,R12
03BE 2D1D MOV R17,R13
03BF DF53 RCALL mod16s
03C0 2FE0 MOV R30,R16
03C1 2FF1 MOV R31,R17
03C2 E188 LDI R24,0x18
03C3 E091 LDI R25,1
03C4 0FE8 ADD R30,R24
03C5 1FF9 ADC R31,R25
03C6 8040 LDD R4,Z+0
03C7 2DE2 MOV R30,R2
03C8 2DF3 MOV R31,R3
03C9 8240 STD Z+0,R4
03CA 2D2A MOV R18,R10
03CB 2D3B MOV R19,R11
03CC 2D0C MOV R16,R12
03CD 2D1D MOV R17,R13
03CE DF48 RCALL div16s
03CF 2EC0 MOV R12,R16
03D0 2ED1 MOV R13,R17
03D1 20CC TST R12
03D2 F709 BNE 0x03B4
03D3 20DD TST R13
03D4 F6F9 BNE 0x03B4
03D5 2366 TST R22
03D6 F059 BEQ 0x03E2
03D7 2D8E MOV R24,R14
03D8 2D9F MOV R25,R15
03D9 9701 SBIW R24,1
03DA 2E28 MOV R2,R24
03DB 2E39 MOV R3,R25
03DC 2EE8 MOV R14,R24
03DD 2EF9 MOV R15,R25
03DE E28D LDI R24,0x2D
03DF 2DE2 MOV R30,R2
03E0 2DF3 MOV R31,R3
03E1 8380 STD Z+0,R24
03E2 2D2E MOV R18,R14
03E3 2D3F MOV R19,R15
03E4 2F04 MOV R16,R20
03E5 2F15 MOV R17,R21
03E6 DF1E RCALL _strcpy
03E7 96A2 ADIW R28,0x22
03E8 DF65 RCALL pop_gset5
03E9 9508 RET
_utoa:
03EA DF67 RCALL push_gset4
03EB 2EA2 MOV R10,R18
03EC 2EB3 MOV R11,R19
03ED 2EC0 MOV R12,R16
03EE 2ED1 MOV R13,R17
03EF 97A2 SBIW R28,0x22
03F0 A56A LDD R22,Y+42
03F1 A57B LDD R23,Y+43
03F2 2422 CLR R2
03F3 A229 STD Y+33,R2
03F4 2F4C MOV R20,R28
03F5 2F5D MOV R21,R29
03F6 5D4F SUBI R20,0xDF
03F7 4F5F SBCI R21,0xFF
03F8 2F84 MOV R24,R20
03F9 2F95 MOV R25,R21
03FA 9701 SBIW R24,1
03FB 2E28 MOV R2,R24
03FC 2E39 MOV R3,R25
03FD 2F48 MOV R20,R24
03FE 2F59 MOV R21,R25
03FF 2F26 MOV R18,R22
0400 2F37 MOV R19,R23
0401 2D0A MOV R16,R10
0402 2D1B MOV R17,R11
0403 DF2C RCALL mod16u
0404 2FE0 MOV R30,R16
0405 2FF1 MOV R31,R17
0406 E38D LDI R24,0x3D
0407 E091 LDI R25,1
0408 0FE8 ADD R30,R24
0409 1FF9 ADC R31,R25
040A 8040 LDD R4,Z+0
040B 2DE2 MOV R30,R2
040C 2DF3 MOV R31,R3
040D 8240 STD Z+0,R4
040E 2F26 MOV R18,R22
040F 2F37 MOV R19,R23
0410 2D0A MOV R16,R10
0411 2D1B MOV R17,R11
0412 DF1F RCALL div16u
0413 2EA0 MOV R10,R16
0414 2EB1 MOV R11,R17
0415 20AA TST R10
0416 F709 BNE 0x03F8
0417 20BB TST R11
0418 F6F9 BNE 0x03F8
0419 2F24 MOV R18,R20
041A 2F35 MOV R19,R21
041B 2D0C MOV R16,R12
041C 2D1D MOV R17,R13
041D DEE7 RCALL _strcpy
041E 96A2 ADIW R28,0x22
041F DF2C RCALL pop_gset4
0420 9508 RET
_islower:
0421 E385 LDI R24,0x35
0422 E090 LDI R25,0
0423 2E20 MOV R2,R16
0424 2E31 MOV R3,R17
0425 0E28 ADD R2,R24
0426 1E39 ADC R3,R25
0427 2DE2 MOV R30,R2
0428 2DF3 MOV R31,R3
0429 95C8 LPM
042A 2D00 MOV R16,R0
042B 2711 CLR R17
042C 7002 ANDI R16,2
042D 7010 ANDI R17,0
042E 9508 RET
_toupper:
042F DF28 RCALL push_gset1
0430 2F40 MOV R20,R16
0431 2F51 MOV R21,R17
0432 2F04 MOV R16,R20
0433 2F15 MOV R17,R21
0434 DFEC RCALL _islower
0435 3000 CPI R16,0
0436 0701 CPC R16,R17
0437 F039 BEQ 0x043F
0438 2F04 MOV R16,R20
0439 2F15 MOV R17,R21
043A 5601 SUBI R16,0x61
043B 4010 SBCI R17,0
043C 5B0F SUBI R16,0xBF
043D 4F1F SBCI R17,0xFF
043E C002 RJMP 0x0441
043F 2F04 MOV R16,R20
0440 2F15 MOV R17,R21
0441 DF19 RCALL pop_gset1
0442 9508 RET
_printf:
0443 DECA RCALL push_arg4
0444 DF13 RCALL push_gset1
0445 9722 SBIW R28,2
0446 E022 LDI R18,2
0447 E030 LDI R19,0
0448 2F0C MOV R16,R28
0449 2F1D MOV R17,R29
044A 5F0C SUBI R16,0xFC
044B 4F1F SBCI R17,0xFF
044C DF40 RCALL __va_start
044D 2F40 MOV R20,R16
044E 2F51 MOV R21,R17
044F 8359 STD Y+1,R21
0450 8348 STD Y+0,R20
0451 812C LDD R18,Y+4
0452 813D LDD R19,Y+5
0453 E202 LDI R16,0x22
0454 E010 LDI R17,0
0455 DD18 RCALL __print
0456 2F40 MOV R20,R16
0457 2F51 MOV R21,R17
0458 9622 ADIW R28,2
0459 DF01 RCALL pop_gset1
045A 9624 ADIW R28,4
045B 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -