public void loadCommands(String inputFile) {
		try {

			FileInputStream fs = new FileInputStream(inputFile);

			int read;

			String command = "";

			int count = 0;
			int address = 588;
			boolean breakFound = false;

			while ((read = fs.read()) != -1) {
				String byteSection = Integer.toBinaryString(read);

				int sectionDiff = 8 - byteSection.length();

				while (sectionDiff != 0) {
					byteSection = "0" + byteSection;
					sectionDiff--;
				}

				count++;
				command = command + byteSection;
				if (count == 4) {

					Command newCommand = new Command();

					if (address > BREAK_ADDRESS_MAX && !breakFound) {
						newCommand.setOPT("000000");
						newCommand.setRS("00000");
						newCommand.setRT("00000");
						newCommand.setRD("00000");
						newCommand.setIMA("00000");
						newCommand.setIMB("001101");
						newCommand.setAddress(Integer.toString(address));

					} else {
						newCommand.setOPT(command.substring(0, 6));
						newCommand.setRS(command.substring(6, 11));
						newCommand.setRT(command.substring(11, 16));
						newCommand.setRD(command.substring(16, 21));
						newCommand.setIMA(command.substring(21, 26));
						newCommand.setIMB(command.substring(26, 32));
						newCommand.setAddress(Integer.toString(address));
						
					}

					newCommand.setAssembly(processCommand(newCommand,
							breakFound));

					commands.add(newCommand);

					if (newCommand.getAssembly().equalsIgnoreCase("BREAK")) {
						breakFound = true;
					}

					command = "";
					count = 0;
					address += 4;
				}
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}