def executa(cpu, cpuEstado): if (cpu_interrupcao(cpu) != "normal"): return pcAnterior = cpu.getPc() try: instrucao = cpu_instrucao(cpu) instrucao = instrucao.split() #intrucao = ["comando", "argumento"] except: return comando = instrucao[0] idInstrucao = Comandos.retornaComandoId(comando) if (idInstrucao != -1): Comandos.executaComando(cpu, idInstrucao, instrucao) if cpu.getEstado() == "pagina indisponivel": return else: if (cpu.getEstado() != "memory violation"): cpu_salva_estado(cpu, cpuEstado) cpu.setEstado("Interrompido") return if (cpu.getPc() == pcAnterior ): #incrementa pc caso não haja interrupção ou desvio incrementaPc(cpu)