第二部 トロン仕様チップ命令詳細第十一章 ストリング命令
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以外の要素が検出されると、命令が終了します。