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
相关推荐
dvvvvvw4 分钟前
*菱形.c
c语言
C语言小火车22 分钟前
C/C++ 指针全面解析:从基础到进阶的终极指南
c语言·开发语言·c++·指针
张丶大帅2 小时前
别踩白块游戏(附源代码)
c语言·游戏
无限进步_4 小时前
C语言单向链表实现详解:从基础操作到完整测试
c语言·开发语言·数据结构·c++·算法·链表·visual studio
十五年专注C++开发5 小时前
libdatrie: 一个高效的 基于双数组字典树(Double-Array Trie)的C语言函数库
c语言·开发语言·trie
侯小啾5 小时前
【23】C语言 左移(<<) 与 右移(>>) 位运算符在处理像素中的应用
c语言·算法·位运算·右移·左移
EXtreme356 小时前
C语言自定义类型详解:结构体、联合体、位段与内存对齐实战指南
c语言·结构体·内存对齐
福尔摩斯张8 小时前
C语言核心:string函数族处理与递归实战
c语言·开发语言·数据结构·c++·算法·c#
liu****8 小时前
5.C语言数组
c语言·开发语言·c++
chenzhou__9 小时前
LinuxC语言并发程序笔记(第二十天)
linux·c语言·笔记·学习