ARM base instruction -- b.cs

B

Branch causes an unconditional branch to a label at a PC-relative offset, with a hint that this is not a subroutine call or return.

在PC相对偏移处对标签进行无条件分支,并提示这不是子程序调用或返回。

操作码 助记符 标志 含义

0x2 0010 CS/HS C = 1 无符号数大于或等于

402c88: f9401fe2 ldr x2, [sp, #56] // x2="%s/%d/task/%d/stat"

402c8c: 2a1c03e5 mov w5, w28 // w5=w28=tid

402c90: f94047e1 ldr x1, [sp, #136] // x1=len

402c94: 2a1303e4 mov w4, w19 // w4=w19=pid

402c98: aa1a03e3 mov x3, x26 // x3=x26="/proc"

402c9c: 97fffb91 bl 401ae0 <snprintf@plt>

int nbytes = snprintf(path, len, "%s/%d/task/%d/stat", "/proc", pid, tid);

402ca0: b94013e1 ldr w1, [sp, #16] // w1 = len

402ca4: 6b01001f cmp w0, w1 // w0 = nbytes

402ca8: 54000a02 b.cs 402de8 <ferror@plt+0xf08> // b.hs, b.nlast

if (nbytes < 0 || nbytes >= len)

perror("get_threadname: snprintf");

相关推荐
向你扔鸡爪9 小时前
29912分页
汇编·windows
2401_858286111 天前
51.【C语言】字符函数和字符串函数(strcpy函数)
c语言·开发语言·汇编
洛寒瑜4 天前
【读书笔记-《30天自制操作系统》-18】Day19
c语言·开发语言·汇编·笔记·学习·操作系统·文件读取
大山很山4 天前
关于单片机的【汇编指令系统】
汇编·单片机
看星星的派大星4 天前
通过 汇编 分析 结构体
linux·汇编
xiaozhiwise4 天前
ARM 全局变量更换基址寄存器
汇编
halcyonfreed6 天前
2.3.1 协程设计原理与汇编实现coroutine
汇编
看星星的派大星6 天前
第二期: 第三节 裸机代码如何烧写
linux·汇编
c沫栀6 天前
汇编语言第一次作业
汇编
maray9 天前
Dance with Compiler - EP3 ARM64 汇编传参约定以及 restrict 汇编分析
汇编