XLISP > XLISP 2.0  -  Contents  -  Reference  -  Previous | Next

poke


Type:   -   function (subr)
Source:   -   xlsys.c

Syntax

(poke address expr)
address - an integer expression
expr - an integer expression
returns - the value

Description

The 'poke' function writes the 'expr' at the internal memory value at the specified 'address'. The returned value is 'expr'. Be very careful with this function.

Examples

(setq var 0)                        ; set up VAR with 0
(address-of var)                    ; returns 123224
(address-of 'var)                   ; returns 161922
(peek (address-of var))             ; returns 83951616
(peek (1+ (address-of var)))        ; returns 16777216
(peek (+ 2 (address-of var)))       ; returns 0  <-- value of VAR
(setq var 14)                       ; change the value to 14
(peek (+ 2 (address-of var)))       ; returns 14
(poke (+ 2 (address-of var)) 1023)  ; POKE the value to 1023
(print var)                         ; prints  1023

Caution: Be careful when modifying the internal state of XLISP. If you have modified it, it would be a good idea to exit XLISP and re-enter before doing any work you really want to retain.

Caution: It is possible to peek and 'poke' not just XLISP's memory put other parts of your computer's memory. Be very careful when doing this. Also, in some computers, just looking at a memory location can cause things to happen, I/O locations fall in this category.

See the poke function in the XLISP 2.0 manual.

  Back to Top


XLISP > XLISP 2.0  -  Contents  -  Reference  -  Previous | Next