汇编masm32将地址返回值

时间:2016-01-12 20:16:22

标签: assembly x86 masm masm32

我有问题,这是我的代码示例,这是一个示例

.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]

但仍无效果。

1 个答案:

答案 0 :(得分:0)

您需要使用LEA(加载有效地址)来获取内存地址的地址,而不是存储在该地址中的值:

LEA eax, [array]