;这个是妹子写的,选择排序,自己也不想写了
.386
.MODEL FLAT
INCLUDE io.h
includelib Kernel32.lib
ExitProcess PROTO NEAR32 stdcall,dwExitCode:DWORD
cr EQU 0dh
Lf EQU 0ah
num EQU 5
.STACK 4096
.DATA
prompt BYTE "Please enter a number: ", 0
number BYTE 20 DUP(?)
sum DWORD 0
sum1 DWORD 0
Array DWORD num DUP(?)
nbrElts DWORD ?
label1 BYTE cr,Lf, "The second number is"
result1 BYTE ‘ ‘,0
result2 BYTE 11 DUP(?)
BYTE ‘ ‘,0
.CODE
_start:
mov nbrElts,0
lea ebx,Array
whilePos:
output prompt
input number,20
atod number
mov [ebx] ,eax
inc nbrElts
cmp nbrElts,5
jnl body1
add ebx,4
jmp whilePos
body1:
dec nbrElts
lea ebx,Array
mov sum1,0
body2:
lea ebx,Array
mov ecx, nbrElts
body3:
mov eax,[ebx]
mov sum,eax
add ebx,4
mov eax,[ebx]
cmp sum,eax
jg body4
loop body3
jmp body5
body4:
mov edx,sum
mov sum,eax
mov eax,edx
mov [ebx],eax
mov eax,sum
sub ebx,4
mov [ebx],eax
add ebx,4
loop body3
jmp body5
body5:
inc sum1
mov eax,sum1
cmp eax,nbrElts
jnl body6
jmp body2
body6:
lea ebx,Array
output label1
mov ecx,num
body7:
mov eax,[ebx]
dtoa result2,eax
output result2
add ebx,4
loop body7
INVOKE ExitProcess, 0
PUBLIC _start
END
原文:http://blog.csdn.net/zzucsliang/article/details/24546943