Addressing limitations imposed by pointers with 16-bit offsets. Translation of parameters, especially pointer parameters.
Some solutions involve inserting interface procedures between the procedures in question.
An interface procedure can enable transfers from USE16 segments to 32-bit addresses beyond 64K without requiring modifications any more extensive than relinking or rebinding the old programs. The requirements for such an interface procedure are discussed later in this chapter. Programmers can utilize any of the preceding methods to make a CALL in a USE16 segment match the corresponding RET in a USE32 segment, or to make a CALL in a USE32 segment match the corresponding RET in a USE16 segment. When the selector of the pointer referenced by a CALL instruction selects a gate descriptor, the type of call is determined by the type of call gate. The count field of the gate descriptor specifies the size of the parameter string to copy from the current stack to the stack of the more privileged procedure.