Informática Numaboa - Tutoriais e Programação
Cap. III - Registradores do Microprocessador
Sab 15 Dez 2007 13:46 |
- Detalhes
- Categoria: MASM + RadASM
- Atualização: Segunda, 01 Março 2010 22:07
- Autor: Alan Moreno
- Acessos: 13229
Exercícios com instruções
Abrimos o arquivo prog002a com a nossa IDE RadAsm, onde encontramos o seguinte:
Faça o download de prog002a.zip.
No arquivo .INC está declarada a variável Valor_1 do tipo DD.
Quando queremos declarar números em Hexadecimal, devemos escrever o caractere h no final do valor. Se não houver nenhum caractere no final, significa que é decimal.
Quando quisermos declarar números binários, devemos escrever o caractere b no final do valor inteiro. Nas operações lógicas, se quisermos comprovar os resultados, podemos verificar a tabela verdade correspondente a cada operação.
O programa acima é só um exemplo de como usar apropriadamente as instruções. Agora vamos dar sentido ao nosso programinha.
Temos 5 valores inteiros:
1 - 1Ah 2 - 500 3 - 1C2h 4 - 13h 5 - 200
Faremos um programa que faça a seguinte operação:
- 1Ah + 500 = X
- Do resultado X subtraímos 1C2h: X – 1C2h = Y
- Guardamos o resultado Y na Pilha ou numa variável e depois somaremos as quantidades que até agora não utilizamos, desta maneira:
- 13h + 200 = Z
- Recuperamos o resultado Y e dele subtraímos a quantidade do resultado Z. O resultado final deve ser armazenado no registrador EAX.
Solução Nº1 (prog002b)
No arquivo .inc declaramos a variável Y tipo DD.
O resultado final é EAX = 143.
Faça o download de prog002b.zip.
Solução Nº2 (prog002c)
Todos os valores estão declarados no arquivo .inc do nosso programa onde:
Há muitas soluções, não só estas duas. Se vocês desejarem aprender mais, devem desenvolver suas próprias soluções.