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.

[参考译文] TMS320F28379D:CLA 比较

Guru**** 2207170 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1019049/tms320f28379d-cla-compare

器件型号:TMS320F28379D

您好!

我有一个小的比较:

uint16 a;
uint16 b;
这些值始终介于0和200之间。

如果(a < b)

我得到以下汇编器代码:

Fullscreen
1
2
3
4
5
6
7
MMOVZ16 MR0, @0x1502
MMOVZ16 MR1, @0x8000
MLSL32 MR0, 16
MLSL32 MR1, 16
MLSR32 MR0, 16
MLSR32 MR1, 16
MCMP32 MR0, MR1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

编译器发现存在无符号值。 如果有符号值、编译器将使用 MASR32。

但为什么编译器会生成 MLSL32和 MLSR32? 上部字用0x0000 (MMOVZ16)填充?
我可以对这些命令执行什么操作?

谢谢、Gerd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您将此问题通知我们。  我可以重现类似的结果。  我提交了 EXT_EP-10481条目  以进行调查。  欢迎您通过该链接访问该链接。

    谢谢、此致、

    乔治