3 ms·
1. Compact Model Limits: The stack and globals don’t strictly need to fit in 64 KB; far pointers allow larger heaps, but inefficiency made this model unpopular.
by tiahura 2y ago
1. Compact Model Limits: The stack and globals don’t strictly need to fit in 64 KB; far pointers allow larger heaps, but inefficiency made this model unpopular.
2. Malloc Variants: While farmalloc and farfree existed, developers often used direct DOS memory allocation for better control.
3. Stack Constraints: Stack and recursion limits were due to 64 KB segments, not specific to compact or small models.
4. Far Pointers: Using __far for dynamic data was common across models; compact/large automated this but were inefficient.
5. Heap/Recursion Use: The heap and recursion were constrained, not “hardly usable,” due to far pointer overhead and stack size.