CM16 (Developers)
Also note that:
1978 - 8086 released
1981 - IBM PC XT shipped
1982 - 80286 shipped
1983 - MSDOS 2.0 released
this is a computer science question - how to deal with segmented addresses - and some university professor could have theoretically sat down circa 1982 and said "oh - we have multiple meanings of a segment/selector - better sort out an executable format and/or programming technique for portability/future-proofing your executables".
Microsoft didn't force the issue until:
1987 - Microsoft C 5.0 with huge memory model support released
at which point some rearguard action could have been done (which is what I am trying to do now - almost 40 years later).
Complete thread: