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

📄 main.lis

📁 meg16 的所有功能实例
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 014E                   .dbline 119
 014E           L17:
 014E                   .dbline 103
 014E DFCF              xjmp L16
 0150           L18:
 0150                   .dbline 122
 0150           ;       }
 0150           ;  }
 0150           ; 
 0150           ;  //将选择的局载入显示缓存区
 0150           ;  if(guanshu==1)
 0150 80911400          lds R24,_guanshu
 0154 8130              cpi R24,1
 0156 09F5              brne L25
 0158                   .dbline 123
 0158           ;  {
 0158                   .dbline 124
 0158           ;  for(i=0;i<5;i++)
 0158 4427              clr R20
 015A 1CC0              xjmp L30
 015C           L27:
 015C                   .dbline 125
 015C           ;  for(j=0;j<4;j++)
 015C 6627              clr R22
 015E 17C0              xjmp L34
 0160           L31:
 0160                   .dbline 126
 0160                   .dbline 127
 0160 84E0              ldi R24,4
 0162 849F              mul R24,R20
 0164 80E0              ldi R24,<_disp1_buffer
 0166 90E0              ldi R25,>_disp1_buffer
 0168 1001              movw R2,R0
 016A 280E              add R2,R24
 016C 391E              adc R3,R25
 016E E62F              mov R30,R22
 0170 FF27              clr R31
 0172 E20D              add R30,R2
 0174 F31D              adc R31,R3
 0176 2080              ldd R2,z+0
 0178 80E0              ldi R24,<_disp_buffer
 017A 90E0              ldi R25,>_disp_buffer
 017C 2001              movw R4,R0
 017E 480E              add R4,R24
 0180 591E              adc R5,R25
 0182 E62F              mov R30,R22
 0184 FF27              clr R31
 0186 E40D              add R30,R4
 0188 F51D              adc R31,R5
 018A 2082              std z+0,R2
 018C                   .dbline 128
 018C           L32:
 018C                   .dbline 125
 018C 6395              inc R22
 018E           L34:
 018E                   .dbline 125
 018E 6430              cpi R22,4
 0190 38F3              brlo L31
 0192           L28:
 0192                   .dbline 124
 0192 4395              inc R20
 0194           L30:
 0194                   .dbline 124
 0194 4530              cpi R20,5
 0196 10F3              brlo L27
 0198                   .dbline 129
 0198           ;     {
 0198           ;       disp_buffer[i][j]=disp1_buffer[i][j];
 0198           ;       }
 0198           ;  }
 0198 20C0              xjmp L26
 019A           L25:
 019A                   .dbline 131
 019A           ;  else
 019A           ;  {
 019A                   .dbline 132
 019A           ;  for(i=0;i<5;i++)
 019A 4427              clr R20
 019C 1CC0              xjmp L38
 019E           L35:
 019E                   .dbline 133
 019E           ;  for(j=0;j<4;j++)
 019E 6627              clr R22
 01A0 17C0              xjmp L42
 01A2           L39:
 01A2                   .dbline 134
 01A2                   .dbline 135
 01A2 84E0              ldi R24,4
 01A4 849F              mul R24,R20
 01A6 80E0              ldi R24,<_disp2_buffer
 01A8 90E0              ldi R25,>_disp2_buffer
 01AA 1001              movw R2,R0
 01AC 280E              add R2,R24
 01AE 391E              adc R3,R25
 01B0 E62F              mov R30,R22
 01B2 FF27              clr R31
 01B4 E20D              add R30,R2
 01B6 F31D              adc R31,R3
 01B8 2080              ldd R2,z+0
 01BA 80E0              ldi R24,<_disp_buffer
 01BC 90E0              ldi R25,>_disp_buffer
 01BE 2001              movw R4,R0
 01C0 480E              add R4,R24
 01C2 591E              adc R5,R25
 01C4 E62F              mov R30,R22
 01C6 FF27              clr R31
 01C8 E40D              add R30,R4
 01CA F51D              adc R31,R5
 01CC 2082              std z+0,R2
 01CE                   .dbline 136
 01CE           L40:
 01CE                   .dbline 133
 01CE 6395              inc R22
 01D0           L42:
 01D0                   .dbline 133
 01D0 6430              cpi R22,4
 01D2 38F3              brlo L39
 01D4           L36:
 01D4                   .dbline 132
 01D4 4395              inc R20
 01D6           L38:
 01D6                   .dbline 132
 01D6 4530              cpi R20,5
 01D8 10F3              brlo L35
 01DA                   .dbline 137
 01DA           ;     {
 01DA           ;       disp_buffer[i][j]=disp2_buffer[i][j];
 01DA           ;       }
 01DA           ;  }
 01DA           L26:
 01DA                   .dbline 140
 01DA           ;  
 01DA           ;  //开始闯关
 01DA           ;  for(;;)
 01DA           L43:
 01DA                   .dbline 141
 01DA           ;   {
 01DA                   .dbline 143
 01DA           ;     //显示鼠标
 01DA           ;  LCD_set_XY(Y*8+3,X);//设置初始位置
 01DA 20911A00          lds R18,_X
 01DE 20901900          lds R2,_Y
 01E2 88E0              ldi R24,8
 01E4 829D              mul R24,R2
 01E6 002D              mov R16,R0
 01E8 0D5F              subi R16,253    ; addi 3
 01EA 0E94D50E          xcall _LCD_set_XY
 01EE                   .dbline 144
 01EE           ;  LCD_write_byte(0x3c,1);
 01EE 21E0              ldi R18,1
 01F0 0CE3              ldi R16,60
 01F2 0E94EE0F          xcall _LCD_write_byte
 01F6                   .dbline 145
 01F6           ;  LCD_write_byte(0x3c,1);
 01F6 21E0              ldi R18,1
 01F8 0CE3              ldi R16,60
 01FA 0E94EE0F          xcall _LCD_write_byte
 01FE                   .dbline 146
 01FE           ;    KBOD_task();                                                        //按键操作处理
 01FE C0D0              xcall _KBOD_task
 0200                   .dbline 148
 0200           ;    
 0200           ;    if(key_value!=0)
 0200 20901D00          lds R2,_key_value
 0204 2220              tst R2
 0206 41F0              breq L47
 0208                   .dbline 149
 0208           ;      {
 0208                   .dbline 151
 0208           ;         
 0208           ;         key_last_value=key_value;                      //将上次的键值存起来
 0208 20921C00          sts _key_last_value,R2
 020C                   .dbline 152
 020C           ;         key_value=0;                                           //将当前键值清零        
 020C 2224              clr R2
 020E 20921D00          sts _key_value,R2
 0212                   .dbline 153
 0212           ;         key_one=1;                                             //将显示打开
 0212 81E0              ldi R24,1
 0214 80931B00          sts _key_one,R24
 0218                   .dbline 154
 0218           ;        }
 0218           L47:
 0218                   .dbline 156
 0218           ;        
 0218           ;    if(key_one==1)
 0218 80911B00          lds R24,_key_one
 021C 8130              cpi R24,1
 021E 29F4              brne L49
 0220                   .dbline 157
 0220           ;      {
 0220                   .dbline 158
 0220           ;         DISP_task();                                           //显示图形界面
 0220 0E944F0D          xcall _DISP_task
 0224                   .dbline 159
 0224           ;       key_one=0;                                               //将显示关闭
 0224 2224              clr R2
 0226 20921B00          sts _key_one,R2
 022A                   .dbline 160
 022A           ;        }
 022A           L49:
 022A                   .dbline 163
 022A           ;        
 022A           ;    //判断通关与否
 022A           ;    if((disp_buffer[4][1]==0x41)&(disp_buffer[4][2]==0x41))    //通过
 022A 80911100          lds R24,_disp_buffer+16+1
 022E 8134              cpi R24,65
 0230 21F4              brne L57
 0232 81E0              ldi R24,1
 0234 90E0              ldi R25,0
 0236 5C01              movw R10,R24
 0238 02C0              xjmp L58
 023A           L57:
 023A AA24              clr R10
 023C BB24              clr R11
 023E           L58:
 023E 80911200          lds R24,_disp_buffer+16+2
 0242 8134              cpi R24,65
 0244 19F4              brne L59
 0246 61E0              ldi R22,1
 0248 70E0              ldi R23,0
 024A 02C0              xjmp L60
 024C           L59:
 024C 6627              clr R22
 024E 7727              clr R23
 0250           L60:
 0250 1501              movw R2,R10
 0252 2622              and R2,R22
 0254 3722              and R3,R23
 0256 2220              tst R2
 0258 19F4              brne X2
 025A 3320              tst R3
 025C 09F4              brne X4
 025E BDCF              xjmp L43
 0260           X4:
 0260           X2:
 0260                   .dbline 164
 0260           ;     {
 0260                   .dbline 166
 0260           ;        
 0260           ;        LCD_clear();                                                                                     //清屏
 0260 0E94B40E          xcall _LCD_clear
 0264                   .dbline 167
 0264           ;      LCD_write_String(0,5,15,"Congratulation!",0);                      //祝贺
 0264 2224              clr R2
 0266 3324              clr R3
 0268 3D82              std y+5,R3
 026A 2C82              std y+4,R2
 026C 80E0              ldi R24,<L61
 026E 90E0              ldi R25,>L61
 0270 9B83              std y+3,R25
 0272 8A83              std y+2,R24
 0274 8FE0              ldi R24,15
 0276 90E0              ldi R25,0
 0278 9983              std y+1,R25
 027A 8883              std y+0,R24
 027C 25E0              ldi R18,5
 027E 30E0              ldi R19,0
 0280 0027              clr R16
 0282 1127              clr R17
 0284 0E94140F          xcall _LCD_write_String
 0288                   .dbline 168
 0288           ;        LCD_write_String(0,4,5,"Wait!",0);                                               //等待
 0288 2224              clr R2
 028A 3324              clr R3
 028C 3D82              std y+5,R3
 028E 2C82              std y+4,R2
 0290 80E0              ldi R24,<L62
 0292 90E0              ldi R25,>L62
 0294 9B83              std y+3,R25
 0296 8A83              std y+2,R24
 0298 85E0              ldi R24,5
 029A 90E0              ldi R25,0
 029C 9983              std y+1,R25
 029E 8883              std y+0,R24
 02A0 24E0              ldi R18,4
 02A2 30E0              ldi R19,0
 02A4 0027              clr R16
 02A6 1127              clr R17
 02A8 0E94140F          xcall _LCD_write_String
 02AC                   .dbline 169
 02AC           ;        Delay_ms(10000);                                                                                 //延时
 02AC 00E1              ldi R16,10000
 02AE 17E2              ldi R17,39
 02B0 B1DE              xcall _Delay_ms
 02B2                   .dbline 170
 02B2           ;        guanshu++;                                                                                               //关数加1
 02B2 80911400          lds R24,_guanshu

⌨️ 快捷键说明

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