System32 Function 08 (08h) - Request Selector
Description |
Will allocate a selector in the GDT(Global Descriptor Table). While the V2_OS is flexible enough to let applications add descriptors to the GDT themselves, and reload the GDT, it is recommended to use this Service. This way V2_OS can remove descriptors from an application that crashes or gets terminated for any other reason. |
Input |
AL |
8h |
---|---|
EDI |
Absolute base address of the memoryblock this descriptor should refer to. |
EBX |
Amount of bytes of the memoryblock this descriptor should refer to. |
DL |
0 for a DataDescriptor 1 for a CodeDescriptor |
DH |
0 for a 16Bit Descriptor 1 for a 32Bit Descriptor |
Output |
AX |
The allocated selector(AX?!) |
---|
Errorcodes |
None |
---|
Notes |
*Allocating a descriptor does NOT mean that the memory
range is being protected against allocation by other codemodules ! *The presence of the 'G' Bit in the descriptor is decided by System32 based on the value in EBX. *All Descriptors are (ofcourse) initialized with DPL(Descriptor Privilege Level) 0 |
Development Status |
Works, but needs fine-tuning... *Should give error when GDT is full(Don't expect it to happen to a 0xFFFFh Byte GDT though...) *That AX register in the 'Output field', was that correct ?! |