【发布时间】:2015-05-09 23:19:15
【问题描述】:
所以当我为我的问题寻找答案时,我看到了这篇文章: Modifying a character array, the modified part shows up backwards
假设我有一个数组:
.data
array .quad 0,0,0,0
要修改数组中的数据,我需要使用以下代码:
lea rbx, array
mov QWORD PTR[rbx], 1
mov QWORD PTR[rbx-8], 2
mov QWORD PTR[rbx-16], 3
mov QWORD PTR[rbx-24], 4
如果这是正确的,它会产生1, 2, 3, 4吗?
【问题讨论】:
-
不,您需要使用正偏移量。链接问题中的问题是 dword 中的字节顺序(字节序)。
-
好吧,但是获取有效地址并将其用作访问数组中数据的基指针的逻辑,他们只是修改该指针是我应该做的吗?
-
行得通,是的,但是对于编译时地址,您可以只写诸如
mov qword ptr [array+8], 2之类的东西
标签: assembly 64-bit x86-64 masm