我正在查看以下反汇编的C++代码。
auto test2 = convert<years, weeks>(2.0);
00007FF6D6475ECC mov eax,16Dh
00007FF6D6475ED1 xorps xmm1,xmm1
00007FF6D6475ED4 cvtsi2sd xmm1,rax
00007FF6D6475ED9 mulsd xmm1,mmword ptr [__real@4000000000000000 (07FF6D64AFE38h)]
00007FF6D6475EE1 divsd xmm1,mmword ptr [__real@401c000000000000 (07FF6D64AFE58h)]
我很好奇 xorps xmm1, xmm1
这条指令的作用是什么。貌似任何数与自身异或都会得到0?如果是这样,那清空寄存器的目的是什么?
注意:我的问题纯属出于好奇,我对汇编语言一窍不通。
mulPd
/divPd
.) - Peter Cordes