cj7hawk
Veteran Member
Hi @durgadas311 ,
To be a bit less vague, what value would I expect to find in SP when the CCP loads a program and jumps to 0100, and what does the BDOS do about the stack during calls ( which you anticipated and answered - Seems the BDOS needs to relocate the stack on being called ) - so I probably have some additional code to implement for stack management.
In a truly single-user single-task system, stack management isn't an issue. Once you start switching tasks, it becomes a bigger challenge. But it's always reasonable to provide an architectural design around it as a part of a system architecture, and even CP/M has an architecture around stack management, whether intentional or by default.
How it handles the stack is it's stack management architecture. I'm just not familiar with that architecture.
@Chuck(G) , I don't think it really mattered too much in the 64K days... It was only when there was enough memory and concepts started to change rapidly that things like protected mode became practical, and the early implementations were a bit of a mess. It wasn't until the 386 that it was practical for most applications, and by then the future path was a lot clearer as the initial wave of the PC revolution had passed and it was just evolution from then on.
Stacks are challenging at the best of times, but when well mananged don't inhibit much. It's still better to have a prescribed stack architecture than a default one IMO.
To be a bit less vague, what value would I expect to find in SP when the CCP loads a program and jumps to 0100, and what does the BDOS do about the stack during calls ( which you anticipated and answered - Seems the BDOS needs to relocate the stack on being called ) - so I probably have some additional code to implement for stack management.
In a truly single-user single-task system, stack management isn't an issue. Once you start switching tasks, it becomes a bigger challenge. But it's always reasonable to provide an architectural design around it as a part of a system architecture, and even CP/M has an architecture around stack management, whether intentional or by default.
How it handles the stack is it's stack management architecture. I'm just not familiar with that architecture.
@Chuck(G) , I don't think it really mattered too much in the 64K days... It was only when there was enough memory and concepts started to change rapidly that things like protected mode became practical, and the early implementations were a bit of a mess. It wasn't until the 386 that it was practical for most applications, and by then the future path was a lot clearer as the initial wave of the PC revolution had passed and it was just evolution from then on.
Stacks are challenging at the best of times, but when well mananged don't inhibit much. It's still better to have a prescribed stack architecture than a default one IMO.