我有一個方法(C++),它返回一個字符並將字符數組作爲其參數。在嵌入式x86彙編中使用數組?
我第一次搞亂大會,只是試圖返回數組的第一個字符在dl寄存器。這是我到目前爲止有:
char returnFirstChar(char arrayOfLetters[])
{
char max;
__asm
{
push eax
push ebx
push ecx
push edx
mov dl, 0
mov eax, arrayOfLetters[0]
xor edx, edx
mov dl, al
mov max, dl
pop edx
pop ecx
pop ebx
pop eax
}
return max;
}
出於某種原因,怎麼回事這個方法返回一個♀
任何想法?由於
另外,從你的asm語法中,我猜你正在使用Visual Studio。你明白,你不需要推送和彈出你將要使用的寄存器。 Visual Studio自動執行此操作,因此您將使用的堆棧空間加倍... – Goz 2010-04-13 08:28:41
@Mark V. - 僅供參考,您可以使用'pusha'和'popa'來推送* all *和pop * all *寄存器。 – IAbstract 2010-04-15 15:58:38