我在使用 Visual Studio 时遇到问题,它无法识别 asm 中的“byte ptr”。有谁知道我应该改用什么?我使用 Visual Studio 是因为我只想在 c++ 代码旁边做一点 asm 来加快速度。所以任何人都可以检查代码,因为我不确定返回(这只是一个测试)。这对 in 也适用于 uint 吗?
__declspec(naked) void bewerken(int letter)
{
__asm
{
push ebp
mov ebp, esp
sub esp, 1 // ruimte maken voor 1 variabele van 1 byte
mov byte ptr [eax], [ebp+8]
mov esp, ebp
pop ebp
ret
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char* bYte;
int letter;
printf_s("Voer een letter in:\n");
letter = getchar();
if (letter < 128)
{
__asm
{
push letter
call bewerken
add esp, 4
mov byte ptr bYte, eax
}
}
else
{
printf_s("Te hoog.\n");
}
getchar();
return 0;
}
注意:“BYTE PTR”也不编译