Asembler x86/Przerwania/16h

Z Wikibooks, biblioteki wolnych podręczników.

Funkcje przerwania 16h[edytuj]

Przerwanie 16h jest przerwaniem klawiatury i udostępnia specjalne funkcje dla tego elementu zestawu komputerowego. Poniżej znajduje się lista funkcji wraz z krótkim opisem.

Funkcja Nazwa Opis
01 Sprawdzenie bufora klawiatury Funkcja ta sprawdza bufor klawiatury. Jeśli znajduje się w nim jakiś klawisz to jego kod klawiatury jest zwracany w AH, zaś kod ASCII w rejestrze AL. Jednocześnie flaga ZF jest ustawiana na 0 - w przeciwnym przypadku ZF jest ustawiony na 1. Sprawdzany klawisz nie jest usuwany z bufora.
03 Ustawienie prędkości powtórzenia klawisza Funkcja ta służy do ustawienia prędkości, z jaką powtarzany jest kod wciśniętego klawisza. Wejście: AL=5, BH= opóźnienie powtórzenia, BL= prędkość powtórzenia. Dostępne są pewne wartości opóźnienia, mianowicie: 0 (250 ms), 1(500 ms), 2 (750 ms) oraz 3 (1000 ms). Prędkość powtarzania klawiszy mieści się w zakresie od 0 (najszybsza) do 1F (najwolniejsza).
05 Umieszczenie klawisza w buforze Funkcja ta powoduje umieszczenie znaku klawisza i odpowiadającego mu kodu w buforze klawiatury. Wejście: CH=kod klawisza, CL=kod znaku. Jeżeli bufor klawiatury jest już zapełniony, to ustawiony zostaje znacznik CF (CF=1) zaś w rejestrze AL będzie wartość 1.