Visual Studioに問題があり、asmの「byteptr」を認識しません。誰かが私が代わりに何を使うべきか知っていますか?Visual Studioを使用しているのは、c ++コードの横に少しasmを実行して、処理を少し高速化したかったからです。返品についてはよくわからないので、誰かがコードをチェックすることもできます(これは単なるテストです)。そして、これは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;
}
注:「BYTEPTR」もコンパイルされません