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
相关推荐
Logic1018 小时前
C语言/数据结构字符串题解:按字符类型重排(数字→字母→符号)——三趟扫描稳定分区
c语言·数据结构·字符串·时间复杂度·计数排序·算法题·ascii
Logic10114 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
wuminyu15 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
思麟呀17 小时前
位运算:从一个整数到一个集合
c语言·数据结构·c++·算法
SuperByteMaster19 小时前
低功耗GPIO引脚配置
c语言
phltxy19 小时前
C 语言自定义类型:结构体、位段、枚举与联合体
c语言·开发语言
女神下凡20 小时前
芯参谋(29):UFS UMCP 软件设计规范
arm开发·单片机·嵌入式硬件
大侠归来20 小时前
C语言与C++在基础语法上的区别
java·c语言·c++
cu1431 天前
细谈GM8229的具体功能与其应用
c语言·c++·人工智能·单片机
大侠归来1 天前
C语言内存管理:从栈到堆的完整指南
c语言·开发语言·python