Ich glaube, du hast nicht ganz verstanden, was emuliert wird. Wenn du den kompletten Interrupt emulieren würdest, dann würdest du ja direkt einen Treiber schreiben - also kein Bedarf für VM86.
Was du wirklich machen willst, ist BIOS-Code auszuführen, weil das BIOS für dich einen Treiber bereithält. Das BIOS ist Real-Mode-Code, also brauchst du VM86, um es auszuführen. Gleichzeitig willst du ja nicht komplett die Kontrolle über den Rechner verlieren, deswegen darf der VM86 grundsätzlich erstmal nicht mehr als ein ganz normaler Usermode-Task im Protected Mode. Das heißt, du bekommst jedesmal einen GPF, wenn das BIOS eine privilegierte Instruktion ausführt, z.B. auf einen IO-Port zugreift. Diese Instruktion wird dann emuliert, anschließend geht es zurück in den BIOS-Code.