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

📄 invaders.lst

📁 PIC+LCD12864做的坦克打飞机游戏代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM 03.80 Released                             INVADERS.ASM   7-30-2004  12:15:53         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 ;*******************************************************
                      00002 ;*                 Code Produced by the                *
                      00003 ;*             PROTON+ Compiler. Version 3.0           *
                      00004 ;* Copyright Rosetta Technologies/Crownhill Associates *
                      00005 ;*              Written by Les Johnson. 2004           *
                      00006 ;*******************************************************
                      00001         LIST
                      00002 ;{
                      00003 ;FILE F1 = INVADERS.BAS
                      00004 ;FILE F2 = c:\proton 2.2\INC\PROTON18_G8.INT
                      00005 ;}
                      00009 ;[Variable Listing]
                      00010 ;_B#VR1,002D,DT_BYTE,1
                      00011 ;_B#VR2,002E,DT_BYTE,1
                      00012 ;BASE_ENABLED,003D,DT_BYTE,9
                      00013 ;BASE_HITS,0046,DT_BYTE,9
                      00014 ;INVADER_XPOS,004F,DT_BYTE,18
                      00015 ;INVADER_YPOS,0061,DT_BYTE,18
                      00016 ;INVADER_ENABLED,0073,DT_BYTE,18
                      00017 ;SHIP_XPOS,0085,DT_BYTE,1
                      00018 ;MISSILE_YPOS,0086,DT_BYTE,1
                      00019 ;MISSILE_XPOS,0087,DT_BYTE,1
                      00020 ;SHIP_SPEED,0088,DT_BYTE,1
                      00021 ;INVADER_TICK,0089,DT_BYTE,1
                      00022 ;INVADER_MISSILE_TICK,008A,DT_BYTE,1
                      00023 ;SHIP_MISSILE_TICK,008B,DT_BYTE,1
                      00024 ;TEMP_LOOP,008C,DT_BYTE,1
                      00025 ;INVADERS_ENABLED,008D,DT_BYTE,1
                      00026 ;INVADER_SPEED,008E,DT_BYTE,1
                      00027 ;BASE_XPOS_TEST,008F,DT_BYTE,1
                      00028 ;INVADER_MISSILE_YPOS,0090,DT_BYTE,1
                      00029 ;INVADER_MISSILE_XPOS,0091,DT_BYTE,1
                      00030 ;INVADER_MISSILE_SPEED,0092,DT_BYTE,1
                      00031 ;DEFAULT_INVADER_SPEED,0093,DT_BYTE,1
                      00032 ;INVADER_MISSILE2_TICK,0094,DT_BYTE,1
                      00033 ;INVADER_MISSILE2_YPOS,0095,DT_BYTE,1
                      00034 ;INVADER_MISSILE2_XPOS,0096,DT_BYTE,1
                      00035 ;INVADER_MISSILE2_SPEED,0097,DT_BYTE,1
                      00036 ;SAUCER_XPOS,0098,DT_BYTE,1
                      00037 ;SAUCER_SPEED,0099,DT_BYTE,1
                      00038 ;SCORE,009A,DT_DWORD,4
                      00039 ;LEVEL,009E,DT_WORD,2
                      00040 ;LIVES,00A0,DT_BYTE,1
                      00041 ;RANDOM_VALUE,00A1,DT_BYTE,1
                      00042 ;[End Listing]
                      00043  #DEFINE _USELFSR 1
Message[308]: Warning level superseded by command line value. (2)
                      00044  LIST  P = 18F452,F = INHX32 ,W = 2, X = ON, R = DEC, MM = ON, N = 0, C = 255
                      00045  #INCLUDE "c:\PROTON~1.2\INC\P18F452.lpb"
                      00001
                      00709  LIST
                      00046  #DEFINE XTAL 8
                      00047  #DEFINE _CORE 16
                      00048  #DEFINE _MAXRAM 1536
                      00049  #DEFINE _RAM_END 1535
                      00050  #DEFINE _MAXMEM 32768
                      00051  #DEFINE _ADC 8
                      00052  #DEFINE _ADC_RES 10
                      00053  #DEFINE _EEPROM 256
                      00054  #DEFINE RAM_BANKS 6
                      00055  #DEFINE _USART 1
                      00056  #DEFINE _USB 0
                      00057  #DEFINE _FLASH 1
                      00058  #DEFINE BANK0_START 128
                      00059  #DEFINE BANK0_END 255
                      00060  #DEFINE BANK1_START 256
                      00061  #DEFINE BANK1_END 511
                      00062  #DEFINE BANK2_START 512
                      00063  #DEFINE BANK2_END 767
                      00064  #DEFINE BANK3_START 768
                      00065  #DEFINE BANK3_END 1023
                      00066  #DEFINE BANK4_START 1024
                      00067  #DEFINE BANK4_END 1279
                      00068  #DEFINE BANK5_START 1280
                      00069  #DEFINE BANK5_END 1535
                      00070  #DEFINE BANKA_START 0
                      00071  #DEFINE BANKA_END 127
                      00072  #DEFINE _SYSTEM_VARIABLE_COUNT 49
  00000000            00073 RAM_BANK = 0
                      00074  #DEFINE LCD#DTPORT PORTD
                      00075  #DEFINE LCD#DTPIN 4
                      00076  #DEFINE LCD#RSPORT PORTC
                      00077  #DEFINE LCD#RSPIN 1
                      00078  #DEFINE LCD#ENPORT PORTE
                      00079  #DEFINE LCD#ENPIN 0
                      00080  #DEFINE LCD#RWPORT PORTC
                      00081  #DEFINE LCD#RWPIN 0
                      00082  #DEFINE LCD#CS1PORT PORTE
                      00083  #DEFINE LCD#CS1PIN 1
                      00084  #DEFINE LCD#CS2PORT PORTE
                      00085  #DEFINE LCD#CS2PIN 2
                      00086  #DEFINE LCD#TYPE 1
                      00087  #DEFINE INTERNAL#FONT 1
                      00088  #DEFINE FONT_SLAVE#ADDR 0
                      00089  #INCLUDE "c:\PROTON~1.2\INC\REG_LD16.INC"
                      00001
                      00002 ; 16Cxxx Substitutions
                      00003
                      00004  #DEFINE CLRW CLRF WREG ; PIC16Cxxx code substitution (WREG is addressable)
                      00005  #DEFINE NEGW NEGF WREG ; PIC16Cxxx code substitution (WREG is addressable)
                      00006
                      00007  #DEFINE SKPC BTFSS STATUS,C
                      00008  #DEFINE SKPNC BTFSC STATUS,C
                      00009  #DEFINE CLRC BCF STATUS,C
                      00010  #DEFINE SETC BSF STATUS,C
                      00011  #DEFINE SKPZ BTFSS STATUS,Z
                      00012  #DEFINE SKPNZ BTFSC STATUS,Z
                      00013  #DEFINE CLRZ BCF STATUS,Z
                      00014  #DEFINE SETZ BSF STATUS,Z
                      00015
                      00016 ;-------------------------------------------------------------------------------------------------
                      00017 MOVFW MACRO VARIN
                      00018         MOVF VARIN,W
                      00019         ENDM
                      00020 ;-------------------------------------------------------------------------------------------------
                      00021 RLF MACRO VARIN,DEST
                      00022     RLCF VARIN,DEST
                      00023     ENDM
                      00024 ;-------------------------------------------------------------------------------------------------
                      00025 RRF MACRO VARIN,DEST
                      00026     RRCF VARIN,DEST
                      00027     ENDM
                      00028 ;-------------------------------------------------------------------------------------------------
                      00029 JUMP MACRO LABEL
                      00030         GOTO LABEL
                      00031         ENDM
                      00032 ;-------------------------------------------------------------------------------------------------
                      00033 F@CALL MACRO DEST
                      00034     IF (DEST < 1)
                      00035         CALL DEST
                      00036     ELSE
                      00037       IF (DEST > $)
                      00038         CALL DEST
                      00039       ELSE
                      00040         IF (DEST < ($ - 0X03FF))
                      00041             CALL DEST
                      00042         ELSE
                      00043             RCALL DEST
                      00044         ENDIF
                      00045       ENDIF
                      00046     ENDIF
                      00047     ENDM
                      00048 ;-------------------------------------------------------------------------------------------------
                      00049 F@JUMP MACRO DEST
                      00050
                      00051     IFDEF WATCHDOG_REQ
                      00052         IF ($ == DEST)
                      00053                 CLRWDT          ; Walk the dog
                      00054         ENDIF
                      00055         ENDIF
                      00056     IF (DEST < 1)
                      00057         GOTO DEST
                      00058     ELSE
                      00059       IF ((DEST) > $)
                      00060         GOTO DEST
                      00061       ELSE
                      00062         IF ((DEST) < ($ - 0X03FF))
                      00063             GOTO DEST
                      00064         ELSE
                      00065             BRA DEST
                      00066         ENDIF
                      00067       ENDIF
                      00068     ENDIF
                      00069     ENDM
                      00070 ;-------------------------------------------------------------------------------------------------
                      00071     IFDEF WATCHDOG_REQ
                      00072                 CHK@SLF MACRO DEST
                      00073                         IF ($ == DEST)
                      00074                         CLRWDT          ; Walk the dog
                      00075                 ENDIF
                      00076                 ENDM
                      00077         ENDIF
                      00078
                      00079 G@OTO MACRO DEST
                      00080     IF (DEST < 1)
                      00081         BTFSC STATUS,OV
                      00082         GOTO DEST
                      00083     ELSE
                      00084         IF (DEST > $)
                      00085                 BTFSC STATUS,OV
                      00086             GOTO DEST
                      00087         ELSE
                      00088                 IF (DEST < ($ - 127))
                      00089                 BTFSC STATUS,OV
                      00090                 GOTO DEST
                      00091             ELSE
                      00092                 BOV DEST
                      00093             ENDIF
                      00094         ENDIF
                      00095     ENDIF
                      00096     ENDM
                      00097
                      00098 GO@TO MACRO DEST
                      00099     IF (DEST < 1)
                      00100         GOTO DEST
                      00101     ELSE
                      00102         IF (DEST > $)
                      00103                 GOTO DEST
                      00104         ELSE
                      00105                 IF (DEST < ($ - 0X03FF))
                      00106                 GOTO DEST
                      00107             ELSE
                      00108                 BRA DEST
                      00109             ENDIF
                      00110         ENDIF
                      00111     ENDIF
                      00112     ENDM
                      00113 ;-------------------------------------------------------------------------------------------------
                      00114 S@B MACRO VARIN
                      00115     IF ((VARIN > BANKA_END) & (VARIN < 0X0F80))
                      00116       IF ((VARIN & 0X0F00) != (RAM_BANK << 8))
                      00117         MOVLB (VARIN >> 8)
                      00118                 RAM_BANK = (VARIN >> 8)
                      00119       ENDIF
                      00120     ENDIF
                      00121     ENDM
                      00122 ;-------------------------------------------------------------------------------------------------
                      00123 R@B MACRO
                      00124     IF(RAM_BANK != 0)
                      00125         MOVLB 0
                      00126                 RAM_BANK = 0
                      00127     ENDIF
                      00128     ENDM
                      00129 ;-------------------------------------------------------------------------------------------------
                      00130 WREG_BYTE MACRO BYTEOUT
                      00131     S@B BYTEOUT
                      00132     MOVWF BYTEOUT
                      00133     R@B                                                 ; Reset the bank when the macro is finished
                      00134     ;movff WREG,byteout
                      00135     ENDM
                      00136 ;-------------------------------------------------------------------------------------------------
                      00137 WREG_BIT MACRO VAROUT,BITOUT
                      00138     S@B VAROUT
                      00139     BTFSC WREG,0
                      00140     BSF VAROUT,BITOUT

⌨️ 快捷键说明

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