I want to make a program that finds every memory address' owner, by finding it's MCB, then the program's PSP, and then the program's name.
Is it possible?
If it is, how can I find in which MCB the address is?
Thanks
By the way, the program's name is in the MCB, you won't reliably find it in the PSP because the area where the program's name is stored is cannibalized by DOS when doing some file I/O. It's in the last 8 bytes of the MCB if my memory serves me right. This enhancement was introduced in DOS 3.3 I think.
Supposing you know the address of a certain memory block, its MCB is in the previous paragraph. To determine the next MCB, just add the size word in the MCB to the address of the current MCB, +1 paragraph.
I don't know how to locate the first MCB in the chain, however. Try disassembling mem.exe. "Information has a tendency to be free. Which means someone will always tell you something you don't want to know."
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.