arm 汇编调用C

arm64 汇编调用C函数

main.s

c 复制代码
.section .text
.globl main
main:
        stp     x29, x30, [sp, -16]!  //store fp x29 lr x30

        mov x0, #0
        mov x1, #1
        bl add
		mov x1, x0   // x0 return 
        ldp  x29, x30, [sp], 16  //restore fp lr
        ret

add.c

c 复制代码
#include <stdio.h>
int add(int a, int b)
{
    printf("a=%d,b=%d\n",a,b);
    return a+b;
}

编译

c 复制代码
gcc -g main.s add.c

调试

c 复制代码
gdb a.out
b main
相关推荐
xx~t25 分钟前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
老当益壮梁奶奶1 小时前
Linux软件编程学习笔记(七):线程分离与线程间通信详解
linux·c语言·c++·笔记·学习
zbyyd4 小时前
Linux 多线程:互斥锁 &amp; 信号量
linux·c语言·开发语言·网络
深念Y5 小时前
登录日志与管理员审计日志存储决策
前端·arm开发·后端·微服务·云原生·架构
水饺编程6 小时前
第5章,[Win32 章节] :绘图模式
c语言·c++·windows·visual studio
典典分享指南6 小时前
飞书 + 企业微信 + 微信文档多端协同实践指南
汇编·flask·intellij-idea·fastapi
码行山野赴时序归途8 小时前
从暴力到最优:三道 C 语言入门题的解法思路
c语言·开发语言·数据结构·算法·leetcode·排序算法
sunoo-2298 小时前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
小雪崩8 小时前
嵌入式学习 day33:线程进阶
linux·c语言·学习
SuperByteMaster10 小时前
ARM Architecture Procedure Call Standard(ARM架构过程调用标准)
c语言