1 van 1

Nieuwe interupt handler instaleren in dos.

Geplaatst: zo 30 nov 2008, 13:23
door Bert F
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.

Re: Nieuwe interupt handler instaleren in dos.

Geplaatst: za 20 dec 2008, 00:20
door Revelation
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.