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
=