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");

相关推荐
小向是个Der14 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋15 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统18 小时前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light18 小时前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19681 天前
Modbus协议开发实战指南
汇编
水饺编程3 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
水饺编程3 天前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
水饺编程4 天前
第2章:Linux 基础,删除用户
linux·c语言·汇编
水饺编程5 天前
第2章:Linux 基础,切换用户
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,在 root 中创建用户账号
linux·c语言·汇编·1024程序员节