INT 31H 0500H: Query Free Memory Information

                                                    Compatibility: DPMI 0.9+ 
 Expects: AX    0500H
          ES:DI (or ES:EDI) sel:off of 48-byte buffer to receive info
 Returns: CF    NC (this fn always succeeds)
          ES:DI buffer contains returned info
    Info: This obtains information about available physical memory, page
          swapping space, etc.

          DPMI 1.0 users should use INT 31H 050bH instead.

 ES:(E)DI must point to a 48-byte buffer.  On return, it contains:

            Offset Size Contents
            ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
             +0      4  lAvailBytes  largest free block, in bytes
             +4      4  lUnlockedPgs pages available if left unlocked
             +8      4  lLockedPgs   pages available if locked
            +0cH     4  lTotLinPgs   linear address space size, in pages
            +10H     4  lTotUnlkPgs  number of unlocked pages
            +14H     4  lTotFreePgs  number of free pages
            +18H     4  lTotPhysPgs  number of physical pages
            +1cH     4  lFreeLinPgs  free linear address space, in pages
            +20H     4  lTotSwapPgs  size of page swapping file, in pages
            +24H    12  res          (reserved)
                    48               size of this structure

   Notes: ■ In multi-tasking environments, these values may change at any
            time, so they should be considered as "advisory."

          ■ Use INT 31H 0604H to learn the size of the virtual-memory pages
            used by the host.

          ■ Only the first field is guaranteed to contain meaningful data.
            Other fields may contain -1 (ffffffffH) if the host doesn't
            know the true values.

See Also: DPMI API
          INT 2fH: Multiplex Interrupt
          DOS Functions