假设以 64 位模式编写的程序使用 dword 大小变量。假设我们需要在屏幕上显示它。如何在不损害健康的情况下将其转移到 rdx?下面的代码输出 0。我可以解决这个问题的唯一方法是用 qword 替换变量。
format PE64 console
include 'E:\Fresh\include\win64a.inc'
entry main1
section '.data' data readable writeable
arg dd ?
msg db '%lf',10,0
section '.text' code readable executable
main1:
and rsp,-16
mov [arg],1.0
mov edx,[arg]
mov rcx,msg
call [printf]
mov rcx,0
call [ExitProcess]
从 float 到 double 的中间转换选项: