【ARM汇编学习实例】汇编语言程序设计(顺序、分支、循环、子程序)

本文档详细介绍了如何在32位有符号数环境下,使用寄存器R0和R1实现Y值的计算,并针对正数、负数和0进行测试。此外,还展示了如何计算从1到10的累加和S,存储于寄存器R0中。通过实例代码和调试过程,帮助读者理解指令操作和算法实现。
摘要由CSDN通过智能技术生成

实验内容

(1)已知32位有符号数X存放在寄存器R0中,要求实现:
在这里插入图片描述
其中Y的值存放在寄存器R1中。(X分别取正数、负数和0进行测试)
(2)计算S的值,S=1+2×3+3×4+4×5+…+N(N+1),直到N等于10为止。将S保存在寄存器R0中。

(1)已知32位有符号数X存放在寄存器R0中,要求实现:其中Y的值存放在寄存器R1中。(X分别取正数、负数和0进行测试)

在这里插入图片描述

代码实现

	AREA test1,CODE,READONLY
	ENTRY
    CODE32
START	
	MOV R0,#-2
	CMP R0,#0
	BEQ ZERO		
	BGT PLUS
	MOV R1,#-1
	B FINISH
ZERO	
	MOV R1,#0
PLUS	
	MOV R1,#1
	B FINISH
FINISH	
	B START
	END

Debug

在这里插入图片描述

(2)计算S的值,S=1+2×3+3×4+4×5+…+N(N+1),直到N等于10为止。将S保存在寄存器R0中。

代码实现

	AREA test2,CODE,READONLY
	ENTRY
	CODE32
START  	
	MOV R0,#1             
	MOV R1,#2             
REPEAT 	
	ADD R2,R1,#1          
	MUL R3,R2,R1          
	ADD R0,R0,R3          
	ADD R1,R1,#1          
	CMP R1,#10            
	BLE REPEAT            
	B START
	END

Debug

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逃离地狱的恶魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值