mirror of
https://github.com/reactos/reactos.git
synced 2024-10-21 00:18:26 +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;
|
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 */
|
/* Get system date */
|
||||||
case 0x2A:
|
case 0x2A:
|
||||||
{
|
{
|
||||||
|
@ -710,6 +721,18 @@ VOID DosInt21h(WORD CodeSegment)
|
||||||
break;
|
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 */
|
/* Create Directory */
|
||||||
case 0x39:
|
case 0x39:
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue