cpuid.asm
comment *
ml64 /c /Fl cpuid.asm
link /subsystem:console /entry:start cpuid
*
includelib kernel32
extern ExitProcess:proc
extern GetStdHandle:proc
extern lstrlenA:proc
extern WriteConsoleA:proc
STD_OUTPUT_HANDLE equ -11
.data?
hstdout dq ?
buf db 48+1 dup (?)
.code
start proc
sub rsp, 28h
mov rcx, STD_OUTPUT_HANDLE
call GetStdHandle
mov hstdout, rax
mov r9, offset buf
mov r8d, 80000002h
@@:
mov eax, r8d
cpuid
mov [r9 ], eax
mov [r9+ 4], ebx
mov [r9+ 8], ecx
mov [r9+12], edx
add r9, 16
inc r8d
cmp r8d, 80000005h
jne @b
lea rcx, offset buf
call lstrlenA
mov rcx, hstdout
lea rdx, offset buf
mov r8d, eax
xor r9d, r9d
mov qword ptr [rsp+20h], 0
call WriteConsoleA
mov rcx, 0
call ExitProcess
start endp
end
表示例
Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
最終更新:2021年10月11日 17:26