arm 汇编基础指令

实现1-100求和

cs 复制代码
.text
.globl _start
 
_start:
	mov r0, #1         @ i,i=1
	mov r1, #100       @ 条件变量i<=100
	mov r2, #0         @ sum
	
Loop:                  @ 循环
	cmp r0,r1          @ 比较r0和r1的大小
	bhi stop           @ 当r0>r1时,跳到stop标签
	add r2,r2,r0       @ r2 = r2 + r0  ---> sum=sum+i
	add r0,#(0x1 << 0) @ i++
	b Loop             @ 跳转到Loop标签下的第一条指令,达到循环效果
	
stop:
	b stop	

exit:
    mov r7, #1      @ 设置exit系统调用号为1
    mov r0, r2      @ 设置退出码为求和结果
    swi 0           @ 调用系统调用	

运行结果

r2=0x13BA=5050

相关推荐
ShiMetaPi11 小时前
GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:13 PN532 NFC读卡案例
arm开发·fpga开发
哈哈浩丶15 小时前
ATF (ARM Trusted Firmware) -2:完整启动流程(冷启动)
android·linux·arm开发·驱动开发
哈哈浩丶15 小时前
ATF (ARM Trusted Firmware) -3:完整启动流程(热启动)
android·linux·arm开发
哈哈浩丶15 小时前
ATF (ARM Trusted Firmware) -1:综述
linux·arm开发·驱动开发
fly的fly15 小时前
浅析 QT远程部署及debug方案
qt·物联网·arm
ShiMetaPi1 天前
GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:11 RS485读写案例
arm开发·fpga开发·rk3568
winfreedoms1 天前
ROS2机械臂——黑马程序员ROS2课程上课笔记(3)
arm开发·笔记
rfidunion1 天前
ubuntu下使用qemu模拟ARM(二)
linux·arm开发·ubuntu
乔宕一2 天前
arm-none-eabi-gcc 工具链自带的 libstdc++ 库会将 throw 的异常对象创建在堆上
arm开发
ShiMetaPi2 天前
GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:10 以太网测试案例
网络·arm开发·fpga开发·rk3568