X86汇编语言(四)
来源:互联网 发布:mac做app开发 编辑:程序博客网 时间:2024/05/21 08:37
快速排序的非递归实现
include Irvine32.incarraySize = 250000.dataarray DWORD arraySize dup(?)pivot DWORD ?starttime dword ?.codemain PROCcall Randomizemov ecx,arraySizemov esi,0mov eax,arraySizeL1:call Random32mov array[esi*type array],eaxinc esiloop L1call GetMsecondsmov starttime,eaxmov eax,0mov ebx,arraySize -1call quickSortcall GetMsecondssub eax,starttimecall WriteIntcall Crlfexitmain endpPartition procpushadmov edx,array[eax*type array]L1:cmp eax,ebxjae stopL2:cmp eax,ebxjae L3cmp array[ebx*type array],edxjl L3dec ebxjmp L2L3:mov ecx,array[ebx*type array]mov array[eax*type array],ecxL4:cmp eax,ebxjae L5cmp array[eax*type array],edxjg L5inc eaxjmp L4L5:mov ecx,array[eax*type array]mov array[ebx*type array],ecxjmp L1stop:mov array[eax*type array],edxmov pivot,eaxpopadretPartition endpquickSort procpushad.datatemp DWORD 0.codemov temp,esppush eaxpush ebxL1:cmp esp,tempje stoppop ebxpop eaxcall Partitiondec pivotcmp eax,pivotjge L2push eaxpush pivotL2:add pivot,2cmp ebx,pivotjle L3push pivotpush ebxL3:jmp L1stop:popadretquickSort endpEND main
使用汇编语言实现的非递归的快速排序程序,其中,使用eax与ebx传递待排数组下标范围。
阅读全文
0 0
- X86汇编语言(四)
- 80x86汇编语言学习笔记(四)
- 80X86汇编语言程序设计教程(杨季文)习题答案四
- X86汇编语言(前言)
- x86汇编语言(一)
- x86汇编语言(二)
- x86汇编语言(三)
- x86汇编语言(五)
- 杨季文 80x86汇编语言程序设计 实例四
- X86 汇编语言
- 汇编语言程序设计(四)
- 80x86汇编语言学习笔记(一)
- 80x86汇编语言学习笔记(三)
- 程序的加载和执行(四)——《x86汇编语言:从实模式到保护模式》读书笔记24
- 任务和特权级保护(四)——《x86汇编语言:从实模式到保护模式》读书笔记35
- 简明x86汇编语言教程
- X86汇编语言学习手记
- 简明x86汇编语言教程
- JS概念理解(二)——this
- 权限系统与RBAC模型概述
- 东软JavaWeb实训记-DAY7-小组项目开发实践(c:ForEach+SVN共享+开发流程+注意事项)
- 部署网站出错,定义了重复的“entityFramework”节点
- JMeter的堆大小如何设置?
- X86汇编语言(四)
- 温故java基础
- Lucene学习笔记(4)
- nginx服务器2
- pyplot.subplot 及 imshow绘图 去除坐标轴及调整子图间距
- MongoDB数据库的索引管理
- linux $问题研究
- 谈谈我对PMP的一点点感受
- 如何使用ZeroBrane Studio 调试cocos2dx-Lua代码