What is a far pointer? Where we use it?
Long Answer
Views 1706
Answer:
In large data model (compact, large, huge) the address B0008000 is acceptable because in
these model all pointers to data are 32bits long. If we use small data model(tiny, small, medium) the
above address would not work since in these model each pointer is 16bits long. If we are working in
a small data model and want to access the address B0008000 then we use far pointer. Far pointer
is always treated as a 32bit pointer and contains a segment address and offset address both of
16bits each. Thus the address is represented using segment : offset format B000h:8000h. For any
given memory address there are many possible far address segment : offset pair. The segment
register contains the address where the segment begins and offset register contains the offset of
data/code from where segment begins.
Related Articles:
This section is dedicated exclusively to Questions & Answers. For an in-depth exploration of C Programming Language, click the links and dive deeper into this subject.
Join Our telegram group to ask Questions
Click below button to join our groups.