写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中.相关的知识,希望对你有一定的参考价值。
谢谢各位大腿0.0
小学文化不懂啥是循环队列,也不懂C语言。如果是一定地址之间循环的数组的话可以参照下我下面写的。
r4貌似要存不了这么大的数啊
汇编器 arm-none-eabi-as
.equ myarray, 0x20000018
.equ duiliechangdu, 40
ldr r0, = myarray
ldr r3, = duiliechangdu
mov r1, r3
mov r2, # 0
mov r4, # 0
dd1:
ldr r2, [r0, r1]
add r4, r4, r2
cmp r2, # 0
beq tiaochuqu
subs r1, # 4
bne dd1
mov r1, r3
b dd1
tiaochuqu:
b tiaochuqu 参考技术A 给大家推荐老谭的答案
AREA Cond_Sum,CODE,READONLY
ENTRY LDR R0,=Array MOV R4,#0
LDR R1,[R0],#4 LooPCtl
6/11页
CMP R1,#0
ADDNE R4,R4,R1 BNE LooPCtl
B Wait Wait
AREA SrcData,CODE,READONLY
DCD 0x11 DCD 0x22 DCD 0x33 DCD 0 Array
END
用arm的汇编语言,求1到50的累加和,记住是arm下的汇编语言
将一个存储空间设置为1,预先留两个存储空间,一个用来做加数,一个用来做和数。这个程序需要循环,50次。
第一条指令是设置一个循环标示,
第二条指令存将初值为1的存储空间的数取出存入加数的存储空间。
第三条指令初值为1的那个空间自增1,相加后存到和数中去。
第四条指令,判断循环是否需要结束。
扩展资料:
汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在底层,通常是程序优化或硬件操作的场合。
参考资料来源:百度百科-汇编语言
参考技术A 将一个存储空间设置为1,预先留两个存储空间,一个用来做加数,一个用来做和数。这个程序需要循环,50次。第一条指令是设置一个循环标示,第二条指令存将初值为1的存储空间的数取出存入加数的存储空间。第三条指令初值为1的那个空间自增1,相加后存到和数中去。第四条指令,判断循环是否需要结束。(指令全忘了) 参考技术B START:mov r1, #0mov r2, #50
add r1,r1,r2
sub r2,r2,#1
bnz START
以上是关于写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中.的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点# 5. Python 循环的本质就是一段代码懒得重复写
设置一个ARM汇编使用(GNU)使用c中的函数实现两数组对应位相乘后进行累加,回答详细可随意加分,如下程序:
如何通过ARM更新Azure Service Bus的队列/主题?