我有问题,这是我的代码示例,这是一个示例
.model flat, stdcall
.xmm
.data
array dword 9.0, 6.0, 3.0, 6.0, 8.0, 4.0, 3.0, 4.0, 3.0
.code
cholesky PROC
mov eax, [array]
ret ;return array through eax
cholesky endp
end
此代码编译为DLL,我想返回指向第一个数组元素的指针。现在它返回0x41100000并且在单精度浮点数中表示9.0,但是如何返回该数组的第一个元素的地址?
我试图改变
mov eax, [array]
到
mov eax, array
或
mov eax, dword ptr [array]
但仍无效果。
答案 0 :(得分:0)
您需要使用LEA
(加载有效地址)来获取内存地址的地址,而不是存储在该地址中的值:
LEA eax, [array]