Exercício sobre portos.
Exercícios sobre o teclado.
Escreva um programa em C capaz de ler o estado de uma impressora ligada à porta paralela, cujo porto tem o endereço base 378H. Quais os valores lidos, quando não está nenhuma impressora (nem qualquer outro dispositivo) presente?
Sugestões: Utilize a instrução inportb ou inport.
Informação técnica adicional:
A estrutura do registo de estado, localizado no endereço base + 1, associada a uma porta paralela é a seguinte: (bits) 7 (BUSY) - 0 = Impressora está ocupada 6 (ACK ) - 0 = Impressora está pronta para receber o prximo caracter 5 (PE ) - 1 = Impressora sem papel 4 (SLCT )- 1 = Impressora está online 3 (Error)- 0 = Erro 2,1,0 - Não são usados
Escreva um programa em C para ver o estado do teclado. Depois deverá simular com as teclas 1,2,3 o activar/desactivar das teclas CapsLock, NumLock e ScrollLock, respectivamente.
Sugestões: Usar as instruções peekb e pokeb, e os operadores binários se necessário.
Escreva um programa em C para limpar o buffer do teclado, fazer uma pausa de 10 segundos em que se vão premindo teclas, e ler o buffer do teclado.
Sugestões: Fazer uso das variáveis da BIOS associadas ao teclado que estão nas zonas de memória 0040:001A, 0040:001C e 0040:001E a 0040:003D.