LINK Help (linker.hlp) (Table of Contents; Topic list)
MOVE Limits and Requirements
                                             Up Contents Index Back
─────LINK───────────────────────────────────────────────────────────────────
 
     The following requirements and restrictions must be observed when
     you create an overlaid program with MOVE:
 
     Compatibility
 
     MOVE overlaid programs require DOS version 3.0 or later.
 
     Expanded memory must conform to the Lotus/Intel/Microsoft (LIM)
     EMS (Expanded Memory Specification) version 4.0 or later. Extended
     memory must conform to the XMS (Extended Memory Specification)
     provided in a memory manager such as HIMEM.SYS.
 
     The Microsoft CodeView debugger version 4.0 is compatible with
     overlaid programs created with MOVE.
 
     Space Restrictions
 
     An overlaid program takes up more space on disk than the same
     program created without overlays.
 
     The required amount of conventional memory is the sum of:
 
        ■ The size of the root. To determine this size, run EXEHDR on
          the program and read the value in the Memory needed: field.
          See: EXEHDR
 
        ■ The size of the overlay heap. The minimum heap allocated by
          MOVE is equal to the size of the largest overlay.
 
     The Overlaid Program
 
     Only programs with multiple code segments can be overlaid. Far
     call and return instructions are required between overlays.
 
     Up to 2047 overlays can be specified. The program can define up to
     16,383 logical segments (segments with different names).
 
     The entry point to the program must be in the root. Do not place
     MOVE.LIB into an overlay.
 
     Only code segments are overlaid. Data segments become part of the
     root. Code from the run-time libraries is placed in the root.
 
     An Individual Overlay
 
     An overlay size is limited to 64K. The optimal size is around 4K.
     An overlay can contain one or more segments.
 
     Programming Considerations
 
     You cannot jump between overlays using setjmp and longjmp. You can
     use long jumps from an overlay to the root. It is possible but not
     recommended to use long jumps within an overlay.
 
     You cannot use the same public name in different overlays.
 
     The interrupt number used by MOVE is 63 (3F hexadecimal). You can
     use LINK's /OV option to change the interrupt number.
     See: /OV Option
                                    -♦-