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

私のコンピュータのプッシュeaxバージョンよりも%50高速です。これは安全ですか?

4

1 に答える 1

4

はい、あなた (またはあなたが呼び出しているコード) がその間に XMM regs を他の目的で使用しない限り。実際、このトリックは RAM init の前に BIOS コードでよく使用されます。

于 2012-07-24T12:57:31.900 に答える