mirror of
https://github.com/reactos/reactos.git
synced 2024-07-11 15:15:27 +00:00
[NTVDM]
Implement the "Get Interrupt Vector" and "Set Interrupt Vector" DOS API functions. svn path=/branches/ntvdm/; revision=59340
This commit is contained in:
parent
2ea7dab9a6
commit
53fbdf6bc9
|
@ -635,6 +635,17 @@ VOID DosInt21h(WORD CodeSegment)
|
|||
break;
|
||||
}
|
||||
|
||||
/* Set Interrupt Vector */
|
||||
case 0x25:
|
||||
{
|
||||
DWORD FarPointer = MAKELONG(LOWORD(Edx), DataSegment);
|
||||
|
||||
/* Write the new far pointer to the IDT */
|
||||
((PDWORD)BaseAddress)[LOBYTE(Eax)] = FarPointer;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get system date */
|
||||
case 0x2A:
|
||||
{
|
||||
|
@ -710,6 +721,18 @@ VOID DosInt21h(WORD CodeSegment)
|
|||
break;
|
||||
}
|
||||
|
||||
/* Get Interrupt Vector */
|
||||
case 0x35:
|
||||
{
|
||||
DWORD FarPointer = ((PDWORD)BaseAddress)[LOBYTE(Eax)];
|
||||
|
||||
/* Read the address from the IDT into ES:BX */
|
||||
EmulatorSetRegister(EMULATOR_REG_ES, HIWORD(FarPointer));
|
||||
EmulatorSetRegister(EMULATOR_REG_BX, LOWORD(FarPointer));
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
/* Create Directory */
|
||||
case 0x39:
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue