OpenBoot 2.x の手引き

メモリーアクセスコマンド

表 1-23 メモリーアクセスコマンド

!

( n adr16 -- )

32 ビットの数を adr16 に格納します。16 ビットに境界でなければなりません。

+!

( n adr16 -- )

adr16 に保存されている 32 ビットの数値に n を加算します。16 ビットでなければなりません。

@

( adr16 -- n )

32 ビット数値を adr16 から取り出します。16 ビットに境界でなければなりません。

c!

( n adr -- )

nの下位バイトを adr に保存します。

c@

( adr -- byte )

1 バイトを adr から 取り出します。

cpeek

( adr -- false | byte true )

1 バイトを adr から取り出します。アクセスが成功した場合、データと true を返します。読み取りエラーが発生した場合は、false を返します。 ( lpeekwpeek も同様)

cpoke

( byte adr -- okay? )

1 バイトを adr にバイトを格納します。アクセスが成功した場合、true を返します。書き込みエラーが発生した場合は、false を返します。 (lpokewpoke も同様)

comp

( adr1 adr2 len -- n )

2 つのバイト配列を比較します。両配列が等しい場合は n = 0、最初の異なるバイトが配列 #1 側より小さい場合は n = 1、それ以外の場合は n = -1 になります。 

dump

( adr len -- )

adr から始まる len バイト表示します。 

fill

( adr size byte -- )

size メモリーバイトを byte に設定します。 

L!

( n adr32 -- )

adr32 に 32 ビットの数値を格納します。 

L@

( adr32 -- long )

32 ビットの数値を adr32 から取り出します。 

move

( adr1 adr2 u -- )

adr1 から adr2 へ u バイト分、コピーします。オーバーラップは適切に処理されます。 

w!

( n adr16 -- )

16 ビットの数値を adr16 に格納します。16 ビット境界でなければなりません。 

w@

( adr16 -- word )

16 ビットの数値を adr16 から取り出します。16 ビット境界でなければなりません。