CALL ABSOLUTE Statement Details Syntax CALL ABSOLUTE([argumentlist,]integervariable) Argument Description argumentlist Optional arguments passed to a machine-language procedure. integervariable An integer variable containing a value that is the offset from the beginning of the current code segment, set by DEF SEG, to the starting location of the procedure. The integervariable argument is not passed to the procedure. Your program may need to execute a DEF SEG statement before executing CALL ABSOLUTE to set the code segment for the called routine. Using a noninteger value for integervariable produces unpredictable results. Arguments in argumentlist are passed to the machine-language program as offsets (near pointers) from the current data segment. Although arguments are passed as offsets, the machine-language program is invoked with a far call. Note: The CALL ABSOLUTE statement is provided to maintain compatibility with earlier versions of BASIC. Mixed-language programming using the CALL statement extensions and the new DECLARE statement provide a simpler way to use assembly language with BASIC. Also, in order to use CALL ABSOLUTE you must start QuickBASIC with the correct Quick library, link your program with QB.LIB, or use the QB.QLB Quick library. See the disk-contents list for the locations of these files. Differences from BASICA Assembly-language programs that are invoked from BASICA and that have string arguments must be changed because string descriptors are now four bytes long. The four bytes are the low byte and high byte of the string length followed by the low byte and high byte of the string address.