做什么:
ORRS R1,R3 吗?
只是R1 | = R3,可能设置N或Z标志吗?
这可能是显而易见的,但我没有找到任何描述ORR助记符而没有操作数2的文档。
非常感谢您的反馈。
-b。
答案 0 :(得分:3)
这是Thumb指令。在16位Thumb操作码中,您只能使用两个操作数,而不能获得额外的operand2
。
正如您猜测的那样,R1 |= R3
。 S
标志的存在表明该指令是If-Then块的一部分(Thumb具有什么,而不是正确的ARM条件执行); ORR
和ORRS
生成相同的操作码,仅因上下文而异。
答案 1 :(得分:3)
在ARM汇编中,目标寄存器(Rd)与源寄存器(Rn)相同的指令可以省略Rd。所以它们是相同的,并将组装成完全相同的指令。
orrs r1, r1, r3
orrs r1, r3
add r1, r1, #5
add r1, #5
等等。
答案 2 :(得分:1)
它可能在armv7m trm或它自己的trm中,但它们有一个,我不记得术语统一,汇编语言,所以
添加r0,r3
将为手臂和拇指组装,对于拇指,它就像手臂一样,上面相当于添加r0,r0,r3。对于拇指你没有得到三个寄存器选项,但功能隐含r0 = r0 + r3。