Afișarea bios

Luați în considerare acum ieșirea pe ecran, implementată de driverul BIOS, accesul la software care se face cu întreruperea Int 10h. Când lucrați în modul text, următoarele funcții ale driverului sunt de obicei utilizate:







02h - setați poziția cursorului;

03h - obțineți poziția cursorului;

06h - inițializați sau derulați în sus fereastra;

07h - inițializați sau derulați în jos fereastra;

08h - citiți caracterul și atributul la poziția cursorului;

09h - afișează caracterul și atributul la poziția cursorului;

0Ah - afișarea caracterului la poziția cursorului;

0Eh - afișarea simbolului în modul teletype;

10h, subfuncția 03h - comutați blițul / luminozitatea;

13h - afișați linia în modul teletype.

Funcția 03h vă permite să obțineți și să salvați poziția curentă a cursorului. Acest lucru face posibilă mutarea temporară într-un alt loc pe ecran, pentru a forma o imagine acolo și apoi a reveni la locul vechi.

Folosind funcțiile 06h și 07h, ferestrele colorate dreptunghiulare cu dimensiunea specificată sunt create în locul specificat pe ecran. Dacă se afișează vreun text în ferestrele create anterior, puteți derula textul în sus sau în jos utilizând aceleași funcții. În acest caz, textul care părăsește marginea ferestrei lipsește, iar din capătul opus apar linii goale cu atributele de culoare specificate. Pentru a umple liniile care apar cu text, utilizați funcțiile corespunzătoare DOS sau BIOS, iar programatorul controlează locația, lungimea și culoarea liniilor. Șoferul derulează numai zona dreptunghiulară specificată a ecranului (împreună cu textul din acesta).

Funcțiile 09h, 0Ah, 0Eh și 13h servesc pentru a afișa caractere separate și caractere de caractere (într-o buclă), funcțiile 09h și 0Ah nu filtrează caracterele de control, astfel încât să poată afișa toate caracterele paginii de cod. Se oferă ieșirea aceluiași simbol pentru numărul de ori dat, care poate fi utilizată pentru a crea cadre și alte ornamente. caracter de ieșire nu se mișcă cursorul, astfel încât de fiecare dată înainte de a utiliza funcțiile 09h și 0Ah trebuie să poziționeze cursorul folosind funcția 02h. funcții de timp-contrast 09h și 0Ah este primul element Wola aduce caracter la orice atribut, și este utilizat de-al doilea, este fostul atribut este poziția în care este afișat simbolul.







Funcția 0Eh filtreaza 07h codurile de control (bip), 08h (etapa de întoarcere), 10h (linie de alimentare) și 13H (carriage return), care efectuează acțiunea corespunzătoare. Cursorul se mișcă după ieșirea fiecărui caracter, ceea ce face posibilă trimiterea de linii întregi. Cu toate acestea, atributul simbol nu poate fi setat, simbolul de ieșire dobândește atributul anterior al poziției la care este emisă. Dacă trebuie să ieșiți un caracter cu un atribut nou, trebuie să ieșiți mai întâi caracterul spațial cu atributul necesar (funcția 09h) în poziția specificată și apoi să trimiteți simbolul cu ajutorul funcției 0Eh.

O proprietate importantă a funcției 0Eh este trecerea automată la următoarea linie după terminarea celei anterioare, precum și deplasarea ecranului într-o singură linie după completarea liniei inferioare.

Funcția 13h este destinată ieșirii liniilor cu atributele fiecărui caracter individual și întregul șir. Funcția poate fi efectuată în patru versiuni, în funcție de codul de mod specificat în registrul AL. În modurile 0 și 1, atributul caracter este specificat imediat pentru întreaga linie din registrul BL, iar în modul 0 cursorul nu se schimbă în timpul ieșirii, dar în modul 1 este deplasat cu lungimea liniei. În modurile 2 și 3, atributele de caractere sunt incluse în șirul de ieșire, care astfel alternează codurile de atribute și codurile de caractere, ceea ce complică formatul șirului, dar vă permite să setați atributele pentru fiecare caracter independent. Modul 2 Modul 3 diferă de faptul că, în primul caz, cursorul nu se mișcă, iar al doilea este mutat la lungimea liniei.

Funcția 13h nu imprimă toate caracterele, deoarece codurile 07h, 08h, 0Ah și 0Dh sunt tratate de acestea ca și coduri de control.

Când afișați instrumentele de comandă BIOS pe ecran, trebuie să fiți conștienți de intrarea de la tastatură / C nu încheie programul. Este necesar să vă fie frică de cicluri infinite ale unei ieșiri pe ecran - ieșirea din ele este posibilă numai prin supraîncărcarea calculatorului.

Subfuncția 03h a funcției 10h (întrerupe 10h), spre deosebire de funcțiile de mai sus ale ieșirii de caractere și șiruri, afectează imediat întregul ecran, afectând afișarea acelor caractere care au cel mai mare bit al atributului de fundal. Funk-TION face posibilă atribuirea această luminozitate de biți sau de fundal, oferind astfel posibilitatea de a afișa culorile de fundal 16, sau atribuiți-l la un atribut palpaire caracter. În acest din urmă caz, culoarea de fundal poate lua doar 8 valori.







Articole similare

Trimiteți-le prietenilor: