我第一次玩x86程序集,我无法弄清楚如何对数组进行排序(通过插入排序)..我理解算法,但汇编令我困惑,因为我主要使用Java和C++.到目前为止我所拥有的一切
int ascending_sort( char arrayOfLetters[], int arraySize )
{
char temp;
__asm{
push eax
push ebx
push ecx
push edx
push esi
push edi
//// ???
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,这只会让我听起来像一个完全白痴,但我甚至无法改变_asm中任何数组的值
为了测试它,我把:
mov temp, 'X'
mov al, temp
mov arrayOfLetters[0], temp
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误C2415:不正确的操作数类型
所以我试过了:
mov temp, 'X'
mov al, temp
mov BYTE PTR arrayOfLetters[0], al
Run Code Online (Sandbox Code Playgroud)
这符合,但它没有改变阵列......