当前位置: 代码迷 >> 汇编语言 >> 一个 数组排序程序,返回值有关问题
  详细解决方案

一个 数组排序程序,返回值有关问题

热度:3212   发布时间:2013-02-26 00:00:00.0
一个 数组排序程序,返回值问题
一个数组排序 的程序,编译,链接 通过,但 运行 结果不对。想调用一个子程序 实现排序。但估计 是返回值有问题,初学者,不懂怎么改了,请高手 赐教。
Assembly code
.386.model flatExitProcess proto near32 stdcall, dwexitcode:dword       ;include io.h ;cr equ 0dh;lf equ 0ah;values equ 10;.stack 4096;.data;prompt1   byte "This program will arrange the number:",cr,lf,lf   ;prompt2   byte "Now  Enter  the  ten number"cr,lf ;   value     DWORD 16 dup (?) ,0arry      DWORD 16 dup (?) ,0 import3   byte  "The order is:",0                         ;.codeRANGE  PROC NEAR32Forin:   input  value,16 ;   atod   value   mov    [ebx],eax   ;   add    ebx,4  ;   loop   Forin    ;     output  import2 ;   mov     ecx,values ;First:   mov    dx,0   ;   lea    ebx,arry    ;Second:   inc    dx    ;   cmp    dx,values;   jnl    Thrid   ;   mov    ax,[ebx]   ;   cmp    ax,[ebx+4]  ;   jg     Exchange   ;   add    ebx,5      ;   jmp    Second     ;Exchange:   xchg   [ebx+4],ax   mov    [ebx],ax   ;   add     ebx,4   ;   jmp     Second   ;Thrid:     loop    First    ;   mov     eax,0    ;   lea     ebx,arry  ;   mov     ecx,values  ;ret   RANGE  ENDP_start:   output prompt1  ;   output ptompt2  ;   lea    ebx,arry    mov    ecx,values      call   range  ;Forout:   mov     eax,[ebx];   dtoa    value,eax;   add     ebx,4  ;   output  value  ;   loop    Forout   ;invoke    ExitProcess,0 ; public _start ;end
  相关解决方案