汇编_数组排序(附源代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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