我在C中编写了以下代码,以便从中创建汇编程序代码并学习汇编程序.
我当然从一个问候世界开始,在一行中,有以下内容:
mov DWORD PTR[esp], OFFSET FLAT:.LCO
Run Code Online (Sandbox Code Playgroud)
而且LC0,它说:
.string "Hello World!"
.text
.globl main
.type main,@function
Run Code Online (Sandbox Code Playgroud)
那么,我问自己,行的含义是什么OFFSET FLAT:.LCO?当我说,我是对的,就像指向字符串的指针一样esp?所以esp现在也指向字符串hello世界?
是对的吗?因为这是合乎逻辑的.
mov DWORD PTR[esp], OFFSET FLAT:.LCO
Run Code Online (Sandbox Code Playgroud)
将 4 个字节(即 .LCO 指定的地址)移动到 ESP 指定的内存位置。