一文搞懂 ARM 64 系列: ADD(立即数版)

汇编中,加法指令很重要,因为它是执行其他很多指令的基础。

同时,加法指令也会影响NZCV标志。有关NZCV的介绍,可以参看《一文搞懂 ARM 64 系列: ADC》。

ARM64汇编中,ADD指令有3种形式,这里介绍第一种形式,也就是与立即数相加。

1 指令语法

ADD <Xd|SP>, <Xn|Sp>, #imm{, shift}

{}里的内容表示是可选的。

shift表示LSL(逻辑左移)的位数,有2个取值,一个是0,一个是120是其默认值。

所谓LSL(逻辑左移),是指将数值整体向左移动,低位补0。如果高位被移出去,直接丢弃。

image

2 指令语义

整个指令就是将源寄存器<Xn|SP>,与立即数imm(如果有必要,需要进行LSL)相加,将结果写入目的寄存器<Xd|SP>

注意,这条指令不影响NZCV标志。

(<Xd|SP>, _) = <Xn|Sp> + imm << shift
posted @ 2024-11-15 01:36  chaoguo1234  阅读(115)  评论(0编辑  收藏  举报