汇编数据寻址 little endian 是如何工作的?
assembly data addressing how does little endian work?
.data
x dw 7A6H, 30B0H
y db 20H
z dw 1, 2, 3
.code
mov ax, @data
mov ds, ax
lea si, y
mov bl, [si+2]
寄存器bl的值为0,这是为什么呢? z dw数组不应该是2吗?
不,应该是零。数据布局如
x y z
A6 07 B0 30 20 01 00 02 00 03 00
所以[y+2]是0。
在高级语言中,我们有将大小考虑在内的索引操作。大会不会那样做。
.data
x dw 7A6H, 30B0H
y db 20H
z dw 1, 2, 3
.code
mov ax, @data
mov ds, ax
lea si, y
mov bl, [si+2]
寄存器bl的值为0,这是为什么呢? z dw数组不应该是2吗?
不,应该是零。数据布局如
x y z
A6 07 B0 30 20 01 00 02 00 03 00
所以[y+2]是0。
在高级语言中,我们有将大小考虑在内的索引操作。大会不会那样做。