0
그래서 할당이 어디 동적으로 할당 된 배열 인 버블 정렬 인라인 어셈블리 함수로 작성된. 문제는 내 어셈블리 함수가 동적으로 할당 된 배열에서 작동하지 않는다는 것입니다.인라인 어셈블리로 작성된 버블 정렬 알고리즘을 사용하여 동적으로 할당 된 배열을 정렬하는 방법은 무엇입니까?
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"
}
내가 멍청한 놈이고 나는 참으로 그렇게 선택의 여지가 좀이기 때문에 내가 잘못 알고하지 않습니다. 당신이 MASM 구문을 사용하고, 내 컴파일러는 GCC입니다 비주얼 스튜디오를 이용해야하기 때문에 덕분에 어쨌든