private boolean writeLabel(String label) {
		boolean validLabel = true;																		// Used to determine if the label is a valid label
		label = label.trim();																			// Remove all trailing/leading whitespace
		if (label.indexOf(":") == label.length() - 1) label = label.substring(0, label.length() - 1);	// Remove an ending colon if it exists
		char[] labelArray = label.toCharArray();														// Load the label into a char array
		for (int i = 0; i < label.length() && validLabel; i++) {										// Run through the array while we have a valid label
			char j = labelArray[i];																		// Create a temp char of the current label char
			if (!Character.isLetterOrDigit(j) && j != '_') validLabel = false;							// If the char is not 1) A letter or 2) A number or 3) An underscore the label is not valid
		}
		if (validLabel) {																				// Check to make sure the label is valid
			try {
				outLabel.write(label + "#" + address);													// Write the label, the token '#' and the address
				outLabel.newLine();																		// Write a newline
				labelCount++;																			// Increase the label counter
				return true;																			// All is well, this was a success
			}
			catch (IOException e) { Error.fatalError(1); }												// 1 -- Cannot write to designated file
		}
		return false;																					// If all else fails, we have an invalid label
	}