Program code that can be loaded anywhere in memory. Typically the code is divided into control sections and all memory addresses are expressed relative to the start of a control section. The compiler/assembler produces a table of all such memory references, and the loader converts them into absolute addresses as part of the loading process. See also position-independent code.