对于某些项目,我需要绘制汇编代码的内存图。我知道在汇编语言中“?”表示值未初始化。但是当我输入“?”时,内存中究竟会发生什么?
让我们看看下面的代码
.data
ABC byte 8
ABC byte ?
ABC byte 7
在我的内存图中,我是否应该将“?”值替换为零,还是保留这些块中的先前值?
答案1
但是当我输入“?”时内存中究竟发生了什么?
没有答案,因为值未定义!
为数据分配了一些空间,但其值未初始化(或未定义)。
换句话说,它可以包含任何内容(该内存地址处已有的随机数据)。
这意味着如果您想从该内存中读取数据,并希望读取有意义的数据,则必须首先对其进行写入。