36位存储在DWORD中? (x86汇编MASM)

时间:2016-03-05 08:59:47

标签: assembly x86 masm

.data
source DWORD 20 DUP(0FFFFFFFFh)
target DWORD 20 DUP(?)
.code
...

以上代码摘自Kip Irvine最新的第7版第355页。显然,20x36位存储在32位?

1 个答案:

答案 0 :(得分:4)

0FFFFFFFFh是32位。你在一些编译器上添加前导零,但它仍然是32位。

0Fh = 1111二进制,4位。

00000000Fh仍然是二进制的1111。

DUP 20只是说DWORD重复20次,所以source分配给0FFFFFFFFh的20个DWORD,而目标只分配给20个未初始化值的DWORD。我假设代码将继续将数据从源复制到目标。