れどめに書いてあるコード書式をもとに作れるもの?人柱版なので全部うごくかは不明
旧版てすと用
連続書き込み(_NWR)
論理演算(_NRW)
シリアル(_MLA,_MLO,_MLE)
複数行判定(_TES)
コピー(_PCY,_PST)
ポインタ(_PIN)
ポインタシリアル(_PMA,_PMO,_PME)
ポインタコピー(_PPC,_PST)
多重ポインタ(_PTR)
パッド(_PAD)
[連続書き込みコード]
4-bit連続書き込み
_NWR 0x1000 0x0aaaaaaa 0x0000000v
アドレスaaaaaaa+0x8800000に値vを書き込み続ける
8-bit連続書き込み
_NWR 0x2000 0x0aaaaaaa 0x000000vv
アドレスaaaaaaa+0x8800000に値vvを書き込み続ける
16-bit連続書き込み
_NWR 0x4000 0x0aaaaaaa 0x0000vvvv
アドレスaaaaaaa+0x8800000に値vvvvを書き込み続ける
24-bit連続書き込み
_NWR 0x6000 0x0aaaaaaa 0x00vvvvvv
アドレスaaaaaaa+0x8800000に値vvvvvvを書き込み続ける
32-bit連続書き込み
_NWR 0x8000 0x0aaaaaaa 0xvvvvvvvv
アドレスaaaaaaa+0x8800000に値vvvvvvvvを書き込み続ける
4-bitマスク連続書き込み
_NWR 0x2200 0x0aaaaaaa 0x000000vv
アドレスaaaaaaa+0x8800000にある値に4bitANDMASKしvv&0xFFFFFFF0との論理和を書き込む?
[論理演算コード]
4-bit AND
_NWR 0x1010 0x0aaaaaaa 0x0000000v
アドレスaaaaaaa+0x8800000の値とvの論理積を書き込む
8-bit AND
_NWR 0x2010 0x0aaaaaaa 0x000000vv
アドレスaaaaaaa+0x8800000の値とvvの論理積を書き込む
16-bit AND
_NWR 0x4010 0x0aaaaaaa 0x0000vvvv
アドレスaaaaaaa+0x8800000の値とvvvvの論理積を書き込む
32-bit AND
_NWR 0x8010 0x0aaaaaaa 0xvvvvvvvv
アドレスaaaaaaa+0x8800000の値とvvvvvvvvの論理積を書き込む
4-bit OR
_NWR 0x1020 0x0aaaaaaa 0x0000000v
アドレスaaaaaaa+0x8800000の値とvの論理和を書き込む
8-bit OR
_NWR 0x2020 0x0aaaaaaa 0x000000vv
アドレスaaaaaaa+0x8800000の値とvvの論理和を書き込む
16-bit OR
_NWR 0x4020 0x0aaaaaaa 0x0000vvvv
アドレスaaaaaaa+0x8800000の値とvvvvの論理和を書き込む
32-bit OR
_NWR 0x8020 0x0aaaaaaa 0xvvvvvvvv
アドレスaaaaaaa+0x8800000の値とvvvvvvvvの論理和を書き込む
4-bit XOR
_NWR 0x1030 0x0aaaaaaa 0x0000000v
アドレスaaaaaaa+0x8800000の値とvの排他的論理和を書き込む
8-bit XOR
_NWR 0x2030 0x0aaaaaaa 0x000000vv
アドレスaaaaaaa+0x8800000の値とvvの排他的論理和を書き込む
16-bit XOR
_NWR 0x4030 0x0aaaaaaa 0x0000vvvv
アドレスaaaaaaa+0x8800000の値とvvvvの排他的論理和を書き込む
32-bit XOR
_NWR 0x8030 0x0aaaaaaa 0xvvvvvvvv
アドレスaaaaaaa+0x8800000の値とvvvvvvvvの排他的論理和を書き込む
#_NWR横のオプションは_MLA,_PST,_PWR,PMA,_PPSでも使うことができる?
[シリアル(圧縮)コード]
4-bitシリアル
_MLA 0x1000 0x0aaaaaaa 0x0000000v
_MLO 0x0000 0x0000bbbb 0x0000000w
_MLE 0x0000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vを書き込む
vもw分ずつ増加して書き込まれる
8-bitシリアル
_MLA 0x2000 0x0aaaaaaa 0x000000vv
_MLO 0x0000 0x0000bbbb 0x000000ww
_MLE 0x0000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvを書き込む
vvもww分ずつ増加して書き込まれる
16-bitシリアル
_MLA 0x4000 0x0aaaaaaa 0x0000vvvv
_MLO 0x0000 0x0000bbbb 0x0000wwww
_MLE 0x0000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvを書き込む
vvvvもwwww分ずつ増加して書き込まれる
32-bitシリアル
_MLA 0x8000 0x0aaaaaaa 0xvvvvvvvv
_MLO 0x0000 0x0000bbbb 0xwwwwwwww
_MLE 0x0000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000からtttt個のアドレスになるように
bbbbアドレスずつずらしながら値vvvvvvvvを書き込む
vvvvvvvvもwwwwwwww分ずつ増加して書き込まれる
[コピーコード]
_CPY 0xB000 0x0aaaaaaa 0x00000000
_PST 0xB000 0x0bbbbbbb 0x00000000
アドレスaaaaaaa+0x8800000からbbbbbbbbbにB*4bit分コピーする
[複数判定コード]
4-bit一致
_CPY 0x1000 0x0aaaaaaa 0x00000000
_TES 0x1000 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdと一致するとき下のnn行分のコードが実行される
4-bit不一致
_CPY 0x1000 0x0aaaaaaa 0x00000000
_TES 0x1001 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がdと一致するとき下のnn行分のコードが実行される
4-bit比較大
_CPY 0x1000 0x0aaaaaaa 0x00000000
_TES 0x1002 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がd以上のとき下のnn行分のコードが実行される
4-bit比較小
_CPY 0x1000 0x0aaaaaaa 0x00000000
_TES 0x1003 0x000000nn 0x0000000d
アドレスaaaaaaa+0x8800000の値がd以下のとき下のnn行分のコードが実行される
8-bit一致
_CPY 0x2000 0x0aaaaaaa 0x00000000
_TES 0x2000 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddと一致するとき下のnn行分のコードが実行される
8-bit不一致
_CPY 0x2000 0x0aaaaaaa 0x00000000
_TES 0x2001 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がddと一致するとき下のnn行分のコードが実行される
8-bit比較大
_CPY 0x2000 0x0aaaaaaa 0x00000000
_TES 0x2002 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がdd以上のとき下のnn行分のコードが実行される
8-bit比較小
_CPY 0x2000 0x0aaaaaaa 0x00000000
_TES 0x2003 0x000000nn 0x000000dd
アドレスaaaaaaa+0x8800000の値がdd以下のとき下のnn行分のコードが実行される
16-bit一致
_CPY 0x4000 0x0aaaaaaa 0x00000000
_TES 0x4000 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddと一致するとき下のnn行分のコードが実行される
16-bit不一致
_CPY 0x4000 0x0aaaaaaa 0x00000000
_TES 0x4001 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がddddと一致しないとき下のnn行分のコードが実行される
16-bit比較大
_CPY 0x4000 0x0aaaaaaa 0x00000000
_TES 0x4002 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がdddd以上のとき下のnn行分のコードが実行される
16-bit比較小
_CPY 0x4000 0x0aaaaaaa 0x00000000
_TES 0x4003 0x000000nn 0x0000dddd
アドレスaaaaaaa+0x8800000の値がdddd以下のとき下のnn行分のコードが実行される
32-bit一致
_CPY 0x8000 0x0aaaaaaa 0x00000000
_TES 0x8000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddと一致するとき下のnn行分のコードが実行される
32-bit不一致
_CPY 0x8000 0x0aaaaaaa 0x00000000
_TES 0x8001 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がddddddddと一致しないとき下のnn行分のコードが実行される
32-bit比較大
_CPY 0x8000 0x0aaaaaaa 0x00000000
_TES 0x8002 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がdddddddd以上のとき下のnn行分のコードが実行される
32-bit比較小
_CPY 0x8000 0x0aaaaaaa 0x00000000
_TES 0x8003 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値がdddddddd以下のとき下のnn行分のコードが実行される
論理積マスク判定一致
_CPY 0x8000 0x0aaaaaaa 0x00000000
_PST 0x8010 0x0000bbbb 0x00000000 //bbbb=1000~3FFC
_NWR 0x8000 0x0000bbbb 0xMMMMMMMM
_CPY 0x8000 0x0000bbbb 0x00000000
_TES 0x8000 0x000000nn 0xdddddddd
アドレスaaaaaaa+0x8800000の値とMMMMMMMMとの論理積がddddddddと一致するとき下のnn行分のコードが実行される
[ポインタコード]※基準アドレスが0x8800000以下または0xA000000以上時の場合実行されない。
4-bit書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x1000 0x0iiiiiii 0x0000000v
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値v
を基準アドレス+iiiiiiiiに書き込む
8-bit書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x2000 0x0iiiiiii 0x000000vv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vv
を基準アドレス+iiiiiiiiに書き込む
16-bit書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x4000 0x0iiiiiii 0x0000vvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvv
を基準アドレス+iiiiiiiiに書き込む
32-bit書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x8000 0x0iiiiiii 0xvvvvvvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvvvvvv
を基準アドレス+iiiiiiiiに書き込む
4-bit書き込み(オフセマイナス)
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x1100 0x0iiiiiii 0x0000000v
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値v
を基準アドレス-iiiiiiiiに書き込む
8-bit書き込み(オフセマイナス)
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x2100 0x0iiiiiii 0x000000vv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vv
を基準アドレス-iiiiiiiiに書き込む
16-bit書き込み(オフセマイナス)
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x4100 0x0iiiiiii 0x0000vvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvv
を基準アドレス-iiiiiiiiに書き込む
32-bit書き込み(オフセマイナス)
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PWR 0x8100 0x0iiiiiii 0xvvvvvvvv
アドレスaaaaaaa+0x8800000に入ってる値を基準アドレスとし値vvvvvvvv
を基準アドレス-iiiiiiiiに書き込む
ポインタシリアル書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PMA 0xB000 0x0iiiiiii 0xvvvvvvvv
_PMO 0x0000 0x0ppppppp 0xwwwwwwww
_PME 0x0000 0x0000tttt 0x00000000
アドレスaaaaaaa+0x8800000にある値を基準アドレスとし、基準アドレス+iiiiiiiからpppppppの間隔で
tttt個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する
ポインタコピー1
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PCP 0xB000 0x0iiiiiii 0x00000000
_PPS 0xB000 0x0zzzzzzz 0x00000000
基準アドレス+iiiiiiiにある値を
基準アドレス+zzzzzzzにB*4bit分だけコピー
ポインタコピー2
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PCP 0xB000 0x0iiiiiii 0x00000000
_PST 0xB000 0x0bbbbbbb 0x00000000
基準アドレス+iiiiiiiiにある値を
アドレスbbbbbbbにB*4bit分だけコピー
ポインタオフセット判定
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PCP 0x8000 0x0iiiiiii 0x00000000
_TES 0x8000 0x000000nn 0xdddddddd
基準アドレス+iiiiiiiiにある値を
ddddddddと比較して一致するとき次のnn行のコードを実行する。
多重ポインタ
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PTR 0x8T00 0x0iiiiiii 0x00000000
....
_PWR 0x8T00 0x0zzzzzzz 0xvvvvvvvv
aaaaaaa+0x8800000=ポインタアドレス、第1基準アドレスがあるところ
vvvvvvvv=書き込む値
T=オフセットの+/- 0でプラス、1でマイナス
iiiiiii=第1ベースに+/-するオフセット
....
zzzzzzz=最後+/-するオフセット(Tに依存)
第1基準アドレス=aaaaaaa+0x8800000にある値
第2基準アドレス=第1基準アドレス+/-iiiiiiiにある値
.....
最終書込アドレス=最後の基準アドレス+/-zzzzzzzになる
多重ポインタシリアル書き込み
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PTR 0x8T00 0x0iiiiiii 0x00000000
....
_PMA 0xB000 0x0zzzzzzz 0xvvvvvvvv
_PMO 0x0000 0x0ppppppp 0xwwwwwwww
_PME 0x0000 0x0000tttt 0x00000000
最後の基準アドレス+zzzzzzzからpppppppの間隔で
tttt個のアドレスにB*4bit分vvvvvvvvを書き込む。この時vvvvvvvvもwwwwwwwwずつ増加する
多重ポインタコピー1
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PTR 0x8T00 0x0iiiiiii 0x00000000
....
_PCP 0xB000 0x0zzzzzzz 0x00000000
_PPS 0xB000 0x0sssssss 0x00000000
最後の基準アドレス+zzzzzzzにある値を
最後の基準アドレス+sssssssにB*4bit分だけコピー
多重ポインタコピー2
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PTR 0x8T00 0x0iiiiiii 0x00000000
....
_PCP 0xB000 0x0zzzzzzz 0x00000000
_PST 0xB000 0x0bbbbbbb 0x00000000
最後の基準アドレス+zzzzzzzにある値を
アドレスbbbbbbbにB*4bit分だけコピー
多重ポインタオフセット判定
_PIN 0x8000 0x0aaaaaaa 0x00000000
_PTR 0x8T00 0x0iiiiiii 0x00000000
....
_PCP 0x8000 0x0zzzzzzz 0x00000000
_TES 0x8000 0x000000nn 0xdddddddd
最後の基準アドレス+zzzzzzzにある値を
ddddddddと比較して一致するとき次のnn行のコードを実行する。
[パッドコード]
_PAD 0x8000 0x000000nn 0xPPPPPPPP
PPPPPPPPはパッドの合計値(論理和OR)、nn行分実行される
_PAD 0x8001 0x000000nn 0xPPPPPPPP
ボタンを押している間だけコードが無効になる。