UTOF

整数→浮動小数点数変換 【V2.01.00以降】

UTOF

Integer TO Floating-point


【構文】

UTOF src, dest

 

【オペレーション】

dest = (float) (unsigned long) src;

 

【機能】

srcに格納された符号なしロングワード(32ビット)整数を単精度浮動小数点数に変換し、その結果をdestに格納します。結果はFPSWのRM[1:0]ビットに従って丸められます。00000000hは丸めモードに関係なく、“+0”として扱われます。アセンブルオプション-isaを用いてRXv2以降の命令セットを指定した場合にアセンブルできます。

 

【命令フォーマット】

構文

処理

サイズ

対象

コードサイズ

(バイト)

src

dest

UTOF src, dest

L

Rs

Rd

3

L

[Rs].memex

Rd

3 (memex == UB)

4 (memex != UB)

L

dsp:8[Rs].memex(注)

Rd

4 (memex == UB)

5 (memex != UB)

L

dsp:16[Rs].memex(注)

Rd

5 (memex == UB)

6 (memex != UB)

弊社の「RXファミリアセンブラ」では、ディスプレースメントの値(dsp:8、dsp:16)は、サイズ拡張指定子が“.W”または“.UW”のときは2の倍数、“.L”のときは4の倍数を指定してください。dsp:8には、サイズ拡張指定子が“.W”または“.UW”のとき0〜510(255×2)が、“.L”のとき0〜1020(255×4)が指定できます。dsp:16には、サイズ拡張指定子が“.W”または“.UW”のとき0〜131070(65535×2)が、“.L”のとき0〜262140(65535×4)が指定できます。命令コードには、1/2、1/4した値が埋め込まれます。

 

【フラグ変化】

フラグ

C

Z

S

O

CV

CO

CZ

CU

CX

CE

FV

FO

FZ

FU

FX

変化

条件

Z:演算の結果が“+0”のとき“1”、それ以外のとき“0”になります。

S:“0”になります。

CV:“0”になります。

CO:“0”になります。

CZ:“0”になります。

CU:“0”になります。

CX:精度異常が発生したとき“1”、それ以外のとき“0”になります。

CE:“0”になります。

FX:精度異常が発生したとき“1”、それ以外のときは変化しません。

FXフラグは、例外処理許可ビットEXが“1”の場合は変化しません。S、Zフラグは、例外処理が発生した場合は変化しません。

 

【記述例】

UTOF  R1, R2
UTOF  [R1], R2
UTOF  16[R1].L, R2