--------------------------------------------------------------------------------

単純書き込み

 

 

dipstar

 

0XXXXXXX 000000YY

アドレスXXXXXXXにバイトYYを書き込む。

 

1XXXXXXX 0000YYYY

アドレスXXXXXXXにハーフワードYYYYを書き込む。

 

2XXXXXXX YYYYYYYY

アドレスXXXXXXXにワードYYYYYYYYを書き込む。

 

 

AR-DS

 

2XXXXXXX 000000YY

アドレスXXXXXXXにバイトYYを書き込む。

 

1XXXXXXX 0000YYYY

アドレスXXXXXXXにハーフワードYYYYを書き込む。

 

0XXXXXXX YYYYYYYY

アドレスXXXXXXXにワードYYYYYYYYを書き込む。

 

---------------------------------------------------------------------------------

AR-DSの比較コードについて

 

AR-DSの比較判定コードは、必ずD0000000 00000000コードとセットで使われ、条件を満たすときに

比較コードとDコードの間に記述されたコードを実行する仕組みになっています。

わかりやすく言うと、ドイツ語の枠構造のようなものです。

 

---------------------------------------------------------------------------------

比較判定コード(バイト)

 

 

dipstar

 

EXXXXXXX 000000YY

アドレスXXXXXXXの値がYY(バイト)ならば次行のコードを実行。

 

 

AR-DS

 

9XXXXXXX FF0000YY

 

D0000000 00000000

アドレスXXXXXXXの値がYY(バイト)ならばD0000000 00000000までのコードを実行。 偶数アドレスのみ。

 

 

9XXXXXXX 00FFYY00

 

D0000000 00000000

アドレスXXXXXXXの値がYY(バイト)ならばD0000000 00000000までのコードを実行。 奇数アドレスのみ。

 

 

(例)上キーを押すとアドレス021F0000に000003E7を書き込む。

94000130 FF0000BF

121F0000 000003E7

D0000000 00000000

 

 

---------------------------------------------------------------------------------

比較判定コード(ハーフワード)

 

dipstar

 

EXXXXXXX 1000YYYY

アドレスXXXXXXXの値がYYYY(ハーフワード)ならば次行のコードを実行。

 

 

AR-DS

 

9XXXXXXX 0000YYYY

 

D0000000 00000000

 

アドレスXXXXXXXの値がYYYY(ハーフワード)ならばD0000000 00000000までのコードを実行。

 

---------------------------------------------------------------------------------

比較判定コード(ワード)

 

 

dipstar

DXXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYY(ワード)ならば次行のコードを実行。

 

 

AR-DS

 

5XXXXXXX YYYYYYYY

 

D0000000 00000000

 

アドレスXXXXXXXの値がYYYYYYYY(ワード)ならばD0000000 00000000までのコードを実行

 

---------------------------------------------------------------------------------

 

シリアルコード

 

 

dipstar

 

4XXXXXXX YYYYYYYY

W000ZZZZ UUUUUUUU

 

アドレスXXXXXXXに、パラメータYYYYYYYYを書き込む…という点は他のコードと同じですが、

W=書き込むデータのバイトサイズ(0=BYTE 1=HalfWORD 2=WORD)

ZZZZ=書き込む回数

UUUUUUUU=書き込むステップ幅

 

 

 

AR-DS

 

ワード型

 

D5000000 YYYYYYYY

C0000000 ZZZZZZZZ

D6000000 XXXXXXXX

DC000000 UUUUUUUU

D1000000 00000000

 

YYYYYYYY=書き込む値

XXXXXXXX=開始アドレス

ZZZZZZZZ=書き込む回数-1

UUUUUUUU=書き込むステップ幅-4

 

 

ハーフワード型

 

D5000000 0000YYYY

C0000000 ZZZZZZZZ

D7000000 XXXXXXXX

DC000000 UUUUUUUU

D1000000 00000000

 

0000YYYY=書き込む値

XXXXXXXX=開始アドレス

ZZZZZZZZ=書き込む回数-1

UUUUUUUU=書き込むステップ幅-2

 

 

バイト型

 

D5000000 000000YY

C0000000 ZZZZZZZZ

D7000000 XXXXXXXX

DC000000 UUUUUUUU

D1000000 00000000

 

000000YY=書き込む値

XXXXXXXX=開始アドレス

ZZZZZZZZ=書き込む回数-1

UUUUUUUU=書き込むステップ幅-1

 

---------------------------------------------------------------------------------

加減算コード(バイト)

 

 

dipstar

 

301000YY XXXXXXXX

アドレスXXXXXXXXの1バイトにYYを加算しつづける

 

302000YY XXXXXXXX

アドレスXXXXXXXXの1バイトからYYを減算しつづける

 

 

AR-DS

 

023FE4D8 0A000003

DB000000 XXXXXXXX

D4000000 YYYYYYYY

D8000000 XXXXXXXX

DC000000 FFFFFFFF

 

アドレスXXXXXXXXの1バイトにYYYYYYYYを加算しつづける(YYYYYYYYは負の数も可)

 

---------------------------------------------------------------------------------

加減算コード(ハーフワード)

 

 

dipstar

 

3030YYYY XXXXXXXX

アドレスXXXXXXXXの2バイトにYYYYを加算しつづける

 

3040YYYY XXXXXXXX

アドレスXXXXXXXXの2バイトからYYYYを減算しつづける

 

 

AR-DS

 

DA000000 XXXXXXXX

D4000000 YYYYYYYY

D7000000 XXXXXXXX

DC000000 FFFFFFFE

 

アドレスXXXXXXXXの2バイトにYYYYYYYYを加算しつづける(YYYYYYYYは負の数も可)

 

---------------------------------------------------------------------------------

加減算コード(ワード)

 

 

dipstar

 

30500000 XXXXXXXX

YYYYYYYY 00000000

アドレスXXXXXXXXの4バイトにYYYYYYYYを加算しつづける

 

30600000 XXXXXXXX

YYYYYYYY 00000000

アドレスXXXXXXXXの4バイトからYYYYYYYYを減算しつづける

 

 

AR-DS

 

D9000000 XXXXXXXX

D4000000 YYYYYYYY

D6000000 XXXXXXXX

DC000000 FFFFFFFC

 

アドレスXXXXXXXXの4バイトにYYYYYYYYを加算しつづける(YYYYYYYYは負の数も可)

 

---------------------------------------------------------------------------------

 

キーコード

 

 

dipstar

 

C1000000 X0000YYY

 

X=ビットマスク(0=反転あり 1=反転なし)

YYY=キーコード

 

ビットマスクとキーコードの対応及び割り当ては以下の通りです。

MASK 0×6個

X=0  000000 0  0  0  0  0  0  0  0  0  0 .. 押さない=0/押す=1 (例)A=00000001

X=1  000000 1  1  1  1  1  1  1  1  1  1 .. 押さない=1/押す=0 (例)A=100003FE

このコードで判定した場合は

C1000000 100003FE (A判定)だけでA以外のボタンを同時に押しても発動します。

 

 

AR-DS

 

キーコード1

94000130 YYYYXXXX

 

D0000000 00000000

 

 

YYYYについて

判定に使用したいビットを0、それ以外は0にする。

 

XXXXについて

判定に使用したいビットは以下の表を元に決定し、それ以外のビットは0にする。

 

       L  R  下 上 左 右 ST SL B  A

****** 1  1  1  1  1  1  1  1  1  1 .. 押さない

****** 0  0  0  0  0  0  0  0  0  0 .. 押す

 

 

 

キーコード2

94000136 YYYYXXXX

 

D0000000 00000000

 

 

YYYYについて

判定に使用したいビットを0、それ以外は1にする。

 

XXXXについて

判定に使用したいビットは以下の表を元に決定し、それ以外のビットは0にする。

 

 

********上画面 下画面 **** Y  X

             1     0       0  0 ..閉じる/触れる/押す

             0     1       1  1 ..開ける/触れない/押さない

 

 

 

(例1)DSの上画面を閉じるとアドレス021F0000に000003E7を書き込む。

94000136 FF7F0080

121F0000 000003E7

D0000000 00000000

 

(例2-1)上キーとYボタンを同時押しするとアドレス021F0000に000003E7を書き込む。

94000130 FFBF0000

94000136 FFFD0000

121F0000 000003E7

D0000000 00000000

D0000000 00000000

 

この例のように、コードの最後でD0000000 00000000コードが

二行以上続くときは、D2000000 00000000コードを使用することで

一行にまとめることが出来ます。

すなわち、

 

(例2-2)上キーとYボタンを同時押しするとアドレス021F0000に000003E7を書き込む。

94000130 FFBF0000

94000136 FFFD0000

121F0000 000003E7

D2000000 00000000

 

---------------------------------------------------------------------------------