我想使用 DPMI 将内存分配给特定的虚拟地址并像这样清除它:
mov edi, 0x400000 ; Base address.
mov ecx, 0x2000 ; Number of bytes to allocate.
???
cld
mov al, 0
rep stosb ; Clear the allocated memory.
我该怎么做,即我应该写什么给???部分?
看起来这不是 DPMI 中的 API。
仅供参考,带有 Win32s 的 Windows 3.11 也无法将 PE .exe 文件加载到任意基地址。(它要求 PE .exe 文件具有重定位。)如果有用于内存分配的 DPMI API 任意虚拟地址,那么带有 Win32s 的 Windows 3.11 可能会在 Windows 3.11 386 增强模式下使用类似的 API 来加载 PE .exe 文件到任意基地址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句