コンピュータ命令セットアーキテクチャ (ISA)において、繰り返し命令は、別の命令を一定回数、または何らかの条件が満たされるまで繰り返し実行する マシン言語命令です。
実行命令と同様に他の命令を操作する命令であるため、メタ命令に分類されている。[1]
コンピュータモデル
Univac 1103(1953)には、次の命令を一定回数実行し、その命令のアドレスフィールドの1つまたは両方を増分する可能性のある繰り返し命令(オペコードニーモニック:RPjnw )が含まれています。 [2]これは、アーキテクチャのインデックスレジスタの欠如を補います。[3]
GE -600 / Honeywell 6000シリーズ(1964年)は、単一命令繰り返し(RPT)、二重命令繰り返し(RPTD)、およびリンクリスト繰り返し(RPL)をサポートしています。[4] [5]
8086以降の x86 ISA には、一連の特殊用途の繰り返し命令 ( REP(∅/E/Z/NE/NZ) ) が含まれています。これは「繰り返し文字列操作プレフィックス」と呼ばれ、少数の文字列命令 ( INS、OUTS、MOVS、LODS、STOS、CMPS、SCAS ) にのみ適用できます。これらの命令は操作を繰り返し、カウンタをゼロになるまでデクリメントします。また、特定の条件が満たされると停止することもあります。[6]
テキサスインスツルメンツのTMS320デジタル信号プロセッサ(1983)には、単一サイクル命令または2つの単一サイクル命令を並列に繰り返す命令(RPT)と、命令ブロックを繰り返す命令(RPTC)が含まれています。これらは、特別なブロック繰り返しカウンタレジスタ(BRC0、BRC1)を使用します。[7]
セマンティクス
実行される命令または命令ペアは繰り返し命令の後に続く。命令内のフィールドによってループ終了条件が決定される。[5] TMS320の場合、最大64Kバイトのブロックを繰り返すことができる。[7]
注記
- ^ Rossman, George E. (1975 年 12 月). 「コンピュータハードウェアアーキテクチャの研究コース」. IEEE Computer . 8 (12): 44–63. doi :10.1109/CM.1975.218835. S2CID 977792.、50ページ
- ^ リファレンスマニュアル: Univac Scientific 1103A コンピュータ(PDF) . Remington Rand Univac. 1956. p. 30.
- ^ Conrad Weisert、「1960 年の旧式コンピュータのシミュレーション」、第 1 部: メイン プロセッサ [1]
- ^ GE-635 システムマニュアル(PDF) . General Electric Computer Department. 1964 年 7 月. p. A-6.
- ^ ab GE-625/635 プログラミングリファレンスマニュアル(PDF)。General Electric Information Systems。1964 年 7 月。
- ^ Intel Corporation、「命令セットリファレンス」、Intel 64 および IA-32 アーキテクチャソフトウェア開発者マニュアル、注文番号 253667-060US、2016 年 9 月、2B :4-550 全文
- ^ ab クオ、センマウ (2003).リアルタイム デジタル信号処理: TMS320C55X の実装、アプリケーション、および実験。 清华大学出版社有限公司。 67~68ページ。ISBN 978-7-302-07700-8。
