如何解决使用循环查找数组的最大值和最小值
我已经编写了以下代码,一切都应该很好。它假设使用循环在大小为 4 的数组中找到最大和最小值。
我设置了循环,除了我的输出之外的所有内容都不正确。我在第 46 行有一个错误,当将数组加载到寄存器 X11 时,我得到了很大的奇怪数字,导致整个计算出错。
请看看您是否可以建议修复此代码。
//X0 Array,X17 number of runs,X11 Biggest,X12 Smallest
ADR X0,v
LDR X17,=4
LDR X11,[X0],#3
MOV X12,X11
loop:
**LDR X11,#3 //Line 46**
//LSL X11,X0,#3
CMP X12,X11
BLT loop1
SUB X17,X17,#1
CMP X17,#1
BEQ exit
BGT loop
loop1:
MOV X12,X11
SUB X17,#1
BEQ exit
BGT loop
我正在使用 DS-5 IDE,以防万一。
解决方法
LDR X11,[X0],#3
读取 64 位值 (Xregister),并通过 #3
进行后递增?
我非常怀疑 3Bytes != 64bit。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。