cmpf.d, cmpf.s


-

デバイスのcmpf.d,cmpf.s命令は,“cmpf.* fcond, reg2, reg1, fcbit”の形式です。

asrhでは,“cmpffcond.* reg2, reg1, fcbit”の形式も指定できます。cmpffcondに指定可能な記述と,意味を表 5.29に示します。

 

表 5.29

cmpffcond命令一覧

命令

定義

説明

アセンブル結果

cmpff.*

FALSE

常に偽

cmpf.* 0x0

cmpfun.*

Unordered

reg1, reg2の少なくとも一方が非数

cmpf.* 0x1

cmpfeq.*

reg2 = reg1

いずれも非数ではなく,かつ等しい

cmpf.* 0x2

cmpfueq.*

reg2 ?= reg1

少なくとも一方が非数か,等しい

cmpf.* 0x3

cmpfolt.*

reg2 < reg1

いずれも非数ではなく,かつより小さい

cmpf.* 0x4

cmpfult.*

reg2 ?< reg1

少なくとも一方が非数か,より小さい

cmpf.* 0x5

cmpfole.*

reg2 ≦ reg1

いずれも非数ではなく,かつより小さいか,等しい

cmpf.* 0x6

cmpfule.*

reg2 ?≦ reg1

少なくとも一方が非数か,より小さいか,等しい

cmpf.* 0x7

cmpfsf.*

FALSE

常に偽

cmpf.* 0x8

cmpfngle.*

Unordered

reg1, reg2の少なくとも一方が非数

cmpf.* 0x9

cmpfseq.*

reg2 = reg1

いずれも非数ではなく,かつ等しい

cmpf.* 0xA

cmpfngl.*

reg2 ?= reg1

少なくとも一方が非数か,等しい

cmpf.* 0xB

cmpflt.*

reg2 < reg1

いずれも非数ではなく,かつより小さい

cmpf.* 0xC

cmpfnge.*

reg2 ?< reg1

少なくとも一方が非数か,より小さい

cmpf.* 0xD

cmpfle.*

reg2 ≦ reg1

いずれも非数ではなく,かつより小さいか,等しい

cmpf.* 0xE

cmpfngt.*

reg2 ?≦ reg1

少なくとも一方が非数か,より小さいか,等しい

cmpf.* 0xF

備考

?:Unordered(比較不能)

 

[記述例]

cmpfeq.s r10, r11, 0                 ; cmpf.s 0x2, r10, r11, 0 と同じ