我的程序,
x=x+1; //x是一个float
看反汇编代码:
008037 E2AF MOV32 R0H, *-SP[2], UNCF
008039 E88F ADDF32 R0H, #0x3f80, R0H
00803B 7700 NOP
00803C E203 MOV32 *-SP[2], R0H
其中,ADDF32与一本叫《TMS320C28x Extended Instruction Sets Technical Reference Manual》书中的例子不同。
; Add to R3H the value -2.5 in 32-bit floating-point format
ADDF32 R2H, #-2.5, R3H ; R2H = -2.5 + R3H
NOP ; Delay for ADDF32 to complete
; <-- ADDF32 completes, R2H updated
NOP ;
书中的例子要求跟两个NOP,前面的反编译只有一个NOP。
但是反编译中地址08003A的内容不见了。是CCS藏起一个NOP吗?