Az INT 10h , INT 10H vagy INT 16 egy assembly nyelvi utasítás egy x86 processzorhoz , amely egy BIOS szoftveres 10 hex megszakítást hoz létre , amely a 17. megszakítási vektor az x86 architektúrában . A BIOS általában egy valós módú megszakításkezelőt társít ehhez a vektorhoz, hogy videoszolgáltatást biztosítson. Tartalmazza a videoadapter videomódjának , karakter- és sorkimenetének, grafikus primitívek beállítását ( a pixelek olvasása és írása grafikus módban).
Az INT 10h hívása meglehetősen lassú, így sok program közvetlenül, BIOS nélkül éri el a videoadaptert. A videó mód beállítása, amely általában egyszer történik, a BIOS segítségével végezhető el. A renderelésnek azonban gyorsnak kell lennie, ezért jobb a közvetlen hozzáférés a videomemóriához , mint a BIOS-megszakítások hívása minden képponthoz.
Funkció | Funkciókód | Lehetőségek | Visszatérési érték |
---|---|---|---|
A videó mód beállítása | AH=00h | AL = üzemmód száma | AL = video mód jelző / vezérlő CRT mód bájtja |
Szöveges mód kurzor alakjának beállítása | AH=01h | CH = kezdővonal, CL = végvonal
Általában egy ismerősnek 8 sora van, 0-7. Ekkor a CX=0607h egy normál aláhúzott kurzor, a CX=0007h pedig minden ismerős. Ha az 5. CH bit be van állítva, akkor ez általában "kurzor elrejtését" jelenti. Ezért a CX=2607h egy láthatatlan kurzor. Egyes videokártyák karakterenként 16 sorral rendelkeznek, 00h-0Fh. Egyes grafikus kártyák nem használják az 5. CH bitet. Ebben az esetben az elrejtéshez állítsa be a CH > CL beállítást (például CX=0706h) |
|
Állítsa be a kurzor pozícióját | AH=02h | BH=oldal, DH=sor, DL=oszlop | |
Szerezze meg a kurzor pozícióját és alakját | AH=03h | BH = oldal | AX = 0, CH = kurzor alakzat kezdő sor, CL = kurzor alakzat vége sor, DH = sor, DL = oszlop |
Világos tollpozíció elérése ( VGA rendszereken nem működik ) | AH=04h | AH = Állapot (0=inaktív, 1=aktív), BX = X pixel, CH = Y pixel, CX = pixelsorszám a 0Fh-10h módokhoz, DH = Y karakter, DL = X karakter | |
Állítsa be az aktív oldalt | AH=05h | AL = oldalszám | |
Görgess fel | AH=06h | AL = a görgetendő sorok száma (0 = tiszta, CH, CL, DH, DL használt), BH = színattribútum.
CH = felső sor száma, CL = bal oldali oszlop száma, DH = alsó sor száma, DL = jobb oldali oszlop száma |
|
Görgessen le | AH=07h | lásd fent | |
Karakterek és attribútumok olvasása a kurzor pozíciójában | AH=08h | BH = oldal | AH = szín, AL = szimbólum |
Írja be a karaktereket és az attribútumokat a kurzor pozíciójába | AH=09h | AL = karakter, BH = oldal, BL = szín, CX = hányszor kell egy karaktert írni | |
Írjon karaktert a kurzor pozíciójába | AH=0Ah | AL = karakter, BH = oldal, CX = hányszor kell egy karaktert írni | |
Állítsa be a háttér/szegély színét | AH=0Bh, BH=00h | BL = Háttér/szegély színe (keret csak szöveges módban) | |
Paletta beállítása | AH=0Bh, BH=01h | BL = palettaazonosító (érthető a CGA - adapterekben, de az újabb grafikus kártyák sok vagy minden grafikus módban támogatják) | |
Pixel beállítása | AH=0 Ch | AL=szín, BH=oldal, CX=x, DX=y | |
Pixel szín olvasása | AH=0Dh | BH=oldal, CX=x, DX=y | AL = szín |
Konzol karakter kimenet | AH=0Eh | AL = karakter, BH = oldal, BL = szín (csak grafikus módban) | |
Az aktuális videó mód lekérése | AH=0Fh | AL = video mód, AH = karakteroszlopok száma, BH = aktuális oldal | |
Kimeneti karakterlánc (EGA és magasabb) | AH=13h | AL = kimeneti mód , BH = oldal, BL = szín, CX = sorhossz, DH = sor (a képernyőn), DL = oszlop, ES:BP = cím |