📄 fire.vms
字号:
LD int r0,VINT_FIRECOUNT
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
CALL FINT_ALLOC
CAL int ADD rs,0
PUSH r3
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-4
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL100
LD int r1,1199
LABEL100:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 1
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 16 [1]
PUSH [VINT_FLYX]
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL101
LD int r1,1199
LABEL101:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 2
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 16 1 - [3]
PUSH [VINT_FLYY]
PUSH 8
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL102
LD int r1,1199
LABEL102:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
JMP LABEL97
LABEL96: ; Else
LABEL97: ; End of If
JMP LABEL93
LABEL92: ; Else
LABEL93: ; End of If
FINT_PLANE_EXIT:
LD int r3,[rb]
LD int rs,rb
POP rb
RET
; END FUN FINT_PLANE
;(FINT_CHECKHIT) Function
;parcount=5
FINT_CHECKHIT:
PUSH rb
LD int rb,rs
CAL int ADD rs,-4
; This is a comment line
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,0
LD int [r0],r3
; If code
;<Epression>
; Flush stack: 16 16 - 16 16 < 16 16 - 16 16 < & [13]
LD int r0,rb
CAL int ADD r0,28
PUSH [r0]
LD int r0,rb
CAL int ADD r0,20
PUSH [r0]
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
CALL FINT_ABS
CAL int ADD rs,4
PUSH r3
LD int r0,rb
CAL int ADD r0,12
PUSH [r0]
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL105
PUSH 1
JMP LABEL106
LABEL105:
PUSH 0
LABEL106:
LD int r0,rb
CAL int ADD r0,24
PUSH [r0]
LD int r0,rb
CAL int ADD r0,16
PUSH [r0]
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
CALL FINT_ABS
CAL int ADD rs,4
PUSH r3
LD int r0,rb
CAL int ADD r0,12
PUSH [r0]
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL107
PUSH 1
JMP LABEL108
LABEL107:
PUSH 0
LABEL108:
POP r1
POP r0
CAL int MUL r0,r1
PUSH r0
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL103
;<Epression>
; Flush stack: 1 [1]
PUSH 1
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,0
LD int [r0],r3
JMP LABEL104
LABEL103: ; Else
LABEL104: ; End of If
FINT_CHECKHIT_EXIT:
LD int r3,[rb]
LD int rs,rb
POP rb
RET
; END FUN FINT_CHECKHIT
;(FINT_GAMEDRIVER) Function
;parcount=0
FINT_GAMEDRIVER:
PUSH rb
LD int rb,rs
CAL int ADD rs,-20
; This is a comment line
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-4
LD int [r0],r3
LABEL119: ; While code
;<Epression>
; Flush stack: 16 1 < [3]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 31
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL121
PUSH 1
JMP LABEL122
LABEL121:
PUSH 0
LABEL122:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL120
; If code
;<Epression>
; Flush stack: 16 1 16 1 ] [5]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 0
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL125
LD int r3,1199
LABEL125:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
PUSH 0
POP r1
POP r0
CMP int r0,r1
JPC B LABEL126
PUSH 1
JMP LABEL127
LABEL126:
PUSH 0
LABEL127:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL123
;<Epression>
; Flush stack: 16 1 16 [3]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 1
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL128
LD int r3,1199
LABEL128:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-8
LD int [r0],r3
;<Epression>
; Flush stack: 16 1 16 [3]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 2
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL129
LD int r3,1199
LABEL129:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-12
LD int [r0],r3
; If code
;<Epression>
; Flush stack: 16 1 16 1 = [5]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 0
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL132
LD int r3,1199
LABEL132:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
PUSH 0
POP r1
POP r0
CMP int r0,r1
JPC NZ LABEL133
PUSH 1
JMP LABEL134
LABEL133:
PUSH 0
LABEL134:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL130
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 2
POP r3
;</Epression>
PUSH r3
CALL FINT_DRAWFLY
CAL int ADD rs,12
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-16
LD int [r0],r3
LABEL135: ; While code
;<Epression>
; Flush stack: 16 1 < [3]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
PUSH 31
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL137
PUSH 1
JMP LABEL138
LABEL137:
PUSH 0
LABEL138:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL136
; If code
;<Epression>
; Flush stack: 16 1 16 1 = [5]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
PUSH 0
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL141
LD int r3,1199
LABEL141:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
PUSH 1
POP r1
POP r0
CMP int r0,r1
JPC NZ LABEL142
PUSH 1
JMP LABEL143
LABEL142:
PUSH 0
LABEL143:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL139
; If code
;<Epression>
; Flush stack: 16 16 16 1 16 16 1 16 1 16 [10]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
PUSH 1
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL146
LD int r3,1199
LABEL146:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
PUSH 2
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL147
LD int r3,1199
LABEL147:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
PUSH 24
CALL FINT_CHECKHIT
CAL int ADD rs,20
PUSH r3
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL144
;<Epression>
; Flush stack: 16 1 - [3]
PUSH [VINT_FIRECOUNT]
PUSH 1
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,VINT_FIRECOUNT
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 2
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL148
LD int r1,1199
LABEL148:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 3
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL149
LD int r1,1199
LABEL149:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 ^ [2]
PUSH 1
POP r1
LD int r0,0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL150
LD int r1,1199
LABEL150:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 1 [1]
PUSH 200
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-16
LD int [r0],r3
JMP LABEL145
LABEL144: ; Else
LABEL145: ; End of If
JMP LABEL140
LABEL139: ; Else
LABEL140: ; End of If
;<Epression>
; Flush stack: 16 1 + [3]
LD int r0,rb
CAL int ADD r0,-16
PUSH [r0]
PUSH 1
POP r1
POP r0
CAL int ADD r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-16
LD int [r0],r3
JMP LABEL135
LABEL136: ; End of While
;<Epression>
; Flush stack: 16 1 - [3]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH 10
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-12
LD int [r0],r3
; If code
;<Epression>
; Flush stack: 16 1 ^ < [4]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH 10
POP r1
LD int r0,0
CAL int SUB r0,r1
PUSH r0
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL153
PUSH 1
JMP LABEL154
LABEL153:
PUSH 0
LABEL154:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL151
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 ^ [2]
PUSH 1
POP r1
LD int r0,0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL155
LD int r1,1199
LABEL155:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
;<Epression>
; Flush stack: 16 1 - [3]
PUSH [VINT_FIRECOUNT]
PUSH 1
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,VINT_FIRECOUNT
LD int [r0],r3
JMP LABEL152
LABEL151: ; Else
LABEL152: ; End of If
JMP LABEL131
LABEL130: ; Else
LABEL131: ; End of If
; If code
;<Epression>
; Flush stack: 16 1 16 1 = [5]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
PUSH 0
POP r3
POP r0
CAL int MUL r0,6
CAL int ADD r3,r0
CMP dword r3,1200
JPC B LABEL158
LD int r3,1199
LABEL158:
LD int r0,VINT_P
CAL int MUL r3,4
CAL int ADD r0,r3
PUSH [r0]
PUSH 1
POP r1
POP r0
CMP int r0,r1
JPC NZ LABEL159
PUSH 1
JMP LABEL160
LABEL159:
PUSH 0
LABEL160:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL156
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 1
POP r3
;</Epression>
PUSH r3
CALL FINT_DRAWFLY
CAL int ADD rs,12
; If code
;<Epression>
; Flush stack: 16 16 16 16 1 16 [6]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH [VINT_FLYX]
PUSH [VINT_FLYY]
PUSH 28
CALL FINT_CHECKHIT
CAL int ADD rs,20
PUSH r3
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL161
;<Epression>
; Flush stack: 1 ^ [2]
PUSH 1
POP r1
LD int r0,0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,VINT_PLAY
LD int [r0],r3
JMP LABEL162
LABEL161: ; Else
LABEL162: ; End of If
;<Epression>
; Flush stack: 16 1 + [3]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH 4
POP r1
POP r0
CAL int ADD r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-12
LD int [r0],r3
; If code
;<Epression>
; Flush stack: 1 16 ! [3]
PUSH 2
CALL FINT_RANDOM
CAL int ADD rs,4
PUSH r3
POP r1
CMP int r1,0
JPC NZ LABEL165
PUSH 1
JMP LABEL166
LABEL165:
PUSH 0
LABEL166:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL163
;<Epression>
; Flush stack: 16 1 + [3]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH 3
POP r1
POP r0
CAL int ADD r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-12
LD int [r0],r3
JMP LABEL164
LABEL163: ; Else
LABEL164: ; End of If
; If code
;<Epression>
; Flush stack: 1 16 ! [3]
PUSH 1
CALL FINT_RANDOM
CAL int ADD rs,4
PUSH r3
POP r1
CMP int r1,0
JPC NZ LABEL169
PUSH 1
JMP LABEL170
LABEL169:
PUSH 0
LABEL170:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL167
; If code
;<Epression>
; Flush stack: 16 16 < [3]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
PUSH [VINT_FLYX]
POP r1
POP r0
CMP int r0,r1
JPC AE LABEL173
PUSH 1
JMP LABEL174
LABEL173:
PUSH 0
LABEL174:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL171
;<Epression>
; Flush stack: 16 1 + [3]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
PUSH 3
POP r1
POP r0
CAL int ADD r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-8
LD int [r0],r3
JMP LABEL172
LABEL171: ; Else
LABEL172: ; End of If
; If code
;<Epression>
; Flush stack: 16 16 > [3]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
PUSH [VINT_FLYX]
POP r1
POP r0
CMP int r0,r1
JPC BE LABEL177
PUSH 1
JMP LABEL178
LABEL177:
PUSH 0
LABEL178:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL175
;<Epression>
; Flush stack: 16 1 - [3]
LD int r0,rb
CAL int ADD r0,-8
PUSH [r0]
PUSH 3
POP r1
POP r0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
LD int r0,rb
CAL int ADD r0,-8
LD int [r0],r3
JMP LABEL176
LABEL175: ; Else
LABEL176: ; End of If
JMP LABEL168
LABEL167: ; Else
LABEL168: ; End of If
; If code
;<Epression>
; Flush stack: 16 1 > [3]
LD int r0,rb
CAL int ADD r0,-12
PUSH [r0]
PUSH 300
POP r1
POP r0
CMP int r0,r1
JPC BE LABEL181
PUSH 1
JMP LABEL182
LABEL181:
PUSH 0
LABEL182:
POP r3
;</Epression>
CMP int r3,0
JPC Z LABEL179
;<Epression>
; Flush stack: 16 [1]
LD int r0,rb
CAL int ADD r0,-4
PUSH [r0]
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 [1]
PUSH 0
POP r3
;</Epression>
PUSH r3
;<Epression>
; Flush stack: 1 ^ [2]
PUSH 1
POP r1
LD int r0,0
CAL int SUB r0,r1
PUSH r0
POP r3
;</Epression>
POP r1
POP r0
CAL int MUL r0,6
CAL int ADD r1,r0
CMP dword r1,1200
JPC B LABEL183
LD int r1,1199
LABEL183:
LD int r0,VINT_P
CAL int MUL r1,4
CAL int ADD r0,r1
LD int [r0],r3
JMP LABEL180
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -