Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
n次のような関数に適切に格納するにはどうすればよいですか?n一度使ってみたらどういうわけか変化 の価値があるから。
n
function Test(n: Integer): Byte; asm mov eax, n add eax, eax add eax, n mov ecx, eax mov ebx, eax mov ecx, n end;
関数の最初の引数nは に格納されるeaxため、次の行
eax
mov eax, n
非常に奇妙です ( に移動n) n。また、あなたが変わればeax、あなたも変わりnます。
将来の使用のために引数を保存できます (変更する必要がある可能性が高いためeax):
var tempN: integer; asm mov tempN, eax
また、IIRCでは、インラインASMを記述する際にの値を変更してはいけません。したがって、コードをと でebx囲む必要があります。push ebxpop ebx
ebx
push ebx
pop ebx