标题:想请教一下这段代码的错误是不是如同我想的那样
只看楼主
oped02
Rank: 2
等 级:论坛游民
帖 子:39
专家分:20
注 册:2022-10-16
结帖率:100%
已结贴  问题点数:20 回复次数:2 
想请教一下这段代码的错误是不是如同我想的那样
找错误.txt (440 Bytes)

这段代码应该是用来实现将一个给定大小的数组(长度为十)进行从小到大的冒泡排序
题目说这里面有两个错误
我找到了两个但感觉不是特别确认
第一个是如果使用了si和di的话,应该使用串指令来取代mov
第二个是后面LEN*2那个*2应该要去掉,不然感觉会越界
搜索更多相关主题的帖子: 越界 冒泡排序 指令 代码 错误 
2022-12-24 11:04
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:20 
1.
MOV BX, ARRAY[DI+1] ; 应该是 MOV BX, ARRAY[DI+2] ,因为数组是word,相邻的元素差2,不是1
MOV ARRAY[DI+1], AX  ;应该是 MOV ARRAY[DI+2], AX ,同上,但可以视为同一错误

2.
CMP DI, LEN*2 ; 应该是  应该是CMP DI,(LEN-1)*2, 数组个数=10,  内圈比较只须9次 (数组个数-1)
2022-12-25 17:13
oped02
Rank: 2
等 级:论坛游民
帖 子:39
专家分:20
注 册:2022-10-16
得分:0 
回复 2楼 Valenciax
谢谢您的解答
这样看来我对汇编的理解还是很淡薄
祝您圣诞节快乐
2022-12-25 21:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511005-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.297231 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved