@Override
	public void emitCode(GluonOutput code) {
		if (variable != null){
			String varName = variable.getLabelName();
			assignmentExp.emitCode(code);
			
			switch (assignmentOp){
				case ASSIGN:
					break;
				case ASSIGN_ADD:
					code.code("MOV EBX, " + varName);
					code.code("ADD EAX, EBX");
					break;
				case ASSIGN_SUBTRACT:
					code.code("MOV EBX, EAX");
					code.code("MOV EAX, " + varName);
					code.code("SUB EAX, EBX");
					break;
				case ASSIGN_MULTIPLY:
					code.code("MOV EBX, " + varName);
					code.code("IMUL EAX, EBX");
					break;
				case ASSIGN_DIVIDE:
					code.code("MOV EBX, EAX");
					code.code("XOR EDX, EDX");
					code.code("MOV EAX, " + varName);
					code.code("IDIV EBX");
					break;
			}
			code.code("MOV " + varName + ", EAX");
		} else {
			expression.emitCode(code);
		}
	}