ARM v7 ORRS 助记符(无操作数2)
是什么
ORRS R1、R3 的作用
?是否只是 R1 |= R3,可能设置 N- 或 Z 标志?
这可能是显而易见的,但我还没有找到任何描述 ORR 助记符没有操作数2的文档。
非常感谢您的反馈。
-b。
What does:
ORRS R1, R3 do?
Is it just R1 |= R3, possibly setting the N- or Z flags?
This might be blatantly obvious, but I haven't found any documentation that describes the ORR mnemonic without operand2.
Feedback is greatly appreciated.
-b.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个 Thumb 指令。在 16 位 Thumb 操作码中,您只能容纳两个操作数,而不会获得额外的
operand2
。正如您所猜测的,它的作用是
R1 |= R3
。S
标志的存在表明该指令是 If-Then 块的一部分(Thumb 具有的内容,而不是正确的 ARM 条件执行);ORR
和ORRS
生成相同的操作码,仅上下文不同。It's a Thumb instruction. In a 16-bit Thumb opcode you can only fit the two operands, you don't get the extra
operand2
.As you guessed, it does
R1 |= R3
. TheS
flag's presence indicates this instruction is part of an If-Then block (what Thumb has instead of proper ARM conditional execution);ORR
andORRS
generate the same opcode and differ only by context.在 ARM 汇编中,目标寄存器 (Rd) 与源寄存器 (Rn) 相同的指令可以省略 Rd。所以它们是相同的并且将汇编成完全相同的指令。
等等。
In ARM assembly, instructions where the destination register (Rd) is the same as the source register (Rn) can omit Rd. So these are the same and will assemble to exactly the same instruction.
and so on.
它可能在armv7m trm或它自己的trm中,但他们有一个,我不记得术语统一,汇编语言,所以
添加r0,r3
将为arm和thumb汇编,对于thumb,它与上面的arm一样相当于加上 r0,r0,r3。对于拇指,您没有获得三个寄存器选项,但隐含了功能 r0=r0+r3。
It may be in the armv7m trm or its own trm, but they have a, I dont remember the term unified, assembly language, so
add r0,r3
will assemble for both arm and thumb, for thumb it is as is for arm the above equates to add r0,r0,r3. For thumb you dont get the three register option, but the functionality is implied r0=r0+r3.