使用printf打印指针数组引用的值

时间:2013-05-15 20:31:57

标签: assembly 64-bit

该图显示了我如何将10字节元素数组的地址作为指针数组的值加载。我想打算对这个数组进行排序。

现在,我一直试图取消引用这些存储的地址,使用c ++ printf函数将实际数组值打印到该Ptr数组的屏幕上。

通过调用printf打印出元素数组没有问题,看起来像

fld tword [Array] 
fstp tword [rsp]
mov rsi,rsp 
mov rdi, "String which is defined above %Lf ..." 
call printf

如果我的数组值包含指针地址,那么做任何与此类似的想法?

enter image description here

1 个答案:

答案 0 :(得分:0)

printf仍然期望你的浮点值在堆栈上,所以(在我的头顶上)可能类似于

mov rax, offset [Pts]
fld tword [rax] 
fstp tword [rsp]
mov rsi,rsp 
mov rdi, "String which is defined above %Lf ..." 
call printf