private void memory_stage() {
		InstructionType type = current_instruction.get_type();
		int rt;
		
		switch (type) {
		case lw:
			memory_result = memory_unit.load_word(alu_result);
			break;
		case lh:
			memory_result = memory_unit.load_half_word(alu_result);
			break;
		case lhu:
			memory_result = memory_unit.load_half_word_unsigned(alu_result);
			break;
		case lb:
			memory_result = memory_unit.load_byte(alu_result);
			break;
		case lbu:
			memory_result = memory_unit.load_byte_unsigned(alu_result);
			break;
		case sw:
			rt = register_file.get_register(current_instruction.get_rt());
			memory_unit.store_word(alu_result, rt);
			break;
		case sh:
			rt = register_file.get_register(current_instruction.get_rt());
			memory_unit.store_half_word(alu_result, rt);
			break;
		case sb:
			rt= register_file.get_register(current_instruction.get_rt());
			memory_unit.store_byte(alu_result, rt);
			break;
		default:

		}
		memory_unit.print();
	}