SóProvas


ID
149893
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Programação
Assuntos

A respeito de compiladores, ligadores, linguagem de máquina
(assembly) e conceitos associados, julgue próximos itens.

Como resultado das operações em assembly a seguir, o registrador AX tem o valor Fh armazenado, isto é, AX = Fh.

MOV AX, 10 h
MOV BX, 1 h
SUB AX, BX

Alternativas
Comentários
  • MOV AX, 10h --> 10 em hexadecimal equivale a 0001.0000, sendo que esse valor é movido para o registrador AX
    MOV BX, 1h --> 1 em hexadecimal equivale a 000.0001 em binário, sendo que esse valor é movido para o registrador BX
    SUB AX, BX --> subtrair o conteúdo do registrador BX do conteúdo do registrador AX

    0001 0000
    0000 0001
    ---------------
    0000 1111

    Com isso o resultado do registrador AX passa a ser 0000 1111, ou seja Fh

  • Vou adicionar um comentario aqui pra ver se facilita pra outras pessoas que podem, assim como eu, ter dúvida pra resolver essa conta:

    Primeiro não estava entendendo a conversão de Hexa pra Binario que o amigo acima havia explicado entao fui pelo jeito mais doloroso :(

    10h = 1 x 16^1 + 0 x 16^0 = 16

    1h = 1 x 16^0 = 1

    ou seja MOV AX, 10h é o mesmo que coloque o valor 16 no registrador AX

    e MOV BX, 1h é o mesmo que que coloque o valor 16 no registrador BX

    SUB AX, BX é o calculo de AX (16) - BX (1) = 15 e armazena o resultado em AX.

    Isso resulta em 15 em decimal ou F em hexadecimal (Fh).

    Abraços e espero que ajude.

    Mc
  • valeu pessoal.... Obrigada!!! :)

  • MOV AX, 10 h = move o valor 10 (hexadecimal) para AX

    MOV BX, 1 h = move o valor 1 (Hexadecimal) para BX

    Para facilitar a subtração (SUB) a seguir, passe os valores acima para decimal. Assim, teremos AX = 10H = 16 (decimal) e BX = 1H = 1 (decimal)

    SUB AX, BX = faz a subtração de AX - BX e armazena o resultado em AX, ou seja, AX = AX - BX = 10H (16D) - 1H (1D) = FH (15D)