ARM64基础2:在C语言调用ARM64汇编函数

本文展示了如何在C语言中调用汇编实现的函数,通过一个简单的比较数据的例子,演示了在`aarch64`架构下,使用`gcc`编译器将C源文件和汇编源文件编译运行的过程。最终输出了比较结果并调用了汇编实现的函数。
摘要由CSDN通过智能技术生成

如题,通过C语言代码调用汇编实现的函数

1.创建两个文件:compare.S和main.c

compare.S

.section .text
.globl compare_data
compare_data:
        cmp x0, x1
        csel x0, x0, x1, hi //若x0>1则返回x0, 否则返回x1
        ret

main.c文件

#include <stdio.h>

extern int compare_data(int a, int b); //extern导入compare_data函数声明

int main()
{
        int val;

        val = compare_data(5, 6); //调用汇编函数

        printf("big data: %d\n", val);
}

2.编译

aarch64-linux-gnu-gcc -o main main.c compare.S --static -g

3.运行

# ./main
big data: 6
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值