📄 ps2-icc.lst
字号:
0267 C01A RJMP 0x0282
0268 EA48 LDI R20,0xA8
0269 E050 LDI R21,0
026A C017 RJMP 0x0282
026B EB48 LDI R20,0xB8
026C E050 LDI R21,0
026D C014 RJMP 0x0282
026E EC48 LDI R20,0xC8
026F E050 LDI R21,0
0270 C011 RJMP 0x0282
0271 ED48 LDI R20,0xD8
0272 E050 LDI R21,0
0273 C00E RJMP 0x0282
0274 EE48 LDI R20,0xE8
0275 E050 LDI R21,0
0276 C00B RJMP 0x0282
0277 EF48 LDI R20,0xF8
0278 E050 LDI R21,0
0279 C008 RJMP 0x0282
027A E048 LDI R20,0x8
027B E051 LDI R21,1
027C C005 RJMP 0x0282
027D E148 LDI R20,0x18
027E E051 LDI R21,1
027F C002 RJMP 0x0282
0280 E248 LDI R20,0x28
0281 E051 LDI R21,1
0282 91800062 LDS R24,0x62
0284 3081 CPI R24,1
0285 F009 BEQ 0x0287
0286 C048 RJMP 0x02CF
0287 91800061 LDS R24,0x61
0289 3388 CPI R24,0x38
028A F561 BNE 0x02B7
028B E061 LDI R22,1
028C 90200062 LDS R2,0x62
028E 2022 TST R2
028F F429 BNE 0x0295
0290 E081 LDI R24,1
0291 E090 LDI R25,0
0292 2EA8 MOV R10,R24
0293 2EB9 MOV R11,R25
0294 C002 RJMP 0x0297
0295 24AA CLR R10
0296 24BB CLR R11
0297 82AA STD Y+2,R10
0298 90200061 LDS R2,0x61
029A 8228 STD Y+0,R2
029B 91200060 LDS R18,0x60
029D 2F04 MOV R16,R20
029E 2F15 MOV R17,R21
029F DF69 RCALL _WriteCharacter
02A0 2422 CLR R2
02A1 92200062 STS 0x62,R2
02A3 92200061 STS 0x61,R2
02A5 3061 CPI R22,1
02A6 F431 BNE 0x02AD
02A7 91800060 LDS R24,0x60
02A9 5F8E SUBI R24,0xFE
02AA 93800060 STS 0x60,R24
02AC 2766 CLR R22
02AD E087 LDI R24,7
02AE 90200060 LDS R2,0x60
02B0 1582 CP R24,R2
02B1 F008 BCS 0x02B3
02B2 C050 RJMP 0x0303
02B3 2422 CLR R2
02B4 92200060 STS 0x60,R2
02B6 C04C RJMP 0x0303
02B7 90200062 LDS R2,0x62
02B9 2022 TST R2
02BA F419 BNE 0x02BE
02BB E061 LDI R22,1
02BC E070 LDI R23,0
02BD C002 RJMP 0x02C0
02BE 2766 CLR R22
02BF 2777 CLR R23
02C0 836A STD Y+2,R22
02C1 90200061 LDS R2,0x61
02C3 8228 STD Y+0,R2
02C4 91200060 LDS R18,0x60
02C6 2F04 MOV R16,R20
02C7 2F15 MOV R17,R21
02C8 DF40 RCALL _WriteCharacter
02C9 91800061 LDS R24,0x61
02CB 5F88 SUBI R24,0xF8
02CC 93800061 STS 0x61,R24
02CE C034 RJMP 0x0303
02CF 91800061 LDS R24,0x61
02D1 3388 CPI R24,0x38
02D2 F4C9 BNE 0x02EC
02D3 90200062 LDS R2,0x62
02D5 2022 TST R2
02D6 F419 BNE 0x02DA
02D7 E061 LDI R22,1
02D8 E070 LDI R23,0
02D9 C002 RJMP 0x02DC
02DA 2766 CLR R22
02DB 2777 CLR R23
02DC 836A STD Y+2,R22
02DD 90200061 LDS R2,0x61
02DF 8228 STD Y+0,R2
02E0 91200060 LDS R18,0x60
02E2 2F04 MOV R16,R20
02E3 2F15 MOV R17,R21
02E4 DF24 RCALL _WriteCharacter
02E5 E081 LDI R24,1
02E6 93800062 STS 0x62,R24
02E8 2422 CLR R2
02E9 92200061 STS 0x61,R2
02EB C017 RJMP 0x0303
02EC 90200062 LDS R2,0x62
02EE 2022 TST R2
02EF F419 BNE 0x02F3
02F0 E061 LDI R22,1
02F1 E070 LDI R23,0
02F2 C002 RJMP 0x02F5
02F3 2766 CLR R22
02F4 2777 CLR R23
02F5 836A STD Y+2,R22
02F6 90200061 LDS R2,0x61
02F8 8228 STD Y+0,R2
02F9 91200060 LDS R18,0x60
02FB 2F04 MOV R16,R20
02FC 2F15 MOV R17,R21
02FD DF0B RCALL _WriteCharacter
02FE 91800061 LDS R24,0x61
0300 5F88 SUBI R24,0xF8
0301 93800061 STS 0x61,R24
0303 9623 ADIW R28,3
0304 D13A RCALL pop_gset3
0305 9508 RET
_Delete_Character:
p --> R20
0306 D13C RCALL push_gset1
0307 9723 SBIW R28,3
0308 E948 LDI R20,0x98
0309 E051 LDI R21,1
030A 91800062 LDS R24,0x62
030C 3081 CPI R24,1
030D F521 BNE 0x0332
030E 90200061 LDS R2,0x61
0310 2022 TST R2
0311 F489 BNE 0x0323
0312 2422 CLR R2
0313 92200062 STS 0x62,R2
0315 E388 LDI R24,0x38
0316 93800061 STS 0x61,R24
0318 E081 LDI R24,1
0319 838A STD Y+2,R24
031A 90200061 LDS R2,0x61
031C 8228 STD Y+0,R2
031D 91200060 LDS R18,0x60
031F 2F04 MOV R16,R20
0320 2F15 MOV R17,R21
0321 DEE7 RCALL _WriteCharacter
0322 C045 RJMP 0x0368
0323 91800061 LDS R24,0x61
0325 5088 SUBI R24,0x8
0326 93800061 STS 0x61,R24
0328 2422 CLR R2
0329 822A STD Y+2,R2
032A 2E28 MOV R2,R24
032B 8228 STD Y+0,R2
032C 91200060 LDS R18,0x60
032E 2F04 MOV R16,R20
032F 2F15 MOV R17,R21
0330 DED8 RCALL _WriteCharacter
0331 C036 RJMP 0x0368
0332 90200061 LDS R2,0x61
0334 2022 TST R2
0335 F519 BNE 0x0359
0336 90200060 LDS R2,0x60
0338 2022 TST R2
0339 F0A1 BEQ 0x034E
033A E081 LDI R24,1
033B 93800062 STS 0x62,R24
033D E388 LDI R24,0x38
033E 93800061 STS 0x61,R24
0340 2D82 MOV R24,R2
0341 5082 SUBI R24,2
0342 93800060 STS 0x60,R24
0344 2422 CLR R2
0345 822A STD Y+2,R2
0346 90200061 LDS R2,0x61
0348 8228 STD Y+0,R2
0349 2F28 MOV R18,R24
034A 2F04 MOV R16,R20
034B 2F15 MOV R17,R21
034C DEBC RCALL _WriteCharacter
034D C01A RJMP 0x0368
034E 2422 CLR R2
034F 822A STD Y+2,R2
0350 90200061 LDS R2,0x61
0352 8228 STD Y+0,R2
0353 91200060 LDS R18,0x60
0355 2F04 MOV R16,R20
0356 2F15 MOV R17,R21
0357 DEB1 RCALL _WriteCharacter
0358 C00F RJMP 0x0368
0359 91800061 LDS R24,0x61
035B 5088 SUBI R24,0x8
035C 93800061 STS 0x61,R24
035E E081 LDI R24,1
035F 838A STD Y+2,R24
0360 90200061 LDS R2,0x61
0362 8228 STD Y+0,R2
0363 91200060 LDS R18,0x60
0365 2F04 MOV R16,R20
0366 2F15 MOV R17,R21
0367 DEA1 RCALL _WriteCharacter
0368 9623 ADIW R28,3
0369 D0DC RCALL pop_gset1
036A 9508 RET
_Decode:
i --> R20
temp --> R22
ScanCode --> R16
036B D0EE RCALL push_gset2
036C 2F40 MOV R20,R16
036D 2755 CLR R21
036E 3E40 CPI R20,0xE0
036F E0E0 LDI R30,0
0370 075E CPC R21,R30
0371 F009 BEQ 0x0373
0372 C005 RJMP 0x0378
0373 E081 LDI R24,1
0374 93800064 STS _Key_Up,R24
0376 E04C LDI R20,0xC
0377 C02C RJMP 0x03A4
0378 2766 CLR R22
0379 C001 RJMP 0x037B
037A 9563 INC R22
037B E282 LDI R24,0x22
037C E090 LDI R25,0
037D 2E26 MOV R2,R22
037E 2433 CLR R3
037F 0C22 LSL R2
0380 1C33 ROL R3
0381 0E28 ADD R2,R24
0382 1E39 ADC R3,R25
0383 2DE2 MOV R30,R2
0384 2DF3 MOV R31,R3
0385 95C8 LPM
0386 1600 CP R0,R16
0387 F011 BEQ 0x038A
0388 336B CPI R22,0x3B
0389 F380 BCS 0x037A
038A E282 LDI R24,0x22
038B E090 LDI R25,0
038C 2E26 MOV R2,R22
038D 2433 CLR R3
038E 0C22 LSL R2
038F 1C33 ROL R3
0390 0E28 ADD R2,R24
0391 1E39 ADC R3,R25
0392 2DE2 MOV R30,R2
0393 2DF3 MOV R31,R3
0394 95C8 LPM
0395 1600 CP R0,R16
0396 F469 BNE 0x03A4
0397 E283 LDI R24,0x23
0398 E090 LDI R25,0
0399 2E26 MOV R2,R22
039A 2433 CLR R3
039B 0C22 LSL R2
039C 1C33 ROL R3
039D 0E28 ADD R2,R24
039E 1E39 ADC R3,R25
039F 2DE2 MOV R30,R2
03A0 2DF3 MOV R31,R3
03A1 95C8 LPM
03A2 2D40 MOV R20,R0
03A3 5340 SUBI R20,0x30
03A4 2422 CLR R2
03A5 92200063 STS _Byte_Flag,R2
03A7 2F04 MOV R16,R20
03A8 D094 RCALL pop_gset2
03A9 9508 RET
_INT1_Init:
03AA B785 IN R24,0x35
03AB 7F83 ANDI R24,0xF3
03AC BF85 OUT 0x35,R24
03AD B78B IN R24,0x3B
03AE 6880 ORI R24,0x80
03AF BF8B OUT 0x3B,R24
03B0 9478 BSET 7
03B1 9508 RET
_IO_Init:
03B2 EF8F LDI R24,0xFF
03B3 BB8A OUT 0x1A,R24
03B4 BB8B OUT 0x1B,R24
03B5 BB87 OUT 0x17,R24
03B6 BB88 OUT 0x18,R24
03B7 BB84 OUT 0x14,R24
03B8 BB85 OUT 0x15,R24
03B9 2422 CLR R2
03BA BA21 OUT 0x11,R2
03BB BB82 OUT 0x12,R24
03BC 9508 RET
_main:
i --> R20
03BD DFF4 RCALL _IO_Init
03BE DFEB RCALL _INT1_Init
03BF DE0B RCALL _InitLCD
03C0 2700 CLR R16
03C1 DDF3 RCALL _ClearScreen
03C2 C014 RJMP 0x03D7
03C3 90200063 LDS R2,_Byte_Flag
03C5 2022 TST R2
03C6 F081 BEQ 0x03D7
03C7 2422 CLR R2
03C8 92200063 STS _Byte_Flag,R2
03CA 91000065 LDS R16,_Key_Value
03CC DF9E RCALL _Decode
03CD 2F40 MOV R20,R16
03CE 3000 CPI R16,0
03CF F020 BCS 0x03D4
03D0 E089 LDI R24,0x9
03D1 1780 CP R24,R16
03D2 F008 BCS 0x03D4
03D3 DE69 RCALL _Write_Character
03D4 304A CPI R20,0xA
03D5 F409 BNE 0x03D7
03D6 DF2F RCALL _Delete_Character
03D7 CFEB RJMP 0x03C3
03D8 9508 RET
_INT1_Handler:
03D9 922A ST R2,-Y
03DA 923A ST R3,-Y
03DB 938A ST R24,-Y
03DC 939A ST R25,-Y
03DD B62F IN R2,0x3F
03DE 922A ST R2,-Y
03DF 90200064 LDS R2,_Key_Up
03E1 2022 TST R2
03E2 F549 BNE 0x040C
03E3 2422 CLR R2
03E4 90300066 LDS R3,_Int_Number
03E6 1423 CP R2,R3
03E7 F470 BCC 0x03F6
03E8 2D83 MOV R24,R3
03E9 3089 CPI R24,0x9
03EA F458 BCC 0x03F6
03EB 90200065 LDS R2,_Key_Value
03ED 9426 LSR R2
03EE 92200065 STS _Key_Value,R2
03F0 9B82 SBIS 0x10,2
03F1 C004 RJMP 0x03F6
03F2 2D82 MOV R24,R2
03F3 6880 ORI R24,0x80
03F4 93800065 STS _Key_Value,R24
03F6 91800066 LDS R24,_Int_Number
03F8 308A CPI R24,0xA
03F9 F419 BNE 0x03FD
03FA E081 LDI R24,1
03FB 93800063 STS _Byte_Flag,R24
03FD 91800066 LDS R24,_Int_Number
03FF 3281 CPI R24,0x21
0400 F419 BNE 0x0404
0401 2422 CLR R2
0402 92200066 STS _Int_Number,R2
0404 9B83 SBIS 0x10,3
0405 CFFE RJMP 0x0404
0406 91800066 LDS R24,_Int_Number
0408 5F8F SUBI R24,0xFF
0409 93800066 STS _Int_Number,R24
040B C02A RJMP 0x0436
040C 2422 CLR R2
040D 90300066 LDS R3,_Int_Number
040F 1423 CP R2,R3
0410 F470 BCC 0x041F
0411 2D83 MOV R24,R3
0412 3089 CPI R24,0x9
0413 F458 BCC 0x041F
0414 90200065 LDS R2,_Key_Value
0416 9426 LSR R2
0417 92200065 STS _Key_Value,R2
0419 9B82 SBIS 0x10,2
041A C004 RJMP 0x041F
041B 2D82 MOV R24,R2
041C 6880 ORI R24,0x80
041D 93800065 STS _Key_Value,R24
041F 91800066 LDS R24,_Int_Number
0421 308A CPI R24,0xA
0422 F419 BNE 0x0426
0423 E081 LDI R24,1
0424 93800063 STS _Byte_Flag,R24
0426 91800066 LDS R24,_Int_Number
0428 3387 CPI R24,0x37
0429 F429 BNE 0x042F
042A 2422 CLR R2
042B 92200066 STS _Int_Number,R2
042D 92200064 STS _Key_Up,R2
042F 9B83 SBIS 0x10,3
0430 CFFE RJMP 0x042F
0431 91800066 LDS R24,_Int_Number
0433 5F8F SUBI R24,0xFF
0434 93800066 STS _Int_Number,R24
0436 9029 LD R2,Y+
0437 BE2F OUT 0x3F,R2
0438 9199 LD R25,Y+
0439 9189 LD R24,Y+
043A 9039 LD R3,Y+
043B 9029 LD R2,Y+
043C 9518 RETI
pop_gset2:
043D E0E2 LDI R30,2
043E C008 RJMP pop
pop_gset3:
043F E0E4 LDI R30,4
0440 C006 RJMP pop
pop_gset4:
0441 E0E8 LDI R30,0x8
0442 C004 RJMP pop
push_gset1:
0443 935A ST R21,-Y
0444 934A ST R20,-Y
0445 9508 RET
pop_gset1:
0446 E0E1 LDI R30,1
pop:
0447 9149 LD R20,Y+
0448 9159 LD R21,Y+
0449 FDE0 SBRC R30,0
044A 9508 RET
044B 9169 LD R22,Y+
044C 9179 LD R23,Y+
044D FDE1 SBRC R30,1
044E 9508 RET
044F 90A9 LD R10,Y+
0450 90B9 LD R11,Y+
0451 FDE2 SBRC R30,2
0452 9508 RET
0453 90C9 LD R12,Y+
0454 90D9 LD R13,Y+
0455 FDE3 SBRC R30,3
0456 9508 RET
0457 90E9 LD R14,Y+
0458 90F9 LD R15,Y+
0459 9508 RET
push_gset2:
045A 937A ST R23,-Y
045B 936A ST R22,-Y
045C CFE6 RJMP push_gset1
push_gset3:
045D 92BA ST R11,-Y
045E 92AA ST R10,-Y
045F CFFA RJMP push_gset2
push_gset4:
0460 92DA ST R13,-Y
0461 92CA ST R12,-Y
0462 CFFA RJMP push_gset3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -