void DivideAssignmentStatementNode::Code(InstructionsClass &machineCode) { // push vars value on stack machineCode.PushVariable(in->GetIndex()); // put modifier on stack en->CodeEvaluate(machineCode); // divide those values machineCode.PopPopDivPush(); // store result machineCode.PopAndStore(in->GetIndex()); }
void DivideNode::CodeEvaluate(InstructionsClass & machineCode) { lhs->CodeEvaluate(machineCode); rhs->CodeEvaluate(machineCode); machineCode.PopPopDivPush(); }
void DivideNode::CodeEvaluate(InstructionsClass &machinecode) { MSG("\tCODING DIVIDENODE"); mLeft->CodeEvaluate(machinecode); mRight->CodeEvaluate(machinecode); machinecode.PopPopDivPush(); }