Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ARM v7或不带操作数2的助记符_Arm_Assembly_Mnemonics - Fatal编程技术网

ARM v7或不带操作数2的助记符

ARM v7或不带操作数2的助记符,arm,assembly,mnemonics,Arm,Assembly,Mnemonics,什么是: R1,R3是什么 是否只是R1 |=R3,可能设置N或Z标志 这可能是显而易见的,但我还没有发现任何文档描述没有操作数2的ORR助记符 非常感谢您的反馈 -b、 这是一个指令。在16位Thumb操作码中,只能容纳两个操作数,不能获得额外的操作数2 正如您所猜测的,它确实R1 |=R3。S标志的存在表明该指令是If-Then块的一部分(Thumb所拥有的而不是正确的ARM条件执行)ORR和ORR生成相同的操作码,只因上下文不同而不同。它可能在armv7m trm或它自己的trm中,但它们

什么是:

R1,R3是什么

是否只是R1 |=R3,可能设置N或Z标志

这可能是显而易见的,但我还没有发现任何文档描述没有操作数2的ORR助记符

非常感谢您的反馈

-b、 这是一个指令。在16位Thumb操作码中,只能容纳两个操作数,不能获得额外的
操作数2


正如您所猜测的,它确实
R1 |=R3
S
标志的存在表明该指令是If-Then块的一部分(Thumb所拥有的而不是正确的ARM条件执行)
ORR
ORR
生成相同的操作码,只因上下文不同而不同。

它可能在armv7m trm或它自己的trm中,但它们有一个,我不记得统一的术语,汇编语言,所以

加上r0,r3


将为手臂和拇指装配,对于拇指,与手臂一样,上述等同于添加r0、r0、r3。对于thumb,您没有三个寄存器选项,但其功能是隐含的r0=r0+r3。

在ARM汇编中,目标寄存器(Rd)与源寄存器(Rn)相同的指令可以省略Rd。因此,它们是相同的,并且将汇编为完全相同的指令

orrs r1, r1, r3
orrs r1, r3

add r1, r1, #5
add r1, #5
等等