2
        pushf       //couldnt store this in other registers 
        movd xmm0,eax//storing in xmm registers instead of   pushing
        movd xmm1,ebx//
        movd xmm2,ecx//
        movd xmm3,edx//
        movd xmm4,edi//end of push backups
        .
        .//doing work
        .
        movd edi,xmm4//pop edi
        movd edx,xmm3//pop edx
        movd ecx,xmm2//pop ecx
        movd ebx,xmm1//pop ebx
        movd eax,xmm0//pop eax
        popf

比我电脑中的 push eax 版本快 %50。这安全吗?

4

1 回答 1

4

是的,只要您(或您正在调用的某些代码)在此期间不将 XMM regs 用于其他任何事情。事实上,这个技巧在 RAM init 之前的 BIOS 代码中很常用。

于 2012-07-24T12:57:31.900 回答