📄 shiyan.lst
字号:
_strcpy:
026A 2FA0 MOV R26,R16
026B 2FB1 MOV R27,R17
026C 2FE2 MOV R30,R18
026D 2FF3 MOV R31,R19
026E 9001 LD R0,Z+
026F 920D ST R0,X+
0270 2000 TST R0
0271 F7E1 BNE 0x026E
0272 9508 RET
push_arg4:
0273 933A ST R19,-Y
0274 932A ST R18,-Y
push_arg2:
0275 931A ST R17,-Y
0276 930A ST R16,-Y
0277 9508 RET
mod16s:
0278 9468 BSET 6
0279 92DA ST R13,-Y
027A 2ED1 MOV R13,R17
027B C004 RJMP 0x0280
div16s:
027C 94E8 BCLR 6
027D 92DA ST R13,-Y
027E 2ED1 MOV R13,R17
027F 26D3 EOR R13,R19
0280 FF17 SBRS R17,7
0281 C001 RJMP 0x0283
0282 D162 RCALL 0x03E5
0283 FF37 SBRS R19,7
0284 C004 RJMP 0x0289
0285 9530 COM R19
0286 9520 COM R18
0287 5F2F SUBI R18,0xFF
0288 4F3F SBCI R19,0xFF
0289 D008 RCALL xdiv16u
028A FED7 SBRS R13,7
028B C001 RJMP 0x028D
028C D158 RCALL 0x03E5
028D 90D9 LD R13,Y+
028E 9508 RET
mod16u:
028F 9468 BSET 6
0290 C001 RJMP xdiv16u
div16u:
0291 94E8 BCLR 6
xdiv16u:
0292 92EA ST R14,-Y
0293 92FA ST R15,-Y
0294 938A ST R24,-Y
0295 24EE CLR R14
0296 24FF CLR R15
0297 E180 LDI R24,0x10
0298 0F00 LSL R16
0299 1F11 ROL R17
029A 1CEE ROL R14
029B 1CFF ROL R15
029C 16E2 CP R14,R18
029D 06F3 CPC R15,R19
029E F018 BCS 0x02A2
029F 1AE2 SUB R14,R18
02A0 0AF3 SBC R15,R19
02A1 9503 INC R16
02A2 958A DEC R24
02A3 F7A1 BNE 0x0298
02A4 F416 BRTC 0x02A7
02A5 2D0E MOV R16,R14
02A6 2D1F MOV R17,R15
02A7 9189 LD R24,Y+
02A8 90F9 LD R15,Y+
02A9 90E9 LD R14,Y+
02AA 9508 RET
pop_gset4:
02AB E0E8 LDI R30,0x8
02AC C00E RJMP pop
pop_gset5:
02AD 27EE CLR R30
02AE C00C RJMP pop
push_gset5:
02AF 92FA ST R15,-Y
02B0 92EA ST R14,-Y
push_gset4:
02B1 92DA ST R13,-Y
02B2 92CA ST R12,-Y
push_gset3:
02B3 92BA ST R11,-Y
02B4 92AA ST R10,-Y
push_gset2:
02B5 937A ST R23,-Y
02B6 936A ST R22,-Y
push_gset1:
02B7 935A ST R21,-Y
02B8 934A ST R20,-Y
02B9 9508 RET
pop_gset1:
02BA E0E1 LDI R30,1
pop:
02BB 9149 LD R20,Y+
02BC 9159 LD R21,Y+
02BD FDE0 SBRC R30,0
02BE 9508 RET
02BF 9169 LD R22,Y+
02C0 9179 LD R23,Y+
02C1 FDE1 SBRC R30,1
02C2 9508 RET
02C3 90A9 LD R10,Y+
02C4 90B9 LD R11,Y+
02C5 FDE2 SBRC R30,2
02C6 9508 RET
02C7 90C9 LD R12,Y+
02C8 90D9 LD R13,Y+
02C9 FDE3 SBRC R30,3
02CA 9508 RET
02CB 90E9 LD R14,Y+
02CC 90F9 LD R15,Y+
02CD 9508 RET
xicall:
02CE 920A ST R0,-Y
02CF 95C8 LPM
02D0 920A ST R0,-Y
02D1 9631 ADIW R30,1
02D2 95C8 LPM
02D3 2DF0 MOV R31,R0
02D4 91E9 LD R30,Y+
02D5 9009 LD R0,Y+
02D6 9409 IJMP
_putchar:
02D7 DFDF RCALL push_gset1
02D8 2F40 MOV R20,R16
02D9 90200154 LDS R2,_textmode
02DB 90300155 LDS R3,_textmode+1
02DD 2022 TST R2
02DE F411 BNE 0x02E1
02DF 2033 TST R3
02E0 F021 BEQ 0x02E5
02E1 304A CPI R20,0xA
02E2 F411 BNE 0x02E5
02E3 E00D LDI R16,0xD
02E4 DFF2 RCALL _putchar
02E5 9B5D SBIS 0x0B,5
02E6 CFFE RJMP 0x02E5
02E7 B94C OUT 0x0C,R20
02E8 2F04 MOV R16,R20
02E9 2711 CLR R17
02EA DFCF RCALL pop_gset1
02EB 9508 RET
_getchar:
02EC 9B5F SBIS 0x0B,7
02ED CFFE RJMP _getchar
02EE B10C IN R16,0x0C
02EF 2711 CLR R17
02F0 9508 RET
__va_start:
02F1 2F82 MOV R24,R18
02F2 2F93 MOV R25,R19
02F3 9601 ADIW R24,1
02F4 7F8E ANDI R24,0xFE
02F5 0F80 ADD R24,R16
02F6 1F91 ADC R25,R17
02F7 2F08 MOV R16,R24
02F8 2F19 MOV R17,R25
02F9 9508 RET
_itoa:
02FA DFB4 RCALL push_gset5
02FB 2EC2 MOV R12,R18
02FC 2ED3 MOV R13,R19
02FD 2F40 MOV R20,R16
02FE 2F51 MOV R21,R17
02FF 97A2 SBIW R28,0x22
0300 A4AC LDD R10,Y+44
0301 A4BD LDD R11,Y+45
0302 2D8C MOV R24,R12
0303 2D9D MOV R25,R13
0304 3080 CPI R24,0
0305 E0E0 LDI R30,0
0306 079E CPC R25,R30
0307 F42C BGE 0x030D
0308 E061 LDI R22,1
0309 D0CC RCALL 0x03D6
030A 2EC8 MOV R12,R24
030B 2ED9 MOV R13,R25
030C C001 RJMP 0x030E
030D 2766 CLR R22
030E 2422 CLR R2
030F A229 STD Y+33,R2
0310 2F8C MOV R24,R28
0311 2F9D MOV R25,R29
0312 9681 ADIW R24,0x21
0313 2EE8 MOV R14,R24
0314 2EF9 MOV R15,R25
0315 D09C RCALL 0x03B2
0316 D0BA RCALL 0x03D1
0317 DF60 RCALL mod16s
0318 2FE0 MOV R30,R16
0319 2FF1 MOV R31,R17
031A EF81 LDI R24,0xF1
031B E090 LDI R25,0
031C D09D RCALL 0x03BA
031D D0B3 RCALL 0x03D1
031E DF5D RCALL div16s
031F 2EC0 MOV R12,R16
0320 2ED1 MOV R13,R17
0321 20CC TST R12
0322 F791 BNE 0x0315
0323 20DD TST R13
0324 F781 BNE 0x0315
0325 2366 TST R22
0326 F029 BEQ 0x032C
0327 D08A RCALL 0x03B2
0328 E28D LDI R24,0x2D
0329 2DE2 MOV R30,R2
032A 2DF3 MOV R31,R3
032B 8380 STD Z+0,R24
032C 2D2E MOV R18,R14
032D 2D3F MOV R19,R15
032E 2F04 MOV R16,R20
032F 2F15 MOV R17,R21
0330 DF39 RCALL _strcpy
0331 96A2 ADIW R28,0x22
0332 DF7A RCALL pop_gset5
0333 9508 RET
_utoa:
0334 DF7C RCALL push_gset4
0335 2EA2 MOV R10,R18
0336 2EB3 MOV R11,R19
0337 2EC0 MOV R12,R16
0338 2ED1 MOV R13,R17
0339 97A2 SBIW R28,0x22
033A A56A LDD R22,Y+42
033B A57B LDD R23,Y+43
033C 2422 CLR R2
033D A229 STD Y+33,R2
033E 2F4C MOV R20,R28
033F 2F5D MOV R21,R29
0340 5D4F SUBI R20,0xDF
0341 4F5F SBCI R21,0xFF
0342 2F84 MOV R24,R20
0343 2F95 MOV R25,R21
0344 9701 SBIW R24,1
0345 2E28 MOV R2,R24
0346 2E39 MOV R3,R25
0347 2F48 MOV R20,R24
0348 2F59 MOV R21,R25
0349 D096 RCALL 0x03E0
034A DF44 RCALL mod16u
034B 2FE0 MOV R30,R16
034C 2FF1 MOV R31,R17
034D E186 LDI R24,0x16
034E E091 LDI R25,1
034F D06A RCALL 0x03BA
0350 D08F RCALL 0x03E0
0351 DF3F RCALL div16u
0352 2EA0 MOV R10,R16
0353 2EB1 MOV R11,R17
0354 20AA TST R10
0355 F761 BNE 0x0342
0356 20BB TST R11
0357 F751 BNE 0x0342
0358 2F24 MOV R18,R20
0359 2F35 MOV R19,R21
035A 2D0C MOV R16,R12
035B 2D1D MOV R17,R13
035C DF0D RCALL _strcpy
035D 96A2 ADIW R28,0x22
035E DF4C RCALL pop_gset4
035F 9508 RET
_islower:
0360 E289 LDI R24,0x29
0361 E090 LDI R25,0
0362 2E20 MOV R2,R16
0363 2E31 MOV R3,R17
0364 0E28 ADD R2,R24
0365 1E39 ADC R3,R25
0366 2DE2 MOV R30,R2
0367 2DF3 MOV R31,R3
0368 95C8 LPM
0369 2D00 MOV R16,R0
036A 2711 CLR R17
036B 7002 ANDI R16,2
036C 7010 ANDI R17,0
036D 9508 RET
_toupper:
036E DF48 RCALL push_gset1
036F 2F40 MOV R20,R16
0370 2F51 MOV R21,R17
0371 2F04 MOV R16,R20
0372 2F15 MOV R17,R21
0373 DFEC RCALL _islower
0374 3000 CPI R16,0
0375 0701 CPC R16,R17
0376 F039 BEQ 0x037E
0377 2F04 MOV R16,R20
0378 2F15 MOV R17,R21
0379 5601 SUBI R16,0x61
037A 4010 SBCI R17,0
037B 5B0F SUBI R16,0xBF
037C 4F1F SBCI R17,0xFF
037D C002 RJMP 0x0380
037E 2F04 MOV R16,R20
037F 2F15 MOV R17,R21
0380 DF39 RCALL pop_gset1
0381 9508 RET
_printf:
0382 DEF0 RCALL push_arg4
0383 DF33 RCALL push_gset1
0384 9722 SBIW R28,2
0385 E022 LDI R18,2
0386 E030 LDI R19,0
0387 2F0C MOV R16,R28
0388 2F1D MOV R17,R29
0389 5F0C SUBI R16,0xFC
038A 4F1F SBCI R17,0xFF
038B DF65 RCALL __va_start
038C 2F40 MOV R20,R16
038D 2F51 MOV R21,R17
038E 8359 STD Y+1,R21
038F 8348 STD Y+0,R20
0390 812C LDD R18,Y+4
0391 813D LDD R19,Y+5
0392 E206 LDI R16,0x26
0393 E010 LDI R17,0
0394 DDAC RCALL __print
0395 2F40 MOV R20,R16
0396 2F51 MOV R21,R17
0397 9622 ADIW R28,2
0398 DF21 RCALL pop_gset1
0399 9624 ADIW R28,4
039A 9508 RET
<created procedures>:
039B 8D88 LDD R24,Y+24
039C 8D99 LDD R25,Y+25
039D 9602 ADIW R24,2
039E 8F99 STD Y+25,R25
039F 8F88 STD Y+24,R24
03A0 2FE8 MOV R30,R24
03A1 2FF9 MOV R31,R25
03A2 9732 SBIW R30,2
03A3 9508 RET
03A4 818E LDD R24,Y+6
03A5 819F LDD R25,Y+7
03A6 9601 ADIW R24,1
03A7 839F STD Y+7,R25
03A8 838E STD Y+6,R24
03A9 9508 RET
03AA E090 LDI R25,0
03AB 8399 STD Y+1,R25
03AC 8388 STD Y+0,R24
03AD 8528 LDD R18,Y+8
03AE 8539 LDD R19,Y+9
03AF 2F04 MOV R16,R20
03B0 2F15 MOV R17,R21
03B1 9508 RET
03B2 2D8E MOV R24,R14
03B3 2D9F MOV R25,R15
03B4 9701 SBIW R24,1
03B5 2E28 MOV R2,R24
03B6 2E39 MOV R3,R25
03B7 2EE8 MOV R14,R24
03B8 2EF9 MOV R15,R25
03B9 9508 RET
03BA 0FE8 ADD R30,R24
03BB 1FF9 ADC R31,R25
03BC 8040 LDD R4,Z+0
03BD 2DE2 MOV R30,R2
03BE 2DF3 MOV R31,R3
03BF 8240 STD Z+0,R4
03C0 9508 RET
03C1 898E LDD R24,Y+22
03C2 899F LDD R25,Y+23
03C3 9601 ADIW R24,1
03C4 8B9F STD Y+23,R25
03C5 8B8E STD Y+22,R24
03C6 9508 RET
03C7 E38B LDI R24,0x3B
03C8 E091 LDI R25,1
03C9 2EC8 MOV R12,R24
03CA 2ED9 MOV R13,R25
03CB 9508 RET
03CC 8020 LDD R2,Z+0
03CD 8031 LDD R3,Z+1
03CE 8639 STD Y+9,R3
03CF 8628 STD Y+8,R2
03D0 9508 RET
03D1 2D2A MOV R18,R10
03D2 2D3B MOV R19,R11
03D3 2D0C MOV R16,R12
03D4 2D1D MOV R17,R13
03D5 9508 RET
03D6 9580 COM R24
03D7 9590 COM R25
03D8 5F8F SUBI R24,0xFF
03D9 4F9F SBCI R25,0xFF
03DA 9508 RET
03DB 2DEC MOV R30,R12
03DC 2DFD MOV R31,R13
03DD 8020 LDD R2,Z+0
03DE 2022 TST R2
03DF 9508 RET
03E0 2F26 MOV R18,R22
03E1 2F37 MOV R19,R23
03E2 2D0A MOV R16,R10
03E3 2D1B MOV R17,R11
03E4 9508 RET
03E5 9510 COM R17
03E6 9500 COM R16
03E7 5F0F SUBI R16,0xFF
03E8 4F1F SBCI R17,0xFF
03E9 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -