private void execute() {
        if(sourceFile == null) {
            printError("-i : No source file specified");
        }
        
        if(assembler == null || computer == null) {
            printError("-f : No format specified");
        }
        
        if(assembler.hasErrors()) {
            printError("Unable to execute file due to errors");
        }
        
        print("...preparing to execute program");
        
        if(trace) {
            print("...opening computer trace files");
            addTraceListeners();
        }
        
        computer.setExecutionSpeed(ExecutionSpeed.FULL);
        computer.setInstructions(assembler.getInstructions());
        
        computer.addComputerListener(new ComputerAdapter() {
            public void computerStarted(Computer computer) {
                print("...Execution started");
            }
            public void computerStopped(Computer computer) {
                print("...Execution complete");
            }
        });
        
        computer.execute();
    }