INT 67H 58xxH: Get Mappable Physical Address Array

                                                     Compatibility: EMS 4.0+ 
 Expects: AH    58H
          AL    subfn: 00H=Get segment-to-page map array
                           ES:DI = buffer to receive data
                       01H=Get count of segment-to-page array entries
          ──────────────────────────────────────────────────────────────────
 Returns: AH    EMM status (0=successful)
          ES:DI (fn 5800H) buffer contains data (see below)
          CX    (fn 5801H) count of entries (buffer size is CX * 4)
          ──────────────────────────────────────────────────────────────────
    Info: This obtains a cross-reference between all EMS page numbers and
          the segments at which they are physically located.

    ES:DI (fn 5800H) on entry, this buffer must be (n * 4) bytes long.
          Obtain n by using fn 5801H.

          On return, this buffer contains n 4-byte entries formatted as:

          EmsSegToPgMapRec
           Offset Size Contents
           ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
            +0      2  wSeg      segment address (conv mem or EMS frame)
            +2      2  wPgNo     EMS page number
                    4            size of one EmsSegToPgMapRec

            +4      2  wSeg2
            +6      2  wPgNo2
             .
             :
            etc.

   Notes: All of the wSeg values are mappable memory segments.  On 386-
          based emulators, the lowest of these segments may be in
          conventional memory, there may be some gaps, and four pages will
          exist in the EMS frame.

          On 8088 CPUs with physical LIM-EMS hardware, this usually returns
          just four entries--mapping the EMS frame.

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