public void doCommand(String[] command) throws GateException {
        if (command[0].toUpperCase().equalsIgnoreCase("LOAD")) {
            if (command.length != 2)
                throw new GateException("Illegal number of arguments");

            if (gui != null)
                gui.showMessage("Loading...");

            String fileName = GatesManager.getInstance().getWorkingDir() + "/" + command[1];

            try {
                loadProgram(fileName);
            } catch (AssemblerException pe) {
                if (gui != null)
                    gui.hideMessage();
                throw new GateException(pe.getMessage());
            }

            if (gui != null)
                gui.hideMessage();
        }
        else
            throw new GateException("This chip doesn't support this command");
    }