MEM( ) |
Return Memory Value |
1. Get Address of String: |
MEM(var$[,ERR=stmtref]) |
2. Read Memory, 2 Bytes: |
MEM(address[,ERR=stmtref]) |
3. Read Memory, 'n' Bytes: |
MEM(address,bytes[,ERR=stmtref]) |
4. Change Memory: |
MEM(address,val$[,ERR=stmtref]) |
var$ |
Name of string variable whose address you wish to obtain. |
address |
Number of bytes to return (numeric expression). |
val$ |
Value you wish to write (string expression). |
stmtref |
Program line number or statement label to which to transfer control should an error occur. |
Memory location and/or value.
The MEM( ) function provides direct access to memory locations through the use of pointers. The return value is dependent on the format used:
Format 1 |
Returns a numeric value with the address of your string variable. |
Format 2 |
Returns a numeric value that has the contents of a word (16 bits) of memory. The value returned is a binary value (integer in two's complement format). |
Format 3 |
Returns a string consisting of the data at the address specified for the specified number of bytes. If the number of bytes specified is 0 (zero), the function returns all data starting at the specified address up to the first NULL byte. This is handy when used to retrieve null terminated strings, which are a common format used with system calls. |
Format 4 |
Copies your character string value to the address given. The function returns the value of the string val$. |
Where possible (primarily Windows), the system performs address validation and returns an Error #41: Invalid integer encountered (range error or non-integer) for an invalid memory location. If address validation is not possible, use of an invalid address may cause the application to abort.