在执行子例程代码后,可以使用 BX lr 指令返回。按照约定,寄存器 r0 到 r3 用于将参数传递给子例程,并且 r0 还用于将结果传递回调用方。
在这里插入图片描述
ALU 状态标记
APSR (应用程序状态寄存器)包含下列 ALU 状态标记
N 当运算结果为负值时设置此标记。
Z 当运算结果为零时设置此标记。
C 当运算导致进位时设置此标记。
V 当运算导致溢出时设置此标记。
如果加法的结果大于或等于 2的32次方,减法的结果为正值,或者是移动或逻辑指令中 的内嵌滚筒式移位器运算的结果导致进位,则会产生进位。
如果加法、减法或比较的结果大于或等于 2的31次方 或小于 -2的31次方 ,则会发生溢出。