Mercurial > touhou
comparison src/th06/ecl_vm.rs @ 655:6b4d2b405442
More ECL stuff.
author | Gauvain "GovanifY" Roussel-Tarbouriech <gauvain@govanify.com> |
---|---|
date | Thu, 08 Aug 2019 17:01:42 +0200 |
parents | ec7e888e88f3 |
children | 53786d834444 |
comparison
equal
deleted
inserted
replaced
654:ec7e888e88f3 | 655:6b4d2b405442 |
---|---|
166 // 34 | 166 // 34 |
167 Instruction::RelativeJumpIfNotEqual(frame, ip) { | 167 Instruction::RelativeJumpIfNotEqual(frame, ip) { |
168 if self.comparison_reg != 0 | 168 if self.comparison_reg != 0 |
169 Instruction::RelativeJump(); | 169 Instruction::RelativeJump(); |
170 } | 170 } |
171 | 171 // 35 |
172 | 172 Instruction::Call(sub, param1, param2) { |
173 | 173 // does insane stuff with the stack, not implemented |
174 | 174 } |
175 | 175 |
176 | 176 // 36 |
177 Instruction::Ret(frame, ip) { | |
178 // does insane stuff with the stack, not implemented | |
179 } | |
180 // 37 | |
181 Instruction::CallIfSuperior(sub, param1, param2, a, b) { | |
182 if(self._getval(b) <= self._getval(a)) { | |
183 Instruction::Call(sub, param1, param2); | |
184 } | |
185 } | |
186 // 38 | |
187 Instruction::CallIfSuperiorOrEqual(sub, param1, param2, a, b) { | |
188 if(self._getval(b) <= self._getval(a)) { | |
189 Instruction::Call(sub, param1, param2); | |
190 } | |
191 } | |
192 // 39 | |
193 Instruction::CallIfEqual(sub, param1, param2, a, b) { | |
194 if(self._getval(b) == self._getval(a)) { | |
195 Instruction::Call(sub, param1, param2); | |
196 } | |
197 } | |
198 // 40 | |
199 Instruction::CallIfEqual(sub, param1, param2, a, b) { | |
200 if(self._getval(b) == self._getval(a)) { | |
201 Instruction::Call(sub, param1, param2); | |
202 } | |
203 } | |
204 //41 | |
205 Instruction::CallIfInferior(sub, param1, param2, a, b) { | |
206 if(self._getval(a) < self._getval(b)) { | |
207 Instruction::Call(sub, param1, param2); | |
208 } | |
209 } | |
210 //42 | |
211 Instruction::CallIfInferiorOrEqual(sub, param1, param2, a, b) { | |
212 if(self._getval(a) <= self._getval(b)) { | |
213 Instruction::Call(sub, param1, param2); | |
214 } | |
215 } | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 |