| (1)MMX | 數(shù)據(jù)傳輸指令 | 
| movd | 復(fù)制MMX寄存器中的低位雙字到一個(gè)通用寄存器或內(nèi)存中,也可以把通用寄存器或內(nèi)存中的數(shù)據(jù)復(fù)制到MMX寄存器的低位雙字中 | 
| movq | 把一個(gè)MMX寄存器的內(nèi)容復(fù)制到另一個(gè)MMX寄存器中,這個(gè)指令也能被用來把一個(gè)內(nèi)存區(qū)域中的內(nèi)容復(fù)制到一個(gè)MMX寄存器中,或者把MMX寄存器中的內(nèi)容復(fù)制到內(nèi)存中 | 
| (2)MXX | 算術(shù)運(yùn)算指令 | 
| paddb paddw | 使用指定的操作數(shù)進(jìn)行組合整型加法 | 
| paddd paddq | 使用指定的操作數(shù)進(jìn)行組合整型加法 | 
| paddsb paddsw | 用飽和運(yùn)算對(duì)有符號(hào)組合整型進(jìn)行加法計(jì)算 | 
| paddusb paddusw | 用飽和運(yùn)算對(duì)無符號(hào)組合整型進(jìn)行加法計(jì)算 | 
| psubb psubw | 使用指定的操作數(shù)進(jìn)行組合整型減法,源操作數(shù)存放減數(shù),目標(biāo)操作數(shù)存放被減數(shù) | 
| psubd psubq | 使用指定的操作數(shù)進(jìn)行組合整型減法,源操作數(shù)存放減數(shù),目標(biāo)操作數(shù)存放被減數(shù) | 
| psubsb psubsw | 用飽和運(yùn)算對(duì)有符號(hào)組合整型進(jìn)行減法計(jì)算,源操作數(shù)存放減數(shù),目標(biāo)操作數(shù)存放被減數(shù) | 
| psubusb psubusw | 用飽和運(yùn)算對(duì)無符號(hào)組合整型進(jìn)行減法計(jì)算,源操作數(shù)存放減數(shù),目標(biāo)操作數(shù)存放被減數(shù) | 
| pmaddwd | 對(duì)有符號(hào)組合整型進(jìn)行乘法,然后對(duì)結(jié)果中相鄰的數(shù)據(jù)元素進(jìn)行有符號(hào)的整型加法,這個(gè)指令可以用來進(jìn)行整型的點(diǎn)乘運(yùn)算 | 
| pmaddubsw | 進(jìn)行一個(gè)組合整型乘法,其中源操作數(shù)中存放有符號(hào)的字節(jié),目標(biāo)操作數(shù)中存放無符號(hào)的字節(jié),然后對(duì)產(chǎn)生的有符號(hào)單字值進(jìn)行飽和運(yùn)算相加,最后將結(jié)果存放在目標(biāo)操作數(shù)中 | 
| pmuludq | 將源操作數(shù)中的低位雙字與目標(biāo)操作數(shù)的低位雙字相乘,產(chǎn)生的四字結(jié)果存放在目標(biāo)操作數(shù)中 | 
| pmullw | 使用單字進(jìn)行有符號(hào)組合整型乘法,然后將每個(gè)雙字的乘積中的低位單字存放在目標(biāo)操作數(shù)中 | 
| pmulhw | 使用單字進(jìn)行有符號(hào)組合整型乘法,然后將每個(gè)雙字的乘積中的高位單字存放在目標(biāo)操作數(shù)中 | 
| pmulhuw | 使用單字進(jìn)行無符號(hào)組合整型乘法,然后將每個(gè)雙字的乘積中的高位單字存放在目標(biāo)操作數(shù)中 | 
| pmulhrsw | 使用單字值進(jìn)行無符號(hào)組合整型乘法,然后將雙字的乘積舍入到18位,在縮放到16位,最后存放在目標(biāo)操作數(shù) | 
| pavgb pavgw | 對(duì)指定操作數(shù)中無符號(hào)整型數(shù)據(jù)計(jì)算組合平均值 | 
| pmaxub | 對(duì)兩組無符號(hào)單字節(jié)組合整型數(shù)據(jù)進(jìn)行比較,保存每個(gè)比較重較大的單字節(jié)數(shù)值 | 
| pminub | 對(duì)兩組無符號(hào)單字節(jié)組合整型數(shù)據(jù)進(jìn)行比較,保存每個(gè)比較重較小的單字節(jié)數(shù)值 | 
| pmaxsw | 對(duì)兩組有符號(hào)單字節(jié)組合整型數(shù)據(jù)進(jìn)行比較,保存每個(gè)比較重較大的單字節(jié)數(shù)值 | 
| pminsw | 對(duì)兩組有符號(hào)單字節(jié)組合整型數(shù)據(jù)進(jìn)行比較,保存每個(gè)比較重較小的單字節(jié)數(shù)值 | 
| psignb psignw psignd | 根據(jù)源操作數(shù)中對(duì)應(yīng)數(shù)據(jù)元素的符號(hào),對(duì)目標(biāo)操作數(shù)中的每個(gè)有符號(hào)整型數(shù)據(jù)進(jìn)行取負(fù),取零或保存不變的操作 | 
| pabsb pabsw pabsd | 計(jì)算每組組合數(shù)據(jù)元素中的絕對(duì)值 | 
| phaddw phaddd | 對(duì)源操作數(shù)和目標(biāo)操作數(shù)中的相鄰的數(shù)據(jù)元素進(jìn)行整型加法操作 | 
| phaddsw | 利用飽和運(yùn)算,對(duì)源操作數(shù)和目標(biāo)操作數(shù)中相鄰的數(shù)據(jù)元素進(jìn)行有符號(hào)的整型加法操作,結(jié)果存放在目標(biāo)操作數(shù)中 | 
| phsubw phsubd | 對(duì)源操作數(shù)和目標(biāo)操作數(shù)中相鄰的數(shù)據(jù)元素進(jìn)行整型減法操作 | 
| phsubsw | 利用飽和運(yùn)算,對(duì)源操作數(shù)和目標(biāo)操作數(shù)中相鄰的數(shù)據(jù)元素進(jìn)行有符號(hào)的整型減法操作,結(jié)果存放目標(biāo)操作數(shù)中 | 
| (3)MMX | 比較指令 | 
| pcmpeqb pcmpeqw pcmpeqd | 逐個(gè)元素比較來個(gè)組合整型操作數(shù)是否相等,如果源操作數(shù)和目標(biāo)操作數(shù)中的數(shù)據(jù)元素相等,則對(duì)應(yīng)的目標(biāo)操作數(shù)中的數(shù)據(jù)元素被設(shè)置為全1;如果不相等,則目標(biāo)操作數(shù)中的數(shù)據(jù)元素被設(shè)置為全0 | 
| pcmpgtb pcmpgtw pcmpgtd | 逐個(gè)元素比較來個(gè)組合整型操作數(shù)的大小,如果目標(biāo)操作數(shù)中的數(shù)據(jù)元素較大,則對(duì)應(yīng)的目標(biāo)操作數(shù)中的數(shù)據(jù)元素被設(shè)置為全1;否則目標(biāo)操作數(shù)中的數(shù)據(jù)元素被設(shè)置為全0 | 
| packsswb packssdw | 使用有符號(hào)的飽和運(yùn)算,將源操作數(shù)和目標(biāo)操作數(shù)中的組合整型單字或雙字轉(zhuǎn)換為組合整型字節(jié)或單字 | 
| packuswb | 使用無符號(hào)的飽和運(yùn)算,將源操作數(shù)和目標(biāo)操作數(shù)中的組合整型單字轉(zhuǎn)換為組合整型字節(jié) | 
| (4)MMX | 邏輯和位移指令 | 
| pand | 對(duì)指定的源操作數(shù)和目標(biāo)操作數(shù)進(jìn)行按位邏輯與操作 | 
| pandn | 對(duì)指定的源操作數(shù)和反轉(zhuǎn)的目標(biāo)操作數(shù)進(jìn)行按位的邏輯與操作 | 
| por | 對(duì)指定的源操作數(shù)和目標(biāo)操作數(shù)進(jìn)行按位的邏輯或操作 | 
| pxor | 對(duì)指定的源操作數(shù)和目標(biāo)操作數(shù)進(jìn)行按位的邏輯異或操作 | 
| psllw pslld psllq | 對(duì)目標(biāo)操作數(shù)中的每個(gè)元素進(jìn)行邏輯左移操作,低位用0補(bǔ)進(jìn)。源操作數(shù)中存放需要左移的位數(shù),可以是內(nèi)存地址,MMX寄存器或者是立即數(shù) | 
| psrlw psrld psrlq | 對(duì)目標(biāo)操作數(shù)中的每個(gè)元素進(jìn)行邏輯右移操作,高位用0補(bǔ)進(jìn)。源操作數(shù)中存放需要右移的位數(shù),可以是內(nèi)存地址,MMX寄存器或者是立即數(shù) | 
| psraw psrad | 對(duì)目標(biāo)操作數(shù)中的每個(gè)元素進(jìn)行算術(shù)右移操作,高位用符號(hào)位補(bǔ)進(jìn)。源操作數(shù)中存放需要右移的位數(shù),可以是內(nèi)存地址,MMX寄存器或者是立即數(shù) | 
| palignr | 將目標(biāo)操作數(shù)和源操作數(shù)組成一個(gè)臨時(shí)數(shù)值,然后按照立即操作數(shù)指定的計(jì)數(shù)對(duì)這個(gè)臨時(shí)數(shù)值進(jìn)行按字節(jié)右移操作。將臨時(shí)數(shù)值最右邊的四字存入目標(biāo)操作數(shù) | 
| (5)MMX | 解租和重排指令 | 
| punpckhbw punpckhbd punpckhbq | 解租并交織源操作數(shù)和目標(biāo)操作數(shù)中的高位數(shù)據(jù)元素。這些指令可以用于把字節(jié)轉(zhuǎn)換字,字轉(zhuǎn)換為雙字以及雙字轉(zhuǎn)換為四字 | 
| punpcklbw punpcklbd punpcklbq | 解租并交織源操作數(shù)和目標(biāo)操作數(shù)中的低位數(shù)據(jù)元素。這些指令可以用于把字節(jié)轉(zhuǎn)換字,字轉(zhuǎn)換為雙字以及雙字轉(zhuǎn)換為四字 | 
| pshufb | 源操作數(shù)指定一個(gè)控制掩碼,根據(jù)這個(gè)掩碼對(duì)目標(biāo)操作數(shù)中的字節(jié)進(jìn)行重排操作。這個(gè)指令用于對(duì)組合操作數(shù)的字節(jié)進(jìn)行重新排列 | 
| pshufw | 立即操作數(shù)指定一個(gè)掩碼,根據(jù)這個(gè)掩碼對(duì)目標(biāo)操作數(shù)中的字進(jìn)行重排操作。這個(gè)指令用于對(duì)組合操作數(shù)的字進(jìn)行重新排列 | 
| (6)MMX | 插入和提取指令 | 
| pinstrw | 復(fù)制通用寄存器中的低位單字,將其插入一個(gè)MMX寄存器中,插入的位置由立即操作數(shù)指定 | 
| pextrw | 從MMX寄存器中提取一個(gè)單字,將其復(fù)制到一個(gè)通用寄存器的低位單字中,提取的位置由立即操作數(shù)指定 | 
| (7)MMX | 狀態(tài)和緩存控制指令 | 
| emms | 通過重置FPU標(biāo)簽字來清除MMX的狀態(tài)信息,用以標(biāo)識(shí)所有的FPU寄存器都已經(jīng)被清空,這指令在每次從MMX指令到FPU指令轉(zhuǎn)換之前必須執(zhí)行 | 
| movntq | 使用非臨時(shí)提示將MMX寄存器中的內(nèi)容復(fù)制到內(nèi)存中 | 
| maskmovq | 使用非臨時(shí)提示有條件地將MMX寄存器中的某些字節(jié)復(fù)制到內(nèi)存中,另一個(gè)MMX寄存器存放一個(gè)掩碼值,用于指定那些字節(jié)需要被復(fù)制。EDI寄存器指向目標(biāo)的內(nèi)存位置 |