05-28-2003, 03:27 AM
The segments at either end of the linear address space will have 16bytes of available space independant of all other segments. However all of the segments in the middle share /all/ of their space with their neighbouring segments, which really gives them an effective length of zero, because you cannot guarantee that anything you write into one segment cannot be overwritten by an offset into another segment. So, practically it is best to consider that all segments are 64k and to not use neighbouring segments to avoid them overwritting each other.
Why Intel didnt combine the 16bit segment/offset pair into a single 32bit memory address, which would have given the 4GB worth of independant 64k segments is strange. They probably figured that 4GB was a ludicrous amount of memory in those days, and rememeber Bill Gates himself said "No one will every need more than 640k memory". ;-)
Why Intel didnt combine the 16bit segment/offset pair into a single 32bit memory address, which would have given the 4GB worth of independant 64k segments is strange. They probably figured that 4GB was a ludicrous amount of memory in those days, and rememeber Bill Gates himself said "No one will every need more than 640k memory". ;-)
esus saves.... Passes to Moses, shoots, he scores!