大佬教程收集整理的这篇文章主要介绍了MASM x86 如何按升序对数组进行排序?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已成功按降序对数组进行排序,但我对如何将其按升序排序有点困惑。
我基本上也想将我的数组按升序排序,但我有点卡住了。我不知道是不是我多虑了,但我遇到了这么一个简单问题的大障碍。
这是我为将随机数数组排序为降序而编写的代码:
""" 排序列表过程
push ebp
mov ebp,esp
mov ecx,[ebp + 8]
mov esi,[ebp + 12]
dec ecx
outer_loop:
mov eax,[esi]
mov edx,esi
push ecx
inner_loop:
mov ebx,[esi + 4]
mov eax,[edx]
cmp eax,ebx
jge do_not_swap
;Else,push parameters and swap
add esi,4
push esi
push edx
push ecx
call exchange
sub esi,4
do_not_swap:
add esi,4
loop inner_loop
;End the inner loop and restore outer loop stuff
pop ecx
mov esi,edx
add esi,4
loop outer_loop
pop ebp
ret 8
排序列表ENDP """
非常感谢任何帮助!
非常感谢您抽出宝贵时间。
jge do_not_swap
jge
指令表示 JumpIfGreaterOrequal。
反转排序顺序是使用 jle
的简单问题,它代表 JumpIfLessOrequal。也就是说,如果其余的代码像你说的那样工作正常......
1 个字符的改变,物超所值!
以上是大佬教程为你收集整理的MASM x86 如何按升序对数组进行排序?全部内容,希望文章能够帮你解决MASM x86 如何按升序对数组进行排序?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。