Compatibility: EMS 4.0+
Expects: AH    50H
AL    subfn: 00H=Use page numbers
DS:SI=list of LogicalPgNos/PhysicalPgNos
01H=Use physical segment addresses
DS:SI=list of LogicalPgNos/Segments
CX    count of pages to map
DX    EMM Handle (as obtained via INT 67H 4300H)
                                                                  
Returns: AH    EMM status (0=successful)
                                                                  
Info: This lets you map two or more pages of EMS into the EMS frame
(you may use INT 67H 44xxH to map individual pages).

AL=00H This version identifies the pages to map by using physical page
numbers (for instance, 00H means the first 16K of the frame, 01H
means the second, etc.)

AL=01H This version identifies the pages to map by using segment
addresses (for instance, d000H means the first 16K of the frame,
d400H means the second, etc. -- assuming the EMS frame starts at
d000:0)

DS:SI points to a list that identifies which logical pages you want
mapped into the frame.  It is formatted as:

EmsMapInfoRec
Offset Size Contents
                                                               
+0      2  wLogPgNo   0000H-n (pages in the handle)
+2      2  wFrameLoc1 identifies where to put the EMS page:
subfn 00H: a frame page (usually 0-3)
subfn 01H: a segment address
+4      2  wFrameLoc2 identifies where to put another EMS page
.
:
etc.

Notes:   As with INT 67H 44xxH, you can unmap a page (making it
inaccessible until remapped) by specifying a wLogPgNo of ffffH.

To remap the page, use a valid wLogPgNo (e.g., a value in the
range of the size of the handle).

  When using subfn 5001H, the segment identified by wFrameLoc
must be a valid segment value that matches the start of a 16K
region within the EMS frame.

- -

INT 67H 50xxH: Map/Unmap Multiple Pages