Next: , Previous: Heap Allocation, Up: Memory


5.7.4 Memory Access

@       a-addr – w        core       “fetch”

w is the cell stored at a_addr.

!       w a-addr –        core       “store”

Store w into the cell at a-addr.

+!       n a-addr –        core       “plus-store”

Add n to the cell at a-addr.

c@       c-addr – c        core       “c-fetch”

c is the char stored at c_addr.

c!       c c-addr –        core       “c-store”

Store c into the char at c-addr.

2@       a-addr – w1 w2        core       “two-fetch”

w2 is the content of the cell stored at a-addr, w1 is the content of the next cell.

2!       w1 w2 a-addr –        core       “two-store”

Store w2 into the cell at c-addr and w1 into the next cell.

f@       f-addr – r        float       “f-fetch”

r is the float at address f-addr.

f!       r f-addr –        float       “f-store”

Store r into the float at address f-addr.

sf@       sf-addr – r        float-ext       “s-f-fetch”

Fetch the single-precision IEEE floating-point value r from the address sf-addr.

sf!       r sf-addr –        float-ext       “s-f-store”

Store r as single-precision IEEE floating-point value to the address sf-addr.

df@       df-addr – r        float-ext       “d-f-fetch”

Fetch the double-precision IEEE floating-point value r from the address df-addr.

df!       r df-addr –        float-ext       “d-f-store”

Store r as double-precision IEEE floating-point value to the address df-addr.

sw@       c-addr – n        gforth       “s-w-fetch”

n is the sign-extended 16-bit value stored at c_addr.

uw@       c-addr – u        gforth       “u-w-fetch”

u is the zero-extended 16-bit value stored at c_addr.

w!       w c-addr –        gforth       “w-store”

Store the bottom 16 bits of w at c_addr.

sl@       c-addr – n        gforth       “s-l-fetch”

n is the sign-extended 32-bit value stored at c_addr.

ul@       c-addr – u        gforth       “u-l-fetch”

u is the zero-extended 32-bit value stored at c_addr.

l!       w c-addr –        gforth       “l-store”

Store the bottom 32 bits of w at c_addr.