Assembly 未按顺序调用SSE指令
你好, 我刚开始组装,所以我不是专业人士,今天早上我已经试过这段代码Assembly 未按顺序调用SSE指令,assembly,sse,masm32,Assembly,Sse,Masm32,你好, 我刚开始组装,所以我不是专业人士,今天早上我已经试过这段代码 fItem real4 2321.3 main proc cvtss2si eax, xmm0 print str$(eax), 13, 0 movss xmm0, fItem ret main endp 我用的是masm32,所以我有打印宏, 问题是,即使打印后我将fItem移动到xmm0,eax的输出也是2321,所以我不确定会发生什么。 提
fItem real4 2321.3
main proc
cvtss2si eax, xmm0
print str$(eax), 13, 0
movss xmm0, fItem
ret
main endp
我用的是masm32,所以我有打印宏,
问题是,即使打印后我将fItem移动到xmm0,eax的输出也是2321,所以我不确定会发生什么。
提前感谢您的回答:)。很可能是未定义的行为,因为
xmm0
未初始化。它仍然打印2321的事实要么纯粹是偶然的,要么xmm0
在调用main
之前以fItem
中的值结束。这不是偶然的,因为我更改了值并仍然打印它,它可能是初始化,但我一直在查看VC11++汇编输出,无法进行任何初始化。其他地方可能有其他代码,或者在不同的对象文件中(如调用main
)的CRT),或者它可能是init段的一部分。