Next: , Previous: , Up: Memory   [Contents][Index]


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-0.7 “s-w-fetch”

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

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

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

w! ( w c-addr – ) gforth-0.7 “w-store”

Store the bottom 16 bits of w at c_addr.

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

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

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

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

l! ( w c-addr – ) gforth-0.7 “l-store”

Store the bottom 32 bits of w at c_addr.


Next: Address arithmetic, Previous: Heap allocation, Up: Memory   [Contents][Index]