注册 登录
编程论坛 汇编论坛

C语言 汇编混编的问题

赖卓成 发布于 2019-05-30 17:50, 1354 次点击
程序代码:
#include<stdio.h>
int main()
{
        int i;
        int a[]={5,-8,9,4,1};
        int *sort(int *p);
        for(i=0;i<=4;i++)
        {
                printf("\t%d",sort(a));
                 
        }
        printf("\n");
        return 0;
}

 
        int *sort(int *p)
        {        
                int n=5;
                _asm
                {
                        lea ebx,p
                        mov ecx,n
                        dec ecx
loop1:                mov edx,ecx
                        mov esi,0
loop2:                mov eax,[ebx+esi]
                        cmp eax,[ebx+esi+4]
                        jge next
                        xchg eax,[ebx+esi+4]
                        mov [ebx+esi],eax
next:                add esi,4
                        loop loop2
                        mov ecx,edx
                        loop loop1
                }
                return p;
        }

汇编代码没有问题, 不使用函数的时候可以实现排序,但是要把排序写成函数 则出错,是数组传参出现问题了吗 还是怎么回事呢,各位帮忙看看 帮忙修改,谢谢
1 回复
#2
赖卓成2019-05-30 18:03
论坛凉了?
1