This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MMOVI32 MRa, #32FHex

请问,TI28035手册里有关于MMOVI32 MRa, #32FHex 的描述

#32Fhex is a 32-bit immediate hex value that represents the IEEE 32-bit floating-point
value of a floating-point number. The assembler will only accept a hex immediate value.
That is, 3.0 can only be represented as #0x40400000. #3.0 will result in an error 

怎么理解上面的那段 话呢?   例如 MMOVI32 MRa, #3.0   这么写是不对的,需要写MMOVI32 MRa, 0X40400000    如果 是这样的话,那3.0如何 与 0X40400000   对应的呢?

  • #32FHex表示IEEE32位浮点值的32位立即数值

    MMOVI32 MRa, #32FHex 使用立即数装入32位浮点寄存器的32位

    其中MRa表示浮点寄存器MR0-MR3

    此指令只接受十六进制值作为立即数操作数。要使用浮点表示法指定立即数值,需要使用MMOVF32 MRa, #32F

    #32FHex是一个32位立即十六进制值,表示浮点数的IEEE32位浮点值。汇编器将仅接受十六进制立即数值。也就是说,3.0只能表示为#0x40400000。 #3.0将导致错误。

    关于3.0与 0X40400000 的对应,您可以看一下

    IEEE754标准 单精度(32位)/双精度(64位)浮点数解码

    blog.csdn.net/.../75095781