Alters the expanded memory mapping context and performs a far call to the specified address. When the destination routine executes a far return, the EMM again alters the page-mapping context as instructed and then returns control to the original caller.
Call with:
AH = 56H
AL = subfunction
0 = map using physical page numbers
1 = map using physical page segments
DX = EMM handle
DS:SI = segment:offset of buffer (see Notes)
Returns:
If function successful
AH = 00H
If function unsuccessful
AH = error code
Notes:
The format of the buffer containing map and call information is:
Offset Length Description 00H 4 far pointer to call target 04H 1 number of pages to map before call 05H 4 far pointer to list of pages to map before call (see below) 09H 1 number of pages to map before return 0AH 4 far pointer to list of pages to map before return (see below) 0EH 8 reserved (0)
Both map lists have the same format and consist of a series of double-word entries, one per page. The first word of each entry contains the logical page number, and the second word contains the physical page number or segment (depending on the value in register AL) to which it should be mapped.
A request to map zero pages and call is not an error; the effect is a simple far call.
This function uses extra stack space to save information about the mapping context; the amount of stack space required can be determined by calling Int 67H Function 56H Subfunction 02H.