0
我的任務是使用嵌入到C中的程序集在數組中找到最小的字母。我不知道如何訪問數組中的每個元素。我試着用搜索引擎,我發現,有些人在做以下幾點:將一個數組元素移動到一個寄存器組件
MOV ECX,arrayOfLetters
,然後遞增ECX訪問每個元素。這是正確的還是我寫的是正確的?
請幫忙,我很困惑。
char findMinLetter(char arrayOfLetters[], int arraySize)
{
char min;
__asm{
push eax
push ebx
push ecx
push edx
mov dl, 0x7f // initialize DL
xor ebx, ebx //EBX started off as 0
//moves letters from array to registers
mov ecx, arrayOfLetters[ebx]
mov edx, arrayOfLetters[ebx+1]
另外mov ecx,_localvar_ + offset + [ebx]將是完全合法的組合(取決於彙編程序)。這將轉換爲mov ecx,[offset_X + ebp + ebx];這是一個有效的尋址模式,但不會做有意的事情 –