Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Int 15h Function 87h
 Summary                                   Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     Conventional memory lies at addresses below the 640K boundary, and
     is used for the execution of MS-DOS and its application programs.
     Extended memory lies at addresses above 1 megabytes and can be
     accessed only by an 80286 or 80386 CPU running in protected mode. As
     many as 15 megabytes of extended memory can be installed in a
     PC/AT or compatible.
 
     The Global Descriptor Table (GDT) used by this function must be
     set up as follows:
 
     Bytes       Contents
 
     00h-0Fh     Reserved (should be 0)
     10h-11h     Segment length in bytes (2 * CX - 1 or greater)
     12h-14h     24-bit source address
     15h         Access rights byte (always 93h)
     16h-17h     Reserved (should be 0)
     18h-19h     Segment length in bytes (2 * CX - 1 or greater)
     1Ah-1Ch     24-bit destination address
     1Dh         Access rights byte (always 93h)
     1Eh-2Fh     Reserved (should be 0)
 
     The table is composed of six 8-byte descriptors to be used by the
     CPU in protected mode. The four descriptors in offsets 00h-0Fh and
     20h-2Fh are filled in by the ROM BIOS before the CPU mode switch.
 
     The addresses used in the descriptor table are linear (physical)
     24-bit addresses in the range 000000h-FFFFFFh──not segments and
     offsets──with the least significant byte at the lowest address
     and the most significant byte at the highest address.
 
     The block move is performed with interrupts disabled; thus, use of
     this function may interfere with the operation of communications
     programs, network drivers, or other software that relies on prompt
     servicing of hardware interrupts.
 
     This function is not supported on the PS/2 Models 25 and 30.
                                    -♦-