First post, by WilliamLeara
Using .74. Anyone else have this problem?
- run debug.exe
- a 100
- int 20
- g
--> hang
I was expecting "Program terminated normally"
Why won't INT 20 work?
Using .74. Anyone else have this problem?
- run debug.exe
- a 100
- int 20
- g
--> hang
I was expecting "Program terminated normally"
Why won't INT 20 work?
Works fine in a regular application.
INT 20 works if it's part of a program *loaded* into DEBUG.EXE, I think because the stack and/or termination address is then arranged correctly. When no program is loaded, DEBUG.EXE uses the CPM-style call address offset to figure its initial SP (should be FFEEh not 00FDh), and DOSBox doesn't currently handle the CPM address as DOS does. However, the initial SP is just an example of an environmental difference compared to real DOS; haven't determined that it is responsible for the hang.
Int 20 expects CS=PSP segment
but that's not the case for the debug console if nothing is loaded.
Running with nothing loaded causes memory corruption (no MCB at PSP-1) and the int 22 resume handler isn't set, either.