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" 
    }

私はNOOBであり、選択肢がほとんどないので、何が間違っているのかわかりません。とにかくありがとう

4

1 に答える 1