diff --git a/pages/runner.js b/pages/runner.js index 77b0832..5cffc70 100644 --- a/pages/runner.js +++ b/pages/runner.js @@ -410,7 +410,7 @@ export default function Home() { novaInstrucao.issue = clock; - if ((UFParaUsar.tipoUnidade !== 'Store') && (UFParaUsar.operacao !== 'BEQ')) { + if ((UFParaUsar.tipoUnidade !== 'Store') && (UFParaUsar.operacao !== 'BEQ') && (UFParaUsar.operacao !== 'BNEZ')) { writeRegister(novaInstrucao.instrucao, novaInstrucao.posicao); } } @@ -443,6 +443,15 @@ export default function Home() { } } + if (uf.instrucao?.operacao === "BNEZ") { + if (uf.instrucao?.registradorR != uf.instrucao?.registradorS) { + let entry = uf.estadoInstrucao.posicao; + instructionStatus[entry].discart = true; + instructionStatus[entry + 1].discart = true; + setInstructionStatus(instructionStatus); + } + } + if ((uf.ocupado) && (uf.vj !== null) && (uf.vk !== null)) { uf.tempo = uf.tempo - 1; uf.estadoInstrucao.busy = true;