Info zu CPUID

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


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




;