DIV

符号付き除算

DIV

DIVide


【構文】

DIV src, dest

 

【オペレーション】

dest = dest / src;

 

【機能】

-

destをsrcで符号付き除算し、その商をdestに格納します。商は0方向に丸められます。

-

演算は32ビットで行い、結果は32ビットで格納します。

-

除数(src)が0のとき、または演算の結果、オーバフローが発生したときのdestの値は不定です。

 

【命令フォーマット】

構文

処理

サイズ

src

dest

コードサイズ

(バイト)

DIV src, dest

L

#SIMM:8

Rd

4

L

#SIMM:16

Rd

5

L

#SIMM:24

Rd

6

L

#IMM:32

Rd

7

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

変化

条件

O:除数(src)が0のとき、または演算が-2147483648÷(-1)のとき“1”、それ以外のとき“0”になります。

 

【記述例】

    DIV     #10, R2
DIV     R1, R2
DIV     [R1], R2
DIV     3[R1].B, R2