标题:C语言 汇编混编的问题
只看楼主
赖卓成
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-5-30
 问题点数:0 回复次数:1 
C语言 汇编混编的问题
程序代码:
#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;
        }

汇编代码没有问题, 不使用函数的时候可以实现排序,但是要把排序写成函数 则出错,是数组传参出现问题了吗 还是怎么回事呢,各位帮忙看看 帮忙修改,谢谢
搜索更多相关主题的帖子: C语言 汇编 混编 int mov 
2019-05-30 17:50
赖卓成
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-5-30
得分:0 
论坛凉了?
2019-05-30 18:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495012-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.193653 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved