Oficina
8. O loader Numaboa
Sab 26 Mai 2007 16:20 |
- Detalhes
- Categoria: Sistemas Operacionais
- Atualização: Domingo, 12 Abril 2009 17:38
- Autor: vovó Vicki
- Acessos: 13439
Identificando o sistema operacional Numaboa
Escrever apenas uma letra é um negócio marreta. No mínimo, precisamos limpar a tela e identificar nosso sistema operacional. Para isto, bastam alguns ajustes.
Limpando a tela
Como já sabemos que a INT 10 possui os serviços de vídeo, precisamos apenas identificar a rotina para limpar a tela: pode ser a 06 (Scroll window up) que rola a tela para cima ou a 07 (Scroll window down) que rola a tela para baixo. Fica a seu critério qual das duas usar pois o efeito será o mesmo:
AH = 06 - ROLAGEM PARA CIMA AL = número de linhas de rolagem. As linhas anteriores serão limpas. Se 0 ou maior que o tamanho da tela, a tela toda será limpa. BH = atributo usado para limpar a(s) linha(s). CH = linha do canto superior esquerdo da janela de rolagem. CL = coluna do canto superior esquerdo da janela de rolagem. DH = linha do canto inferior direito da janela de rolagem. DL = coluna do canto inferior direito da janela de rolagem. - não tem valor de retorno AH = 07 - ROLAGEM PARA BAIXO - usa os mesmos registradores com os mesmos valores.
Eu optei pelo serviço 07 da INT 10.
Para dar as coordenadas do canto superior esquerdo da tela também poderíamos usar mov cx, 0x0000 (observe o hexadecimal 0x0000 com quatro zeros! os quatro zeros são necessários para que os 16 bits sejam preenchidos). Se indicarmos um número de linha e coluna maior que a tela para o canto inferior direito, temos a certeza de que toda a tela será limpa.
Posicionando o cursor
Limpar a tela não significa que o cursor seja deslocado na posição 0,0 - o início da tela. É preciso usar mais um serviço da INT 10 que seta a posição do cursor: INT 10 serviço 02.