INT 10H

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 2 noiembrie 2019; verificările necesită 2 modificări .

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.

Lista caracteristicilor serviciului video

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ă

Vezi și

Link -uri