private void performGetStatus() {
		//TODO: Conditions for STATUS_ZERO and STATUS_UNKNOWN_ERROR
		if (!checkForVacuum()) {
			dcpu.registers[2] = 0; //Note: Specification doesn't state that this should be set to anything
			dcpu.registers[1] = STATUS_NOT_IN_A_VACUUM;
		} else if (!checkForFuel()) {
			dcpu.registers[2] = 0;
			dcpu.registers[1] = STATUS_NOT_ENOUGH_FUEL;			
		} else if (!checkForHomogeneousGravitaionalField()) {
			dcpu.registers[2] = 0;
			dcpu.registers[1] = STATUS_INHOMOGENEOUS_GRAVITATIONAL_FIELD;
		} else if (getAngularMomentum() > MAX_ACCEPTABLE_ANGULAR_MOMENTUM) {
			dcpu.registers[2] = 0;
			dcpu.registers[1] = STATUS_TOO_MUCH_ANGULAR_MOMENTUM;
		} else if (getNumberOfCellDoorsOpen() > 0) {
			dcpu.registers[2] = 0;
			dcpu.registers[1] = STATUS_ONE_OR_MORE_CELL_DOORS_ARE_OPEN;			
		} else if (!checkForMechanicalIntegrity()) {
			dcpu.registers[2] = 0;
			dcpu.registers[1] = STATUS_MECHANICAL_ERROR;			
		} else {
			dcpu.registers[2] = 1;
		}
	}