首页
社区
课程
招聘
6
[旧帖] [原创]一个堆排序的简单实现(masm版本) 0.00雪花
发表于: 2012-6-6 21:07 2072

[旧帖] [原创]一个堆排序的简单实现(masm版本) 0.00雪花

2012-6-6 21:07
2072

前几天发了同题的一篇帖子,给出了c语言版本的堆排序,今天给出masm版本,聊作练习



.386


.model flat, stdcall



include windows.inc


include user32.inc


include kernel32.inc



includelib kernel32.lib


includelib user32.lib


includelib msvcrt.lib



printf PROTO C :VARARG


getchar proto C



.data


array                dd 0 ,4,1,3,2,16,9,10,14,8,7


szMessage                db "%d ",0



.code



start:


       


        call main


       


        call getchar



main proc


        LOCAL i:DWORD


        LOCAL j:DWORD


        LOCAL len:DWORD


       


        xor edx, edx


        mov eax, sizeof array


        mov bx, sizeof DWORD


       


        div bx


       


        mov len, eax


       


        mov eax, len


        mov bx, 2


        div bx


       


        mov i, eax


       


        .while   i >= 1


                push len


                push i


                call HeapAdjust


               


                dec i


        .endw


       



        mov eax, len


        dec eax


        mov j, eax


       



        .while   j>=1


               


                invoke printf, offset szMessage, array[4]


                mov ecx, j


                mov eax, array[ecx*4]


                mov array[4], eax


               


                push j


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 6
支持
分享
赞赏记录
参与人
雪币
留言
时间
伟叔叔
为你点赞~
2024-5-31 05:01
心游尘世外
为你点赞~
2024-5-31 01:45
QinBeast
为你点赞~
2024-5-31 01:35
飘零丶
为你点赞~
2024-3-28 04:24
shinratensei
为你点赞~
2024-1-30 01:43
PLEBFE
为你点赞~
2023-3-7 00:42
最新回复 (0)
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册