📄 main.lst
字号:
0295 F769 BNE 0x0283
0296 E48A LDI R24,0x4A
0297 E091 LDI R25,1
0298 2EC8 MOV R12,R24
0299 2ED9 MOV R13,R25
029A C057 RJMP 0x02F2
029B 8D88 LDD R24,Y+24
029C 8D99 LDD R25,Y+25
029D 9602 ADIW R24,2
029E 8F99 STD Y+25,R25
029F 8F88 STD Y+24,R24
02A0 2FE8 MOV R30,R24
02A1 2FF9 MOV R31,R25
02A2 9732 SBIW R30,2
02A3 8020 LDD R2,Z+0
02A4 8031 LDD R3,Z+1
02A5 822A STD Y+2,R2
02A6 2D02 MOV R16,R2
02A7 89EC LDD R30,Y+20
02A8 89FD LDD R31,Y+21
02A9 940E039D CALL 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 C06A RJMP 0x031B
02B1 8D88 LDD R24,Y+24
02B2 8D99 LDD R25,Y+25
02B3 9602 ADIW R24,2
02B4 8F99 STD Y+25,R25
02B5 8F88 STD Y+24,R24
02B6 2FE8 MOV R30,R24
02B7 2FF9 MOV R31,R25
02B8 9732 SBIW R30,2
02B9 80A0 LDD R10,Z+0
02BA 80B1 LDD R11,Z+1
02BB 326D CPI R22,0x2D
02BC F4E9 BNE 0x02DA
02BD E20D LDI R16,0x2D
02BE 89EC LDD R30,Y+20
02BF 89FD LDD R31,Y+21
02C0 940E039D CALL xicall
02C2 818E LDD R24,Y+6
02C3 819F LDD R25,Y+7
02C4 9601 ADIW R24,1
02C5 839F STD Y+7,R25
02C6 838E STD Y+6,R24
02C7 C012 RJMP 0x02DA
02C8 2DEA MOV R30,R10
02C9 2DFB MOV R31,R11
02CA 95C8 LPM
02CB 2D00 MOV R16,R0
02CC 89EC LDD R30,Y+20
02CD 89FD LDD R31,Y+21
02CE 940E039D CALL xicall
02D0 818E LDD R24,Y+6
02D1 819F LDD R25,Y+7
02D2 9601 ADIW R24,1
02D3 839F STD Y+7,R25
02D4 838E STD Y+6,R24
02D5 2D8A MOV R24,R10
02D6 2D9B MOV R25,R11
02D7 9601 ADIW R24,1
02D8 2EA8 MOV R10,R24
02D9 2EB9 MOV R11,R25
02DA 2DEA MOV R30,R10
02DB 2DFB MOV R31,R11
02DC 95C8 LPM
02DD 2000 TST R0
02DE F749 BNE 0x02C8
02DF C03B RJMP 0x031B
02E0 8D88 LDD R24,Y+24
02E1 8D99 LDD R25,Y+25
02E2 9602 ADIW R24,2
02E3 8F99 STD Y+25,R25
02E4 8F88 STD Y+24,R24
02E5 2FE8 MOV R30,R24
02E6 2FF9 MOV R31,R25
02E7 9732 SBIW R30,2
02E8 80C0 LDD R12,Z+0
02E9 80D1 LDD R13,Z+1
02EA 20CC TST R12
02EB F431 BNE 0x02F2
02EC 20DD TST R13
02ED F421 BNE 0x02F2
02EE ED8B LDI R24,0xDB
02EF E090 LDI R25,0
02F0 2EC8 MOV R12,R24
02F1 2ED9 MOV R13,R25
02F2 326D CPI R22,0x2D
02F3 F4E1 BNE 0x0310
02F4 E20D LDI R16,0x2D
02F5 89EC LDD R30,Y+20
02F6 89FD LDD R31,Y+21
02F7 940E039D CALL xicall
02F9 818E LDD R24,Y+6
02FA 819F LDD R25,Y+7
02FB 9601 ADIW R24,1
02FC 839F STD Y+7,R25
02FD 838E STD Y+6,R24
02FE C011 RJMP 0x0310
02FF 2DEC MOV R30,R12
0300 2DFD MOV R31,R13
0301 8100 LDD R16,Z+0
0302 89EC LDD R30,Y+20
0303 89FD LDD R31,Y+21
0304 940E039D CALL xicall
0306 818E LDD R24,Y+6
0307 819F LDD R25,Y+7
0308 9601 ADIW R24,1
0309 839F STD Y+7,R25
030A 838E STD Y+6,R24
030B 2D8C MOV R24,R12
030C 2D9D MOV R25,R13
030D 9601 ADIW R24,1
030E 2EC8 MOV R12,R24
030F 2ED9 MOV R13,R25
0310 2DEC MOV R30,R12
0311 2DFD MOV R31,R13
0312 8020 LDD R2,Z+0
0313 2022 TST R2
0314 F751 BNE 0x02FF
0315 C005 RJMP 0x031B
0316 E788 LDI R24,0x78
0317 E090 LDI R25,0
0318 2EC8 MOV R12,R24
0319 2ED9 MOV R13,R25
031A CFD7 RJMP 0x02F2
031B 898E LDD R24,Y+22
031C 899F LDD R25,Y+23
031D 9601 ADIW R24,1
031E 8B9F STD Y+23,R25
031F 8B8E STD Y+22,R24
0320 89EE LDD R30,Y+22
0321 89FF LDD R31,Y+23
0322 8020 LDD R2,Z+0
0323 2022 TST R2
0324 F009 BEQ 0x0326
0325 CE6B RJMP 0x0191
0326 810E LDD R16,Y+6
0327 811F LDD R17,Y+7
0328 962A ADIW R28,0xA
0329 940E037B CALL pop_gset5
032B 9624 ADIW R28,4
032C 9508 RET
_strcpy:
032D 2FA0 MOV R26,R16
032E 2FB1 MOV R27,R17
032F 2FE2 MOV R30,R18
0330 2FF3 MOV R31,R19
0331 9001 LD R0,Z+
0332 920D ST R0,X+
0333 2000 TST R0
0334 F7E1 BNE 0x0331
0335 9508 RET
push_arg4:
0336 933A ST R19,-Y
0337 932A ST R18,-Y
push_arg2:
0338 931A ST R17,-Y
0339 930A ST R16,-Y
033A 9508 RET
mod16s:
033B 9468 BSET 6
033C 92DA ST R13,-Y
033D 2ED1 MOV R13,R17
033E C004 RJMP 0x0343
div16s:
033F 94E8 BCLR 6
0340 92DA ST R13,-Y
0341 2ED1 MOV R13,R17
0342 26D3 EOR R13,R19
0343 FF17 SBRS R17,7
0344 C004 RJMP 0x0349
0345 9510 COM R17
0346 9500 COM R16
0347 5F0F SUBI R16,0xFF
0348 4F1F SBCI R17,0xFF
0349 FF37 SBRS R19,7
034A C004 RJMP 0x034F
034B 9530 COM R19
034C 9520 COM R18
034D 5F2F SUBI R18,0xFF
034E 4F3F SBCI R19,0xFF
034F 940E035C CALL xdiv16u
0351 FED7 SBRS R13,7
0352 C004 RJMP 0x0357
0353 9510 COM R17
0354 9500 COM R16
0355 5F0F SUBI R16,0xFF
0356 4F1F SBCI R17,0xFF
0357 90D9 LD R13,Y+
0358 9508 RET
mod16u:
0359 9468 BSET 6
035A C001 RJMP xdiv16u
div16u:
035B 94E8 BCLR 6
xdiv16u:
035C 92EA ST R14,-Y
035D 92FA ST R15,-Y
035E 938A ST R24,-Y
035F 24EE CLR R14
0360 24FF CLR R15
0361 E180 LDI R24,0x10
0362 0F00 LSL R16
0363 1F11 ROL R17
0364 1CEE ROL R14
0365 1CFF ROL R15
0366 16E2 CP R14,R18
0367 06F3 CPC R15,R19
0368 F018 BCS 0x036C
0369 1AE2 SUB R14,R18
036A 0AF3 SBC R15,R19
036B 9503 INC R16
036C 958A DEC R24
036D F7A1 BNE 0x0362
036E F416 BRTC 0x0371
036F 2D0E MOV R16,R14
0370 2D1F MOV R17,R15
0371 9189 LD R24,Y+
0372 90F9 LD R15,Y+
0373 90E9 LD R14,Y+
0374 9508 RET
pop_gset2:
0375 E0E2 LDI R30,2
0376 940C038A JMP pop
pop_gset4:
0378 E0E8 LDI R30,0x8
0379 940C038A JMP pop
pop_gset5:
037B 27EE CLR R30
037C 940C038A JMP pop
push_gset5:
037E 92FA ST R15,-Y
037F 92EA ST R14,-Y
push_gset4:
0380 92DA ST R13,-Y
0381 92CA ST R12,-Y
push_gset3:
0382 92BA ST R11,-Y
0383 92AA ST R10,-Y
push_gset2:
0384 937A ST R23,-Y
0385 936A ST R22,-Y
push_gset1:
0386 935A ST R21,-Y
0387 934A ST R20,-Y
0388 9508 RET
pop_gset1:
0389 E0E1 LDI R30,1
pop:
038A 9149 LD R20,Y+
038B 9159 LD R21,Y+
038C FDE0 SBRC R30,0
038D 9508 RET
038E 9169 LD R22,Y+
038F 9179 LD R23,Y+
0390 FDE1 SBRC R30,1
0391 9508 RET
0392 90A9 LD R10,Y+
0393 90B9 LD R11,Y+
0394 FDE2 SBRC R30,2
0395 9508 RET
0396 90C9 LD R12,Y+
0397 90D9 LD R13,Y+
0398 FDE3 SBRC R30,3
0399 9508 RET
039A 90E9 LD R14,Y+
039B 90F9 LD R15,Y+
039C 9508 RET
xicall:
039D 920A ST R0,-Y
039E 95C8 LPM
039F 920A ST R0,-Y
03A0 9631 ADIW R30,1
03A1 95C8 LPM
03A2 2DF0 MOV R31,R0
03A3 91E9 LD R30,Y+
03A4 9009 LD R0,Y+
03A5 9409 IJMP
neg32:
03A6 9500 COM R16
03A7 9510 COM R17
03A8 9520 COM R18
03A9 9530 COM R19
03AA 5F0F SUBI R16,0xFF
03AB 4F1F SBCI R17,0xFF
03AC 4F2F SBCI R18,0xFF
03AD 4F3F SBCI R19,0xFF
03AE 9508 RET
long_prolog:
03AF 928A ST R8,-Y
03B0 929A ST R9,-Y
03B1 92AA ST R10,-Y
03B2 92BA ST R11,-Y
03B3 93EA ST R30,-Y
03B4 938A ST R24,-Y
03B5 939A ST R25,-Y
03B6 93AA ST R26,-Y
03B7 93BA ST R27,-Y
03B8 8589 LDD R24,Y+9
03B9 859A LDD R25,Y+10
03BA 85AB LDD R26,Y+11
03BB 85BC LDD R27,Y+12
03BC 9508 RET
long_epilog:
03BD 91B9 LD R27,Y+
03BE 91A9 LD R26,Y+
03BF 9199 LD R25,Y+
03C0 9189 LD R24,Y+
03C1 91E9 LD R30,Y+
03C2 90B9 LD R11,Y+
03C3 90A9 LD R10,Y+
03C4 9099 LD R9,Y+
03C5 9089 LD R8,Y+
03C6 9624 ADIW R28,4
03C7 9508 RET
tstzero1:
03C8 27EE CLR R30
03C9 2BE0 OR R30,R16
03CA 2BE1 OR R30,R17
03CB 2BE2 OR R30,R18
03CC 2BE3 OR R30,R19
03CD 9508 RET
tstzero2:
03CE 27EE CLR R30
03CF 2BE8 OR R30,R24
03D0 2BE9 OR R30,R25
03D1 2BEA OR R30,R26
03D2 2BEB OR R30,R27
03D3 9508 RET
mpy32u:
mpy32s:
03D4 940E03AF CALL long_prolog
03D6 940E03C8 CALL tstzero1
03D8 F0D9 BEQ 0x03F4
03D9 2488 CLR R8
03DA 2499 CLR R9
03DB 24AA CLR R10
03DC 24BB CLR R11
03DD 940E03CE CALL tstzero2
03DF F081 BEQ 0x03F0
03E0 9536 LSR R19
03E1 9527 ROR R18
03E2 9517 ROR R17
03E3 9507 ROR R16
03E4 F420 BCC 0x03E9
03E5 0E88 ADD R8,R24
03E6 1E99 ADC R9,R25
03E7 1EAA ADC R10,R26
03E8 1EBB ADC R11,R27
03E9 0F88 LSL R24
03EA 1F99 ROL R25
03EB 1FAA ROL R26
03EC 1FBB ROL R27
03ED 940E03C8 CALL tstzero1
03EF F781 BNE 0x03E0
03F0 2D08 MOV R16,R8
03F1 2D19 MOV R17,R9
03F2 2D2A MOV R18,R10
03F3 2D3B MOV R19,R11
03F4 940C03BD JMP long_epilog
asgncblk:
03F6 93AA ST R26,-Y
03F7 93BA ST R27,-Y
03F8 93EA ST R30,-Y
03F9 93FA ST R31,-Y
03FA 920A ST R0,-Y
03FB 81AF LDD R26,Y+7
03FC 85B8 LDD R27,Y+8
03FD 81ED LDD R30,Y+5
03FE 81FE LDD R31,Y+6
03FF 3000 CPI R16,0
0400 0701 CPC R16,R17
0401 F031 BEQ 0x0408
0402 95C8 LPM
0403 920D ST R0,X+
0404 9631 ADIW R30,1
0405 5001 SUBI R16,1
0406 4010 SBCI R17,0
0407 CFF7 RJMP 0x03FF
0408 9009 LD R0,Y+
0409 91F9 LD R31,Y+
040A 91E9 LD R30,Y+
040B 91B9 LD R27,Y+
040C 91A9 LD R26,Y+
040D 9624 ADIW R28,4
040E 9508 RET
_putchar:
040F 940E0386 CALL push_gset1
0411 2F40 MOV R20,R16
0412 90200164 LDS R2,_textmode
0414 90300165 LDS R3,_textmode+1
0416 2022 TST R2
0417 F411 BNE 0x041A
0418 2033 TST R3
0419 F021 BEQ 0x041E
041A 304A CPI R20,0xA
041B F411 BNE 0x041E
041C E00D LDI R16,0xD
041D DFF1 RCALL _putchar
041E 9B5D SBIS 0x0B,5
041F CFFE RJMP 0x041E
0420 B94C OUT 0x0C,R20
0421 2F04 MOV R16,R20
0422 2711 CLR R17
0423 940E0389 CALL pop_gset1
0425 9508 RET
_getchar:
0426 9B5F SBIS 0x0B,7
0427 CFFE RJMP _getchar
0428 B10C IN R16,0x0C
0429 2711 CLR R17
042A 9508 RET
__va_start:
042B 2F82 MOV R24,R18
042C 2F93 MOV R25,R19
042D 9601 ADIW R24,1
042E 7F8E ANDI R24,0xFE
042F 0F80 ADD R24,R16
0430 1F91 ADC R25,R17
0431 2F08 MOV R16,R24
0432 2F19 MOV R17,R25
0433 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -