第二部 トロン仕様チップ命令詳細第十二章 キュー操作命令
QINS
キュー操作命令 <<L1R>>,<<L1>>,<<L2>>

【ニモニックとオペランド】

QINS entry, queue

【機能】

Insert entry into queue
キューへエントリを挿入

【オプション】

なし

【命令フォーマットと表記法】

【解説】

 QINS命令では、entryオペランドが新しいエントリのアドレスを指定し、queueオペランドが新しいエントリを挿入する直前の既存のキューエントリのアドレスを指定します。TRON仕様では、キューの任意の場所にエントリを挿入できます。
 QINS命令の実行手順を以下に詳述します。QINS実行前と実行後のキューの状態を示します。以下に示すキューエントリは便宜のために付番してあります。

(1) queue エントリ直前のエントリ
(2) queueオペランドで指定するエントリ(queue エントリ)
(3) queue エントリ直後のエントリ
(4) entryオペランドで指定するエントリ


手順

 以下に示すように、entryで指定する新しいエントリの前方リンク後方リンクにそれぞれqueueエントリ(2)とエントリ(1)のアドレスをセットします。

 さらに、以下に示すように、エントリ(1)の前方リンクとqueueエントリ(2)の後方リンクにentryで指定する新しいエントリのアドレスをセットします。

 queueオペランドで指定する既存のエントリがキューヘッダである場合には、entryオペランドで指定する新しいエントリがキューの最終エントリとして挿入されます。さらに、キューヘッダが挿入前の唯一のエントリ(空キュー)である場合には、Z_flagがセットされます。

【フラグ変化】


【発生EIT】

RIE entry [Gen-IRS/mx], queue [Gen-IRS/mx]のアドレッシングモード違反

【使用例】



 汎用レジスタR0の内容を先頭アドレスとするキューエントリを、R1の内容を先頭アドレスとするキューエントリの直前に挿入します。