This function allows a protected mode program to modify the access rights and type fields of a descriptor.
To Call
AX = 0009h
BX = Selector
CL = Access rights/type byte
CH = ia32 (32-bit) extended access rights/type byte
(32-bit DPMI implementations only)
Returns
If function was successful:
Carry flag is clear.
If function was not successful:
Carry flag is set.
Programmer's Notes
+-------------------------------+
| P | DPL | 1 |C/D|E/C|W/R| A |
+-------+-----------------------+
| | | | | | +- 0=>Not Accessed
| | | | | | 1=>Accessed
| | | | | |
| | | | | +-- Data: 0=>Read,
| | | | | 1=>R/W
| | | | | Code: Must be 1 (readable)
| | | | |
| | | | +-- Data: 0=>Exp-up,
| | | | 1=>Exp-dn
| | | | Code: Must be 0 (non-conform)
| | | |
| | | +-- 0=>Data, 1=>Code
| | |
| | +-- Must be 1
| |
| +-- Must equal caller's CPL
|
+- 0=>Absent, 1=>Present
+-------------------------------+
| G |B/D| 0 |Avl| Reserved |
+-----------------------+-------+
| | | | +-- Ignored
| | | |
| | | +-- Can be 0 or 1
| | |
| | +-- Must be 0
| |
| +-- 0=>Default 16-bit, 1=>Default 32-bit
|
+- 0=>Byte Granular, 1=>Page Granular
A parameter which does not meet the above
requirements is invalid, and causes the function
to return with the carry flag set.