Sprachen
  Vorlesungen     Download     DBS     Oberflächen     File Formats     Impressum     Datenschutz  
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
C#
C++
Java
Python
Kotlin
gcc
Java Native Interface
openMP
PHP
Resim
STL
Unix
XML und XLST
Allgemein:
Startseite
Vorlesungen
Labore
Sinnvolle Programme
Lineare Regression
GUI-Entwurfsarbeit
Single-Format
Design Pattern-Termine
Observer1
Bsp2
Json-Array
Json-Dialogelemente
Webtechnologien

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

;