ORRS R1, R3 do?
它只是R1 |= R3,可能设置N或Z标志?
这可能是显而易见的,但我还没有找到任何文档描述ORR助记符没有 operand2。
欢迎反馈。
- b .
这是Thumb指令。在一个16位Thumb操作码中,你只能容纳两个操作数,你不会得到额外的operand2
。
正如您所猜测的,它执行R1 |= R3
。S
标志的存在表明该指令是If-Then块的一部分(Thumb有什么而不是适当的ARM条件执行);ORR
和ORRS
产生相同的操作码,只是上下文不同。
在ARM汇编中,目的寄存器(Rd)与源寄存器(Rn)相同的指令可以省略Rd,因此它们是相同的,并且将组装成完全相同的指令。
orrs r1, r1, r3
orrs r1, r3
add r1, r1, #5
add r1, #5
它可能在armv7m术语中或它自己的术语中,但它们有一个,我不记得术语统一,汇编语言,所以
add r0,r3
将对手臂和拇指进行组合,对于拇指,对于手臂,如上所述等于添加r0,r0,r3。对于拇指,您没有得到三个寄存器选项,但功能是隐含的r0=r0+r3