Compatibility: EMS 4.0+
Expects: AH    57H
AL    subfn: 00H=Move memory
01H=Exchange memory
DS:SI address of an EmsMoveInfoRec (see below)
                                                                  
Returns: AH    EMM status (0=successful; 92H is just a warning)
                                                                  
Info: Use this to transfer blocks of memory into, out of, or within EMS
memory or conventional memory.  Segment overflow and overlapping
moves are allowed; blocks as large as 1M are allowed.

DS:SI points to a structure that describes the data to be
moved/exchanged.  If is formatted as:

EmsMoveInfoRec
Offset Size Contents
                                                               
+0      4  lRgnLength    DWORD size, in bytes to move/xchg
+4      1  bSrcType      src type: 00H=conventional; 01H=EMS
+5      2  wSrcHandle    EMM Handle (or 0 if src in conv mem)
+7      2  wSrcAddr      src segment or page
+9      2  wSrcOffset    src offset within page or segment
+0bH     1  bDestType     dest type: 00H=conventional; 01H=EMS
+0cH     2  wDestHandle   EMM Handle (or 0 if dest in conv mem)
+0eH     2  wDestAddr     dest segment or page
+10H     2  wDestOffset   dest offset in page or segment
18                size of this structure

Notes: a return code of 92H is not an error; just a warning.

- -

INT 67H 57xxH: Move/Exchange Memory