Writes a value directly into memory on 32-bit and 64-bit platforms.

Category: Special


CALL POKELONG(source,pointer<,length><,floating-point> )

Required Arguments


specifies a character constant, variable, or expression that contains a value to write into memory.


specifies a character string that contains the virtual address of the data that the CALL POKELONG routine alters.

Optional Arguments


specifies a numeric SAS expression that contains the number of bytes to write from the source to the address that is indicated by the pointer. If you omit length, the CALL POKELONG routine copies the entire value of source to the specified memory location.


specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.

Tip If you do not use the floating-point argument, then source is stored as an integer value.


The CALL POKELONG routine is intended only for experienced programmers in specific cases.
If you plan to use this routine, use extreme care both in your programming and in your typing. Writing directly into memory can cause devastating problems. It bypasses the normal safeguards that prevent you from destroying a vital element in your SAS session or in another piece of software that is active at the time.
If you do not have access to the memory location that you specify, the CALL POKELONG routine returns an "Invalid argument" error.
If you use the fourth argument, then a floating-point number is assumed to be the value that is stored. If you do not use the fourth argument, then an integer value is assumed to be stored.

See Also

CALL Routines: