aula 07 instrução relacional

Upload: joao-henrique-flores-franca

Post on 16-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Aula 07 Instruo Relacional

    1/5

    ARQUITETURA E ORGANIZAO DE COMPUTADORES

    INSTRUO RELACIONALIgor Luiz Oliveira de Souza

  • 7/23/2019 Aula 07 Instruo Relacional

    2/5

    ARQUITETURAMIPSLinguagem de Montagem (Assembly) Instruo Relacional

    Ostestesde igualdade oudesigualdade so provavelmente os maispopulares, mass

    vezesqueremostestar se uma varivel menor do que outra; Em MIPS, temosuma instruo que compara os valores de dois registradores, e atribui1 a um terceiro registrador se o primeiro registrador menor que o segundo, e 0 casocontrrio:

    Se $s3 < $s4, $t0 recebe 1, caso contrrio, recebe 0.

  • 7/23/2019 Aula 07 Instruo Relacional

    3/5

    ARQUITETURAMIPSLinguagem de Montagem (Assembly) Instruo Relacional

    O Compiladores MIPS utilizam as instrues slt, beq, bne, e o valor fixo zero para

    criar todas as relaes de comparao: igual, diferente, menor que e maior que;

    O registrador $zero (registrador 0) tem seu valor fixado em zero.

  • 7/23/2019 Aula 07 Instruo Relacional

    4/5

    ARQUITETURAMIPSLinguagem de Montagem (Assembly) Instruo Relacional

    Qual o cdigo para testar se a varivel a, mapeada no registrador $s0, menor que a

    varivel b (registrador $s1), e desviar para o rtulo Menor se a condio for satisfeita? Primeiro usamos a instruo slt e um registrador temporrio:

    stl $t0, $s0, $s1 # $t0 = (a

  • 7/23/2019 Aula 07 Instruo Relacional

    5/5

    ARQUITETURAMIPSLinguagem de Montagem (Assembly) Instruo Relacional

    slt $t0, $s0, $s1 # $t0!=0, ou seja, se (i= j

    add $s0, $s1,$s2 # f = g + h

    j Exit # v para o fimElse: sub $s0, $s1, $s2 # f = g-h

    Exit: