New answers tagged

4 votes

How did 16-bit MS-DOS programs use a large (> 64KB) stack?

The CONFIG.SYS file of DOS had a setting to enable multiple stacks, but these were used to handle hardware interrupts. The Huge memory model might in theory have been used to support a stack of more ...
Davislor's user avatar
  • 8,667
4 votes

How did 16-bit MS-DOS programs use a large (> 64KB) stack?

The large-code memory models (medium, large, and huge) did not need a stack size more than 64k, they just needed the ability to push/pop a cs:ip pair rather than just an ip. That can be done without ...
paxdiablo's user avatar
  • 4,752
31 votes
Accepted

How did 16-bit MS-DOS programs use a large (> 64KB) stack?

They simply did not use a large stack. If you look at the standard memory models for the x86, there was a single stack segment in all of them (which was even shared with other segments in the smaller ...
dirkt's user avatar
  • 27k
9 votes

How did 16-bit MS-DOS programs use a large (> 64KB) stack?

The "large" memory model of x86 allowed a program to have multiple code segments and multiple data segment, using far calls to jump across code segments, and far pointers to access data from ...
Raffzahn's user avatar
  • 219k
13 votes

How did 16-bit MS-DOS programs use a large (> 64KB) stack?

DOS programs typically have limited stack requirements, and tend to declare small stacks. DOS itself uses its own stacks in many cases, and programs’ stacks don’t need to leave much room for DOS use. ...
Stephen Kitt's user avatar

Top 50 recent answers are included