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
相关推荐
Escalating_xu4 小时前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
Code_Solitude5 小时前
c语言:递归
java·c语言·算法
万年咸鱼5 小时前
解决C语言的内存释放机制
java·c语言·python
老王爱玩车7 小时前
自定义类型:结构体
c语言·开发语言·学习
陌上花开缓缓归以8 小时前
系统启动失败纪要
arm开发
Logic1018 小时前
C语言/数据结构字符串题解:最短循环节——找出能重复构成原串的最短基础子串
c语言·数据结构·字符串·枚举·时间复杂度·算法题·kmp优化
我就是不信8 小时前
CuTest:轻量级 C 语言单元测试框架实战指南
c语言·单元测试·log4j
我是场9 小时前
我的NPI项目之-Touch的EE特性
android·arm开发
Gust of wind9 小时前
串与KMP模式匹配:存储结构、基本操作、next数组手算
c语言·数据结构·后端·算法
Navigator_Z9 小时前
LeetCode //C - 1283. Find the Smallest Divisor Given a Threshold
c语言·算法·leetcode