;这个是妹子写的,选择排序,自己也不想写了
.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