使用STM32F107芯片.
使用IAR编译器.
代码如下:
MOV R1,#0xFFFF
ADD R1,R1, #0xFF ;ADD 支持8位立即数的加法
ADDW R1,R1, #0xFFF ;ADDW 支持12位立即数的加法
ADDS.N R1,R1, #0xFF ;.N操作数常数,该常数范围是8位常数,0x00~0xFF
;ADDS.W R1,R1, #0xFFF ;这里编译出错?
ADDS.W R1,R1, #0x10000 ;但为什么这个也不出错.
看到在ADDS.W操作数为一个常数时.
0xFFF 出错
0x10000 不出错.
这里0x10000的数肯定大于0xFFF的,但为什么会这样呢??? |