【发布时间】:2014-10-06 14:05:56
【问题描述】:
假设我有一个这样的delphi函数:
procedure sortArray(arr: array of DWORD); register;
asm
//access array here
end;
如何访问内联汇编中数组的特定元素?我已经知道 arr 实际上由 2 个参数组成:指向数组的指针及其 High(),但我需要确切地知道它是如何工作的。我假设指针将在 eax 和 ebx 中的高值,但我不太确定。
procedure sortArray(arr: array of DWORD); register;
asm
mov DWORD PTR [eax+$4], $09 //set the second element of arr to 9 ???
end;
顺便说一句。如果有人想知道:我在汇编中这样做是因为
a) 我想提高我的 asm 技能
b) 我必须为学校做这件事,并且想让它变得不那么无聊
【问题讨论】:
-
您可以在使用 CPU 调试窗口时自行确定。
-
我不是试错学习的忠实粉丝。阅读文档应该是第一步。为什么要求助于逆向工程?
标签: delphi assembly delphi-7 inline-assembly calling-convention