OpenBoot 3.x Command Reference Manual

Memory Access Commands

Table I-16 Memory Access Commands

Command  

Stack Diagram 

Description 

!

( x a-addr -- ) 

Store a number at a-addr.

+!

( nu a-addr -- ) 

Add nu to the number stored at a-addr.

@

( a-addr -- x ) 

Fetch a number from a-addr.

2!

( x1 x2 a-addr -- ) 

Store 2 numbers at a-addr, x2 at lower address.

2@

( a-addr -- x1 x2 )  

Fetch 2 numbers from a-addr, x2 from lower address.

blank

( addr len -- ) 

Set len bytes of memory beginning at addr to the space character (decimal 32).

c!

( byte addr -- ) 

Store byte at addr.

c@

( addr -- byte ) 

Fetch a byte from addr.

cpeek

( addr -- false | byte true ) 

Attempt to fetch the byte at addr. Return the data and true if the access was successful. Return false if a read access error occurred.

cpoke

( byte addr -- okay? ) 

Attempt to store the byte to addr. Return true if the access was successful. Return false if a write access error occurred.

comp

( addr1 addr2 len -- diff? ) 

Compare two byte arrays. diff? is 0 if the arrays are identical, diff? is -1 if the first byte that is different is lesser in the string at addr1, diff? is 1 otherwise.

dump

( addr len -- ) 

Display len bytes of memory starting at addr.

erase

( addr len -- ) 

Set len bytes of memory beginning at addr to 0.

fill

( addr len byte -- ) 

Set len bytes of memory beginning at addr to the value byte.

l!

( quad qaddr -- ) 

Store a quadlet q at qaddr.

l@

( qaddr -- quad ) 

Fetch a quadlet q from qaddr.

lbflips

( qaddr len -- ) 

Reverse the bytes within each quadlet in the specified region. 

lwflips

( qaddr len -- ) 

Swap the doublets within each quadlet in specified region. 

lpeek

( qaddr -- false | quad true ) 

Attempt to fetch the 32-bit quantity at qaddr. Return the data and true if the access was successful. Return false if a read access error occurred.

lpoke

( quad qaddr -- okay? ) 

Attempt to store the 32-bit quantity at qaddr. Return true if the access was successful. Return false if a a write access error occurred.

move

( src-addr dest-addr len -- ) 

Copy len bytes from src-addr to dest-addr.

off

( a-addr -- ) 

Store false at a-addr.

on

( a-addr -- ) 

Store true at a-addr.

unaligned-l!

( quad addr -- ) 

Store a quadlet q, any alignment

unaligned-l@

( addr -- quad ) 

Fetch a quadlet q, any alignment.

unaligned-w!

( w addr -- ) 

Store a doublet w, any alignment.

unaligned-w@

( addr -- w ) 

Fetch a doublet w, any alignment.

w!

( w waddr -- ) 

Store a doublet w at waddr.

w@

( waddr -- w) 

Fetch a doublet w from waddr.

<w@

( waddr -- n ) 

Fetch doublet w from waddr, sign-extended.

wbflips

( waddr len -- ) 

Swap the bytes within each doublet in the specified region. 

wpeek

( waddr -- false | w true ) 

Attempt to fetch the 16-bit quantity at waddr. Return the data and true if the access was successful. Return false if a read access error occurred.

wpoke

( w waddr -- okay? ) 

Attempt to store the 16-bit quantity to waddr. Return true if the access was successful. Return false if a write access error occurred.