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.

- -

INT 67H 58xxH: Get Mappable Physical Address Array