ARM 二进制 MUL 和数据操作之间的区别

Difference between ARM binary MUL and Data Manipulation

好的,所以我知道 muladdsub 等之间的区别

我要问的是二进制文件(我需要为项目制作一个 ARM 模拟器)。

如果数据处理指令的 I 位为零,并且 OpCode 为 0b000X,我相当确定你可以得到一个中间为 0b1001 的 Operand2,这将给出数据处理指令与MUL指令格式相同。

那么在解释时如何区分这些指令呢?

您无法分辨出其中的区别,而且更常见的是,并非这些指令实际执行相同的操作,例如乘以 1、2,这与左移等同。

在MUL指令中,4-7位的1001很重要。在数据处理中,它将第 4 位或第 7 位设置为零。