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
Escrevendo uma string na tela
Procure novamente no helpPC uma função do DOS que imprima texto na tela. Se você encontrou a INT 21,9 - parabéns! O serviço 9 da interrupção 21 pede que DS:DX apontem para uma string terminada em $. Por enquanto ignore a novidade do DS:DX, a única coisa importante no momento é saber que DX precisa conter o endereço da string:
Entrada de teclado
Ponha novamente o helpPC em ação e procure pela interrupção do DOS INT 21,A. A explicação parece um pouco complicada, mas não se preocupe. DS:DX deve conter um ponteiro para um buffer. Este buffer contém 3 áreas: max - o número máximo de caracteres que devem ser lidos, count - o número de caracteres retornados e buffer - a área de entrada. O código comentado vai facilitar as coisas:
Como atribuímos 20 zeros à área data do buffer e indicamos 20 na área max, o buffer poderá conter no máximo 20 caracteres, ou seja, após 20 "tecladas" nenhuma mais é aceita. Para encerrar o programa, basta digitar Enter.
Saltos
Saltos, os famosos jump, desviam a linha de execução. Geralmente são condicionais, do tipo "se alguma coisa, então salte para...", mas existe também uma instrução de salto incondicional. Os mais comuns são:
Como a maioria dos saltos são condicionais, é claro que precisamos de uma instrução que faça comparações. É a CMP, mnemônico de CoMParar (ou CoMPare). Observe no código abaixo como criar um loop com uma instrução de salto. Este programa imprime NumaBoa cinco vezes e termina: