Differences between current version and revision by previous author of PositionIndependentCode.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 2 | Last edited on Sunday, August 10, 2003 12:39:58 pm | by CraigBox | |
Older page: | version 1 | Last edited on Tuesday, November 5, 2002 4:27:58 pm | by JohnMcPherson | Revert |
@@ -1 +1 @@
-Code that can run from any position in memory. All jumps and calls are relative to the current ProgramCounter
. Data is referenced either via an offset from a register or via the PC as well (for constant data and SelfModifyingCode
). Commonly used with processors such as the [Motorola6809]
and the [680x0] (though the [Motorola68000]
lacked a 32-bit relative jump, so code was limited to 32KB (or 64KB with some ordering, unless you make use of JumpIslands
). The [x86] uses [SegmentedMemory]
instead, so the programs are always loaded at a fixed offset.
+Code that can run from any position in memory. All jumps and calls are relative to the current Program Counter
. Data is referenced either via an offset from a register or via the PC as well (for constant data and self modifying code
). Commonly used with processors such as the Motorola 6809
and the [680x0] (though the Motorola 68000
lacked a 32-bit relative jump, so code was limited to 32KB (or 64KB with some ordering, unless you make use of Jump Islands
). The [x86] uses segmented memory
instead, so the programs are always loaded at a fixed offset.