INT 10h , INT 10H sau INT 16 este o instrucțiune în limbaj de asamblare pentru un procesor x86 care generează o întrerupere software BIOS 10 hex , al 17-lea vector de întrerupere din arhitectura x86 . BIOS-ul asociază de obicei un handler de întrerupere în mod real cu acest vector pentru a oferi un serviciu video. Include setarea modului video al adaptorului video, ieșirea caracterelor și liniilor, primitivele grafice (citirea și scrierea pixelilor în modul grafic).
Apelarea INT 10h este destul de lentă, așa că multe programe accesează adaptorul video direct, fără BIOS. Setarea modului video, care se face de obicei o singură dată, se poate face folosind BIOS-ul. Cu toate acestea, redarea trebuie să fie rapidă, așa că accesul direct la memoria video este mai bine pentru aceasta decât apelarea întreruperilor BIOS pentru fiecare pixel.
Funcţie | Codul funcției | Opțiuni | Valoare returnată |
---|---|---|---|
Setarea modului video | AH=00h | AL = numărul modului | AL = pavilionul modului video / octetul modului controler CRT |
Setați forma cursorului în modul text | AH=01h | CH = linia de început, CL = linia de final
De obicei, o familiaritate are 8 linii, 0-7. Atunci CX=0607h este un cursor de subliniere normal, CX=0007h este familiaritate. Dacă al 5-lea bit CH este setat, atunci înseamnă de obicei „Ascunde cursorul”. Prin urmare, CX=2607h este un cursor invizibil. Unele plăci video au 16 linii pe caracter, 00h-0Fh. Unele plăci grafice nu folosesc al 5-lea bit CH. În acest caz, pentru a ascunde, setați CH > CL (de exemplu, CX=0706h) |
|
Setați poziția cursorului | AH=02h | BH=pagină, DH=rând, DL=coloană | |
Obțineți poziția și forma cursorului | AH=03h | BH = pagina | AX = 0, CH = rândul de început al formei cursorului, CL = rândul de sfârșit al formei cursorului, DH = rândul, DL = coloană |
Obțineți poziția stiloului luminos (nu funcționează pe sistemele VGA ) | AH=04h | AH = Stare (0=inactiv, 1=activ), BX = X pixel, CH = Y pixel, CX = Pixel numărul rândului pentru modurile 0Fh-10h, DH = Y caracter, DL = X caracter | |
Setați pagina activă | AH=05h | AL = numărul paginii | |
Derulați în sus | AH=06h | AL = numărul de linii de defilat (0 = clar, CH, CL, DH, DL utilizat), BH = atribut de culoare.
CH = numărul rândului de sus, CL = numărul coloanei din stânga, DH = numărul rândului de jos, DL = numărul coloanei din dreapta |
|
Deruleaza in jos | AH=07h | Vezi deasupra | |
Citiți caracterul și atributele la poziția cursorului | AH=08h | BH = pagina | AH = culoare, AL = simbol |
Scrieți caracterul și atributele la poziția cursorului | AH=09h | AL = caracter, BH = pagină, BL = culoare, CX = de câte ori se scrie un caracter | |
Scrieți caracterul în poziția cursorului | AH=0Ah | AL = caracter, BH = pagină, CX = de câte ori se scrie un caracter | |
Setați culoarea de fundal/chenar | AH=0Bh, BH=00h | BL = Culoare de fundal/chenar (chenar numai în modurile text) | |
Setați paleta | AH=0Bh, BH=01h | BL = Paleta ID (are sens în adaptoarele CGA , dar plăcile grafice mai noi acceptă acest lucru în multe sau în toate modurile grafice) | |
Setați Pixel | AH=0Ch | AL=culoare, BH=pagina, CX=x, DX=y | |
Citiți culoarea pixelilor | AH=0Dh | BH=pagina, CX=x, DX=y | AL = culoare |
Ieșirea caracterelor din consolă | AH=0Eh | AL = caracter, BH = pagină, BL = culoare (numai în modul grafic) | |
Obțineți modul video actual | AH=0Fh | AL = modul video, AH = numărul de coloane de caractere, BH = pagina curentă | |
Șir de ieșire (EGA și mai sus) | AH=13h | AL = mod de ieșire , BH = pagină, BL = culoare, CX = lungimea liniei, DH = linie (pe ecran), DL = coloană, ES:BP = adresă |