⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd5110.lst

📁 meg16 的所有功能实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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 + -