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以降の命令セットを指定した場合にアセンブルできます。

 

【命令フォーマット】

構文

対象

コードサイズ

(バイト)

src

Adest

RDACL src, Adest

#IMM:1

(IMM:1 = 1〜2)

A0, A1

3

Adestには、ACC0の場合A0、ACC1の場合A1を指定してください。

 

【フラグ変化】

フラグは変化しません。

 

【記述例】

RDACL  #1, A1
RDACL  #2, A0