Nieuwe interupt handler instaleren in dos.

Moderators: jkien, Xilvo

Reageer
Berichten: 2.589

Nieuwe interupt handler instaleren in dos.

Graag had ik in dos een nieuwe interupthandler geïnstalleerd, juist voor de duur van de uitvoer van mijn programma. Nu heb ik volgende interupt gevonden:

INT 21h / AH=35h - get interrupt vector;

entry: AL = interrupt number;

return: ES:BX -> current interrupt handler.

Wat bedoelt men met return ES:BX wat staat er in ES en wat in BX? waarom die dubbel punt daar tussen? Groeten.

Gebruikersavatar
Berichten: 2.364

Re: Nieuwe interupt handler instaleren in dos.

Nou, met return ES:BX wordt bedoeld dat de waarde die de interrupt teruggeeft staat in ES:BX. Hierbij is ES het segment waarin de handler staat en BX de offset vanaf het begin van het segment. Met die dubbele punt wordt aangegeven dat je een index gebruikt.

Er staat eigenlijk zoiets als ES * 4 + BX als compleet adres *. Voor adressering gebruik je vrijwel altijd een vorm van segment:offset. Voorbeelden zijn ES:DI (standaard voor output) en DS:SI (standaard voor input).

* Dit kan ik fout hebben, aangezien in 16-bit real mode adressering anders werkt dan in 32 bit protected mode.
“Quotation is a serviceable substitute for wit.” - Oscar Wilde

Reageer