Oficina
3. Curso relâmpago de Assembly
Sex 25 Mai 2007 20:08 |
- Detalhes
- Categoria: Sistemas Operacionais
- Atualização: Domingo, 12 Abril 2009 12:27
- Autor: vovó Vicki
- Acessos: 51061
Um pequeno programa
Este é um programa extremamente simples:
Este programa nada mais faz do que... terminar. Está na hora de usar o helpPC para esclarecer este assunto:
- Inicie o helpPC - uma tela chamada "Main Topic Menu" será mostrada.
- Destaque o item de menu "Interrupt Services DOS-BIOS-EMS-Mouse" e tecle Enter.
- Destaque o item "DOS Functions" e tecle Enter.
- Escolha INT 21,4C
O helpPC nos informa que a INT 21,4C corresponde a Terminate Process With Return Code, ou seja, Termine o Processo com Código de Retorno. Também informa que AH precisa conter o valor 4C e que AL precisa conter o código de retorno (do arquivo de lote). Além disto, a instrução não tem valor de retorno.
Portanto, para usar esta instrução, basta preparar AH e AL com os parâmetros exigidos e chamar a interrupção. Com isto terminamos o programa... e com o método aprovado! Se quiser testar este programa, salve o código fonte como teste1.asm, compile-o com o NASM com nasm -o teste1.com teste1.asm para obter teste1.com
Escrevendo um caracter na tela
Do mesmo modo indicado no exemplo anterior, procure no helpPC por uma função que dê saída para a tela. Em "DOS Functions", a primeira encontrada é a INT 21,2 que revela: precisamos de AH=02 e DL com o caracter que deve ser mostrado. Daí, são dois palitos:
Para compilar e testar o programa, proceda como indicado no exemplo anterior.
Variáveis
As variáveis no Assembly são um pouco diferentes quando comparadas com as de outras linguagens de programação. No Assembly podemos inserir dados diretamente no programa com DB, DW e DD (onde B=byte=8bits, W=word=16 bits e D=duplo word=32 bits). Além disto, podemos atribuir marcadores para os dados para identificá-los por nomes - estão aí as nossas variáveis!
Veja alguns exemplos de como manipular os valores das variáveis acima definidas:
Para obter o endereço de variáveis, basta omitir os colchetes: