Remix.run Logo
o11c 3 days ago

It's worth noting that all the memory models have DS=SS, which makes sense for C (where you often take the address of a local variable - though nothing is stopping you from having a separate "data stack" for those) but is a silly restriction for some other languages.

I'm sure someone took advantage of this, but my knowledge is purely theoretical.

AshamedCaptain 3 days ago | parent | next [-]

It's not necessarily true. Many drivers, TSRs and libraries (e.g. all Win16 DLLs) cannot assume that ds=ss. This makes C programming a bit more entertaining...

garaetjjte 2 days ago | parent | next [-]

Related: http://www.os2museum.com/wp/tracking-down-a-bug/

o11c 2 days ago | parent | prev [-]

Well, if so that's out of the standard models (at least, the ones that assume fixed DS).

2 days ago | parent | prev | next [-]
[deleted]
xxs 3 days ago | parent | prev [-]

I never had SS=DS in Assembly. Used it for TSR for example.