Sie sind hier: Sprachen Assembler Info zu CPUID  
 ASSEMBLER
Addition und Subtraktion
Multiplaktion und Division
Char-Ausgabe eines Zahl im AX
Interupt 25h
Info zu CPUID
Lösung der Werte für das zweite Labor
 SPRACHEN
Assembler
C#
C++
Java
Python
Kotlin
gcc
Java Native Interface
openMP
PHP
Resim
STL
Unix
XML und XLST

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

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

;