所以我有一个任务,我必须使用写为内联汇编函数的冒泡排序对动态分配的数组进行排序。问题是我的汇编函数不适用于动态分配的数组。
int *array;
array=new int[N]; //N=number of elements
for(int i=0;i<N;i++)
{
//generate random numbers
}
N--;
__asm {
outer_loop:
xor edx, edx
lea esi, array
mov ecx, N
inner_loop:
mov eax, [esi]
mov ebx, [esi+4]
cmp eax, ebx
jae next_pair
mov [esi], ebx
mov [esi+4], eax
add edx, 1
next_pair:
add esi,4
dec ecx
jnz inner_loop
test edx, edx
jnz outer_loop
}
for(int t=0;t<5;t++)
{
cout<<array[t]<<" "; // it get's stuck here "Unhandled exception"
}
我不知道我做错了什么,因为我是个菜鸟,而且我有点别无选择,所以是的。不管怎么说,还是要谢谢你