Info zu CPUID

Die CPUID kann über Assembler-Befehle abgefragt werden.

Dazu muss aber der erweiterte Modus eingeschaltet werden (.586)

Das bedeutet eine separate Datei !

Bitte NUR den unteren Teil in eine neue Assemblerdatei eintragen


Weitere Informationen:

www.sandpile.org/ia32/cpuid.htm


Ausgabe des CPU-Namens

Funktionnumer für eax: 00h

Schreibt automatisch in den ersten 16 Byte des Datensegmentes

eax: Pointer auf den vierten Teil

ebx: Pointer auf den ersten Teil

ecx: Pointer auf den dritten Teil

edx: Pointer auf den zweiten Teil


alle Teile haben eine Länge von 4 Byte


Ausgabe der Prozessorleistung

Ausgabe:

GenuineIntel Intel processor

UMC UMC UMC UMC processor

AuthenticAMD AMD processor

CyrixInstead Cyrix processor

NexGenDriven NexGen processor

CentaurHauls Centaur processor

RiseRiseRise Rise Technology processor

SiS SiS SiS SiS processor

GenuineTMx86 Transmeta processor

Geode by NSC National Semiconductor processor



Funktionnumer für eax: 8000 0004h

Schreibt automatisch in den ersten 16 Byte des Datensegmentes

eax: Pointer auf den vierten Teil

ebx: Pointer auf den ersten Teil

ecx: Pointer auf den dritten Teil

edx: Pointer auf den zweiten Teil


alle Teile haben eine Länge von 4 Byte






Beispielbild CPUID

cpuid.jpg






Struktur der ASM-Datei

;*****************************************************
; CPUID.asm *
;----------------------------------------------------*
.model small
.stack 100h
.data
memo DW 30 DUP (?)
.code
.586
start: mov ax,@data
mov ds,ax
mov eax, ?????H
CPUID
mov dword ptr memo, ??x
mov dword ptr memo+4, ??x
mov dword ptr memo+8, ??x
mov dword ptr memo+12, ??x
mov dx, offset memo
mov cx, 12
mov bx, 02
mov ah, 40H
INT 21H

mov ah,??h
int ??h

end start

;




Druckbare Version