【发布时间】:2020-12-04 11:33:32
【问题描述】:
我无法理解align。
我尝试运行以下命令:
section .data
align 4
xs: dw 0xA1A2
ys: db 0xB1, 0xB2, 0xB3, 0xB4
看看每个字节是什么,我希望它是内存中的一个连续块,如下所示:
for instance: 4 5 6 7 8 9 A B
(addr divisible by 4):[0xA2, 0xA1, 0x0, 0x0, 0xB1, 0xB2, 0xB3, 0xB4]
为了让ys的地址能被4整除 相反,它更像是:
4 5 6 7 8 9
(addr divisible by 4):[0xA2, 0xA1, 0xB1, 0xB2, 0xB3, 0xB4]
显然我对 align 的工作原理有一个误解。有谁能帮我解惑?
【问题讨论】:
-
你知道
dw是一个2字节的“单词”,对吧?你会从dd 0xa1a2得到你所期望的,它的高 2 个字节为零。
标签: assembly x86 nasm memory-alignment