Skip to content

Fpcspecs

FPC specialities

The %ds and %es selector MUST always contain the same value or some system routines may crash when called. The %fs selector is preloaded with the DOSMEMSELECTOR variable at startup, and it MUST be restored after use, because again FPC relies on this for some functions. Luckily we asm programmers can still use the %gs selector for our own purposes, but for how long ?

See also

Name Description
allocate_ldt_descriptors Allocate a number of descriptors
create_code_segment_alias_descriptor Create new descriptor from existing descriptor
free_ldt_descriptor Free a descriptor
get_cs Get CS selector
get_ds Get DS Selector
get_next_selector_increment_value Return selector increment value
get_segment_base_address Return base address from descriptor table
get_ss Return SS selector
segment_to_descriptor Map segment address to descriptor
set_segment_base_address Set descriptor's base address
set_segment_limit Set descriptor limit