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

相关推荐
菜菜why2 天前
详细解析单片机启动汇编文件:以startup_stm32f407xx.s为例
汇编·单片机·嵌入式硬件·嵌入式软件
马里奥的蘑菇云3 天前
ARM GCC内联汇编
汇编·arm
AI迅剑4 天前
模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》
汇编·c++
代码改变世界ctw5 天前
ARM汇编编程(AArch64架构)第13课:多核启动与调度
汇编·arm开发·架构
代码改变世界ctw5 天前
ARM汇编编程(AArch64架构)课程 - 第9章:原子操作与同步
汇编·arm开发·架构
代码改变世界ctw6 天前
2.2 TF-A在ARM生态系统中的角色
汇编·arm开发·安全·trustzone·atf·optee
baynk6 天前
逆向入门(9)汇编篇-bound指令的学习
汇编·学习
无小道7 天前
c++--typedef和#define的用法及区别
c语言·开发语言·汇编·c++
代码改变世界ctw9 天前
ARM汇编编程(AArch64架构)课程 - 第5章函数调用规范
汇编·arm开发·架构
liulilittle9 天前
C/C++ inline-hook(x86)高级函数内联钩子
c语言·开发语言·汇编·c++·hook·底层·钩子