• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            c++初學(xué)者

            專注技術(shù)開發(fā)

            sse2指令集

             

            1移動(dòng)指令:

            1.       Movaps
            movaps XMM,XMM/m128 movaps XMM/128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,當(dāng)有m128時(shí),必須對(duì)齊內(nèi)存16字節(jié),也就是內(nèi)存地址低4位為0.

            2.       Movups
            movups XMM,XMM/m128 movaps XMM/128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,但不必對(duì)齊內(nèi)存16字節(jié)

            3.       Movlps
            movlps XMM,m64
            把源存儲(chǔ)器64位內(nèi)容送入目的寄存器低64,64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            4.       Movhps
            movhps XMM,m64
            把源存儲(chǔ)器64位內(nèi)容送入目的寄存器高64,64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            5.       Movhlps
            movhlps XMM,XMM
            把源寄存器高64位送入目的寄存器低64,64位不變.

            6.       Movlhps
            movlhps XMM,XMM
            把源寄存器低64位送入目的寄存器高64,64位不變.

            7.       movss
            movss XMM,m32/XMM
            原操作數(shù)為m32時(shí):dest[31-00] <== m32      dest[127-32] <== 0
            原操作數(shù)為XMM時(shí): dest[31-00] <== src[31-00] dest[127-32]不變

            8.       movmskpd
            movmskpd r32,XMM
            64位操作數(shù)符號(hào)位
            r32[0] <== XMM[63] r32[1] <== XMM[127] r32[31-2] <== 0

            9.       movmskps
            movmskps r32,XMM
            32位操作數(shù)符號(hào)位
            r32[0] <== XMM[31] r32[1] <== XMM[63] r32[2] <== XMM[95] r32[3] <== XMM[127] r32[31-4] <== 0

            10.   pmovmskb
            pmovmskb r32,XMM
            16位操作數(shù)符號(hào)位 具體操作同前
            r[0] <== XMM[7]   r[1] <== XMM[15]   r[2] <== XMM[23]   r[3] <== XMM[31]
            r[4] <== XMM[39]
               r[5] <== XMM[47]   r[6] <== XMM[55]   r[7] <== XMM[63]
            r[8] <== XMM[71]
               r[9] <== XMM[79]   r[10] <== XMM[87]   r[11] <== XMM[95]
            r[12] <== XMM[103]
             r[13] <== XMM[111]  r[14] <== XMM[119]  r[15] <== XMM[127]  r[31-16] <== 0

            11.   movntps
            movntps m128,XMM
            m128 <== XMM
            直接把XMM中的值送入m128,不經(jīng)過(guò)cache,必須對(duì)齊16字節(jié).

            12.   Movntpd
            movntpd m128,XMM
            m128 <== XMM
            直接把XMM中的值送入m128,不經(jīng)過(guò)cache,必須對(duì)齊16字節(jié).

            13.   Movnti
            movnti m32,r32
            m32 <== r32
            32寄存器的值送入m32,不經(jīng)過(guò)cache.

            14.   Movapd
            movapd XMM,XMM/m128 movapd XMM/m128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,當(dāng)有m128時(shí),必須對(duì)齊內(nèi)存16字節(jié)

            15.   Movupd
            movupd XMM,XMM/m128 movapd XMM/m128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,但不必對(duì)齊內(nèi)存16字節(jié).
            我感覺這兩條指令同movaps movups 指令一樣,不過(guò)又不確定.

            16.   Movlpd
            movlpd XMM,m64 movlpd m64,XMM
            把源存儲(chǔ)器64位內(nèi)容送入目的寄存器低64,64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            17.   Movhpd
            movhpd XMM,m64 movhpd m64,XMM
            把源存儲(chǔ)器64位內(nèi)容送入目的寄存器高64,64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            18.   Movdqa
            movdqa XMM,XMM/m128 movdqa XMM/m128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,當(dāng)有m128時(shí),必須對(duì)齊內(nèi)存16字節(jié).

            19.   Movdqu
            movdqu XMM,XMM/m128 movdqu XMM/m128,XMM
            把源存儲(chǔ)器內(nèi)容值送入目的寄存器,但不必對(duì)齊內(nèi)存16字節(jié).

            20.   movq2dq
            movq2dq XMM,MM
            把源寄存器內(nèi)容送入目的寄存器的低64,64位清零.

            21.   movdq2q
            movdq2q MM,XMM
            把源寄存器低64位內(nèi)容送入目的寄存器.

            22.   Movd
            movd XMM,r32/m32 movd MM,r32/m32
            把源存儲(chǔ)器32位內(nèi)容送入目的寄存器的低32,96位清零.
            movd r32/m32,XMM
            movd r32/m32,MM
            把源寄存器的低32位內(nèi)容送入目的存儲(chǔ)器32.

            23.   Movq
            movq XMM,XMM/m64 movq MM,MM/m64
            把源存儲(chǔ)器低64位內(nèi)容送入目的寄存器的低64,64位清零.
            movq m64,XMM
            把源寄存器的低64位內(nèi)容送入目的存儲(chǔ)器.

            2 加法操作

            1.       addps
            addps XMM,XMM/m128
            源存儲(chǔ)器內(nèi)容按雙字對(duì)齊,4個(gè)單精度浮點(diǎn)數(shù)與目的寄存器相加,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            2.       adds
            addss XMM,XMM/m32
            源存儲(chǔ)器的低321個(gè)單精度浮點(diǎn)數(shù)與目的寄存器的低321個(gè)單精度浮點(diǎn)數(shù)相加,結(jié)果送入目的寄存器的低32位高96位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            3.       addpd
            addpd XMM,XMM/m128
            源存儲(chǔ)器內(nèi)容按四字對(duì)齊,共兩個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器相加,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            4.       addsd
            addsd XMM,XMM/m64
            源存儲(chǔ)器的低641個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器的低641個(gè)雙精度浮點(diǎn)數(shù)相加,結(jié)果送入目的寄存器的低64, 64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            5.       paddd
            paddd XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按雙字對(duì)齊無(wú)符號(hào)整數(shù)普通相加,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            6.       Paddq
            paddq XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按四字對(duì)齊無(wú)符號(hào)整數(shù)普通相加,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            7.       Paddq
            paddq MM,MM/m64
            把源存儲(chǔ)器與目的寄存器四字無(wú)符號(hào)整數(shù)普通相加,結(jié)果送入目的寄存器.

            8.       Pmaddwd
            pmaddwd XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器分4組進(jìn)行向量點(diǎn)乘(有符號(hào)補(bǔ)碼操作),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)..
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7
            源存儲(chǔ)器: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7
            目的寄存器結(jié)果: a0*b0+a1*b1 | a2*b2+a3*b3 | a4*b4+a5*b5 | a6*b6+a7*b7

            9.       Paddsb
            paddsb XMM,XMM/m128 paddsb MM,MM/m64
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊有符號(hào)補(bǔ)碼飽和相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            10.   paddsw
            paddsw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊有符號(hào)補(bǔ)碼飽和相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            11.   paddusb
            paddusb XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊無(wú)符號(hào)飽和相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            12.   Paddusw
            paddusw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊無(wú)符號(hào)飽和相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            13.   Paddb
            paddb XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊無(wú)符號(hào)普通相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            14.   Paddw
            paddw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊無(wú)符號(hào)普通相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            15.   Paddd
            paddd XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按雙字對(duì)齊無(wú)符號(hào)普通相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            16.   Paddq
            paddq XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按四字對(duì)齊無(wú)符號(hào)普通相加,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            17.    

            3 減法操作

            1.       subps
            subps XMM,XMM/m128
            源存儲(chǔ)器內(nèi)容按雙字對(duì)齊,4個(gè)單精度浮點(diǎn)數(shù)與目的寄存器相減(目的減去源),結(jié)果送入目的寄存器, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            2.       Subss
            subss XMM,XMM/m32
            源存儲(chǔ)器的低321個(gè)單精度浮點(diǎn)數(shù)與目的寄存器的低321個(gè)單精度浮點(diǎn)數(shù)相減(目的減去源), 結(jié)果送入目的寄存器的低32,96位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            3.       Subpd
            subpd XMM,XMM/m128
            把目的寄存器內(nèi)容按四字對(duì)齊,兩個(gè)雙精度浮點(diǎn)數(shù),減去源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù), 結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            4.       subsd
            subsd XMM,XMM/m128
            把目的寄存器的低641個(gè)雙精度浮點(diǎn)數(shù),減去源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低64, 64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            5.       Psubd
            psubd XMM,XMM/m128
            把目的寄存器與源存儲(chǔ)器按雙字對(duì)齊無(wú)符號(hào)整數(shù)普通相減,結(jié)果送入目的寄存器, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).(目的減去源)

            6.       Psubq
            psubq XMM,XMM/m128
            把目的寄存器與源存儲(chǔ)器按四字對(duì)齊無(wú)符號(hào)整數(shù)普通相減,結(jié)果送入目的寄存器, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).(目的減去源)

            7.       Psubq
            psubq MM,MM/m64
            把目的寄存器與源存儲(chǔ)器四字無(wú)符號(hào)整數(shù)普通相減,結(jié)果送入目的寄存器.(目的減去源)

            8.       psubsb
            psubsb XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊有符號(hào)補(bǔ)碼飽和相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            9.       Psubsw
            psubsw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊有符號(hào)補(bǔ)碼飽和相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            10.   Psubusb
            psubusb XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊無(wú)符號(hào)飽和相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            11.   Psubusw
            psubusw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊無(wú)符號(hào)飽和相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            12.   psubb
            psubb XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字節(jié)對(duì)齊無(wú)符號(hào)普通相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            13.   Psubw
            psubw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊無(wú)符號(hào)普通相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            14.   Psubd
            psubd XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按雙字對(duì)齊無(wú)符號(hào)普通相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            15.   Psubq
            psubq XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按四字對(duì)齊無(wú)符號(hào)普通相減(目的減去源),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            16.    

            4 比較操作

            1.       Maxps
            maxps XMM,XMM/m128
            源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù)與目的寄存器4個(gè)單精度浮點(diǎn)數(shù)比較,較大數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            2.       Maxss
            maxss XMM,XMM/m32
            源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)與目的寄存器低321個(gè)單精度浮點(diǎn)數(shù)比較,較大數(shù)放入目的寄存器低32,96位不變內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            3.       Minps
            minps XMM,XMM/m128
            源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù)與目的寄存器4個(gè)單精度浮點(diǎn)數(shù)比較,較小數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            4.       minss
            minss XMM,XMM/m32
            源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)與目的寄存器低321個(gè)單精度浮點(diǎn)數(shù)比較,較小數(shù)放入目的寄存器低32,96位不變內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            5.       cmpps
            cmpps XMM0,XMM1,imm8 imm8是立即數(shù)范圍是0~7
            根據(jù)imm8的值進(jìn)行4對(duì)單精度浮點(diǎn)數(shù)的比較,符合imm8的就置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            當(dāng)imm8 = 0時(shí),目的寄存器等于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            imm8 = 1
            時(shí),目的寄存器小于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            imm8 = 2
            時(shí),目的寄存器小于等于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            imm8 = 4
            時(shí),目的寄存器不等于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            imm8 = 5
            時(shí),目的寄存器大于等于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0
            imm8 = 6
            時(shí),目的寄存器大于原寄存器數(shù)時(shí),置目的寄存器對(duì)應(yīng)的32位全1,否則全0

            6.       pcmpeqb
            pcmpeqb XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按字節(jié)比較,如果對(duì)應(yīng)字節(jié)相等,就置目的寄存器對(duì)應(yīng)字節(jié)為0ffh,否則為00h內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            7.       Pcmpeqw
            pcmpeqw XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按字比較,如果對(duì)應(yīng)字相等,就置目的寄存器對(duì)應(yīng)字為0ffffh,否則為0000h, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            8.       Pcmpeqd
            pcmpeqd XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按雙字比較,如果對(duì)應(yīng)雙字相等,就置目的寄存器對(duì)應(yīng)雙字為0ffffffffh,否則為00000000h內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            9.       Pcmpgtb
            pcmpgtb XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按字節(jié)(有符號(hào)補(bǔ)碼)比較,如果目的寄存器對(duì)應(yīng)字節(jié)大于源存儲(chǔ)器,就置目的寄存器對(duì)應(yīng)字節(jié)為0ffh, 否則為00h,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            10.   Pcmpgtw
            pcmpgtw XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按字(有符號(hào)補(bǔ)碼)比較,如果目的寄存器對(duì)應(yīng)字大于源存儲(chǔ)器,就置目的寄存器對(duì)應(yīng)字為0ffffh, 否則為0000h,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            11.   Pcmpgtd
            pcmpgtd XMM,XMM/m128
            目的寄存器與源存儲(chǔ)器按雙字(有符號(hào)補(bǔ)碼)比較,如果目的寄存器對(duì)應(yīng)雙字大于源存儲(chǔ)器, 就置目的寄存器對(duì)應(yīng)雙字為0ffffffffh,否則為00000000h,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            5 計(jì)算操作

            1.       rcpps
            rcpps XMM,XMM/m128
            源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù)的倒數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)
            :比如2.0E0的倒數(shù)為1÷2.0E0 = 5.0E-1, 這操作只有12bit的精度

            2.       rcpss
            rcpss XMM,XMM/32
            源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)的倒數(shù)放入目的寄存器低32,96位不變

            3.       rsqrtps
            rsqrtps XMM,XMM/m128
            源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù)的開方的倒數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié). 比如2.0E0的開方的倒數(shù)為1÷√2.0E0 ≈ 7.0711E-1, 這操作只有12bit的精度.

            4.       Rsqrtss
            rsqrtss XMM,XMM/32
            源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)的開方的倒數(shù)放入目的寄存器低32,96位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            5.    Pavgb
            pavgb MM,MM/m64 pavgb XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字節(jié)無(wú)符號(hào)整數(shù)相加,再除以2,結(jié)果四舍五入為整數(shù)放入目的寄存器, 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié). :此運(yùn)算不會(huì)產(chǎn)生溢出.

            6.    Pavgw
            pavgw MM,MM/m64 pavgw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字無(wú)符號(hào)整數(shù)相加,再除以2,結(jié)果四舍五入為整數(shù)放入目的寄存器, 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            7.       Sqrtpd
            sqrtpd XMM,XMM/m128
            源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)的開方放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            8.       Sqrtsd
            sqrtsd XMM,XMM/m128
            源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù)的開方放入目的寄存器低64,64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            6 乘法操作

            1.       Mulps
            mulps XMM,XMM/m128
            源存儲(chǔ)器內(nèi)容按雙字對(duì)齊,4個(gè)單精度浮點(diǎn)數(shù)與目的寄存器相乘,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            2.       Mulss
            mulss XMM,XMM/32
            源存儲(chǔ)器的低321個(gè)單精度浮點(diǎn)數(shù)與目的寄存器的低321個(gè)單精度浮點(diǎn)數(shù)相乘,結(jié)果送入目的寄存器的低32, 96位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            3.       Mulpd
            mulpd XMM,XMM/m128
            源存儲(chǔ)器內(nèi)容按四字對(duì)齊,共兩個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器相乘,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            4.       Mulsd
            mulsd XMM,XMM/m128
            源存儲(chǔ)器的低641個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器的低641個(gè)雙精度浮點(diǎn)數(shù)相乘,結(jié)果送入目的寄存器的低64, 64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            5.       Pmuludq
            pmuludq XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器的低32位無(wú)符號(hào)整數(shù)相乘,結(jié)果變?yōu)?/span>64,送入目的寄存器低64, 把源存儲(chǔ)器與目的寄存器的高64位的低32位無(wú)符號(hào)整數(shù)相乘,結(jié)果變?yōu)?/span>64,送入目的寄存器高64位內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3
            源存儲(chǔ)器: b0 | b1 | b2 | b3
            目的寄存器結(jié)果: b1*a1 | b3*a3

            6.       Pmuludq
            pmuludq MM,MM/m64
            把源存儲(chǔ)器與目的寄存器的低32位無(wú)符號(hào)整數(shù)相乘,結(jié)果變?yōu)?/span>64,送入目的寄存器.

            7.       pmulhw
            pmulhw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊有符號(hào)補(bǔ)碼飽和相乘,取結(jié)果的高16位放入目的寄存器對(duì)應(yīng)字中. 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            8.       pmullw
            pmullw XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器按字對(duì)齊有符號(hào)補(bǔ)碼飽和相乘,取結(jié)果的低16位放入目的寄存器對(duì)應(yīng)字中. 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            9.        

            7 除法操作

            1.    Divps
            divps XMM,XMM/m128
            目的寄存器共4個(gè)單精度浮點(diǎn)數(shù)除以源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            2.    Divss
            divss XMM,XMM/32
            目的寄存器低321個(gè)單精度浮點(diǎn)數(shù)除以源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低32, 96位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié)

            3.    Divpd
            divpd XMM,XMM/m128
            目的寄存器共兩個(gè)雙精度浮點(diǎn)數(shù)除以源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            4.    Divsd
            divsd XMM,XMM/m128
            目的寄存器低641個(gè)雙精度浮點(diǎn)數(shù)除以源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低64, 64位不變,內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            8 位操作

            1.       Andps
            andps XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            2.       Orps
            orps XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            3.       Xorps
            xorps XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位'異或'目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            4.    Unpckhps
            unpckhps XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器高64位按雙字交錯(cuò)排列,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64位 
            目的寄存器: a0 | a1 | a2 | a3 
            源存儲(chǔ)器:  b0 | b1 | b2 | b3 
            目的寄存器結(jié)果: b0 | a0 | b1 | a1

            5.    Unpcklps
             unpcklps XMM,XMM/m128
            源存儲(chǔ)器與目的寄存器低64位按雙字交錯(cuò)排列,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 
            源存儲(chǔ)器:  b0 | b1 | b2 | b3 
            目的寄存器結(jié)果: b2 | a2 | b3 | a3

            6.    Pextrw
            pextrw r32,MM,imm8 pextrw r32,XMM,imm8 imm88位立即數(shù)(無(wú)符號(hào))
            從源寄存器中選第imm8(0~3 0~7)個(gè)字送入目的寄存器的低16,16位清零.
            :imm8范圍為 0~255,當(dāng)源寄存器為'MM'時(shí),有效值= imm8 mod 4,當(dāng)目的寄存器為'XMM'時(shí),有效值= imm8 mod 8

            7.    Pinsrw
            pinsrw MM,r32/m32,imm8 pinsrw XMM,r32/m32,imm8
            把源存儲(chǔ)器的低16位內(nèi)容送入目的寄存器第imm8(0~3 0~7)個(gè)字,其余字不變
            :imm8范圍為 0~255,當(dāng)目的寄存器為'MM'時(shí),有效值= imm8 mod 4,當(dāng)目的寄存器為'XMM'時(shí),有效值= imm8 mod 8

            8.    Pmaxsw
            pmaxsw MM,MM/m64 pmaxsw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字有符號(hào)(補(bǔ)碼)整數(shù)比較,大數(shù)放入目的寄存器對(duì)應(yīng)字, 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            9.    Pmaxub
             pmaxub MM,MM/m64 pmaxsw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字節(jié)無(wú)符號(hào)整數(shù)比較,大數(shù)放入目的寄存器對(duì)應(yīng)字節(jié), 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            10. pminsw
            pminsw MM,MM/m64 pmaxsw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字有符號(hào)(補(bǔ)碼)整數(shù)比較,較小數(shù)放入目的寄存器對(duì)應(yīng)字, 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            11. Pminub
            pminub MM,MM/m64 pmaxsw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器按字節(jié)無(wú)符號(hào)整數(shù)比較,較小數(shù)放入目的寄存器對(duì)應(yīng)字節(jié), 源存儲(chǔ)器為m128時(shí),內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            12. Maxpd
            maxpd XMM,XMM/m128
            源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器兩個(gè)雙精度浮點(diǎn)數(shù)比較,較大數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            13. Maxsd
            maxsd XMM,XMM/m128
            源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器低641個(gè)雙精度浮點(diǎn)數(shù)比較,較大數(shù)放入目的寄存器低64,64位不變內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            14. Minpd
            minpd XMM,XMM/m128
            源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器兩個(gè)雙精度浮點(diǎn)數(shù)比較,較小數(shù)放入對(duì)應(yīng)目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            15. Minsd
            minsd XMM,XMM/m128
            源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù)與目的寄存器低641個(gè)雙精度浮點(diǎn)數(shù)比較,較小數(shù)放入目的寄存器低64,64位不變內(nèi)存變量不必對(duì)齊內(nèi)存16字節(jié).

            16. Andpd
            andpd XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            17. Andnpd
            andnpd XMM,XMM/m128
            目的寄存器128個(gè)二進(jìn)制位先取'',''源存儲(chǔ)器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            18. Orpd
            orpd XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            19. Xorpd
            xorpd XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位'異或'目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            20. Pslldq
            pslldq XMM,imm8
            把目的寄存器128位按imm8(立即數(shù))指定字節(jié)數(shù)邏輯左移,移出的字節(jié)丟失.
            imm8 == 1
            時(shí),代表左移8,imm8 == 2時(shí),代表左移16.

            21. Psrldq
            psrldq XMM,imm8
            把目的寄存器128位按imm8(立即數(shù))指定字節(jié)數(shù)邏輯右移,移出的字節(jié)丟失.
            imm8 == 1
            時(shí),代表右移8,imm8 == 2時(shí),代表右移16.

            22. Psllw
            psllw XMM,XMM/m128 psllw XMM,imm8
            把目的寄存器按字由源存儲(chǔ)器(imm8 立即數(shù))指定位數(shù)邏輯左移,移出的位丟失. 低字移出的位不會(huì)移入高字,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            23. Psrlw
            psrlw XMM,XMM/m128 psrlw XMM,imm8
            把目的寄存器按字由源存儲(chǔ)器(imm8 立即數(shù))指定位數(shù)邏輯右移,移出的位丟失.
            高字移出的位不會(huì)移入低字,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            24. Pslld
            pslld XMM,XMM/m128 pslld XMM,XMM imm8
            把目的寄存器按雙字由源存儲(chǔ)器(imm8 立即數(shù))指定位數(shù)邏輯左移,移出的位丟失. 低雙字移出的位不會(huì)移入高雙字,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            25. Psrld
            psrld XMM,XMM/m128 psrld XMM,imm8
            把目的寄存器按雙字由源存儲(chǔ)器(imm8 立即數(shù))指定位數(shù)邏輯右移,移出的位丟失.
            高雙字移出的位不會(huì)移入低雙字,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            pand
            pand XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié). 我發(fā)現(xiàn)與andpd功能差不多,就不知其它特性是否一樣

            26. Pandn
            pandn XMM,XMM/m128
            目的寄存器128個(gè)二進(jìn)制位先取'',''源存儲(chǔ)器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié)

            27. Por
            por XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位''目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            28. Pxor
            pxor XMM,XMM/m128
            源存儲(chǔ)器128個(gè)二進(jìn)制位'異或'目的寄存器128個(gè)二進(jìn)制位,結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            29. packuswb
            packuswb XMM,XMM/m128 packuswb MM,MM/m64
            把目的寄存器按字有符號(hào)數(shù)壓縮為字節(jié)無(wú)符號(hào)數(shù)放入目的寄存器低64
            把源寄存器按字有符號(hào)數(shù)壓縮為字節(jié)無(wú)符號(hào)數(shù)放入目的寄存器高64
            壓縮時(shí)負(fù)數(shù)變?yōu)?/span>00h,大于255的正數(shù)變?yōu)?/span>0ffh,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7
            源寄存器: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7
            目的寄存器壓縮結(jié)果: b0|b1| b2| b3| b4|b5| b6|b7| a0|a1| a2|a3| a4|a5| a6| a7

            30. packsswb
            packsswb XMM,XMM/m128 packsswb MM,MM/m64
            把目的寄存器按字有符號(hào)數(shù)壓縮為字節(jié)有符號(hào)數(shù)放入目的寄存器低64
            把源寄存器按字有符號(hào)數(shù)壓縮為字節(jié)有符號(hào)數(shù)放入目的寄存器高64
            壓縮時(shí)小于-128負(fù)數(shù)變?yōu)?/span>80h,大于127的正數(shù)變?yōu)?/span>7fh,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7
            源寄存器: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7
            目的寄存器壓縮結(jié)果: b0|b1| b2| b3| b4|b5| b6|b7| a0|a1| a2|a3| a4|a5| a6| a7

            31. packssdw
            packssdw XMM,XMM/m128
            把目的寄存器按雙字有符號(hào)數(shù)壓縮為字有符號(hào)數(shù)放入目的寄存器低64
            把源寄存器按雙字有符號(hào)數(shù)壓縮為字有符號(hào)數(shù)放入目的寄存器高64
            壓縮時(shí)小于-32768負(fù)數(shù)變?yōu)?/span>8000h,大于32767的正數(shù)變?yōu)?/span>7fffh,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3
            源寄存器: b0 | b1 | b2 | b3
            目的寄存器壓縮結(jié)果: b0 | b1 | b2 | b3 | a0 | a1 | a2 | a3

            32. punpckldq
            punpckldq XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器低64位按雙字交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3
            源寄存器: b0 | b1 | b2 | b3
            目的寄存器排列結(jié)果: b2 | a2 | b3 | a3

            33. punpckhdq
            把源存儲(chǔ)器與目的寄存器高64位按雙字交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3
            源寄存器: b0 | b1 | b2 | b3
            目的寄存器排列結(jié)果: b0 | a0 | b1 | a1

            34. punpcklwd
            把源存儲(chǔ)器與目的寄存器低64位按字交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7
            源寄存器: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7
            目的寄存器排列結(jié)果: b4 | a4 | b5 | a5 | b6 | a6 | b7 | a7

            35. punpckhwd
            punpckhwd XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器高64位按字交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7
            源寄存器: b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7
            目的寄存器排列結(jié)果: b0 | a0 | b1 | a1 | b2 | a2 | b3 | a3

            36. punpcklbw
            punpcklbw XMM,XMM/m128
            把源存儲(chǔ)器與目的寄存器低64位按字節(jié)交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0|a1| a2| a3| a4|a5| a6|a7| a8|a9| aA|aB| aC|aD| aE| aF
            源寄存器: b0|b1| b2| b3| b4|b5| b6|b7| b8|b9| bA|bB| bC|bD| bE| bF
            目的寄存器排列結(jié)果: b8|a8| b9| a9| bA|aA| bB|aB| bC|aC| bD|aD| bE|aE| bF| aF

            37. punpckhbw
            把源存儲(chǔ)器與目的寄存器高64位按字節(jié)交錯(cuò)排列,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            64 | 64
            目的寄存器: a0|a1| a2| a3| a4|a5| a6|a7| a8|a9| aA|aB| aC|aD| aE| aF
            源寄存器: b0|b1| b2| b3| b4|b5| b6|b7| b8|b9| bA|bB| bC|bD| bE| bF
            目的寄存器排列結(jié)果: b0|a0| b1| a1| b2|a2| b3|a3| b4|a4| b5|a5| b6|a6| b7| a7

            38. shufps
            shufps XMM,XMM/m128,imm8
            把源存儲(chǔ)器與目的寄存器按雙字劃分,imm8(立即數(shù))八個(gè)二進(jìn)制位(00~11,00^11,00~11,00~11)指定排列, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).目的寄存器高64位放源存儲(chǔ)器被指定數(shù),目的寄存器低64位放目的寄存器被指定數(shù). '( )'中的都是二進(jìn)制數(shù)
            目的寄存器: a(11) | a(10) | a(01) | a(00)
            源寄存器: b(11) | b(10) | b(01) | b(00)
            目的寄存器排列結(jié)果: b(00~11) | b(00~11) | a(00~11) | a(00~11)
            目的寄存器壓縮結(jié)果'( )'中的值由imm8對(duì)應(yīng)的兩位二進(jìn)制位指定.
            : ( 11 ) ( 10 ) ( 01 ) ( 00 ) ( 11 ) ( 10 ) ( 01 ) ( 00 )
            當(dāng)XMM0 = 090a0b0c 0d0e0f11 01020304 05060708 h,XMM1 = 0aabbccdd eeff1234 22334455 66778899 h, imm8 ══> (XMM1 10) (XMM1 01) (XMM0 11) (XMM0 00)
            執(zhí)行shufps XMM0,XMM1,10 01 11 00 b(二進(jìn)制),XMM0 = 0eeff1234 22334455 090a0b0c 05060708 h

            39. shufpd
            shufpd XMM,XMM/m128,imm8(0~255) imm8(
            操作值) = imm8(輸入值) mod 4
            把源存儲(chǔ)器與目的寄存器按四字劃分,imm8(立即數(shù))4個(gè)二進(jìn)制位(0~1,0^1,0~1,0~1)指定排列, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).目的寄存器高64位放源存儲(chǔ)器被指定數(shù),目的寄存器低64位放目的寄存器被指定數(shù).
            當(dāng)XMM0 = 1111111122222222 3333333344444444 h
            XMM1 = 5555555566666666 aaaaaaaacccccccc h,
            執(zhí)行shufpd XMM0,XMM1,101001 1 0 b
            XMM0 = 5555555566666666 3333333344444444 h

            40. pshuflw
            pshuflw XMM,XMM/m128,imm8(0~255)
            先把源存儲(chǔ)器的高64位內(nèi)容送入目的寄存器的高64,然后用imm8將源存儲(chǔ)器的低644個(gè)字選入目的寄存器的低64,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            源寄存器低64: b(11) | b(10) | b(01) | b(00)
            目的寄存器低64位排列結(jié)果: b(00~11) | b(00~11) | b(00~11) | b(00~11)
            當(dāng)XMM0 = 1111111122222222 3333 4444 5555 6666 h
            XMM1 = 5555555566666666 7777 8888 9999 cccc h,
            執(zhí)行pshuflw XMM0,XMM1,10 10 01 10 b
            XMM0 = 5555555566666666 8888 8888 9999 8888 h

            41. pshufhw
            pshufhw XMM,XMM/m128,imm8(0~255)
            先把源存儲(chǔ)器的低64位內(nèi)容送入目的寄存器的低64,然后用imm8將源存儲(chǔ)器的高644個(gè)字選入目的寄存器的高64,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            源寄存器高64: b(11) | b(10) | b(01) | b(00)
            目的寄存器高64位排列結(jié)果: b(00~11) | b(00~11) | b(00~11) | b(00~11)
            當(dāng)XMM0 = 3333 4444 5555 6666 1111111122222222 h
            XMM1 = 7777 8888 9999 cccc 5555555566666666 h,
            執(zhí)行pshufhw XMM0,XMM1,10 10 01 10 b
            XMM0 = 8888 8888 9999 8888 5555555566666666 h

            42. pshufd
            pshufd XMM,XMM/m128,imm8(0~255)
            將源存儲(chǔ)器的4個(gè)雙字由imm8指定選入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            源寄存器: b(11) | b(10) | b(01) | b(00)
            目的寄存器排列結(jié)果: b(00~11) | b(00~11) | b(00~11) | b(00~11)
            當(dāng)XMM1 = 11111111 22222222 33333333 44444444 h,執(zhí)行pshufd XMM0,XMM1,11 01 01 10b
            XMM0 = 11111111 33333333 33333333 22222222 h

            9 數(shù)據(jù)類型操作

            43. cvtpi2ps
            cvtpi2ps XMM,MM/m64
            源存儲(chǔ)器64位兩個(gè)32位有符號(hào)(補(bǔ)碼)整數(shù)轉(zhuǎn)為兩個(gè)單精度浮點(diǎn)數(shù),放入目的寄存器低64,64位不變.

            44. cvtsi2ss
            cvtsi2ss XMM,r32/m32
            源存儲(chǔ)器1個(gè)32位有符號(hào)(補(bǔ)碼)整數(shù)轉(zhuǎn)為1個(gè)單精度浮點(diǎn)數(shù),放入目的寄存器低32,96位不變.

            45. cvtps2pi
            cvtps2pi MM,XMM/m64
            把源存儲(chǔ)器低64位兩個(gè)32位單精度浮點(diǎn)數(shù)轉(zhuǎn)為兩個(gè)32位有符號(hào)(補(bǔ)碼)整數(shù),放入目的寄存器

            46. cvttps2pi
            cvttps2pi MM,XMM/m64
            類似于cvtps2pi,截?cái)嗳≌?/span>.

            47. cvtss2si
            cvtss2si r32,XMM/m32
            把源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)轉(zhuǎn)為1個(gè)32位有符號(hào)(補(bǔ)碼)整數(shù),放入目的寄存器.

            48. cvttss2si
             cvttss2si r32,XMM/m32
            類似cvtss2si,截?cái)嗳≌?/span>.

            49. cvtps2pd
            cvtps2pd XMM,XMM/m64
            把源存儲(chǔ)器低64位兩個(gè)單精度浮點(diǎn)數(shù)變成兩個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器.

            50. cvtss2sd
            cvtss2sd XMM,XMM/m32
            把源存儲(chǔ)器低321個(gè)單精度浮點(diǎn)數(shù)變成1個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低64,64位不變.

            51. cvtpd2ps
            把源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)變成兩個(gè)單精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低64,64位清零, 內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).
            ^特殊狀態(tài) 3.14E5 (表示負(fù)無(wú)窮大)

            52. cvtsd2ss
            cvtsd2ss XMM,XMM/m64
            把源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù)變成1個(gè)單精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低32,96位不變.

            53. cvtpd2pi
            cvtpd2pi MM,XMM/m128
            把源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)變成兩個(gè)雙字有符號(hào)整數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié). 如果結(jié)果大于所能表示的范圍,那么轉(zhuǎn)化為80000000h(正數(shù)也轉(zhuǎn)為此值).

            54. cvttpd2pi
            cvttpd2pi MM,XMM/m128
            類似于cvtpd2pi,截?cái)嗳≌?/span>.

            55. cvtpi2pd
            cvtpi2pd XMM,MM/m64
            把源存儲(chǔ)器兩個(gè)雙字有符號(hào)整數(shù)變成兩個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器.

            56. cvtpd2dq
            cvtpd2dq XMM,XMM/m128
            把源存儲(chǔ)器兩個(gè)雙精度浮點(diǎn)數(shù)變成兩個(gè)雙字有符號(hào)整數(shù)(此運(yùn)算與cvtpd2pi類似但目的寄存器變?yōu)?/span>XMM), 結(jié)果送入目的寄存器的低64,64位清零,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            57. cvttpd2dq
            cvttpd2dq XMM,XMM/m128
            類似于cvtpd2dq,為截?cái)嗳≌?/span>.

            58. cvtdq2pd
            cvtdq2pd XMM,XMM/m128
            把源存儲(chǔ)器低64位兩個(gè)雙字有符號(hào)整數(shù)變成兩個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            59. cvtsd2si
            cvtsd2si r32,XMM/m64
            把源存儲(chǔ)器低641個(gè)雙精度浮點(diǎn)數(shù)變成1個(gè)雙字有符號(hào)整數(shù),結(jié)果送入目的寄存器.

            60. cvttsd2si
            cvttsd2si r32,XMM/m64
            類似于cvtsd2si,截?cái)嗳≌?/span>.

            61. cvtsi2sd
            cvtsi2sd XMM,r32/m32
            把源存儲(chǔ)器1個(gè)雙字有符號(hào)整數(shù)變成1個(gè)雙精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器的低64,64位不變.

            62. cvtps2dq
            cvtps2dq XMM,XMM/m128
            把源存儲(chǔ)器4個(gè)單精度浮點(diǎn)數(shù)變成4個(gè)雙字有符號(hào)整數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            63. cvttps2dq
            cvttps2dq XMM,XMM/m128
            類似于cvtps2dq,截?cái)嗳≌?/span>.

            64. cvtdq2ps
            cvtdq2ps XMM,XMM/m128
            把源存儲(chǔ)器4個(gè)雙字有符號(hào)整數(shù)變成4個(gè)單精度浮點(diǎn)數(shù),結(jié)果送入目的寄存器,內(nèi)存變量必須對(duì)齊內(nèi)存16字節(jié).

            9 備注

            1.        MMX指令有8個(gè)64位寄存器(MM0~MM7),不過(guò)可惜都是借的FPU, FPU原來(lái)有8個(gè)80位寄存器(st(0)~st(7)),現(xiàn)在用在了MMX,所以用之后要加上一條EMMS指令,用以復(fù)位.

            posted on 2010-08-20 17:53 大海 閱讀(7105) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 匯編語(yǔ)言

            評(píng)論

            # re: sse2指令集 2011-09-06 11:04 benqiang

            樓主是個(gè)好人,居然還自己翻譯,太感謝了。。。  回復(fù)  更多評(píng)論   

            久久精品国产91久久麻豆自制| 久久久精品2019免费观看| 天天综合久久一二三区| 伊人久久无码中文字幕| 99re这里只有精品热久久| 国产一区二区精品久久凹凸| 久久99久久99精品免视看动漫| 久久大香香蕉国产| 国产成人久久精品二区三区| 精品国产日韩久久亚洲| 久久精品中文闷骚内射| 国产精品九九久久精品女同亚洲欧美日韩综合区| 久久久久国产精品三级网| 亚洲精品乱码久久久久久| 欧美精品一区二区精品久久| 欧美伊人久久大香线蕉综合| 国内精品久久久久久99| 午夜精品久久久久9999高清| 精品一区二区久久| 久久丫忘忧草产品| 久久精品免费网站网| WWW婷婷AV久久久影片| 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲国产精品高清久久久 | 精品久久久久久综合日本| 伊人久久无码精品中文字幕| 久久er热视频在这里精品| 偷窥少妇久久久久久久久| 国产亚州精品女人久久久久久| 亚洲人成网亚洲欧洲无码久久| 久久国产精品免费| 久久香蕉国产线看观看99| 少妇精品久久久一区二区三区| 伊人久久大香线蕉AV一区二区 | 一本一本久久aa综合精品| 久久精品国产精品亚洲下载| 精品久久久久久亚洲| 国产成人久久AV免费| 亚洲AV日韩精品久久久久久| 性做久久久久久免费观看| 久久精品国产精品亚洲艾草网美妙|