Hacker News new | past | comments | ask | show | jobs | submit login

That's not "segmented memory".

Segmented memory was a 16-bit processor trying to access a 32-bit space (good grief, I forgot the details).

You'd have "segment registers", such as "ds" or "es". Reading/writing to memory was by default to the "ds" segment (a 64kB region). If you wanted to read/write to a different segment, you needed to make sure that es, or fs, or one of the other segment registers were available.

If you look at old Win32 code, you might see "far pointer" and "near pointers". "far pointers" were 32-bit pointers that would load the appropriate segment register, while "near pointers" were 16-bit pointers that only made sense within certain contexts.

It was a nightmare. "Flat Mode" eventually became the norm when processors had enough space to just store full sized 32-bit pointers (and later, 64-bit pointers). "Flat mode" made everything easier and now we can forget that those dark ages ever existed...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: