- ID
- 1707079
- Banca
- FGV
- Órgão
- FIOCRUZ
- Ano
- 2010
- Provas
- Disciplina
- Engenharia Eletrônica
- Assuntos
Um programador de microcontroladores, pensando em uma maneira de realizar somas de dois números de 48 bits, escreveu um código assembly, utilizando registradores de 16 bits. A sua idéia foi fragmentar os números em 3 partes de 16 bits e armazená-los, um deles nos registradores ax (mais significativo), bx e cx (menos significativo) e o outro nos registradores dx (mais significativo), si e di (menos significativo).
Neste código, os resultados das somas parciais são guardados nos endereços var1, var2 e var3, para a realização das etapas posteriores necessárias à impressão do resultado final. Desta forma, considerando os fragmentos já armazenados nos seus respectivos registradores, o código desenvolvido pelo programador foi o seguinte:
add cx,di
mov [var1],cx
add bx, si
mov [var2],bx
add ax, dx
mov [var3], ax
A fim de testar o seu código, o programador irá realizar a soma 280A42h + 12335Ah, esperando encontrar o resultado correto.
Sobre o resultado a ser encontrado, o resultado esperado (entre parênteses), a correção do programa e a eficácia do teste, pode-se dizer que: