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

📄 invaders.asm

📁 PIC+LCD12864做的坦克打飞机游戏代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;*******************************************************
;*                 Code Produced by the                *
;*             PROTON+ Compiler. Version 3.0           *
;* Copyright Rosetta Technologies/Crownhill Associates *
;*              Written by Les Johnson. 2004           *
;*******************************************************
 NOLIST
 #include "D:\PRODEV\VSM\BASIC\ISIS_DSNS\INVADERS\INVADERS.PBP"
 LIST

 BASE_ENABLED = 61
 Variable BASE_ENABLED#0=61,BASE_ENABLED#1=62,BASE_ENABLED#2=63,BASE_ENABLED#3=64,BASE_ENABLED#4=65,BASE_ENABLED#5=66
 Variable BASE_ENABLED#6=67,BASE_ENABLED#7=68,BASE_ENABLED#8=69
 BASE_HITS = 70
 Variable BASE_HITS#0=70,BASE_HITS#1=71,BASE_HITS#2=72,BASE_HITS#3=73,BASE_HITS#4=74,BASE_HITS#5=75
 Variable BASE_HITS#6=76,BASE_HITS#7=77,BASE_HITS#8=78
 INVADER_XPOS = 79
 Variable INVADER_XPOS#0=79,INVADER_XPOS#1=80,INVADER_XPOS#2=81,INVADER_XPOS#3=82,INVADER_XPOS#4=83,INVADER_XPOS#5=84
 Variable INVADER_XPOS#6=85,INVADER_XPOS#7=86,INVADER_XPOS#8=87,INVADER_XPOS#9=88,INVADER_XPOS#10=89,INVADER_XPOS#11=90
 Variable INVADER_XPOS#12=91,INVADER_XPOS#13=92,INVADER_XPOS#14=93,INVADER_XPOS#15=94,INVADER_XPOS#16=95,INVADER_XPOS#17=96
 INVADER_YPOS = 97
 Variable INVADER_YPOS#0=97,INVADER_YPOS#1=98,INVADER_YPOS#2=99,INVADER_YPOS#3=100,INVADER_YPOS#4=101,INVADER_YPOS#5=102
 Variable INVADER_YPOS#6=103,INVADER_YPOS#7=104,INVADER_YPOS#8=105,INVADER_YPOS#9=106,INVADER_YPOS#10=107,INVADER_YPOS#11=108
 Variable INVADER_YPOS#12=109,INVADER_YPOS#13=110,INVADER_YPOS#14=111,INVADER_YPOS#15=112,INVADER_YPOS#16=113,INVADER_YPOS#17=114
 INVADER_ENABLED = 115
 Variable INVADER_ENABLED#0=115,INVADER_ENABLED#1=116,INVADER_ENABLED#2=117,INVADER_ENABLED#3=118,INVADER_ENABLED#4=119,INVADER_ENABLED#5=120
 Variable INVADER_ENABLED#6=121,INVADER_ENABLED#7=122,INVADER_ENABLED#8=123,INVADER_ENABLED#9=124,INVADER_ENABLED#10=125,INVADER_ENABLED#11=126
 Variable INVADER_ENABLED#12=127,INVADER_ENABLED#13=128,INVADER_ENABLED#14=129,INVADER_ENABLED#15=130,INVADER_ENABLED#16=131,INVADER_ENABLED#17=132
 SHIP_XPOS = 133
 MISSILE_YPOS = 134
 MISSILE_XPOS = 135
 SHIP_SPEED = 136
 INVADER_TICK = 137
 INVADER_MISSILE_TICK = 138
 SHIP_MISSILE_TICK = 139
 TEMP_LOOP = 140
 INVADERS_ENABLED = 141
 INVADER_SPEED = 142
 BASE_XPOS_TEST = 143
 INVADER_MISSILE_YPOS = 144
 INVADER_MISSILE_XPOS = 145
 INVADER_MISSILE_SPEED = 146
 DEFAULT_INVADER_SPEED = 147
 INVADER_MISSILE2_TICK = 148
 INVADER_MISSILE2_YPOS = 149
 INVADER_MISSILE2_XPOS = 150
 INVADER_MISSILE2_SPEED = 151
 SAUCER_XPOS = 152
 SAUCER_SPEED = 153
 SCORE = 154
 SCOREH = 155
 SCOREHH = 156
 SCOREHHH = 157
 LEVEL = 158
 LEVELH = 159
 LIVES = 160
 RANDOM_VALUE = 161
	#Define INVADER_SOUND_ENABLE NOTE_STATUS,0
	#Define MISSILE_SOUND_ENABLE NOTE_STATUS,1
	#Define SAUCER_SOUND_ENABLE NOTE_STATUS,2
	#Define INTERNAL_INVADER_SOUND_ENABLE NOTE_STATUS,4
	#Define MISSILE_FIRED MISSILE_STATUS,0
	#Define MISSILE_HIT MISSILE_STATUS,1
	#Define TIME_TO_MOVE_INVADERS MISSILE_STATUS,7
	#Define BASE_HIT MISSILE_STATUS,2
	#Define TIME_TO_MOVE_SHIP_MISSILE MISSILE_STATUS,3
	#Define TIME_TO_MOVE_BASE _B#VR1,0
	#Define INVADERS_DIRECTION _B#VR1,1
	#Define SHIP_HIT _B#VR1,2
	#Define TIME_TO_MOVE_INV_MISSILE MISSILE_STATUS,4
	#Define INVADER_MISSILE_FIRED MISSILE_STATUS,5
	#Define INVADER_MISSILE_HIT MISSILE_STATUS,6
	#Define TIME_TO_MOVE_INVADERS_DOWN _B#VR1,3
	#Define INVADERS_REACHED_BOTTOM _B#VR1,4
	#Define INVADER_CHARACTER _B#VR1,5
	#Define TIME_TO_MOVE_INV_MISSILE2 _B#VR1,6
	#Define INVADER_MISSILE2_FIRED _B#VR1,7
	#Define INVADER_MISSILE2_HIT _B#VR2,0
	#Define SAUCER_HIT _B#VR2,1
	#Define TIME_TO_MOVE_SAUCER _B#VR2,2
	#Define SAUCER_ENABLED _B#VR2,3
	#Define L_BUTTON PORTB,0
	#Define R_BUTTON PORTB,1
	#Define FIRE_BUTTON PORTB,2
	#Define SPEAKER PORTB,3
	#Define SHIP_WIDTH 9
	#Define INVADER_WIDTH 10
	#Define INVADER_RIGHT_LIMIT 117
	#Define SAUCER_WIDTH 14
	#Define TRUE 1
	#Define FALSE 0
	#Define FORWARD 1
	#Define BACKWARD 0
	#Define T0IF INTCON,2
	#Define GIE INTCON,7
F1_SOF equ $ ; INVADERS.BAS
F2_SOF equ $ ; PROTON18_G8.INT
F2_000068 equ $ ; in [PROTON18_G8.INT] ALL_DIGITAL = True ' Set PORTA and PORTE to all digital
	Movlw 7
	Movwf ADCON1
F2_EOF equ $ ; PROTON18_G8.INT
F1_000137 equ $ ; in [INVADERS.BAS] Input L_BUTTON
	Bsf TRISB,0
F1_000138 equ $ ; in [INVADERS.BAS] Input R_BUTTON
	Bsf TRISB,1
F1_000139 equ $ ; in [INVADERS.BAS] Input FIRE_BUTTON
	Bsf TRISB,2
F1_000140 equ $ ; in [INVADERS.BAS] Delayms 200           ' Wait for the PICmicro to stabilise
	Movlw 200
	F@Call dl@ms
F1_000141 equ $ ; in [INVADERS.BAS] PORTB_PULLUPS = ON
	Bcf INTCON2,7
F1_000142 equ $ ; in [INVADERS.BAS] Cls             ' Clear the LCD
	F@Call GLcd@Cls
F1_000143 equ $ ; in [INVADERS.BAS] Goto MAIN_PROGRAM_LOOP        ' Jump over any subroutines
	F@Jump MAIN_PROGRAM_LOOP
CLEAR_INVADER_MISSILE
F1_000148 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS, INVADER_MISSILE_XPOS
	Movff INVADER_MISSILE_YPOS,GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000149 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS, INVADER_MISSILE_XPOS + 1
	Movff INVADER_MISSILE_YPOS,GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000150 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS + 1, INVADER_MISSILE_XPOS
	Incf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000151 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS + 1, INVADER_MISSILE_XPOS + 1
	Incf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000152 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS + 2, INVADER_MISSILE_XPOS
	Movlw 2
	Addwf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000153 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS + 2, INVADER_MISSILE_XPOS + 1
	Movlw 2
	Addwf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000154 equ $ ; in [INVADERS.BAS] Return
	Return
DRAW_INVADER_MISSILE
F1_000156 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS, INVADER_MISSILE_XPOS
	Movff INVADER_MISSILE_YPOS,GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000157 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE_YPOS, INVADER_MISSILE_XPOS + 1
	Movff INVADER_MISSILE_YPOS,GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@UnPlot
F1_000158 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE_YPOS + 1, INVADER_MISSILE_XPOS
	Incf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@Plot
F1_000159 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE_YPOS + 1, INVADER_MISSILE_XPOS + 1
	Incf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@Plot
F1_000160 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE_YPOS + 2, INVADER_MISSILE_XPOS
	Movlw 2
	Addwf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE_XPOS,W
	F@Call LCD@Plot
F1_000161 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE_YPOS + 2, INVADER_MISSILE_XPOS + 1
	Movlw 2
	Addwf INVADER_MISSILE_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE_XPOS,W
	F@Call LCD@Plot
F1_000162 equ $ ; in [INVADERS.BAS] Return
	Return
CLEAR_INVADER_MISSILE2
F1_000167 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS, INVADER_MISSILE2_XPOS
	Movff INVADER_MISSILE2_YPOS,GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000168 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS, INVADER_MISSILE2_XPOS + 1
	Movff INVADER_MISSILE2_YPOS,GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000169 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS + 1, INVADER_MISSILE2_XPOS
	Incf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000170 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS + 1, INVADER_MISSILE2_XPOS + 1
	Incf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000171 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS + 2, INVADER_MISSILE2_XPOS
	Movlw 2
	Addwf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000172 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS + 2, INVADER_MISSILE2_XPOS + 1
	Movlw 2
	Addwf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000173 equ $ ; in [INVADERS.BAS] Return
	Return
DRAW_INVADER_MISSILE2
F1_000175 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS, INVADER_MISSILE2_XPOS
	Movff INVADER_MISSILE2_YPOS,GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000176 equ $ ; in [INVADERS.BAS] UnPlot INVADER_MISSILE2_YPOS, INVADER_MISSILE2_XPOS + 1
	Movff INVADER_MISSILE2_YPOS,GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@UnPlot
F1_000177 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE2_YPOS + 1, INVADER_MISSILE2_XPOS
	Incf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@Plot
F1_000178 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE2_YPOS + 1, INVADER_MISSILE2_XPOS + 1
	Incf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@Plot
F1_000179 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE2_YPOS + 2, INVADER_MISSILE2_XPOS
	Movlw 2
	Addwf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Movf INVADER_MISSILE2_XPOS,W
	F@Call LCD@Plot
F1_000180 equ $ ; in [INVADERS.BAS] Plot INVADER_MISSILE2_YPOS + 2, INVADER_MISSILE2_XPOS + 1
	Movlw 2
	Addwf INVADER_MISSILE2_YPOS,W
	Movwf GEN
	Incf INVADER_MISSILE2_XPOS,W
	F@Call LCD@Plot
F1_000181 equ $ ; in [INVADERS.BAS] Return
	Return
UPDATE_BASES
F1_000185 equ $ ; in [INVADERS.BAS] Print at 6,2,2 + BASE_HITS#0,8 + BASE_HITS#1,14 + BASE_HITS#2,_
	Movlw 6
	Movwf GEN
	Movlw 2
	F@Call GLCD_Cur
	Movlw 2
	Addwf BASE_HITS#0,W
	Movwf PP2
	F@Call Print
	Movlw 8
	Addwf BASE_HITS#1,W
	Movwf PP2
	F@Call Print
	Movlw 14
	Addwf BASE_HITS#2,W
	Movwf PP2
	F@Call Print
	Movlw 6
	Movwf GEN
	Movlw 9
	F@Call GLCD_Cur
	Movlw 2
	Addwf BASE_HITS#3,W
	Movwf PP2
	F@Call Print
	Movlw 8
	Addwf BASE_HITS#4,W
	Movwf PP2
	F@Call Print
	Movlw 14
	Addwf BASE_HITS#5,W
	Movwf PP2
	F@Call Print
	Movlw 6
	Movwf GEN
	Movlw 15
	F@Call GLCD_Cur
	Movlw 2
	Addwf BASE_HITS#6,W
	Movwf PP2
	F@Call Print
	Movlw 8
	Addwf BASE_HITS#7,W
	Movwf PP2
	F@Call Print
	Movlw 14
	Addwf BASE_HITS#8,W
	Movwf PP2
	F@Call Print
F1_000188 equ $ ; in [INVADERS.BAS] Return
	Return
CHECK_BASE_HIT
F1_000194 equ $ ; in [INVADERS.BAS] BASE_HIT = FALSE          ' Default to no hit detected
	Bcf MISSILE_STATUS,2
F1_000195 equ $ ; in [INVADERS.BAS] Select BASE_XPOS_TEST
F1_000196 equ $ ; in [INVADERS.BAS] Case 12 to 17          ' Has the missile XPOS hit BASE 1, ELEMENT 0
	Movlw 11
	Cpfsgt BASE_XPOS_TEST
	F@Jump bc@LL2
	Movlw 18
	Cpfslt BASE_XPOS_TEST
	F@Jump bc@LL2
F1_000197 equ $ ; in [INVADERS.BAS] If BASE_HITS#0 < 5 AND BASE_ENABLED#0 = TRUE Then ' Is the base element enabled, and has had less than 5 hits ?
	Movlw 5
	Subwf BASE_HITS#0,W
	Movlw 1
	Btfsc STATUS,0
	Clrw
	Movwf SP#P9
	Movff BASE_ENABLED#0,PP0
	Movlw 1
	F@Call t@eb
	Andwf SP#P9,W
	Btfsc STATUS,2
	Go@to bc@LL5
F1_000198 equ $ ; in [INVADERS.BAS] Inc BASE_HITS#0        ' Increment the amount of hits the base element has sustained
	Incf BASE_HITS#0,F
F1_000199 equ $ ; in [INVADERS.BAS] BASE_HIT = TRUE        ' Indicate a missile has hit a target
	Bsf MISSILE_STATUS,2
	F@Jump bc@LL6
bc@LL5
F1_000200 equ $ ; in [INVADERS.BAS] Else
F1_000201 equ $ ; in [INVADERS.BAS] BASE_ENABLED#0 = FALSE      ' Disable the base element
	Clrf BASE_ENABLED#0
F1_000202 equ $ ; in [INVADERS.BAS] Endif
bc@LL6
	F@Jump bc@LL1
bc@LL2
F1_000203 equ $ ; in [INVADERS.BAS] Case 18 to 23          ' Has the missile XPOS hit BASE 1, ELEMENT 1
	Movlw 17
	Cpfsgt BASE_XPOS_TEST
	F@Jump bc@LL8
	Movlw 24
	Cpfslt BASE_XPOS_TEST
	F@Jump bc@LL8
F1_000204 equ $ ; in [INVADERS.BAS] If BASE_HITS#1 < 5 AND BASE_ENABLED#1 = TRUE Then ' Is the base element enabled, and has had less than 5 hits ?
	Movlw 5
	Subwf BASE_HITS#1,W
	Movlw 1
	Btfsc STATUS,0
	Clrw
	Movwf SP#P9
	Movff BASE_ENABLED#1,PP0
	Movlw 1
	F@Call t@eb
	Andwf SP#P9,W
	Btfsc STATUS,2
	Go@to bc@LL10
F1_000205 equ $ ; in [INVADERS.BAS] Inc BASE_HITS#1        ' Increment the amount of hits the base element has sustained
	Incf BASE_HITS#1,F
F1_000206 equ $ ; in [INVADERS.BAS] BASE_HIT = TRUE        ' Indicate a missile has hit a target
	Bsf MISSILE_STATUS,2
	F@Jump bc@LL11
bc@LL10
F1_000207 equ $ ; in [INVADERS.BAS] Else
F1_000208 equ $ ; in [INVADERS.BAS] BASE_ENABLED#1 = FALSE      ' Disable the base element
	Clrf BASE_ENABLED#1
F1_000209 equ $ ; in [INVADERS.BAS] Endif
bc@LL11
	F@Jump bc@LL1
bc@LL8
F1_000210 equ $ ; in [INVADERS.BAS] Case 24 to 29          ' Has the missile XPOS hit BASE 1, ELEMENT 2
	Movlw 23
	Cpfsgt BASE_XPOS_TEST
	F@Jump bc@LL13
	Movlw 30
	Cpfslt BASE_XPOS_TEST
	F@Jump bc@LL13
F1_000211 equ $ ; in [INVADERS.BAS] If BASE_HITS#2 < 5 AND BASE_ENABLED#2 = TRUE Then ' Is the base element enabled, and has had less than 5 hits ?
	Movlw 5
	Subwf BASE_HITS#2,W
	Movlw 1
	Btfsc STATUS,0
	Clrw
	Movwf SP#P9
	Movff BASE_ENABLED#2,PP0
	Movlw 1
	F@Call t@eb
	Andwf SP#P9,W
	Btfsc STATUS,2
	Go@to bc@LL15
F1_000212 equ $ ; in [INVADERS.BAS] Inc BASE_HITS#2        ' Increment the amount of hits the base element has sustained
	Incf BASE_HITS#2,F
F1_000213 equ $ ; in [INVADERS.BAS] BASE_HIT = TRUE        ' Indicate a missile has hit a target
	Bsf MISSILE_STATUS,2
	F@Jump bc@LL16
bc@LL15
F1_000214 equ $ ; in [INVADERS.BAS] Else
F1_000215 equ $ ; in [INVADERS.BAS] BASE_ENABLED#2 = FALSE      ' Disable the base element
	Clrf BASE_ENABLED#2
F1_000216 equ $ ; in [INVADERS.BAS] Endif
bc@LL16
	F@Jump bc@LL1
bc@LL13
F1_000217 equ $ ; in [INVADERS.BAS] Case 54 to 59          ' Has the missile XPOS hit BASE 2, ELEMENT 3
	Movlw 53
	Cpfsgt BASE_XPOS_TEST
	F@Jump bc@LL18
	Movlw 60
	Cpfslt BASE_XPOS_TEST
	F@Jump bc@LL18
F1_000218 equ $ ; in [INVADERS.BAS] If BASE_HITS#3 < 5 AND BASE_ENABLED#3 = TRUE Then ' Is the base element enabled, and has had less than 5 hits ?
	Movlw 5
	Subwf BASE_HITS#3,W
	Movlw 1
	Btfsc STATUS,0
	Clrw
	Movwf SP#P9
	Movff BASE_ENABLED#3,PP0
	Movlw 1
	F@Call t@eb
	Andwf SP#P9,W
	Btfsc STATUS,2
	Go@to bc@LL20
F1_000219 equ $ ; in [INVADERS.BAS] Inc BASE_HITS#3        ' Increment the amount of hits the base element has sustained
	Incf BASE_HITS#3,F
F1_000220 equ $ ; in [INVADERS.BAS] BASE_HIT = TRUE        ' Indicate a missile has hit a target
	Bsf MISSILE_STATUS,2
	F@Jump bc@LL21
bc@LL20
F1_000221 equ $ ; in [INVADERS.BAS] Else
F1_000222 equ $ ; in [INVADERS.BAS] BASE_ENABLED#3 = FALSE      ' Disable the base element
	Clrf BASE_ENABLED#3
F1_000223 equ $ ; in [INVADERS.BAS] Endif
bc@LL21
	F@Jump bc@LL1
bc@LL18
F1_000224 equ $ ; in [INVADERS.BAS] Case 60 to 65          ' Has the missile XPOS hit BASE 2, ELEMENT 4
	Movlw 59
	Cpfsgt BASE_XPOS_TEST
	F@Jump bc@LL23
	Movlw 66
	Cpfslt BASE_XPOS_TEST
	F@Jump bc@LL23
F1_000225 equ $ ; in [INVADERS.BAS] If BASE_HITS#4 < 5 AND BASE_ENABLED#4 = TRUE Then ' Is the base element enabled, and has had less than 5 hits ?
	Movlw 5
	Subwf BASE_HITS#4,W

⌨️ 快捷键说明

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