INT 10H

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 2. november 2019; checks kræver 2 redigeringer .

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.

Liste over videotjenestefunktioner

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
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

Se også

Links