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

📄 lcd5110.lst

📁 meg16 的所有功能实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0676 1DF3      ADC	R31,R3
    0677 8020      LDD	R2,Z+0
    0678 2022      TST	R2
    0679 F419      BNE	0x067D
    067A E021      LDI	R18,1
    067B E030      LDI	R19,0
    067C C002      RJMP	0x067F
    067D 2722      CLR	R18
    067E 2733      CLR	R19
    067F 90200163  LDS	R2,X
    0681 E084      LDI	R24,4
    0682 9D82      MUL	R24,R2
    0683 0110      MOVW	R2,R0
    0684 E485      LDI	R24,0x45
    0685 E091      LDI	R25,1
    0686 0E28      ADD	R2,R24
    0687 1E39      ADC	R3,R25
    0688 91E00162  LDS	R30,Y
    068A 27FF      CLR	R31
    068B 9631      ADIW	R30,1
    068C 0DE2      ADD	R30,R2
    068D 1DF3      ADC	R31,R3
    068E 8020      LDD	R2,Z+0
    068F 2022      TST	R2
    0690 F419      BNE	0x0694
    0691 E001      LDI	R16,1
    0692 E010      LDI	R17,0
    0693 C002      RJMP	0x0696
    0694 2700      CLR	R16
    0695 2711      CLR	R17
    0696 0119      MOVW	R2,R18
    0697 2220      AND	R2,R16
    0698 2231      AND	R3,R17
    0699 2022      TST	R2
    069A F421      BNE	0x069F
    069B 2033      TST	R3
    069C F411      BNE	0x069F
    069D 940C0F76  JMP	0xF76
(0298) 		     {
(0299) 			 X--;
    069F 91800163  LDS	R24,X
    06A1 5081      SUBI	R24,1
    06A2 93800163  STS	X,R24
(0300) 			 disp_buffer[X][Y]=disp_buffer[X+2][Y];
    06A4 2E28      MOV	R2,R24
    06A5 E084      LDI	R24,4
    06A6 9D82      MUL	R24,R2
    06A7 E581      LDI	R24,0x51
    06A8 E091      LDI	R25,1
    06A9 0110      MOVW	R2,R0
    06AA 0E28      ADD	R2,R24
    06AB 1E39      ADC	R3,R25
    06AC 91E00162  LDS	R30,Y
    06AE 27FF      CLR	R31
    06AF 0DE2      ADD	R30,R2
    06B0 1DF3      ADC	R31,R3
    06B1 8020      LDD	R2,Z+0
    06B2 E489      LDI	R24,0x49
    06B3 E091      LDI	R25,1
    06B4 0120      MOVW	R4,R0
    06B5 0E48      ADD	R4,R24
    06B6 1E59      ADC	R5,R25
    06B7 91E00162  LDS	R30,Y
    06B9 27FF      CLR	R31
    06BA 0DE4      ADD	R30,R4
    06BB 1DF5      ADC	R31,R5
    06BC 8220      STD	Z+0,R2
(0301) 			 disp_buffer[X][Y+1]=disp_buffer[X+2][Y+1];
    06BD 91800162  LDS	R24,Y
    06BF 2799      CLR	R25
    06C0 9601      ADIW	R24,1
    06C1 011C      MOVW	R2,R24
    06C2 90400163  LDS	R4,X
    06C4 E084      LDI	R24,4
    06C5 9D84      MUL	R24,R4
    06C6 E581      LDI	R24,0x51
    06C7 E091      LDI	R25,1
    06C8 0120      MOVW	R4,R0
    06C9 0E48      ADD	R4,R24
    06CA 1E59      ADC	R5,R25
    06CB 01F1      MOVW	R30,R2
    06CC 0DE4      ADD	R30,R4
    06CD 1DF5      ADC	R31,R5
    06CE 8040      LDD	R4,Z+0
    06CF E489      LDI	R24,0x49
    06D0 E091      LDI	R25,1
    06D1 0130      MOVW	R6,R0
    06D2 0E68      ADD	R6,R24
    06D3 1E79      ADC	R7,R25
    06D4 01F1      MOVW	R30,R2
    06D5 0DE6      ADD	R30,R6
    06D6 1DF7      ADC	R31,R7
    06D7 8240      STD	Z+0,R4
(0302) 			 disp_buffer[X+2][Y]=0x00;
    06D8 90200163  LDS	R2,X
    06DA E084      LDI	R24,4
    06DB 9D82      MUL	R24,R2
    06DC 0110      MOVW	R2,R0
    06DD E581      LDI	R24,0x51
    06DE E091      LDI	R25,1
    06DF 0E28      ADD	R2,R24
    06E0 1E39      ADC	R3,R25
    06E1 91E00162  LDS	R30,Y
    06E3 27FF      CLR	R31
    06E4 0DE2      ADD	R30,R2
    06E5 1DF3      ADC	R31,R3
    06E6 2422      CLR	R2
    06E7 8220      STD	Z+0,R2
(0303) 			 disp_buffer[X+2][Y+1]=0x00;
    06E8 90200163  LDS	R2,X
    06EA E084      LDI	R24,4
    06EB 9D82      MUL	R24,R2
    06EC 0110      MOVW	R2,R0
    06ED E581      LDI	R24,0x51
    06EE E091      LDI	R25,1
    06EF 0E28      ADD	R2,R24
    06F0 1E39      ADC	R3,R25
    06F1 91E00162  LDS	R30,Y
    06F3 27FF      CLR	R31
    06F4 9631      ADIW	R30,1
    06F5 0DE2      ADD	R30,R2
    06F6 1DF3      ADC	R31,R3
    06F7 2422      CLR	R2
    06F8 8220      STD	Z+0,R2
(0304) 			 NUM_YOUR++;
    06F9 9180015E  LDS	R24,NUM_YOUR
    06FB 9190015F  LDS	R25,NUM_YOUR+1
    06FD 9601      ADIW	R24,1
    06FE 9390015F  STS	NUM_YOUR+1,R25
    0700 9380015E  STS	NUM_YOUR,R24
(0305) 			 }
(0306) 		   }
(0307) 		   }
(0308) 		   
(0309) 		 break;
    0702 940C0F76  JMP	0xF76
(0310)    case Right: 			//向右键被按下
(0311)    		 if(key_last_value!=Enter)	  //判断是走局还是移动鼠标
    0704 91800165  LDS	R24,key_last_value
    0706 3D88      CPI	R24,0xD8
    0707 F059      BEQ	0x0713
(0312) 		   {
(0313) 		   if(Y<3)Y++;
    0708 91800162  LDS	R24,Y
    070A 3083      CPI	R24,3
    070B F010      BCS	0x070E
    070C 940C0F76  JMP	0xF76
    070E 5F8F      SUBI	R24,0xFF
    070F 93800162  STS	Y,R24
(0314) 		   }
    0711 940C0F76  JMP	0xF76
(0315) 		   
(0316) 		 else		  				  //走局操作
(0317) 		   {
(0318) 		   if((disp_buffer[X][Y]&0xF0)==0x00)return;
    0713 90200163  LDS	R2,X
    0715 E084      LDI	R24,4
    0716 9D82      MUL	R24,R2
    0717 0110      MOVW	R2,R0
    0718 E489      LDI	R24,0x49
    0719 E091      LDI	R25,1
    071A 0E28      ADD	R2,R24
    071B 1E39      ADC	R3,R25
    071C 91E00162  LDS	R30,Y
    071E 27FF      CLR	R31
    071F 0DE2      ADD	R30,R2
    0720 1DF3      ADC	R31,R3
    0721 8180      LDD	R24,Z+0
    0722 7F80      ANDI	R24,0xF0
    0723 F411      BNE	0x0726
    0724 940C0F76  JMP	0xF76
(0319) 		   else if((disp_buffer[X][Y]&0xF0)==0x10)//如果移动的是兵
    0726 90200163  LDS	R2,X
    0728 E084      LDI	R24,4
    0729 9D82      MUL	R24,R2
    072A 0110      MOVW	R2,R0
    072B E489      LDI	R24,0x49
    072C E091      LDI	R25,1
    072D 0E28      ADD	R2,R24
    072E 1E39      ADC	R3,R25
    072F 91E00162  LDS	R30,Y
    0731 27FF      CLR	R31
    0732 0DE2      ADD	R30,R2
    0733 1DF3      ADC	R31,R3
    0734 8180      LDD	R24,Z+0
    0735 7F80      ANDI	R24,0xF0
    0736 3180      CPI	R24,0x10
    0737 F009      BEQ	0x0739
    0738 C050      RJMP	0x0789
(0320) 		   {
(0321) 		   if(Y<3)
    0739 91800162  LDS	R24,Y
    073B 3083      CPI	R24,3
    073C F010      BCS	0x073F
    073D 940C0F76  JMP	0xF76
(0322) 		   if(disp_buffer[X][Y+1]==0x00)
    073F 90200163  LDS	R2,X
    0741 E084      LDI	R24,4
    0742 9D82      MUL	R24,R2
    0743 0110      MOVW	R2,R0
    0744 E489      LDI	R24,0x49
    0745 E091      LDI	R25,1
    0746 0E28      ADD	R2,R24
    0747 1E39      ADC	R3,R25
    0748 91E00162  LDS	R30,Y
    074A 27FF      CLR	R31
    074B 9631      ADIW	R30,1
    074C 0DE2      ADD	R30,R2
    074D 1DF3      ADC	R31,R3
    074E 8020      LDD	R2,Z+0
    074F 2022      TST	R2
    0750 F011      BEQ	0x0753
    0751 940C0F76  JMP	0xF76
(0323) 		     {
(0324) 			 Y++;
    0753 91800162  LDS	R24,Y
    0755 5F8F      SUBI	R24,0xFF
    0756 93800162  STS	Y,R24
(0325) 			 disp_buffer[X][Y]=disp_buffer[X][Y-1];
    0758 90200163  LDS	R2,X
    075A E084      LDI	R24,4
    075B 9D82      MUL	R24,R2
    075C 0110      MOVW	R2,R0
    075D E489      LDI	R24,0x49
    075E E091      LDI	R25,1
    075F 0E28      ADD	R2,R24
    0760 1E39      ADC	R3,R25
    0761 91E00162  LDS	R30,Y
    0763 27FF      CLR	R31
    0764 9731      SBIW	R30,1
    0765 0DE2      ADD	R30,R2
    0766 1DF3      ADC	R31,R3
    0767 8040      LDD	R4,Z+0
    0768 91E00162  LDS	R30,Y
    076A 27FF      CLR	R31
    076B 0DE2      ADD	R30,R2
    076C 1DF3      ADC	R31,R3
    076D 8240      STD	Z+0,R4
(0326) 			 disp_buffer[X][Y-1]=0x00;
    076E 90200163  LDS	R2,X
    0770 E084      LDI	R24,4
    0771 9D82      MUL	R24,R2
    0772 0110      MOVW	R2,R0
    0773 E489      LDI	R24,0x49
    0774 E091      LDI	R25,1
    0775 0E28      ADD	R2,R24
    0776 1E39      ADC	R3,R25
    0777 91E00162  LDS	R30,Y
    0779 27FF      CLR	R31
    077A 9731      SBIW	R30,1
    077B 0DE2      ADD	R30,R2
    077C 1DF3      ADC	R31,R3
    077D 2422      CLR	R2
    077E 8220      STD	Z+0,R2
(0327) 			 NUM_YOUR++;
    077F 9180015E  LDS	R24,NUM_YOUR
    0781 9190015F  LDS	R25,NUM_YOUR+1
    0783 9601      ADIW	R24,1
    0784 9390015F  STS	NUM_YOUR+1,R25
    0786 9380015E  STS	NUM_YOUR,R24
(0328) 			 }
(0329) 		   }
    0788 C7ED      RJMP	0x0F76
(0330) 		   else if((disp_buffer[X][Y]&0xF0)==0x20)//如果移动的是竖将
    0789 90200163  LDS	R2,X
    078B E084      LDI	R24,4
    078C 9D82      MUL	R24,R2
    078D 0110      MOVW	R2,R0
    078E E489      LDI	R24,0x49
    078F E091      LDI	R25,1
    0790 0E28      ADD	R2,R24
    0791 1E39      ADC	R3,R25
    0792 91E00162  LDS	R30,Y
    0794 27FF      CLR	R31
    0795 0DE2      ADD	R30,R2
    0796 1DF3      ADC	R31,R3
    0797 8180      LDD	R24,Z+0
    0798 7F80      ANDI	R24,0xF0
    0799 3280      CPI	R24,0x20
    079A F009      BEQ	0x079C
    079B C0C0      RJMP	0x085C
(0331) 		   {
(0332) 		   if(X>0)
    079C 2422      CLR	R2
    079D 90300163  LDS	R3,X
    079F 1423      CP	R2,R3
    07A0 F500      BCC	0x07C1
(0333) 		   if(disp_buffer[X][Y]==disp_buffer[X-1][Y])
    07A1 2C23      MOV	R2,R3
    07A2 E084      LDI	R24,4
    07A3 9D82      MUL	R24,R2
    07A4 E485      LDI	R24,0x45
    07A5 E091      LDI	R25,1
    07A6 0110      MOVW	R2,R0
    07A7 0E28      ADD	R2,R24
    07A8 1E39      ADC	R3,R25
    07A9 91E00162  LDS	R30,Y
    07AB 27FF      CLR	R31
    07AC 0DE2      ADD	R30,R2
    07AD 1DF3      ADC	R31,R3
    07AE 8020      LDD	R2,Z+0
    07AF E489      LDI	R24,0x49
    07B0 E091      LDI	R25,1
    07B1 0120      MOVW	R4,R0
    07B2 0E48      ADD	R4,R24
    07B3 1E59      ADC	R5,R25
    07B4 91E00162  LDS	R30,Y
    07B6 27FF      CLR	R31
    07B7 0DE4      ADD	R30,R4
    07B8 1DF5      ADC	R31,R5
    07B9 8030      LDD	R3,Z+0
    07BA 1432      CP	R3,R2
    07BB F429      BNE	0x07C1
(0334) 		      X--;
    07BC 91800163  LDS	R24,X
    07BE 5081      SUBI	R24,1
    07BF 93800163  STS	X,R24
(0335) 		   if(Y<3)
    07C1 91800162  LDS	R24,Y
    07C3 3083      CPI	R24,3
    07C4 F008      BCS	0x07C6
    07C5 C7B0      RJMP	0x0F76
(0336) 		   if((disp_buffer[X][Y+1]==0x00)&(disp_buffer[X+1][Y+1]==0x00))
    07C6 90200163  LDS	R2,X
    07C8 E084      LDI	R24,4
    07C9 9D82      MUL	R24,R2
    07CA 0110      MOVW	R2,R0
    07CB E489      LDI	R24,0x49
    07CC E091      LDI	R25,1
    07CD 0E28      ADD	R2,R24
    07CE 1E39      ADC	R3,R25
    07CF 91E00162  LDS	R30,Y
    07D1 27FF      CLR	R31
    07D2 9631      ADIW	R30,1
    07D3 0DE2      ADD	R30,R2
    07D4 1DF3      ADC	R31,R3
    07D5 8020      LDD	R2,Z+0
    07D6 2022      TST	R2
    07D7 F419      BNE	0x07DB
    07D8 E021      LDI	R18,1
    07D9 E030      LDI	R19,0
    07DA C002      RJMP	0x07DD
    07DB 2722      CLR	R18
    07DC 2733      CLR	R19
    07DD 90200163  LDS	R2,X
    07DF E084      LDI	R24,4
    07E0 9D82      MUL	R24,R2
    07E1 0110      MOVW	R2,R0
    07E2 E48D      LDI	R24,0x4D
    07E3 E091      LDI	R25,1
    07E4 0E28      ADD	R2,R24
    07E5 1E39      ADC	R3,R25
    07E6 91E00162  LDS	R30,Y
    07E8 27FF      CLR	R31
    07E9 9631      ADIW	R30,1
    07EA 0DE2      ADD	R30,R2
    07EB 1DF3      ADC	R31,R3
    07EC 8020      LDD	R2,Z+0
    07ED 2022      TST	R2
    07EE F419      BNE	0x07F2
    07EF E001      LDI	R16,1
    07F0 E010      LDI	R17,0
    07F1 C002      RJMP	0x07F4
    07F2 2700      CLR	R16
    07F3 2711      CLR	R17
    07F4 0119      MOVW	R2,R18
    07F5 2220      AND	R2,R16
    07F6 2231      AND	R3,R17
    07F7 2022      TST	R2
    07F8 F419      BNE	0x07FC
    07F9 2033      TST	R3
    07FA F409      BNE	0x07FC
    07FB C77A      RJMP	0x0F76
(0337) 		     {
(0338) 			 Y++;
    07FC 91800162  LDS	R24,Y
    07FE 5F8F      SUBI	R24,0xFF
    07FF 93800162  STS	Y,R24
(0339) 			 disp_buffer[X][Y]=disp_buffer[X][Y-1];
    0801 90200163  LDS	R2,X
    0803 E084      LDI	R24,4
    0804 9D82      MUL	R24,R2
    0805 0110      MOVW	R2,R0
    0806 E489      LDI	R24,0x49
    0807 E091      LDI	R25,1
    0808 0E28      ADD	R2,R24
    0809 1E39      ADC	R3,R25
    080A 91E00162  LDS	R30,Y
    080C 27FF      CLR	R31
    080D 9731      SBIW	R30,1
    080E 0DE2      ADD	R30,R2
    080F 1DF3      ADC	R31,R3
    0810 8040      LDD	R4,Z+0
    0811 91E00162  LDS	R30,Y
    0813 27FF      CLR	R31
    0814 0DE2      ADD	R30,R2
    0815 1DF3      ADC	R31,R3
    0816 8240      STD	Z+0,R4
(0340) 			 disp_buffer[X+1][Y]=disp_buffer[X+1][Y-1];
    0817 90200163  LDS	R2,X
    0819 E084      LDI	R24,4
    081A 9D82      MUL	R24,R2
    081B E48D      LDI	R24,0x4D
    081C E091      LDI	R25,1
    081D 0110      MOVW	R2,R0
    081E 0E28      ADD	R2,R24
    081F 1E39      ADC	R3,R25
    0820 91E00162  LDS	R30,Y
    0822 27FF      CLR	R31
    0823 9731      SBIW	R30,1
    0824 0DE2      ADD	R30,R2
    0825 1DF3      ADC	R31,R3
    0826 8020      LDD	R2,Z+0
    0827 0120      MOVW	R4,R0
    0828 0E48      ADD	R4,R24
    0829 1E59      ADC	R5,R25
    082A 91E00162  LDS	R30,Y
    082C 27FF      CLR	R31
    082D 0DE4      ADD	R30,R4
    082E 1DF5      ADC	R31,R5
    082F 8220      STD	Z+0,R2
(0341) 			 disp_buffer[X][Y-1]=0x00;
    0830 90200163  LDS	R2,X
    0832 E084      LDI	R24,4
    0833 9D82      MUL	R24,R2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -