[net.micro] 8086 segmentation limits

x8086 (04/15/83)

Recently there has been quite a bit of mail on the drastic limitations of
64k data areas (segments) on the 8086.  For one the 8086 has 32bit pointer
instructions built into it's instruction set.  Look more closely next time.
Also, a string compare using 32bit pointers isn't slower than one without.
Not to say that these are problems that are easily solved, but the code put
inline is really not that bad.  For languages other than 'C' the pointer
problems don't even exist.  Remember the 8086 is designed on a PASCAL like
architecture.  As for > 64k stacks, this takes a little overhead on procedure
entry, but not more than ~30us.  Considering that this is a micro and that
proceedure entry and exit is not a very high percentage operation in most
programs this is a small trade off for a 1megabyte stack. On the 186 and 286
this is taken care of automatically and the compiler just needs to remember
not to put the extra code in and substitute the correct 186/286 instructions
on entry and exit.  FOR THOSE THAT DON'T BELIEVE FLAME ON!

                                          Tim Tucker
                                          nmtvax!x8086
                                          8086 software development