0
所以我正在学习程序集,我写了一个程序来总结我在'data_type'中定义的值。装配初学者:设置一个变量等于DCD中的值的数量?
大气压我有手动设置变量“NUM”等于值的“DATA_TYPE”的数量,以确保环总结它们。
我想知道是否有更好的方法来做到这一点?
或者,如果有声明变量“民”动态地承担起“DATA_TYPE”值量的方法吗?
在此先感谢!
AREA Sum loop, CODE, READONLY
ENTRY
num EQU 5
Reset_Handler
LDR r1, =data_values
MOV r5,#num
loop
LDR r2,[r1],#4
ADD r3,r3,r2
SUBS r5,r5,#1
BNE loop
data_values
ALIGN 4
DCD 1, 1, 1, 1, 1 ; example values
END
不确定你的汇编程序,但:1)如果'data_values'没有对齐会发生什么?如果它与其他汇编程序的工作方式类似,data_values符号将具有未对齐的地址值,而DCD将定义对齐的数据,因此您的代码将对错误的数据字节进行非对齐访问。我相信你应该交换这两个,首先对齐,然后定义符号标签。 2)'BNE'后会发生什么?或者你只是在调试器中运行它,不要让它超出你定义的代码? – Ped7g
好的,谢谢,现在就换掉它们。使用Keil工具。 我只是在调试器中运行它到BNE,因为它只是一个学习练习,你有什么建议如何实现我以上要求的? – ohkneel