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

📄 invaders.lst

📁 PIC+LCD12864做的坦克打飞机游戏代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
                      00141     BTFSS WREG,0
                      00142     BCF VAROUT,BITOUT
                      00143     R@B                                                 ; Reset the bank when the macro is finished
                      00144     ENDM
                      00145 ;-------------------------------------------------------------------------------------------------
                      00146 WREG_WORD MACRO WORDOUT
                      00147     S@B WORDOUT
                      00148     MOVWF WORDOUT
                      00149     S@B WORDOUT + 1
                      00150     CLRF WORDOUT + 1
                      00151     R@B                                                 ; Reset the bank when the macro is finished
                      00152     ENDM
                      00153 ;-------------------------------------------------------------------------------------------------
                      00154 WREG_DWORD MACRO DWORDOUT
                      00155     S@B DWORDOUT + 3
                      00156     CLRF DWORDOUT + 3
                      00157     S@B DWORDOUT + 2
                      00158     CLRF DWORDOUT + 2
                      00159     S@B DWORDOUT + 1
                      00160     CLRF DWORDOUT + 1
                      00161     S@B DWORDOUT
                      00162     MOVWF DWORDOUT
                      00163     R@B                                                 ; Reset the bank when the macro is finished
                      00164     ENDM
                      00165 ;-------------------------------------------------------------------------------------------------
                      00166 BYTE_WREG MACRO BYTEIN
                      00167     S@B BYTEIN
                      00168     MOVFW BYTEIN
                      00169     R@B                                                 ; Reset the bank when the macro is finished
                      00170     ;movff bytein,WREG
                      00171     ENDM
                      00172 ;-------------------------------------------------------------------------------------------------
                      00173 NUM_WREG MACRO NUMIN
                      00174     MOVLW (NUMIN & 255)
                      00175     ENDM
                      00176 ;-------------------------------------------------------------------------------------------------
                      00177 NUM_BYTE MACRO NUMIN,BYTEOUT
                      00178     S@B BYTEOUT
                      00179     IF(NUMIN == 0)
                      00180         CLRF BYTEOUT
                      00181     ELSE
                      00182         IF(NUMIN == 255)
                      00183                 SETF BYTEOUT
                      00184         ELSE
                      00185                 MOVLW (NUMIN & 255)
                      00186                 MOVWF BYTEOUT
                      00187         ENDIF
                      00188     ENDIF
                      00189     R@B                                                 ; Reset the bank when the macro is finished
                      00190     ENDM
                      00191 ;-------------------------------------------------------------------------------------------------
                      00192 NUM_BIT MACRO NUMIN,VAROUT,BITOUT
                      00193     S@B VAROUT
                      00194     IF((NUMIN & 1) == 1)
                      00195         BSF VAROUT,BITOUT
                      00196     ELSE
                      00197         BCF VAROUT,BITOUT
                      00198         ENDIF
                      00199     R@B                                                 ; Reset the bank when the macro is finished
                      00200     ENDM
                      00201 ;-------------------------------------------------------------------------------------------------
                      00202 NUM_WORD MACRO NUMIN,WORDOUT
                      00203
                      00204     IFDEF _USELFSR
                      00205         IF(WORDOUT == FSR0L)
                      00206                 LFSR 0,NUMIN
                      00207                 EXITM
                      00208         ENDIF
                      00209
                      00210         IF(WORDOUT == FSR1L)
                      00211                 LFSR 1,NUMIN
                      00212                 EXITM
                      00213         ENDIF
                      00214
                      00215         IF(WORDOUT == FSR2L)
                      00216                 LFSR 2,NUMIN
                      00217                 EXITM
                      00218         ENDIF
                      00219     ENDIF
                      00220
                      00221     IF((NUMIN & 255) == 0)
                      00222         S@B WORDOUT
                      00223         CLRF WORDOUT
                      00224     ELSE
                      00225         IF((NUMIN & 255) == 255)
                      00226             S@B WORDOUT
                      00227                 SETF WORDOUT
                      00228         ELSE
                      00229                 S@B WORDOUT
                      00230                 MOVLW (NUMIN & 255)
                      00231                 MOVWF WORDOUT
                      00232         ENDIF
                      00233     ENDIF
                      00234
                      00235     IF(((NUMIN >> 8) & 255) == 0)
                      00236         S@B WORDOUT + 1
                      00237         CLRF WORDOUT + 1
                      00238     ELSE
                      00239         IF(((NUMIN >> 8) & 255) == 255)
                      00240             S@B WORDOUT + 1
                      00241                 SETF WORDOUT + 1
                      00242         ELSE
                      00243                 S@B WORDOUT + 1
                      00244                 MOVLW ((NUMIN >> 8) & 255)
                      00245                 MOVWF WORDOUT + 1
                      00246         ENDIF
                      00247     ENDIF
                      00248     R@B                                                 ; Reset the bank when the macro is finished
                      00249     ENDM
                      00250 ;-------------------------------------------------------------------------------------------------
                      00251 NUM_DWORD MACRO NUMIN,DWORDOUT
                      00252
                      00253     IF(((NUMIN >> 24) & 255) == 0)
                      00254         S@B DWORDOUT + 3
                      00255         CLRF DWORDOUT + 3
                      00256     ELSE
                      00257         IF(((NUMIN >> 24) & 255) == 255)
                      00258             S@B DWORDOUT + 3
                      00259                 SETF DWORDOUT + 3
                      00260         ELSE
                      00261                 S@B DWORDOUT + 3
                      00262                 MOVLW ((NUMIN >> 24) & 255)
                      00263                 MOVWF DWORDOUT + 3
                      00264         ENDIF
                      00265     ENDIF
                      00266
                      00267     IF(((NUMIN >> 16) & 255) == 0)
                      00268         S@B DWORDOUT + 2
                      00269         CLRF DWORDOUT + 2
                      00270     ELSE
                      00271         IF(((NUMIN >> 16) & 255) == 255)
                      00272             S@B DWORDOUT + 2
                      00273                 SETF DWORDOUT + 2
                      00274         ELSE
                      00275                 S@B DWORDOUT + 2
                      00276                 MOVLW ((NUMIN >> 16) & 255)
                      00277                 MOVWF DWORDOUT + 2
                      00278         ENDIF
                      00279     ENDIF
                      00280
                      00281     IF(((NUMIN >> 8) & 255) == 0)
                      00282         S@B DWORDOUT + 1
                      00283         CLRF DWORDOUT + 1
                      00284     ELSE
                      00285         IF(((NUMIN >> 8) & 255) == 255)
                      00286             S@B DWORDOUT + 1
                      00287                 SETF DWORDOUT + 1
                      00288         ELSE
                      00289                 S@B DWORDOUT + 1
                      00290                 MOVLW ((NUMIN >> 8) & 255)
                      00291                 MOVWF DWORDOUT + 1
                      00292         ENDIF
                      00293     ENDIF
                      00294
                      00295     IF((NUMIN & 255) == 0)
                      00296         S@B DWORDOUT
                      00297         CLRF DWORDOUT
                      00298     ELSE
                      00299         IF((NUMIN & 255) == 255)
                      00300             S@B DWORDOUT
                      00301                 SETF DWORDOUT
                      00302         ELSE
                      00303                 S@B DWORDOUT
                      00304                 MOVLW (NUMIN & 255)
                      00305                 MOVWF DWORDOUT
                      00306         ENDIF
                      00307     ENDIF
                      00308     R@B                                                 ; Reset the bank when the macro is finished
                      00309     ENDM
                      00310 ;-------------------------------------------------------------------------------------------------
                      00311 BIT_WREG MACRO VARIN,BITIN
                      00312     S@B VARIN
                      00313     CLRW
                      00314     BTFSC VARIN,BITIN
                      00315     MOVLW 1
                      00316     R@B                                                 ; Reset the bank when the macro is finished
                      00317     ENDM
                      00318 ;-------------------------------------------------------------------------------------------------
                      00319 BIT_BYTE MACRO VARIN,BITIN,BYTEOUT
                      00320     S@B VARIN
                      00321     CLRW
                      00322     BTFSC VARIN,BITIN
                      00323     MOVLW 1
                      00324     S@B BYTEOUT
                      00325     MOVWF BYTEOUT
                      00326    ; movff WREG,byteout
                      00327     R@B                                                 ; Reset the bank when the macro is finished
                      00328     ENDM
                      00329 ;-------------------------------------------------------------------------------------------------
                      00330 BIT_BIT MACRO VARIN,BITIN,VAROUT,BITOUT
                      00331     IF ((VARIN & 0X0F00) == (VAROUT & 0X0F00))
                      00332         S@B VARIN
                      00333         BTFSC VARIN,BITIN
                      00334         BSF VAROUT,BITOUT
                      00335         BTFSS VARIN,BITIN
                      00336         BCF VAROUT,BITOUT
                      00337         ELSE
                      00338                 IF ((VARIN <= BANKA_END) | (VARIN >= 0X0F80))
                      00339                         S@B VAROUT
                      00340                         BTFSC VARIN,BITIN
                      00341                         BSF VAROUT,BITOUT
                      00342                         BTFSS VARIN,BITIN
                      00343                         BCF VAROUT,BITOUT
                      00344                         ELSE
                      00345                                 IF ((VAROUT <= BANKA_END) | (VAROUT >= 0X0F80))
                      00346                                         S@B VARIN
                      00347                                         BTFSC VARIN,BITIN
                      00348                                         BSF VAROUT,BITOUT
                      00349                                         BTFSS VARIN,BITIN
                      00350                                         BCF VAROUT,BITOUT
                      00351                                         ELSE
                      00352                                         S@B VARIN
                      00353                                         CLRDC
                      00354                                         BTFSC VARIN,BITIN
                      00355                                         SETDC
                      00356                                         S@B VAROUT
                      00357                                         SKPNDC
                      00358                                         BSF VAROUT,BITOUT
                      00359                                         SKPDC
                      00360                                         BCF VAROUT,BITOUT
                      00361                                 ENDIF
                      00362                         ENDIF
                      00363         ENDIF
                      00364         R@B                                                     ; Reset the bank when the macro is finished
                      00365     ENDM
                      00366 ;-------------------------------------------------------------------------------------------------
                      00367 BIT_WORD MACRO VARIN,BITIN,WORDOUT
                      00368     S@B WORDOUT + 1
                      00369     CLRF WORDOUT + 1
                      00370     BIT_BYTE VARIN,BITIN,WORDOUT
                      00371     ENDM
                      00372 ;-------------------------------------------------------------------------------------------------
                      00373 BIT_DWORD MACRO VARIN,BITIN,DWORDOUT
                      00374     S@B DWORDOUT + 3
                      00375     CLRF DWORDOUT + 3
                      00376     S@B DWORDOUT + 2
                      00377     CLRF DWORDOUT + 2
                      00378     S@B DWORDOUT + 1
                      00379     CLRF DWORDOUT + 1
                      00380         BIT_BYTE VARIN,BITIN,DWORDOUT
                      00381     ENDM

⌨️ 快捷键说明

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