public Machine() {
		INSTRUCTION_SET[0] = new NOP(proc, memory);
		INSTRUCTION_SET[1] = new LOD(proc, memory);
		INSTRUCTION_SET[2] = new LODI(proc, memory);
		INSTRUCTION_SET[3] = new STO(proc, memory);
		INSTRUCTION_SET[4] = new ADD(proc, memory);
		INSTRUCTION_SET[5] = new SUB(proc, memory);
		INSTRUCTION_SET[6] = new MUL(proc, memory);
		INSTRUCTION_SET[7] = new DIV(proc, memory);
		INSTRUCTION_SET[8] = new ADDI(proc, memory);
		INSTRUCTION_SET[9] = new SUBI(proc, memory);
		INSTRUCTION_SET[10] = new MULI(proc, memory);
		INSTRUCTION_SET[11] = new DIVI(proc, memory);
		INSTRUCTION_SET[16] = new AND(proc, memory);
		INSTRUCTION_SET[17] = new ANDI(proc, memory);
		INSTRUCTION_SET[18] = new NOT(proc, memory);
		INSTRUCTION_SET[19] = new CMPZ(proc, memory);
		INSTRUCTION_SET[20] = new CMPL(proc, memory);
		INSTRUCTION_SET[26] = new JUMP(proc, memory);
		INSTRUCTION_SET[27] = new JMPZ(proc, memory);
		INSTRUCTION_SET[31] = new HALT(proc, memory);
		INSTRUCTION_SET[257] = new LDN(proc, memory);
		INSTRUCTION_SET[259] = new STN(proc, memory);
		INSTRUCTION_SET[260] = new ADDN(proc, memory);
		INSTRUCTION_SET[261] = new SUBN(proc, memory);
		INSTRUCTION_SET[262] = new MULN(proc, memory);
		INSTRUCTION_SET[263] = new DIVN(proc, memory);
		INSTRUCTION_SET[282] = new JMPN(proc, memory);
		INSTRUCTION_SET[283] = new JMZN(proc, memory);
		loader = new Loader(memory); // <<<<<<<<<<<<<THIS IS A
										// CORRECTION>>>>>>>>>>>>>>>>>
		// CODE TO DISCOVER THE ECLIPSE DEFAULT DIRECTORY:
		File temp = new File("propertyfile.txt");
		if (!temp.exists()) {
			PrintWriter out;
			try {
				out = new PrintWriter(temp);
				out.close();
				eclipseDir = temp.getAbsolutePath();
				temp.delete();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		} else {
			eclipseDir = temp.getAbsolutePath();
		}
		// change to forward slashes
		eclipseDir = eclipseDir.replace('\\', '/');
		int lastSlash = eclipseDir.lastIndexOf('/');
		eclipseDir = eclipseDir.substring(0, lastSlash + 1);
		System.out.println(eclipseDir);
		try { // load properties file "propertyfile.txt", if it exists
			properties = new Properties();
			properties.load(new FileInputStream("propertyfile.txt"));
			sourceDir = properties.getProperty("SourceDirectory");
			executableDir = properties.getProperty("ExecutableDirectory");
			// CLEAN UP ANY ERRORS IN WHAT IS STORED:
			if (sourceDir == null || sourceDir.length() == 0
					|| !new File(sourceDir).exists()) {
				sourceDir = eclipseDir;
			}
			if (executableDir == null || executableDir.length() == 0
					|| !new File(executableDir).exists()) {
				executableDir = eclipseDir;
			}
		} catch (Exception e) {
			// PROPERTIES FILE DID NOT EXIST
			sourceDir = eclipseDir;
			executableDir = eclipseDir;
		}
		createAndShowGUI();

	}