OpenBoot 3.x コマンド・リファレンスマニュアル

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

表 I-16 メモリーアクセスコマンド

コマンド  

スタックダイアグラム 

説明 

!

( x a-addr -- ) 

数値を a-addr に格納します。

+!

( nu a-addr -- ) 

a-addr に格納されている数値に nu を加算します。

@

( a-addr -- x ) 

数値を a-addr から 取り出します。

2!

( x1 x2 a-addr -- ) 

2 数値を a-addr (x2 を下位アドレス) に格納します。

2@

( a-addr -- x1 x2 )  

2 数値を a-addr (x2 を下位アドレス) から取り出します。

blank

( addr len -- ) 

addr で始まる len バイトのメモリーを空白文字 (10 進の 32) に設定します。

c!

( byte addr -- ) 

byteaddr に格納します。

c@

( addr -- byte ) 

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

cpeek

( addr -- false | byte true ) 

1 バイトを addr から取り出します。アクセスが成功した場合はそのデータと true を返し、読み取りエラーが発生した場合は false を返します。

cpoke

( byte addr -- okay? ) 

byteaddr に格納します。アクセスが成功した場合は true を返し、書き込みエラーが発生した場合は false を返します。

comp

( addr1 addr2 len -- diff? ) 

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

dump

( addr len -- ) 

addr から始まる len バイトを 0 に設定します。

erase

( addr len -- ) 

addr から始まる len バイトを 0 に設定します。

fill

( addr len byte -- ) 

addr から始まる len バイトを byte に設定します。

l!

( quad qaddr -- ) 

quadlet qqaddr に格納します。

l@

( qaddr -- quad ) 

quadlet qqaddr から取り出します。

lbflips

( qaddr len -- ) 

指定された領域の各 quadlet 内の 4 バイトを逆に並べ替えます。 

lwflips

( qaddr len -- ) 

指定された領域の各 quadlet 内の doublet をスワップします。 

lpeek

( qaddr -- false | quad true ) 

32 ビットの数を qaddr から取り出します。アクセスが成功した場合はそのデータと true を返し、読み取りエラーが発生した場合は false を返します。

lpoke

( quad qaddr -- okay? ) 

32 ビットの数を qaddr に格納します。アクセスが成功した場合は true を返し、書き込みエラーが発生した場合は false を返します。

move

( src-addr dest-addr len -- ) 

src-addr から dest-addrlen バイトをコピーします。

off

( a-addr -- ) 

falsea-addr に格納します。

on

( a-addr -- ) 

truea-addr に格納します。

unaligned-l!

( quad addr -- ) 

quadlet q を格納します。境界は任意です。

unaligned-l@

( addr -- quad ) 

quadlet q を取り出します。境界は任意です。

unaligned-w!

( w addr -- ) 

doublet w を格納します。境界は任意です。

unaligned-w@

( addr -- w ) 

doublet w を取り出します。境界は任意です。

w!

( w waddr -- ) 

doublet wwaddr に格納します。

w@

( waddr -- w) 

doublet wwaddr から取り出します。

<w@

( waddr -- n ) 

符号付き doublet wwaddr から取り出します。

wbflips

( waddr len -- ) 

指定された領域の各 doublet 内のバイトをスワップします。 

wpeek

( waddr -- false | w true ) 

16 ビットの数を waddr から取り出します。アクセスが成功した場合はそのデータとtrue を返し、読み取りエラーが発生した場合は false を返します。

wpoke

( w waddr -- okay? ) 

16 ビット数値を waddr に格納します。アクセスが成功した場合は true を返し、書き込みエラーが発生した場合は false を返します。