| SSCH ストリング命令 <<L1R>>,<<L1>>,<<L2>> |
【ニモニックとオペランド】
SSCH
【機能】
Search for an element in a string
ストリングのサーチ
【オプション】
/F サーチアドレスを要素サイズの分増加 /B サーチアドレスをR5の内容で更新 /ee 割出し条件(下表のニモニック参照)
【命令フォーマットと表記法】
レジスタ上のパラメータ
R0 :srcストリングの先頭アドレス R1 :要素数 R2 :割出し条件の比較値 R3 :アドレス更新値(/Rオプションに使用)
【解説】
SSCH命令はsrcストリングで割出し条件を満たす要素をサーチします。
ストリングを各要素ごとにサーチします。毎回その要素と汎用レジスタ R3に示された比較値との間で割出し条件を検査します。
割出し条件が満たされた場合、またはR2で示されるすべての数の要素がテストされた場合には、命令が終了します。
割出し条件が満たされたときにちょうどR2に示された数の要素のサーチを終了した場合には、R2が0にセットされ、F_flagがセットされます。
実行中に外部割込みを受け付けたときには、レジスタの内容が処理が完了した点まで更新されています。
/Fオプションを指定した場合、R0はsrcストリングのアドレスを示し、各要素をサーチするつど要素サイズだけ増加します。/Rオプションを指定した場合には、アドレスはR5の内容だけ増加します。命令が完了したとき、R0の内容は最後にサーチした要素のアドレスに要素サイズ(/Fオプションの場合)またはR5の内容(/Rオプションの場合)を加えたアドレスを示します。
R2の内容はサーチのつど1だけ減少します。
・/Fオプションを指定した場合
![]()
【フラグ変化】
【発生EIT】
RIE sx = 11 RIE eeee ≧ 0111
【使用例】
アドレスH'00008000から16バイトごとに配置された最大65535の4バイトの要素がサーチされます。H'00000000以外の要素が検出されると、命令が終了します。