Far pointer

Far pointer

In a segmented architecture computer, a far pointer is a pointer which includes a segment selector, making it possible to point to addresses outside of the current segment.

For example, in an Intel 8086, where an ordinary pointer is just a 16-bit offset within an implied segment, a far pointer has two parts: a 16-bit segment value and a 16-bit offset value. A linear address is obtained by shifting the binary segment value four times to the left, and then adding the offset value. Hence the effective address is 20 bits (actually 21-bit, which led to the address wraparound and the Gate A20). Comparison and arithmetic on far pointers are problematic: there are potentially 4096 different segment-offset address pairs that point to the same address. To compare two far pointers, they must first be converted (normalized) to their 20-bit linear representation.

On C compilers targeting the 8086 processor family, far pointers were declared using a non-standard far qualifier. For example, char far *p; defined a far pointer to a char. The difficulty of normalizing far pointers could be avoided with the non-standard huge qualifier.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Far — may refer to:* Far East, or South and Southeast Asia ** Far Eastern Republic ** Far Eastern Federal District * FAR Manager, a Win32 Norton Commander clone * FAR Rabat, a Moroccan football club * Far infrared astronomy * Far pointer, in computer… …   Wikipedia

  • Pointer (dog breed) — Infobox Dogbreed akcgroup = Sporting akcstd = http://www.akc.org/breeds/pointer/index.cfm altname = English Pointer ankcgroup = Group 3 (Gundogs) ankcstd = http://www.ankc.aust.com/pointer.html ckcgroup = Group 1 Sporting Dogs ckcstd = http://www …   Wikipedia

  • Far point — Point Point, n. [F. point, and probably also pointe, L. punctum, puncta, fr. pungere, punctum, to prick. See {Pungent}, and cf. {Puncto}, {Puncture}.] 1. That which pricks or pierces; the sharp end of anything, esp. the sharp end of a piercing… …   The Collaborative International Dictionary of English

  • pointer — Point Point, n. [F. point, and probably also pointe, L. punctum, puncta, fr. pungere, punctum, to prick. See {Pungent}, and cf. {Puncto}, {Puncture}.] 1. That which pricks or pierces; the sharp end of anything, esp. the sharp end of a piercing… …   The Collaborative International Dictionary of English

  • Intel 8086 — Produced From 1978 to 1990s Common manufacturer(s) Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG …   Wikipedia

  • Jeu d'instruction x86 — Article détaillé : Jeu d instructions. Le jeu d instructions du x86 a subi de nombreux changements au cours du temps. La plupart d entre eux ne sont que des ajouts au jeu d instruction initial afin d apporter de nouvelles fonctionnalités.… …   Wikipédia en Français

  • Jeu D'instruction X86 — Article détaillé : Jeu d instructions. Le jeu d instructions du x86 a subi de nombreux changements au cours du temps. La plupart d entre eux ne sont que des ajouts au jeu d instruction initial afin d apporter de nouvelles fonctionnalités.… …   Wikipédia en Français

  • Shift Right — Jeu d instruction x86 Article détaillé : Jeu d instructions. Le jeu d instructions du x86 a subi de nombreux changements au cours du temps. La plupart d entre eux ne sont que des ajouts au jeu d instruction initial afin d apporter de… …   Wikipédia en Français

  • Relocation table — The relocation table is a list of pointers created by the linker and linked into the MSDOS .exe file. The relocation table tells the loader where these segments can be found in program image loaded into memory.ExplanationFar pointers (32 bit… …   Wikipedia

  • LFS — Live For Speed (Internet » Chat) Linux From Scratch (Computing » Software) * Local Fish Store (Business » Firms) * Local Fish Shop (Business » Firms) * Lead Foot Syndrome (Governmental » Military) * Load Far Pointer in FS (Computing » Assembly) * …   Abbreviations dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”