我正在学习这本书:汇编语言循序渐进-Jeff Duntemann

这是本书的一个例子:

Section .bss
    BUFFLEN equ 1024
    Buff: resb BUFFLEN


在书中,.bss被解释为代码的未初始化数据部分。但是变量BUFFLEN确实是初始化的,不是吗?我想念的是什么?

在组装环境中初始化数据的含义是什么?

最佳答案

BUFFLEN将是一个编译时符号,其值为1024。在编译时,它将仅由NASM临时存储在其内部表中。它不会存储在可执行文件中。

.BSS节不会像.DATA节所反对的那样存储在可执行文件中
因此,在Assembly上下文中的初始化数据是可执行文件中存在的数据。它不取决于此类数据的实际值。

10-08 06:58