汇编代码的.bss部分

时间:2015-01-18 15:35:13

标签: assembly nasm

我正在研究这本书:汇编语言一步一步 - 杰夫·丹特曼

以下是本书的一个例子:

Section .bss
    BUFFLEN equ 1024
    Buff: resb BUFFLEN

在本书中,.bss被解释为代码的未初始化数据部分。然而,变量BUFFLEN确实是初始化的,不是吗?我错过了什么?

汇编语境中初始化数据的含义是什么?

1 个答案:

答案 0 :(得分:3)

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

.BSS 部分不会存储在可执行文件中,与 .DATA 部分相对 因此,在Assembly的上下文中初始化的数据是可执行文件中存在的数据。它不依赖于此类数据的实际价值。