服装网站建设发展状况,php网站怎么建设,博山做网站公司,免费国外服务器推荐文章目录 B.NE 指令格式CBNZ 指令格式 上篇文章#xff1a;ARM 常见汇编指令学习 3 – ARM64 无符号位域提取指令 UBFX 下篇文章#xff1a;ARM 常见汇编指令学习 5 – arm64汇编指令 wzr 和 xzr B.NE 指令格式
B.NE labelB.NE指令的含义是#xff1a;如果上一个指… 文章目录 B.NE 指令格式CBNZ 指令格式 上篇文章ARM 常见汇编指令学习 3 – ARM64 无符号位域提取指令 UBFX 下篇文章ARM 常见汇编指令学习 5 – arm64汇编指令 wzr 和 xzr B.NE 指令格式
B.NE labelB.NE指令的含义是如果上一个指令的结果不等于零即条件标志位Z为0那么跳转到指定的地址。如果结果等于零则继续执行下一个指令。
wait_rd:ldr x7, 0x18ac0000ldr w9, [x7, #0x0]ubfx w9, w9, #0 #1cmp w9, #0x1b.ne wait_rddsb syisb上面汇编代码是判断 w9 与 0x1 是否相等cmp 指令可以直接影响 CPSR 寄存器的Z标识位条件位比较结果为 0 时Z位置1比较结果为非0时Z位为0。跳转指令时根据上一条指令的执行结果来决定跳转。
CBNZ 指令格式
32-bit variant
cbnz Wt, label64-bit variant
cbnz Xt, label其中 Wt 和 Xt 是通用寄存器寄存器的号码可以是 0-31。当这个寄存器的值非零时那么执行跳转到的地址为当前PClabel 偏移地址。 move x0, #0x5000
wait_nop:nopsubs x0, x0, #0x1cbnz x0, wait_nop如上面汇编代码是使用汇编写的延时代码在代码中判断 寄存器 x0 减去1之后是否为0如果不为0那么继续跳转到wait_nop标签处。
上篇文章ARM 常见汇编指令学习 3 – ARM64 无符号位域提取指令 UBFX 下篇文章ARM 常见汇编指令学习 5 – arm64汇编指令 wzr 和 xzr