
Instruções de Desvio Condicional (If e Else)
Lara Teixeira Oliveira

Você vai aprender
Utilizar instruções de desvio condicional
Pré-requisitos
Conhecimento de Lógica de Programação
Conhecimento de programação básica em Assembly
Introdução e exemplo
O objetivo deste tutorial é aprender a utilizar Instruções de Desvio Condicional (If e Else).
Um processador é capaz de tomar decisões baseado nos dados de entrada e nos valores computados durante a execução das instruções.
A instrução abaixo é usada para tomar uma decisão de acordo com o conteúdo de dois registradores.
Esta instrução manda o processador ir para o endereço especificado se o conteúdo de reg1 for igual ao de reg2.
pRIMEIRA INSTRUÇÃO de desvio condicional
No fragmento de código em C abaixo, f, g, h, i e j são variáveis.
Assumindo que as cinco variáveis (f, g, h, i , j) correspondem aos cinco registradores $0, $1, $2, $3, $4, o código
em assembly equivalente ao fragmento em C acima seria assim:
A instrução BEQ, quando executada, forçará um desvio para o comando com o Label L1, se o valor no registrador $3 for IGUAL ao valor do registrador $4.
BEQ refere-se DESVIE SE IGUAL - BRANCH IF EQUAL
SEGUNDA INSTRUÇÃO de desvio condicional
No fragmento de código em C abaixo, f, g, h, i e j são variáveis.
Assumindo que as cinco variáveis (f, g, h, i , j) correspondem aos cinco registradores $0, $1, $2, $3, $4, o código
em assembly equivalente ao fragmento em C acima seria assim:
A instrução BNE, quando executada, forçará um desvio para o comando ELSE, se o valor no
registrador $3 for DIFERENTE ao valor do registrador $4.
BNE refere-se DESVIE SE NÃO IGUAL - BRANCH IF NOT EQUAL
Comentários