include v86mmgr.inc mov esi, LinAddr mov ecx, NumBytes VxDcall V86MMGR_Map_Pages jc error_handler mov [MapHandle], esi mov [MapBuffer], edi
Maps the specified buffer into every virtual machine at the same address using page mapping. If the contents of memory are changed in one virtual machine, that change will be reflected in the original buffer as well in all other virtual machines. Uses EDI, ESI, Flags.
If the carry flag is clear, the memory is mapped. The ESI register contains the map handle (used to free the map region), and the EDI register contains the linear address of map buffer (always less than 1 megabyte).
LinAddr
Linear address of the buffer map. Can be zero, in which case the service reserves the map region without mapping any memory.
NumBytes
Number of bytes to map.
If the address specified in ESI is zero, no memory is mapped, but a global linear address range is allocated. It is then up to the caller to map appropriate pages into virtual machines. Use the linear address returned in EDI for the base page to map memory into.