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.
您好!
我有一个小的比较:
uint16 a;
uint16 b;
这些值始终介于0和200之间。
如果(a < b)
我得到以下汇编器代码:
MMOVZ16 MR0, @0x1502 MMOVZ16 MR1, @0x8000 MLSL32 MR0, 16 MLSL32 MR1, 16 MLSR32 MR0, 16 MLSR32 MR1, 16 MCMP32 MR0, MR1
编译器发现存在无符号值。 如果有符号值、编译器将使用 MASR32。
但为什么编译器会生成 MLSL32和 MLSR32? 上部字用0x0000 (MMOVZ16)填充?
我可以对这些命令执行什么操作?
谢谢、Gerd