0 votes
in C Plus Plus by
What is a far pointer in C Language? Where we use it in C Language?

1 Answer

0 votes
by
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 won‘t 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 questions

0 votes
asked Mar 17, 2020 in C Plus Plus by SakshiSharma
0 votes
asked Mar 10, 2020 in C Plus Plus by rahuljain1
...