我目前正在按照 Kip Irvine 的“x86 处理器的汇编语言”学习汇编编程。在第 3.4.12 节中,作者指出:
该
.DATA?指令声明未初始化的数据。当定义大量未初始化数据时,该.DATA?指令会减少编译程序的大小。例如,以下代码被高效地声明:Run Code Online (Sandbox Code Playgroud).data smallArray DWORD 10 DUP(0) ; 40 bytes .data? bigArray DWORD 5000 DUP(?) ; 20,000 bytes, not initialized另一方面,以下代码生成的编译程序大 20,000 字节:
Run Code Online (Sandbox Code Playgroud).data smallArray DWORD 10 DUP(0) ; 40 bytes bigArray DWORD 5000 DUP(?) ; 20,000 bytes
我想在程序编译后查看每个版本代码的内存占用情况,这样我就可以亲自看到效果.data?,但我不确定如何做到。