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 ebx和包围您的代码pop ebx。
ebx
push ebx
pop ebx