cpuid.asm
来自「这是一个JPEG解码器,里面使用了MMX,SSE等汇编指令集」· 汇编 代码 · 共 54 行
ASM
54 行
;// CPU identification
.686P
.MODEL FLAT, STDCALL
OPTION CASEMAP:NONE
OPTION PROLOGUE:NONE
OPTION EPILOGUE:NONE
.MMX
INCLUDE jpeg.inc
.CODE
;//=========================================================================
;// Detect mmx/sse/sse2/sse3 support
;// returns : eax : instruction set supported
;//=========================================================================
CPUID_Init PROC
push ebx
;// get feature information (crash if cpuid not supported)
mov eax, 1
cpuid
DBG_CPUID
;// assumes SSE3 means SSE2,SSE,MMX,CMOV support
;// SSE2 means SSE,MMX,CMOV support
;// SSE means MMX,CMOV support
;// test SSE3
mov eax, CPU_SSE3
shr ecx, 1
jc Done
;// test SSE2
dec eax
shl edx, 32-26
jc Done
;// test SSE
dec eax
shl edx, 1
jc Done
;// test MMX
shl edx, 1
adc eax, -2
Done:
pop ebx
ret
CPUID_Init ENDP
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?