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

相关推荐
JAVA面经实录91714 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
Quincy_Freak15 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
凉、介1 天前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
zlinear数据采集卡2 天前
从协议解析到波形实时显示:硬核拆解ZLinear采集卡上位机软件的开发架构
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
奔跑的架构师2 天前
[A-48]ARMv9/v8-电源状态管理机制(PSCI协调机制)
android·linux·arm开发·arm
想你依然心痛2 天前
RT-Thread组件生态:SAL网络框架与AT组件实战——网络抽象、AT指令
网络·arm开发·at·sal
凉、介2 天前
KVM + QEMU 虚拟化
笔记·学习·嵌入式·arm·qemu·虚拟化·kvm
secondyoung3 天前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm
c++之路3 天前
C++跨平台(九):跨平台字节序统一处理
开发语言·arm开发·c++
阿米亚波20 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm