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];这是一个有效的寻址模式,但不会做有意的事情 –