如何在程序集中定义堆上的变量

时间:2013-10-07 07:50:31

标签: assembly x86 x86-64

我想在堆上声明一个新变量(我不想使用堆栈)。 我该怎么做?我想知道这个指示? 假设有10个变量使用堆栈,我想改变它们的位置并将它们放在堆上。

1 个答案:

答案 0 :(得分:3)

简单回答,在C中编写一个使用getmem的简单应用程序 拿起反汇编程序并查看编译器生成的x64代码 您必须在汇编程序中重现相同的代码。

更长的回答:
没有x64指令可以将东西放在堆上,这需要大约100条指令才能完成,这就是人们调用库函数的原因。 库函数经过高度优化,因此不必费心重新发明该轮 一旦你有了内存引用,它只是一个简单的指针。汇编优于指针操作,因此应该很容易。