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; }
汇编代码没有问题, 不使用函数的时候可以实现排序,但是要把排序写成函数 则出错,是数组传参出现问题了吗 还是怎么回事呢,各位帮忙看看 帮忙修改,谢谢