Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Identifikácia funkcie: Každá funkcia BIOS má jedinečné číslo (hexadecimálna hodnota). Toto číslo musíte poznať, aby ste zavolali správnu funkciu. Vektorová tabuľka prerušenia BIOS (zvyčajne na adrese 0x400 v reálnom režime) obsahuje adresy pre rôzne služby BIOS, ale zvyčajne priamo používate číslo prerušenia.
2. Príprava parametrov (argumenty): Mnoho funkcií BIOS vyžaduje vstupné parametre. Tieto parametre sa prenášajú prostredníctvom registrov (napríklad `ax`,` bx`, `cx`,` dx` atď.) Alebo v miestach pamäte. Použité presné registre a použité miesta pamäť závisia od konkrétnej funkcie. Aby ste pochopili, ktoré parametre sú potrebné a ako ich odovzdať, budete musieť poradiť s špecifikáciou alebo dokumentáciou BIOS.
3. Nastavenie prerušenia: Primárnym mechanizmom na vyvolanie funkcií BIOS je prerušenia softvéru (INT). Použité konkrétne číslo prerušenia je zvyčajne `0x10` (pre video služby),` 0x13` (pre diskové služby), `0x16` (pre služby sériových portov) atď. Každé prerušenie ukazuje na handler prerušenia BIOS. Číslo funkcie sa zvyčajne odovzdáva v registri „AH`.
4. Vykonanie inštrukcie prerušenia: Inštrukcia `int
5. Manipulácia s návratovými hodnotami: Po úspešnom vykonaní funkcia BIOS zvyčajne vracia výsledky do registrov alebo pamäťových miest uvedených v dokumentácii. Tieto miesta musíte preskúmať, aby ste dostali výstup z funkcie. Chybové podmienky sú často označené konkrétnymi návratovými kódmi alebo príznakmi.
Príklad (zostava x86 - Nastavenie režimu videa):
Povedzme, že chceme nastaviť režim videa na textový režim 80x25 (režim 3). Toto je bežná funkcia videozáznamu.
`` `Zostava
; Nastavte režim videa na textový režim 80x25 (režim 3)
Mov Ah, 0x00; Číslo funkcie pre nastavenie režimu videa
Mov al, 0x03; Video režim 3 (text 80x25)
int 0x10; Zavolajte na prerušenie videa BIOS
`` `
Dôležité úvahy:
* Real Mode vs. chránený režim: Volania BIOS vo všeobecnosti fungujú v reálnom režime (16-bitové adresovanie). V chránenom režime (používané modernými operačnými systémami) sa prístup k BIOS priamo vykonáva prostredníctvom rozhrania chráneného režimu poskytovaného operačným systémom alebo prostredníctvom špeciálneho rozhrania hovorov BIOS. Priamy prístup z chráneného režimu sa často odrádza v dôsledku obáv bezpečnosti a stability.
* variácie bios: Implementácie spoločnosti BIOS sa u rôznych výrobcov mierne líšia. Čísla funkcií a konvencie odovzdávania parametrov môžu mať menšie rozdiely. Vždy sa pozrite na dokumentáciu systému BIOS vášho systému.
* Legacy Technology: Priame hovory BIOS sa v modernom programovaní stávajú čoraz zriedkavejšie, pretože operačné systémy v súčasnosti spravujú hardvérové zdroje efektívnejšie. Pochopenie toho, ako môže byť volania spoločnosti BIOS, stále môže byť relevantné pre programovanie na nízkej úrovni, reverzné inžinierstvo alebo prácu s veľmi starými systémami.
Stručne povedané, odvolanie funkcie ROM BIOS vyžaduje poznanie čísla funkcie, prípravu potrebných parametrov, vykonávanie príslušnej inštrukcie prerušenia a správne interpretáciu výsledkov. Podrobnosti sú vysoko špecifické pre príslušnú funkciu. Poradenie špecifikácie systému BIOS pre váš systém je nevyhnutné.