📄 lcd5110.lst
字号:
04B1 91E00162 LDS R30,Y
04B3 27FF CLR R31
04B4 0DE2 ADD R30,R2
04B5 1DF3 ADC R31,R3
04B6 8180 LDD R24,Z+0
04B7 7F80 ANDI R24,0xF0
04B8 3280 CPI R24,0x20
04B9 F009 BEQ 0x04BB
04BA C077 RJMP 0x0532
(0259) {
(0260) if(X>0)
04BB 2422 CLR R2
04BC 90300163 LDS R3,X
04BE 1423 CP R2,R3
04BF F500 BCC 0x04E0
(0261) if(disp_buffer[X][Y]==disp_buffer[X-1][Y])
04C0 2C23 MOV R2,R3
04C1 E084 LDI R24,4
04C2 9D82 MUL R24,R2
04C3 E485 LDI R24,0x45
04C4 E091 LDI R25,1
04C5 0110 MOVW R2,R0
04C6 0E28 ADD R2,R24
04C7 1E39 ADC R3,R25
04C8 91E00162 LDS R30,Y
04CA 27FF CLR R31
04CB 0DE2 ADD R30,R2
04CC 1DF3 ADC R31,R3
04CD 8020 LDD R2,Z+0
04CE E489 LDI R24,0x49
04CF E091 LDI R25,1
04D0 0120 MOVW R4,R0
04D1 0E48 ADD R4,R24
04D2 1E59 ADC R5,R25
04D3 91E00162 LDS R30,Y
04D5 27FF CLR R31
04D6 0DE4 ADD R30,R4
04D7 1DF5 ADC R31,R5
04D8 8030 LDD R3,Z+0
04D9 1432 CP R3,R2
04DA F429 BNE 0x04E0
(0262) X--;
04DB 91800163 LDS R24,X
04DD 5081 SUBI R24,1
04DE 93800163 STS X,R24
(0263) if(X>0)
04E0 2422 CLR R2
04E1 90300163 LDS R3,X
04E3 1423 CP R2,R3
04E4 F010 BCS 0x04E7
04E5 940C0F76 JMP 0xF76
(0264) if(disp_buffer[X-1][Y]==0x00)
04E7 2C23 MOV R2,R3
04E8 E084 LDI R24,4
04E9 9D82 MUL R24,R2
04EA 0110 MOVW R2,R0
04EB E485 LDI R24,0x45
04EC E091 LDI R25,1
04ED 0E28 ADD R2,R24
04EE 1E39 ADC R3,R25
04EF 91E00162 LDS R30,Y
04F1 27FF CLR R31
04F2 0DE2 ADD R30,R2
04F3 1DF3 ADC R31,R3
04F4 8020 LDD R2,Z+0
04F5 2022 TST R2
04F6 F011 BEQ 0x04F9
04F7 940C0F76 JMP 0xF76
(0265) {
(0266) X--;
04F9 91800163 LDS R24,X
04FB 5081 SUBI R24,1
04FC 93800163 STS X,R24
(0267) disp_buffer[X][Y]=disp_buffer[X+2][Y];
04FE 2E28 MOV R2,R24
04FF E084 LDI R24,4
0500 9D82 MUL R24,R2
0501 E581 LDI R24,0x51
0502 E091 LDI R25,1
0503 0110 MOVW R2,R0
0504 0E28 ADD R2,R24
0505 1E39 ADC R3,R25
0506 91E00162 LDS R30,Y
0508 27FF CLR R31
0509 0DE2 ADD R30,R2
050A 1DF3 ADC R31,R3
050B 8020 LDD R2,Z+0
050C E489 LDI R24,0x49
050D E091 LDI R25,1
050E 0120 MOVW R4,R0
050F 0E48 ADD R4,R24
0510 1E59 ADC R5,R25
0511 91E00162 LDS R30,Y
0513 27FF CLR R31
0514 0DE4 ADD R30,R4
0515 1DF5 ADC R31,R5
0516 8220 STD Z+0,R2
(0268) disp_buffer[X+2][Y]=0x00;
0517 90200163 LDS R2,X
0519 E084 LDI R24,4
051A 9D82 MUL R24,R2
051B 0110 MOVW R2,R0
051C E581 LDI R24,0x51
051D E091 LDI R25,1
051E 0E28 ADD R2,R24
051F 1E39 ADC R3,R25
0520 91E00162 LDS R30,Y
0522 27FF CLR R31
0523 0DE2 ADD R30,R2
0524 1DF3 ADC R31,R3
0525 2422 CLR R2
0526 8220 STD Z+0,R2
(0269) NUM_YOUR++;
0527 9180015E LDS R24,NUM_YOUR
0529 9190015F LDS R25,NUM_YOUR+1
052B 9601 ADIW R24,1
052C 9390015F STS NUM_YOUR+1,R25
052E 9380015E STS NUM_YOUR,R24
(0270) }
(0271) }
0530 940C0F76 JMP 0xF76
(0272) else if((disp_buffer[X][Y]&0xF0)==0x30) //如果移动的是横将
0532 90200163 LDS R2,X
0534 E084 LDI R24,4
0535 9D82 MUL R24,R2
0536 0110 MOVW R2,R0
0537 E489 LDI R24,0x49
0538 E091 LDI R25,1
0539 0E28 ADD R2,R24
053A 1E39 ADC R3,R25
053B 91E00162 LDS R30,Y
053D 27FF CLR R31
053E 0DE2 ADD R30,R2
053F 1DF3 ADC R31,R3
0540 8180 LDD R24,Z+0
0541 7F80 ANDI R24,0xF0
0542 3380 CPI R24,0x30
0543 F009 BEQ 0x0545
0544 C0C3 RJMP 0x0608
(0273) {
(0274) if(Y>0)
0545 2422 CLR R2
0546 90300162 LDS R3,Y
0548 1423 CP R2,R3
0549 F4E8 BCC 0x0567
(0275) if(disp_buffer[X][Y]==disp_buffer[X][Y-1])
054A 90200163 LDS R2,X
054C E084 LDI R24,4
054D 9D82 MUL R24,R2
054E 0110 MOVW R2,R0
054F E489 LDI R24,0x49
0550 E091 LDI R25,1
0551 0E28 ADD R2,R24
0552 1E39 ADC R3,R25
0553 91E00162 LDS R30,Y
0555 27FF CLR R31
0556 9731 SBIW R30,1
0557 0DE2 ADD R30,R2
0558 1DF3 ADC R31,R3
0559 8040 LDD R4,Z+0
055A 91E00162 LDS R30,Y
055C 27FF CLR R31
055D 0DE2 ADD R30,R2
055E 1DF3 ADC R31,R3
055F 8020 LDD R2,Z+0
0560 1424 CP R2,R4
0561 F429 BNE 0x0567
(0276) Y--;
0562 91800162 LDS R24,Y
0564 5081 SUBI R24,1
0565 93800162 STS Y,R24
(0277) if(X>0)
0567 2422 CLR R2
0568 90300163 LDS R3,X
056A 1423 CP R2,R3
056B F010 BCS 0x056E
056C 940C0F76 JMP 0xF76
(0278) if((disp_buffer[X-1][Y]==0x00)&(disp_buffer[X-1][Y+1]==0x00))
056E 2C23 MOV R2,R3
056F E084 LDI R24,4
0570 9D82 MUL R24,R2
0571 0110 MOVW R2,R0
0572 E485 LDI R24,0x45
0573 E091 LDI R25,1
0574 0E28 ADD R2,R24
0575 1E39 ADC R3,R25
0576 91E00162 LDS R30,Y
0578 27FF CLR R31
0579 0DE2 ADD R30,R2
057A 1DF3 ADC R31,R3
057B 8020 LDD R2,Z+0
057C 2022 TST R2
057D F419 BNE 0x0581
057E E021 LDI R18,1
057F E030 LDI R19,0
0580 C002 RJMP 0x0583
0581 2722 CLR R18
0582 2733 CLR R19
0583 90200163 LDS R2,X
0585 E084 LDI R24,4
0586 9D82 MUL R24,R2
0587 0110 MOVW R2,R0
0588 E485 LDI R24,0x45
0589 E091 LDI R25,1
058A 0E28 ADD R2,R24
058B 1E39 ADC R3,R25
058C 91E00162 LDS R30,Y
058E 27FF CLR R31
058F 9631 ADIW R30,1
0590 0DE2 ADD R30,R2
0591 1DF3 ADC R31,R3
0592 8020 LDD R2,Z+0
0593 2022 TST R2
0594 F419 BNE 0x0598
0595 E001 LDI R16,1
0596 E010 LDI R17,0
0597 C002 RJMP 0x059A
0598 2700 CLR R16
0599 2711 CLR R17
059A 0119 MOVW R2,R18
059B 2220 AND R2,R16
059C 2231 AND R3,R17
059D 2022 TST R2
059E F421 BNE 0x05A3
059F 2033 TST R3
05A0 F411 BNE 0x05A3
05A1 940C0F76 JMP 0xF76
(0279) {
(0280) X--;
05A3 91800163 LDS R24,X
05A5 5081 SUBI R24,1
05A6 93800163 STS X,R24
(0281) disp_buffer[X][Y]=disp_buffer[X+1][Y];
05A8 2E28 MOV R2,R24
05A9 E084 LDI R24,4
05AA 9D82 MUL R24,R2
05AB E48D LDI R24,0x4D
05AC E091 LDI R25,1
05AD 0110 MOVW R2,R0
05AE 0E28 ADD R2,R24
05AF 1E39 ADC R3,R25
05B0 91E00162 LDS R30,Y
05B2 27FF CLR R31
05B3 0DE2 ADD R30,R2
05B4 1DF3 ADC R31,R3
05B5 8020 LDD R2,Z+0
05B6 E489 LDI R24,0x49
05B7 E091 LDI R25,1
05B8 0120 MOVW R4,R0
05B9 0E48 ADD R4,R24
05BA 1E59 ADC R5,R25
05BB 91E00162 LDS R30,Y
05BD 27FF CLR R31
05BE 0DE4 ADD R30,R4
05BF 1DF5 ADC R31,R5
05C0 8220 STD Z+0,R2
(0282) disp_buffer[X][Y+1]=disp_buffer[X+1][Y+1];
05C1 91800162 LDS R24,Y
05C3 2799 CLR R25
05C4 9601 ADIW R24,1
05C5 011C MOVW R2,R24
05C6 90400163 LDS R4,X
05C8 E084 LDI R24,4
05C9 9D84 MUL R24,R4
05CA E48D LDI R24,0x4D
05CB E091 LDI R25,1
05CC 0120 MOVW R4,R0
05CD 0E48 ADD R4,R24
05CE 1E59 ADC R5,R25
05CF 01F1 MOVW R30,R2
05D0 0DE4 ADD R30,R4
05D1 1DF5 ADC R31,R5
05D2 8040 LDD R4,Z+0
05D3 E489 LDI R24,0x49
05D4 E091 LDI R25,1
05D5 0130 MOVW R6,R0
05D6 0E68 ADD R6,R24
05D7 1E79 ADC R7,R25
05D8 01F1 MOVW R30,R2
05D9 0DE6 ADD R30,R6
05DA 1DF7 ADC R31,R7
05DB 8240 STD Z+0,R4
(0283) disp_buffer[X+1][Y]=0x00;
05DC 90200163 LDS R2,X
05DE E084 LDI R24,4
05DF 9D82 MUL R24,R2
05E0 0110 MOVW R2,R0
05E1 E48D LDI R24,0x4D
05E2 E091 LDI R25,1
05E3 0E28 ADD R2,R24
05E4 1E39 ADC R3,R25
05E5 91E00162 LDS R30,Y
05E7 27FF CLR R31
05E8 0DE2 ADD R30,R2
05E9 1DF3 ADC R31,R3
05EA 2422 CLR R2
05EB 8220 STD Z+0,R2
(0284) disp_buffer[X+1][Y+1]=0x00;
05EC 90200163 LDS R2,X
05EE E084 LDI R24,4
05EF 9D82 MUL R24,R2
05F0 0110 MOVW R2,R0
05F1 E48D LDI R24,0x4D
05F2 E091 LDI R25,1
05F3 0E28 ADD R2,R24
05F4 1E39 ADC R3,R25
05F5 91E00162 LDS R30,Y
05F7 27FF CLR R31
05F8 9631 ADIW R30,1
05F9 0DE2 ADD R30,R2
05FA 1DF3 ADC R31,R3
05FB 2422 CLR R2
05FC 8220 STD Z+0,R2
(0285) NUM_YOUR++;
05FD 9180015E LDS R24,NUM_YOUR
05FF 9190015F LDS R25,NUM_YOUR+1
0601 9601 ADIW R24,1
0602 9390015F STS NUM_YOUR+1,R25
0604 9380015E STS NUM_YOUR,R24
(0286) }
(0287) }
0606 940C0F76 JMP 0xF76
(0288) else if((disp_buffer[X][Y]&0xF0)==0x40)//如果移动的是曹操
0608 90200163 LDS R2,X
060A E084 LDI R24,4
060B 9D82 MUL R24,R2
060C 0110 MOVW R2,R0
060D E489 LDI R24,0x49
060E E091 LDI R25,1
060F 0E28 ADD R2,R24
0610 1E39 ADC R3,R25
0611 91E00162 LDS R30,Y
0613 27FF CLR R31
0614 0DE2 ADD R30,R2
0615 1DF3 ADC R31,R3
0616 8180 LDD R24,Z+0
0617 7F80 ANDI R24,0xF0
0618 3480 CPI R24,0x40
0619 F011 BEQ 0x061C
061A 940C0F76 JMP 0xF76
(0289) {
(0290) if(X>0)
061C 2422 CLR R2
061D 90300163 LDS R3,X
061F 1423 CP R2,R3
0620 F500 BCC 0x0641
(0291) if(disp_buffer[X][Y]==disp_buffer[X-1][Y])
0621 2C23 MOV R2,R3
0622 E084 LDI R24,4
0623 9D82 MUL R24,R2
0624 E485 LDI R24,0x45
0625 E091 LDI R25,1
0626 0110 MOVW R2,R0
0627 0E28 ADD R2,R24
0628 1E39 ADC R3,R25
0629 91E00162 LDS R30,Y
062B 27FF CLR R31
062C 0DE2 ADD R30,R2
062D 1DF3 ADC R31,R3
062E 8020 LDD R2,Z+0
062F E489 LDI R24,0x49
0630 E091 LDI R25,1
0631 0120 MOVW R4,R0
0632 0E48 ADD R4,R24
0633 1E59 ADC R5,R25
0634 91E00162 LDS R30,Y
0636 27FF CLR R31
0637 0DE4 ADD R30,R4
0638 1DF5 ADC R31,R5
0639 8030 LDD R3,Z+0
063A 1432 CP R3,R2
063B F429 BNE 0x0641
(0292) X--;
063C 91800163 LDS R24,X
063E 5081 SUBI R24,1
063F 93800163 STS X,R24
(0293) if(Y>0)
0641 2422 CLR R2
0642 90300162 LDS R3,Y
0644 1423 CP R2,R3
0645 F4E8 BCC 0x0663
(0294) if(disp_buffer[X][Y]==disp_buffer[X][Y-1])
0646 90200163 LDS R2,X
0648 E084 LDI R24,4
0649 9D82 MUL R24,R2
064A 0110 MOVW R2,R0
064B E489 LDI R24,0x49
064C E091 LDI R25,1
064D 0E28 ADD R2,R24
064E 1E39 ADC R3,R25
064F 91E00162 LDS R30,Y
0651 27FF CLR R31
0652 9731 SBIW R30,1
0653 0DE2 ADD R30,R2
0654 1DF3 ADC R31,R3
0655 8040 LDD R4,Z+0
0656 91E00162 LDS R30,Y
0658 27FF CLR R31
0659 0DE2 ADD R30,R2
065A 1DF3 ADC R31,R3
065B 8020 LDD R2,Z+0
065C 1424 CP R2,R4
065D F429 BNE 0x0663
(0295) Y--;
065E 91800162 LDS R24,Y
0660 5081 SUBI R24,1
0661 93800162 STS Y,R24
(0296) if(X>0)
0663 2422 CLR R2
0664 90300163 LDS R3,X
0666 1423 CP R2,R3
0667 F010 BCS 0x066A
0668 940C0F76 JMP 0xF76
(0297) if((disp_buffer[X-1][Y]==0x00)&(disp_buffer[X-1][Y+1]==0x00))
066A 2C23 MOV R2,R3
066B E084 LDI R24,4
066C 9D82 MUL R24,R2
066D 0110 MOVW R2,R0
066E E485 LDI R24,0x45
066F E091 LDI R25,1
0670 0E28 ADD R2,R24
0671 1E39 ADC R3,R25
0672 91E00162 LDS R30,Y
0674 27FF CLR R31
0675 0DE2 ADD R30,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -