HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)

れどめに書いてあるコード書式をもとに作れるもの
開発先 0.32以前

連続書き込み(_NWR)
論理演算(_NRW)
シリアル(_NWR,_MSL,_OFF)
複数行判定(_TES)
コピー(_PCY,_PST)
シフト演算(_SPE)
四則演算(_CPY,_PST)
ポインタ(_PIN)
ポインタシリアル(_PWR,_MLS,_OFF)
ポインタシリアル2(_PIN,_MLS,_OFF)
ポインタコピー(_PPC,_PST)
多重ポインタ(_PTR)
パッド(_PAD)
オフセット(_OFF)
リスト(_LST)
終端(_EMD)

[連続書き込みコード]
4-bit連続書き込み _NWR 0x10000000 0x0aaaaaaa 0x0000000v アドレスaaaaaaa+0x8800000に値vを書き込み続ける
8-bit連続書き込み _NWR 0x20000000 0x0aaaaaaa 0x000000vv アドレスaaaaaaa+0x8800000に値vvを書き込み続ける
16-bit連続書き込み _NWR 0x40000000 0x0aaaaaaa 0x0000vvvv アドレスaaaaaaa+0x8800000に値vvvvを書き込み続ける
24-bit連続書き込み _NWR 0x60000000 0x0aaaaaaa 0x00vvvvvv アドレスaaaaaaa+0x8800000に値vvvvvvを書き込み続ける
32-bit連続書き込み _NWR 0x80000000 0x0aaaaaaa 0xvvvvvvvv アドレスaaaaaaa+0x8800000に値vvvvvvvvを書き込み続ける
4-bitマスク連続書き込み _NWR 0x22000000 0x0aaaaaaa 0x000000vv アドレスaaaaaaa+0x8800000にある値に4bitANDMASKしvv&0xFFFFFFF0との論理和を書き込む?
32-bit復元有り連続書き込み _NWR 0x84000000 0x0aaaaaaa 0xvvvvvvvv アドレスaaaaaaa+0x8800000に値vvvvvvvvを書き込み続け、コードオフ時書き換える前の状態に戻す

[論理演算コード]
4-bit AND _NWR 0x10100000 0x0aaaaaaa 0x0000000v アドレスaaaaaaa+0x8800000の値とvの論理積を書き込む
8-bit AND _NWR 0x20100000 0x0aaaaaaa 0x000000vv アドレスaaaaaaa+0x8800000の値とvvの論理積を書き込む
16-bit AND _NWR 0x40100000 0x0aaaaaaa 0x0000vvvv アドレスaaaaaaa+0x8800000の値とvvvvの論理積を書き込む
32-bit AND _NWR 0x80100000 0x0aaaaaaa 0xvvvvvvvv アドレスaaaaaaa+0x8800000の値とvvvvvvvvの論理積を書き込む
4-bit OR _NWR 0x10200000 0x0aaaaaaa 0x0000000v アドレスaaaaaaa+0x8800000の値とvの論理和を書き込む
8-bit OR _NWR 0x20200000 0x0aaaaaaa 0x000000vv アドレスaaaaaaa+0x8800000の値とvvの論理和を書き込む
16-bit OR _NWR 0x40200000 0x0aaaaaaa 0x0000vvvv アドレスaaaaaaa+0x8800000の値とvvvvの論理和を書き込む
32-bit OR _NWR 0x80200000 0x0aaaaaaa 0xvvvvvvvv アドレスaaaaaaa+0x8800000の値とvvvvvvvvの論理和を書き込む
4-bit XOR _NWR 0x10300000 0x0aaaaaaa 0x0000000v アドレスaaaaaaa+0x8800000の値とvの排他的論理和を書き込む
8-bit XOR _NWR 0x20300000 0x0aaaaaaa 0x000000vv アドレスaaaaaaa+0x8800000の値とvvの排他的論理和を書き込む
16-bit XOR _NWR 0x40300000 0x0aaaaaaa 0x0000vvvv アドレスaaaaaaa+0x8800000の値とvvvvの排他的論理和を書き込む
32-bit XOR _NWR 0x80300000 0x0aaaaaaa 0xvvvvvvvv アドレスaaaaaaa+0x8800000の値とvvvvvvvvの排他的論理和を書き込む
#_NWR横のオプションは_MLA,_PST,_PWR,PMA,_PPSでも使うことができる?


[シリアル(圧縮)コード]
4-bitシリアル
_OFF 0x00000000 0x00000000 0x0000000w
_NWR 0x10000000 0x0aaaaaaa 0x0000000v
_MLS 0x00000000 0x0000bbbb 0x0002tttt
アドレスaaaaaaa+0x8800000からtttt+1個のアドレスになるように
bbbbアドレスずつずらしながら値vを書き込む
vもw分ずつ増加して書き込まれる

8-bitシリアル
_OFF 0x00100000 0x00000000 0x000000ww
_NWR 0x20000000 0x0aaaaaaa 0x000000vv
_MLS 0x00000000 0x0000bbbb 0x0002tttt
アドレスaaaaaaa+0x8800000からtttt+1個のアドレスになるように
bbbbアドレスずつずらしながら値vvを書き込む
vvもww分ずつ増加して書き込まれる

16-bitシリアル
_OFF 0x00100000 0x00000000 0x0000wwww
_NWR 0x40000000 0x0aaaaaaa 0x0000vvvv
_MLS 0x00000000 0x0000bbbb 0x0002tttt
アドレスaaaaaaa+0x8800000からtttt+1個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvを書き込む
vvvvもwwww分ずつ増加して書き込まれる

32-bitシリアル
_OFF 0x00100000 0x00000000 0xwwwwwwww
_NWR 0x10000000 0x0aaaaaaa 0xvvvvvvvv
_MLS 0x00000000 0x0000bbbb 0x0002tttt
アドレスaaaaaaa+0x8800000からtttt+1個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvvvvvを書き込む
vvvvvvvvもwwwwwwww分ずつ増加して書き込まれる


[コピーコード]
_CPY 0xB0000000 0x0aaaaaaa 0x00000000
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000からbbbbbbbにB*4bit分コピーする

_CPY 0x20000000 0x0aaaaaaa 0x00000000
_PST 0x20000000 0x0bbbbbbb 0x00000000
_MLS 0x00000000 0x00000001 0x0002tttt
アドレスaaaaaaa+0x8800000からbbbbbbbにtttt+1バイト分コピーする

[シフト演算コード]
_SPE 0xs0000000 0x0aaaaaaa 0xzzzzvvvv
アドレス0aaaaaaaから2Byte読み込んだ値とNOTzzzz(=0xFFFF-zzzz)との論理積を計算し それにvvvvをs左シフトした値との論理和を書き込む。

[四則演算コード]
_CPY 0xB0000000 0x0aaaaaaa 0xvvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値にvvvvvvvvを足しB*4bit分bbbbbbbに書き込む,

_CPY 0xB0100000 0x0aaaaaaa 0xvvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値からvvvvvvvvで引きB*4bit分bbbbbbbに書き込む

_CPY 0xB0200000 0x0aaaaaaa 0xvvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値にvvvvvvvvを掛けB*4bit分bbbbbbbに書き込む

_CPY 0xB0300000 0x0aaaaaaa 0xvvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値をvvvvvvvvで割り商をB*4bit分bbbbbbbに書き込む

_CPY 0xB0400000 0x0aaaaaaa 0xvvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値をvvvvvvvvで割り余りをB*4bit分bbbbbbbに書き込む

_CPY 0xB0000000 0x0aaaaaaa 0x00000000
_CPY 0xB0Z10000 0x0000000z 0xvvvvvvv
_PST 0xB0000000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000にある値とZの条件でv<<zを計算したものと演算しB*4bit分bbbbbbbに書き込む

[複数判定コード]
4-bit一致
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10000000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdと一致するとき下のnn行分のコードが実行される

4-bit不一致
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10100000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdと一致しないとき下のnn行分のコードが実行される

4-bit比較大
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10200000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdより大きいとき下のnn行分のコードが実行される

4-bit比較小
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10300000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdより小さいとき下のnn行分のコードが実行される

4-bit比較以上
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10400000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がd以上のとき下のnn行分のコードが実行される

4-bit比較以下
_CPY 0x10000000 0x0aaaaaaa 0x00000000
_TES 0x10500000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がd以下のとき下のnn行分のコードが実行される

8-bit一致
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20000000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddと一致するとき下のnn行分のコードが実行される

8-bit不一致
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20100000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddと一致しないとき下のnn行分のコードが実行される

8-bit比較大
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20200000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddより大きいとき下のnn行分のコードが実行される

8-bit比較小
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20300000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddより小さいとき下のnn行分のコードが実行される

8-bit比較以上
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20400000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がdd以上のとき下のnn行分のコードが実行される

8-bit比較以下
_CPY 0x20000000 0x0aaaaaaa 0x00000000
_TES 0x20500000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がdd以下のとき下のnn行分のコードが実行される

16-bit一致
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40000000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddと一致するとき下のnn行分のコードが実行される

16-bit不一致
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40100000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddと一致しないとき下のnn行分のコードが実行される

16-bit比較大
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40200000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddより大きいとき下のnn行分のコードが実行される

16-bit比較小
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40300000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddより小さいとき下のnn行分のコードが実行される

16-bit比較以上
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40400000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がdddd以上のとき下のnn行分のコードが実行される

16-bit比較以下
_CPY 0x40000000 0x0aaaaaaa 0x00000000
_TES 0x40500000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がdddd以下のとき下のnn行分のコードが実行される

32-bit一致
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80000000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddと一致するとき下のnn行分のコードが実行される

32-bit不一致
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80100000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddと一致しないとき下のnn行分のコードが実行される

32-bit比較大
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80200000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddより大きいとき下のnn行分のコードが実行される

32-bit比較小
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80300000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddより小さいとき下のnn行分のコードが実行される

32-bit比較以上
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80400000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がdddddddd以上のとき下のnn行分のコードが実行される

32-bit比較以下
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80500000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がdddddddd以下のとき下のnn行分のコードが実行される

32-bit論理判定一致
_CPY 0x80000000 0x0aaaaaaa 0x00000000
_TES 0x80010000 0x00000000 0xpppppppp
_TES 0x80010000 0x00000000 0xqqqqqqqq
...
_TES 0x80000000 0x000000nn 0xzzzzzzzz
アドレスaaaaaaa+0x8800000の値がppppppppまたはqqqqqqqqまたは...zzzzzzzzと一致するとき下のnn行分のコードが実行される

論理和マスク判定一致
_CPY 0x80600000 0x0aaaaaaa 0xMMMMMMMM
_TES 0x80000000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値とMMMMMMMMとの論理和がddddddddと一致するとき下のnn行分のコードが実行される

論理積マスク判定一致
_CPY 0x80500000 0x0aaaaaaa 0xMMMMMMMM
_TES 0x80000000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値とMMMMMMMMとの論理積がddddddddと一致するとき下のnn行分のコードが実行される

排他的論理和マスク判定一致
_CPY 0x80700000 0x0aaaaaaa 0xMMMMMMMM
_TES 0x80000000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値とMMMMMMMMとの排他的論理和がddddddddと一致するとき下のnn行分のコードが実行される

ビットマスク存在判定
_CPY 0xB0000000 0x0aaaaaaa 0x00000000
_CPY 0xB0510000 0x0000000z 0xvvvvvvv
_TES 0x80100000 0x000000nn 0x00000000
アドレスaaaaaaa+0x8800000にある値とz<<vとの論理積が0以外のとき下のnn行分のコードが実行される


[ポインタコード]※基準アドレスが0x8800000以下または0xA000000以上時の場合実行されない。
4-bit書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x10000000 0x0iiiiiii 0x0000000v
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値v
を基準アドレス+iiiiiiiiに書き込む

8-bit書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x20000000 0x0iiiiiii 0x000000vv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vv
を基準アドレス+iiiiiiiiに書き込む

16-bit書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x40000000 0x0iiiiiii 0x0000vvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvv
を基準アドレス+iiiiiiiiに書き込む

32-bit書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x80000000 0x0iiiiiii 0xvvvvvvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvvvvvv
を基準アドレス+iiiiiiiiに書き込む

4-bit書き込み(オフセマイナス)
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x11000000 0x0iiiiiii 0x0000000v
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値v
を基準アドレス-iiiiiiiiに書き込む

8-bit書き込み(オフセマイナス)
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x21000000 0x0iiiiiii 0x000000vv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vv
を基準アドレス-iiiiiiiiに書き込む

16-bit書き込み(オフセマイナス)
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x41000000 0x0iiiiiii 0x0000vvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvv
を基準アドレス-iiiiiiiiに書き込む

32-bit書き込み(オフセマイナス)
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0x81000000 0x0iiiiiii 0xvvvvvvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvvvvvv
を基準アドレス-iiiiiiiiに書き込む

ポインタシリアル書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_OFF 0x00100000 0x00000000 0xwwwwwwww
_PWR 0xB0000000 0x0iiiiiii 0xvvvvvvvv
_MLS 0x00000000 0x0ppppppp 0x0002tttt
アドレスaaaaaaa+0x8800000にある値を基準アドレスとし、基準アドレス+iiiiiiiからpppppppの間隔で
tttt+1個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する

配列ポインタ書き込み
_OFF 0x00200000 0x00000004 0x00000000
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PWR 0xB0000000 0x0iiiiiii 0xvvvvvvvv
_MLS 0x00000000 0x00000000 0x0003tttt
アドレスaaaaaaa+0x8800000にから4byteずつ並んでいる値を基準アドレスとし、それぞれの基準アドレス+iiiiiiiに
tttt+1個のアドレスにB*4bit分vvvvvvvvを書き込む。

ポインタコピー1
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PCP 0xB0000000 0x0iiiiiii 0x00000000
_PPS 0xB0000000 0x0zzzzzzz 0x00000000
基準アドレス+iiiiiiiにある値を
基準アドレス+zzzzzzzにB*4bit分だけコピー

ポインタコピーバイト
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PCP 0x20000000 0x0iiiiiii 0x00000000
_PPS 0x20000000 0x0zzzzzzz 0x00000000
_MLS 0x00000000 0x00000001 0x0002tttt
基準アドレス+iiiiiiiにある値を
基準アドレス+zzzzzzzにtttt+1バイト分だけコピー

ポインタコピー2
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PCP 0xB0000000 0x0iiiiiii 0x00000000
_PST 0xB0000000 0x0bbbbbbb 0x00000000
基準アドレス+iiiiiiiiにある値を
アドレスbbbbbbbにB*4bit分だけコピー

ポインタオフセット判定
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PCP 0x80000000 0x0iiiiiii 0x00000000
_TES 0x80000000 0x000000nn 0xdddddddd
基準アドレス+iiiiiiiiにある値を
ddddddddと比較して一致するとき次のnn行のコードを実行する。

多重ポインタ
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x8T000000 0x0iiiiiii 0x00000000
....
_PWR 0x8T000000 0x0zzzzzzz 0xvvvvvvvv
aaaaaaa=ポインタアドレス、第1基準アドレスがあるところ
vvvvvvvv=書き込む値
T=オフセットの+/- 0でプラス、1でマイナス
iiiiiii=第1ベースに+/-するオフセット
....
zzzzzzz=最後+/-するオフセット(Tに依存)

第1基準アドレス=aaaaaaa+0x8800000にある値
第2基準アドレス=第1基準アドレス+/-iiiiiiiにある値
.....
最終書込アドレス=最後の基準アドレス+/-zzzzzzzになる

多重ポインタシリアル書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x80000000 0x0iiiiiii 0x00000000
...
_OFF 0x00100000 0x00000000 0xwwwwwwww
_PWR 0xB0000000 0x0zzzzzzz 0xvvvvvvvv
_MLS 0x00000000 0x0ppppppp 0x0002tttt
最後の基準アドレス+zzzzzzからpppppppの間隔で
tttt+1個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する。

配列ポインタ書き込み(多重用)
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_OFF 0x00200000 0x00000004 0x00000000
_PTR 0x80000000 0x0iiiiiii 0x00000000
_PWR 0xB0000000 0x0zzzzzzz 0xvvvvvvvv
_MLS 0x00000000 0x00000000 0x0004tttt
アドレス[[aaaaaaa+0x8800000]+iiiiiii]にから4byteずつ並んでいる値を基準アドレスとし、それぞれの基準アドレス+iiiiiiiに
tttt+1個のアドレスにB*4bit分vvvvvvvvを書き込む。

配列ポインタ+多重シリアル書き込み
_OFF 0x00200000 0x00000004 0x00000000
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_OFF 0x00200000 0x00000000 0x00000000
_PTR 0x80000000 0x0iiiiiii 0x00000000
_PWR 0xB0000000 0x0zzzzzzz 0xvvvvvvvv
_MLS 0x00000000 0x0ppppppp 0x0005tttt
アドレスaaaaaaa+0x8800000にから4byteずつ並んでいる値をそれぞれ基準アドレス1Nとし、[[基準アドレス1N]+iiiiiii]+zzzzzzzから
pppppppの間隔でtttt+1個のアドレスにB*4bit分vvvvvvvvを書き込む。

多重ポインタコピー1
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x8T000000 0x0iiiiiii 0x00000000
....
_PCP 0xB0000000 0x0zzzzzzz 0x00000000
_PPS 0xB0000000 0x0sssssss 0x00000000
最後の基準アドレス+zzzzzzzにある値を
最後の基準アドレス+sssssssにB*4bit分だけコピー

多重ポインタコピー2
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x8T000000 0x0iiiiiii 0x00000000
....
_PCP 0xB0000000 0x0zzzzzzz 0x00000000
_PST 0xB0000000 0x0bbbbbbb 0x00000000
最後の基準アドレス+zzzzzzzにある値を
アドレスbbbbbbbにB*4bit分だけコピー

多重ポインタオフセット判定
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x8T000000 0x0iiiiiii 0x00000000
....
_PCP 0x80000000 0x0zzzzzzz 0x00000000
_TES 0x80000000 0x000000nn 0xdddddddd
最後の基準アドレス+zzzzzzzにある値を
ddddddddと比較して一致するとき次のnn行のコードを実行する。

[パッドコード]
_PAD 0x80000000 0x000000nn 0xPPPPPPPP
PPPPPPPPはパッドの合計値(論理和OR)、nn行分実行される

_PAD 0x80100000 0x000000nn 0xPPPPPPPP
ボタンを押している間だけコードが無効になる。

[オフセットコード]
_OFF 0x00010000 0x000000ZZ 0x000000YY
OFF以降の書き込み系コードのアドレスにZZ*YY分オフセットが足される。

[リストコード]
_LST 0x00000000 0x00000000 0x000000SS 最初の定義
_LST 0xVVVVVVVV [説明全角8文字,LISTフォルダ専用]
_NWR 0x0000SSWT 0x00000000 0x00000000
SS=リスト番号(定義は0.67から廃止)
W=1 ラジオボタン(1つしか選べない)
W=2 チェックボックス(複数選択可)
T=0で値、1でアドレス,2でROM専用
#リストの終端に_ENDがないと1.34以前では表示がバグるので注意

[終端コード]
_END
コードリスト/リストの終端に必要?ないと不具合があるときがあるようなので注意



ver0.60以前のシリアルコード
4-bitシリアル
_MLA 0x10000000 0x0aaaaaaa 0x0000000v
_MLO 0x00000000 0x0000bbbb 0x0000000w
_MLE 0x00000000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vを書き込む
vもw分ずつ増加して書き込まれる

8-bitシリアル
_MLA 0x20000000 0x0aaaaaaa 0x000000vv
_MLO 0x00000000 0x0000bbbb 0x000000ww
_MLE 0x00000000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvを書き込む
vvもww分ずつ増加して書き込まれる

16-bitシリアル
_MLA 0x40000000 0x0aaaaaaa 0x0000vvvv
_MLO 0x00000000 0x0000bbbb 0x0000wwww
_MLE 0x00000000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvを書き込む
vvvvもwwww分ずつ増加して書き込まれる

32-bitシリアル
_MLA 0x80000000 0x0aaaaaaa 0xvvvvvvvv
_MLO 0x00000000 0x0000bbbb 0xwwwwwwww
_MLE 0x00000000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvvvvvを書き込む
vvvvvvvvもwwwwwwww分ずつ増加して書き込まれる

ポインタシリアル書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PMA 0xB0000000 0x0iiiiiii 0xvvvvvvvv
_PMO 0x00000000 0x0ppppppp 0xwwwwwwww
_PME 0x00000000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000にある値を基準アドレスとし、基準アドレス+iiiiiiiからpppppppの間隔で
tttt個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する

多重ポインタシリアル書き込み
_PIN 0x80000000 0x0aaaaaaa 0x00000000
_PTR 0x8T000000 0x0iiiiiii 0x00000000
....
_PMA 0xB0000000 0x0zzzzzzz 0xvvvvvvvv
_PMO 0x00000000 0x0ppppppp 0xwwwwwwww
_PME 0x00000000 0x0000tttt 0x00000000
最後の基準アドレス+zzzzzzzからpppppppの間隔で
tttt個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する

オフセットコード
_OPT 0x00000000 0x000000ZZ 0x000000YY
_OPT以降の書き込み系コードのアドレスにZZ*YY分オフセットが足される。

HP(゚∀゚) > KAIZO(´∀`) > KAISEKI(^w^)
  プロフィール  PR:無料HP  きよ武自動車学校  ふくやま自動車学校  Apex  タイヤ 交換  タイヤ MPV 激安  ドラム 専門学校  中古カーパーツのお勧めショップ  中球磨モータースクール  アクアマリン  岡山 合宿免許  音楽 専門学校 福岡  中古パーツ 伊那  名簿屋