You are on page 1of 1
304° ARQUITETURA E ORGANIZAGAO DE COMPUTADORES {locrementar contador cle programa normalmentel. Lima instrugo de desvio em que o desvio sempre € tomado & umn desvio incondicional, -Exéstem duas maneiras communs de geva’ a condigao a ser testada em ume instrugSo de desvio concicionel, Primo, amaiotia das méquinas oferece um cédigo de cordicao de 1 ou mais bits, que é definido como o resultado de algumes foperagbes. Esse cig pade ser imaginada coro um registrador pequeno, visivel 20 usudro, Como um exemplo, uma coperacia aritmética (ADD, SUBTRACT e assim por diante) poderia defiir um cédigo de condigao de 2 bits com um dos ‘quatio valores a seguir 0, positive, negativo, overfow. Em tal maquina, podesia haver quatio instuyées de desvio cond ional diferentes: BRPX Desvia para local X se resultado for positive. BRNX Desvia para local X se resultado for negativo. BRZX Desvia para local X se resultado for zero. BROX Desvia para local X se houver overflow. Em todos esses casos, o resultado refecenciado é 0 resultado da operacso mals recente que define 0 cédigo de condigfo COuitra técnica que pode ser usada com um formato de instrucao de trés enderecos & realizar uma compara;30 e especificar um desvio na mesma interface. Por exemplo, BRER1,R2.X_ Desvia para X se contetido de Ri = contetido de R2. ‘figura 10.7 mostra exemplos dessas operagbes. Observe que um cesvio pode ser para fente (uma instrugao corm um enderega mais alto) ou para tds iendereco mais baixo}-O exemplo mostra como um desvio inconcicional ‘2 um desvio condicionel poder ser usados para criar um loop repettivo de instrucces. As instrugbes nos locas de 202 a 210 serdo executadas repetidamente, até que o resultado de subtrairY de X sea 0 INSTRUGOES DE SALTO (SKIP) Outta forma de instrugao de transferéneia de controle & a instrugao de salto. h Instrugio de salto inclu um endereco implicito. Normalmente, o salto implice que uma insirucéo seja pulada; assim, -endereco implicito€ igual ao endereco da préximea instrucao mals 0 tamanho de uma instruca0. Como a instrucéo de salto ndo exige um campo de endereso de destino, ela est live para realizar outras coisas Um exernplo tipico €a instrucéo de incrementar e pular se for zr0 (ISZ —fncrement-and-Skip- Zero}. Considere 0 seguinte pedaco de programa: 301 309 ISZ RI 310 BR 301 al — 2 eae 7 Se tea yom =

You might also like