INT 67H 50xxH: Map/Unmap Multiple Pages

                                                     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.

See Also: INT 67H: EMM Services
          Extended Memory Specification (XMS)
          Interrupts and BIOS Services
                                    -♦-