OpenEuler树莓派基础实验 20212802范辰宇

该实验教程涵盖了在ARM64架构下,通过汇编语言在树莓派Linux系统中查找最大数的实践。包括独立的汇编函数实现、C语言调用汇编函数、汇编调用C函数以及GCC内联汇编的使用。实验旨在提升对ARM64汇编语言的理解和应用能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.2 实验 3-2:汇编语言练习——查找最大数
1.实验目的
通过本实验了解和熟悉 ARM64 汇编语言。
2.实验要求
使用 ARM64 汇编语言来实现如下功能:在给定的一组数中查找最大数。程序可使GCC(Aarch64 版本)工具来编译,并且可在树莓派 Linux 系统或者 QEMU + ARM64 实验平台上运行。

.section .data
.align 3
my_data:
        .quad 1
        .quad 2
        .quad 5
        .quad 8
        .quad 10
        .quad 12

my_data_count:
        .quad 6

.align 3    
print_data:
        .string "big data: %d\n"

.section .text
.globl main
main:
        stp x29, x30, [sp, -16]!

        ldr x0, =my_data
        ldr x1, my_data_count

        add x4, x0, #40

        mov x3, xzr
1:
        ldr x2, [x0], #8
        cmp x2, x3
        csel x3, x2, x3, hi

        cmp x0, x4
        b.ls 1b

        ldr x0, =print_data
        mov x1, x3

        bl printf

        ldp x29, x30, [sp], 16
        ret

运行结果:

调试信息:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值