Lines Matching refs:_stack

87 		_fp(_stack), _pc(0), _status(IN_PROGRESS), _actor(-1), _action(-1), _dObject(-1),  in VM()
97 _stack.clear(); in execute()
112 …for (int idx = (int)_stack.size() - 1; idx >= 0; --idx) s += Common::String::format(" %d", _stack in executeOpcode()
113 debugC(kDebugScripts, "%.4x - %.2x - %d%s", _pc - 1, opcode, _stack.size(), s.c_str()); in executeOpcode()
119 _stack.top() = getVariable((int)opcode - OP_XVAR); in executeOpcode()
121 setVariable((int)opcode - OP_XSET, _stack.top()); in executeOpcode()
123 _stack.top() = (int)opcode - OP_XPLIT; in executeOpcode()
125 _stack.top() = OP_XNLIT - opcode; in executeOpcode()
131 _pc = _stack.top() ? readCodeWord() : _pc + 2; in opBRT()
135 _pc = !_stack.top() ? readCodeWord() : _pc + 2; in opBRF()
143 _stack.top() = TRUE; in opT()
147 _stack.top() = NIL; in opNIL()
151 _stack.push(NIL); in opPUSH()
155 _stack.top() = _stack.top() ? NIL : TRUE; in opNOT()
159 int v = _stack.pop(); in opADD()
160 _stack.top() += v; in opADD()
164 int v = _stack.pop(); in opSUB()
165 _stack.top() -= v; in opSUB()
169 int v = _stack.pop(); in opMUL()
170 _stack.top() *= v; in opMUL()
174 int v = _stack.pop(); in opDIV()
175 _stack.top() = (v == 0) ? 0 : _stack.top() / v; in opDIV()
179 int v = _stack.pop(); in opREM()
180 _stack.top() = (v == 0) ? 0 : _stack.top() % v; in opREM()
184 int v = _stack.pop(); in opBAND()
185 _stack.top() &= v; in opBAND()
189 int v = _stack.pop(); in opBOR()
190 _stack.top() |= v; in opBOR()
194 _stack.top() = ~_stack.top(); in opBNOT()
198 int v = _stack.pop(); in opLT()
199 _stack.top() = (_stack.top() < v) ? TRUE : NIL; in opLT()
203 int v = _stack.pop(); in opEQ()
204 _stack.top() = (_stack.top() == v) ? TRUE : NIL; in opEQ()
208 int v = _stack.pop(); in opGT()
209 _stack.top() = (_stack.top() > v) ? TRUE : NIL; in opGT()
213 _stack.top() = readCodeWord(); in opLIT()
217 _stack.top() = getVariable(readCodeWord()); in opVAR()
221 int v = _stack.pop(); in opGETP()
222 _stack.top() = getObjectProperty(_stack.top(), v); in opGETP()
226 int v3 = _stack.pop(); in opSETP()
227 int v2 = _stack.pop(); in opSETP()
228 _stack.top() = setObjectProperty(_stack.top(), v2, v3); in opSETP()
232 setVariable(readCodeWord(), _stack.top()); in opSET()
236 Common::String msg = readString(_stack.top()); in opPRINT()
245 print(_stack.top()); in opPNUMBER()
269 int val = _stack.top(); in opRETURN()
270 _stack.resize(_fp); in opRETURN()
271 _fp = _stack.pop(); in opRETURN()
272 _pc = _stack.pop(); in opRETURN()
274 int argsSize = _stack.pop(); in opRETURN()
275 _stack.resize(_stack.size() - argsSize); in opRETURN()
276 _stack.top() = val; in opRETURN()
283 _stack.push(argsSize); in opCALL()
284 _stack.push(_pc); in opCALL()
285 _stack.push(_fp); in opCALL()
292 _stack.top() = getVariable(readCodeByte()); in opSVAR()
296 setVariable(readCodeByte(), _stack.top()); in opSSET()
300 _stack.top() = readCodeByte(); in opSPLIT()
304 _stack.top() = readCodeByte(); in opSNLIT()
309 _stack.top() = !line.empty() && (line[0] == 'Y' || line[0] == 'y') ? TRUE : NIL; in opYORN()
326 _stack.top() = _fp[argNum + FP_ARGS]; in opARG()
333 _fp[argNum + FP_ARGS] = _stack.top(); in opASET()
338 _stack.top() = _fp[-val - 1]; in opTMP()
343 _fp[-val - 1] = _stack.top(); in opTSET()
347 _stack.allocate(readCodeByte()); in opTSPACE()
351 _stack.top() = getObjectField(_stack.top(), O_CLASS); in opCLASS()
355 int idx = _stack.pop() - 1; in opMATCH()
356 _stack.top() = match(_stack.top(), _nouns[idx]._noun, _nouns[idx]._adjective) ? TRUE : NIL; in opMATCH()
360 int noun = _stack.top(); in opPNOUN()
384 _stack.top() = getRandomNumber(_stack.top()); in opRAND()
393 _stack.push(argsSize); in opSEND()
394 _stack.push(_pc); in opSEND()
395 _stack.push(_fp); in opSEND()