RDACL
|
符号付きアキュムレータ丸め処理 【V2.01.00以降】
|
RDACL
|
Round Down ACcumulator Long Word
|
【構文】
RDACL src, Adest
【オペレーション】
signed 72bit tmp;
tmp = (signed 72bit) Adest << src;
if (tmp > (signed 72bit) 007FFFFFFF00000000h)
Adest = 007FFFFFFF00000000h;
else if (tmp < (signed 72bit) FF8000000000000000h)
Adest = FF8000000000000000h;
else
Adest = tmp & FFFFFFFFFF00000000h;
【機能】
- | アキュムレータの値に対してロングサイズで丸めを行い、その結果をアキュムレータに格納します。 |
- | RDACL命令は、以下のような手順で実行されます。 |
処理1. アキュムレータの値を、srcで指定したビット数分(1ビットまたは2ビット)、左シフトします。
処理2. 1ビットまたは2ビットの左シフトを行った64ビットの値に従って、アキュムレータの値が変化します。
- | アセンブルオプション-isaを用いてRXv2以降の命令セットを指定した場合にアセンブルできます。 |
【命令フォーマット】
|
|
|
|
|
RDACL src, Adest
|
#IMM:1
(IMM:1 = 1〜2)
|
A0, A1
|
|
注 | Adestには、ACC0の場合A0、ACC1の場合A1を指定してください。 |
【フラグ変化】
フラグは変化しません。
【記述例】
RDACL #1, A1
RDACL #2, A0
|