2011-12-25 56 views
1

当我拆解我的C代码时,我看到以下内容。这段代码究竟做了什么?它与浮点数有关吗?这个汇编代码是做什么的?

movsd (%rdx,%rax,8),%xmm0 
mulsd %xmm0,%xmm0 
movsd %xmm0,0x30(%rsp) 
+1

好的,是的。没有搜索'mulsd'告诉你你在做什么? – Mat 2011-12-25 12:33:10

+0

我对知道什么是xmm0感兴趣。 – MetallicPriest 2011-12-25 12:48:22

+0

它正方形一个数字:xmm0 = *(rdx * 8 + rax); XMM0 * = XMM0; RSP [的0x30] = xmmm0; – flownt 2011-12-25 12:48:57

回答

7

它一个数的平方:

xmm0=*(rdx*8+rax); 
xmm0*=xmm0; 
rsp[0x30]=xmmm0; 

XMM0是一个浮点寄存器。