Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在x86体系结构中,是否;“推送偏移量[变量名称]”;将该变量的地址推送到激活记录上?_Assembly_X86_Masm - Fatal编程技术网

Assembly 在x86体系结构中,是否;“推送偏移量[变量名称]”;将该变量的地址推送到激活记录上?

Assembly 在x86体系结构中,是否;“推送偏移量[变量名称]”;将该变量的地址推送到激活记录上?,assembly,x86,masm,Assembly,X86,Masm,如果没有,什么会被推到哪里 我正试图编写一个MASM程序,它涉及通过引用传递变量。术语“激活记录”有点不熟悉,但如果你指的是堆栈,那么是的,它会推送该变量的地址(或者确切地说,它的偏移量位于堆栈上的段中-在平面内存模型中,如在32位或64位Intel兼容平台中,即“地址”) 在一个分段的内存模型中,如使用的16位8086,它实际上是指偏移量,而不是其他。然后(所谓的“远”)地址由段和偏移量组合而成。术语“激活记录”有点陌生,但如果你指的是堆栈,那么是的,它推送该变量的地址(或者确切地说,它在所在

如果没有,什么会被推到哪里

我正试图编写一个MASM程序,它涉及通过引用传递变量。

术语“激活记录”有点不熟悉,但如果你指的是堆栈,那么是的,它会推送该变量的地址(或者确切地说,它的偏移量位于堆栈上的段中-在平面内存模型中,如在32位或64位Intel兼容平台中,即“地址”)


在一个分段的
内存模型中,如使用的16位8086,它实际上是指偏移量,而不是其他。然后(所谓的“远”)地址由段和偏移量组合而成。

术语“激活记录”有点陌生,但如果你指的是堆栈,那么是的,它推送该变量的地址(或者确切地说,它在所在的段中的偏移量—在平面内存模型中,即“地址”)在堆栈上。在所使用的8086这样的分段内存模型中,它实际上意味着偏移量。然后通过段和偏移量的组合形成地址。激活记录是函数的堆栈,在本例中是即将被调用的(“激活”),仅供参考。谢谢,@Stefano。我意识到这个词最近变得越来越流行,它的意思不仅仅是堆栈(它甚至不必在堆栈上)。但是使用“推”已经告诉我堆栈的意思。