汇编_数组排序(附源代码)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

备注:源代码附后,源代码要求有注释说明

.386

.MODEL FLAT

ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD

INCLUDE io.h

cr EQU 0dh

Lf EQU 0ah

numbers EQU 10

.STACK 4096

.DA TA

prompt1 BYTE "Please entry 10 numbers.",cr,Lf,0

prompt2 BYTE "Number : ",0

number DWORD 20 dup(?) ,0

array DWORD 20 dup(?),0

prompt3 BYTE "Now the range is : " ,0

.CODE

_start:

output prompt1

lea ebx,array

mov ecx,numbers

inNum:

output prompt2

input number,20

atod number

mov [ebx] ,eax

add ebx, 4

loop inNum

output prompt3

mov ecx, numbers

cycle1:

mov dx,0

lea ebx,array

cycle2:

inc dx

cmp dx,numbers

jnl cycle3 ;不小于则转移

mov ax,[ebx]

cmp ax,[ebx+4]

jg exchange ;大于则转移

add ebx,4

jmp cycle2

exchange:

xchg [ebx+4],ax

mov [ebx],ax

add ebx,4

jmp cycle2

cycle3:

loop cycle1

mov eax,0

lea ebx,array

mov ecx,numbers forout:

mov eax,[ebx]

dtoa number,eax

add ebx,4

output [number+6]

loop forout

INVOKE ExitProcess, 0 PUBLIC _start

END

相关文档
最新文档