我正在研究这本书:汇编语言一步一步 - 杰夫·丹特曼
以下是本书的一个例子:
Section .bss
BUFFLEN equ 1024
Buff: resb BUFFLEN
在本书中,.bss被解释为代码的未初始化数据部分。然而,变量BUFFLEN确实是初始化的,不是吗?我错过了什么?
汇编语境中初始化数据的含义是什么?
答案 0 :(得分:3)
BUFFLEN 将是一个编译时符号,其值为1024.在编译时,它只会由NASM临时存储在其内部表中。它将无法存储在可执行文件中。
.BSS 部分不会存储在可执行文件中,与 .DATA 部分相对 因此,在Assembly的上下文中初始化的数据是可执行文件中存在的数据。它不依赖于此类数据的实际价值。