INT 10h , INT 10H eller INT 16 er en assemblersprogsinstruktion til en x86-processor , der genererer et BIOS -softwareinterrupt 10 hex , den 17. interrupt-vektor i x86 -arkitekturen . BIOS'en associerer typisk en afbrydelseshåndtering i virkelig tilstand med denne vektor for at levere en videotjeneste. Det inkluderer indstilling af videoadapterens videotilstand, tegn- og linjeoutput, grafikprimitiver (læse og skrive pixels i grafiktilstand).
At kalde INT 10h er ret langsomt, så mange programmer får direkte adgang til videoadapteren uden BIOS. Indstilling af videotilstand, som normalt udføres én gang, kan gøres ved hjælp af BIOS. Gengivelsen skal dog være hurtig, så direkte adgang til videohukommelse er bedre til dette end at kalde BIOS-afbrydelser for hver pixel.
Fungere | Funktionskode | Muligheder | Returværdi |
---|---|---|---|
Indstilling af videotilstand | AH=00h | AL = tilstandsnummer | AL = video mode flag / controller CRT mode byte |
Indstil markørform for teksttilstand | AH=01h | CH = startlinje, CL = slutlinje
Normalt har en familiaritet 8 linjer, 0-7. Så er CX=0607h en normal understregningsmarkør, CX=0007h er helt fortrolig. Hvis den 5. CH bit er indstillet, betyder det normalt "Skjul markør". Derfor er CX=2607h en usynlig markør. Nogle videokort har 16 linjer pr. tegn, 00h-0Fh. Nogle grafikkort bruger ikke den 5. CH bit. I dette tilfælde, for at skjule, skal du indstille CH > CL (f.eks. CX=0706h) |
|
Indstil markørens position | AH=02h | BH=side, DH=række, DL=kolonne | |
Få markørens position og form | AH=03h | BH = side | AX = 0, CH = Cursor Shape Start Row, CL = Cursor Shape End Row, DH = Row, DL = Column |
Få let penposition (virker ikke på VGA - systemer) | AH=04h | AH = Status (0=inaktiv, 1=aktiv), BX = X-pixel, CH = Y-pixel, CX = Pixelrækkenummer for tilstande 0Fh-10h, DH = Y-tegn, DL = X-tegn | |
Indstil aktiv side | AH=05h | AL = sidetal | |
Rulle op | AH=06h | AL = antal linjer, der skal rulles (0 = clear, CH, CL, DH, DL brugt), BH = farveattribut.
CH = øverste rækkenummer, CL = venstre kolonnenummer, DH = nederste rækkenummer, DL = højre kolonnenummer |
|
Rul ned | AH=07h | se ovenfor | |
Læs karakter og attributter ved markørens position | AH=08h | BH = side | AH = farve, AL = symbol |
Skriv tegn og attributter ved markørens position | AH=09h | AL = tegn, BH = side, BL = farve, CX = hvor mange gange der skal skrives et tegn | |
Skriv tegn ved markørens position | AH=0Ah | AL = tegn, BH = side, CX = hvor mange gange der skal skrives et tegn | |
Indstil baggrund/kantfarve | AH=0Bh, BH=00h | BL = Baggrunds-/kantfarve (kun i teksttilstande) | |
Indstil palette | AH=0Bh, BH=01h | BL = Palette ID (giver mening i CGA -adaptere, men nyere grafikkort understøtter dette i mange eller alle grafiktilstande) | |
Indstil Pixel | AH=0Ch | AL=farve, BH=side, CX=x, DX=y | |
Læs pixelfarve | AH=0Dh | BH=side, CX=x, DX=y | AL = farve |
Konsol karakter output | AH=0Eh | AL = tegn, BH = side, BL = farve (kun grafisk tilstand) | |
Hent den aktuelle videotilstand | AH=0Fh | AL = videotilstand, AH = antal tegnkolonner, BH = aktuel side | |
Outputstreng (EGA og højere) | AH=13 timer | AL = outputtilstand , BH = side, BL = farve, CX = linjelængde, DH = linje (på skærmen), DL = kolonne, ES:BP = adresse |