Hyb*_*rid 0 assembly masm masm32
我正在读一本汇编语言书,在那里我遇到了这一行:
Byte 4 dup('stack') ;20bytes: "stackstackstackstack"
Run Code Online (Sandbox Code Playgroud)
该指令如何运作?该指令如何为4个“堆栈”分配空间。它是如何做到这一点的呢?
该dup
指令在执行期间不会运行,仅在汇编时编码。如http://msdn.microsoft.com/en-us/library/3h2ye0a0.aspx中所述,dup
指定给定值的声明的计数。这样,
myvar1 db 4 dup('stack')
Run Code Online (Sandbox Code Playgroud)
...在汇编时间而不是执行期间将“stackstackstackstack”分配给内存地址,即myvar1
。