Stand: 18. November 2018
über dieses Dokumentwas es hierin gibt
wo man die neuste Version bekommt
wie man den Verfasser kontaktiert
welche gesetzlichen Einschränkungen es gibtLizenzlosigkeit
Verfasserschutz
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen
allgemeine Informationen über die RegisterNamensgebungAllzweckregisterNutzung
BefehlssatzerweiterungsregisterAllzweckregister
HilfsregisterBetriebssystem-spezifische Auswirkungenauf FlaggenRegisternummern
auf Register
die Details von den RegisternAllzweckregisterZweckBefehlssatzerweiterungsregister
extended accumulator (eax)Allgemeinesextended base (ebx)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenaccumulator (ax)Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenaccumulator high byte (ah)Windows-spezifische InformationenAllgemeinesaccumulator low byte (al)
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeinesextended counter (ecx)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenbase (bx)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenbase high byte (bh)Allgemeinesbase low byte (bl)
Aufbau
häufige Verwendung
technische DatenAllgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesextended data (edx)
Aufbau
häufige Verwendung
technische Daten
counter (cx)AllgemeinesWindows-spezifische Informationen
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellencounter high byte (ch)Windows-spezifische InformationenAllgemeinescounter low byte (cl)
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellendata (dx)Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellendata high byte (dh)Windows-spezifische InformationenAllgemeinesdata low byte (dl)
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeinesFlaggenregister
Allzweckregister"x87 fpu data"-RegisterHilfsregisterstack 0 (st0)*MM-RegisterAllgemeinesstack 1 (st1)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 0 (mm0)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 2 (st2)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 1 (mm1)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 3 (st3)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 2 (mm2)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 4 (st4)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 3 (mm3)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 5 (st5)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 4 (mm4)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 6 (st6)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 5 (mm5)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesstack 7 (st7)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 6 (mm6)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenmultimedia 7 (mm7)Allgemeines
Aufbau
häufige Verwendung
technische Datenz multimedia 0 (zmm0)Allgemeinesz multimedia 1 (zmm1)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 0 (ymm0)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 0 (xmm0)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 2 (zmm2)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 1 (ymm1)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 1 (xmm1)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 3 (zmm3)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 2 (ymm2)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 2 (xmm2)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 4 (zmm4)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 3 (ymm3)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 3 (xmm3)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 5 (zmm5)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 4 (ymm4)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 4 (xmm4)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 6 (zmm6)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 5 (ymm5)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 5 (xmm5)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbauz multimedia 7 (zmm7)
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 6 (ymm6)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 6 (xmm6)Allgemeines
Aufbau
häufige Verwendung
technische DatenAufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzelleny multimedia 7 (ymm7)Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenx multimedia 7 (xmm7)Allgemeines
Aufbau
häufige Verwendung
technische Datenfloating point unit tag word (ftw)Allgemeinesmedia extension control and status register (mxcsr)
Aufbau
technische Daten
untergeordnete Speicherzellentag 0 (tag0)Allgemeinestag 1 (tag1)
häufige Verwendung
technische DatenAllgemeinestag 2 (tag2)
häufige Verwendung
technische DatenAllgemeinestag 3 (tag3)
häufige Verwendung
technische DatenAllgemeinestag 4 (tag4)
häufige Verwendung
technische DatenAllgemeinestag 5 (tag5)
häufige Verwendung
technische DatenAllgemeinestag 6 (tag6)
häufige Verwendung
technische DatenAllgemeinestag 7 (tag7)
häufige Verwendung
technische DatenAllgemeines
häufige Verwendung
technische DatenAllgemeines
Aufbau
Datentransfer
technische Daten
untergeordnete SpeicherzellenStatusflaggenAllgemeinesSteuerungsfelder
denormal exception flag (de)Allgemeinesdivide-by-zero exception flag (ze)
technische DatenAllgemeinesinvalid operation exception flag (ie)
technische DatenAllgemeinesoverflow exception flag (oe)
technische DatenAllgemeinespercision exception flag (pe)
technische DatenAllgemeinesunderflow exception flag (ue)
technische DatenAllgemeines
technische DatenAllgemeinesSteuerungsflaggen
rounding control (rc)Allgemeines
technische DatenAllgemeines
denormal operation mask (dm)Allgemeinesdenormals are zeros flag (daz)
technische DatenAllgemeinesdivide-by-zero mask (zm)
technische DatenAllgemeinesflush to zero (fz)
technische DatenAllgemeinesinvalid operation mask (im)
technische DatenAllgemeinesoverflow mask (om)
technische DatenAllgemeinespercision mask (pm)
technische DatenAllgemeinesunderflow mask (um)
technische DatenAllgemeines
technische DatenAllgemeinesSegmentregister
extended flags (eflags)Allgemeines
Aufbau
Datentransfer
technische Daten
untergeordnete SpeicherzellenflagsAllgemeinesStatusflaggen
Aufbau
Datentransfer
technische Daten
untergeordnete Speicherzellenflags low byteAllgemeines
Aufbau
Datentransfer
technische DatenAllgemeinesSteuerungsflaggen
auxiliary carry flag (af)Allgemeinescarry flag (cf)
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeinesoverflow flag (of)
Datentransfer
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeinesparity flag (pf)
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeinessign flag (sf)
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeineszero flag (zf)
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeines
häufige Verwendung
notwendiger Variablentyp
technische DatenAllgemeinesSystemflaggen
direction flag (df)Allgemeines
Datentransfer
häufige Verwendung
technische Daten
Windows-spezifische InformationenAllgemeines
identification flag (id)Allgemeinesinterrupt enable flag (if)
häufige Verwendung
technische DatenAllgemeines
Datentransfer
häufige Verwendung
technische DatenZweckStapelregister
Zwischenspeicher
code segment selector (cs)Allgemeinesdata segment "d" selector (ds)
Aufbau
technische DatenAllgemeinesdata segment "f" selector (fs)
Aufbau
technische DatenAllgemeinesdata segment "g" selector (gs)
Aufbau
technische DatenAllgemeinesextra segment selector (es)
Aufbau
technische DatenAllgemeinesstack segment selector (ss)
Aufbau
technische DatenAllgemeines
Aufbau
technische Datenextended base pointer (ebp)ZeigerregisterAllgemeinesextended stack pointer (esp)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenbase pointer (bp)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellenstack pointer (sp)Allgemeines
Aufbau
häufige Verwendung
technische DatenZweck
extended destination index (edi)Allgemeinesextended instruction pointer (eip)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellendestination index (di)Allgemeines
Aufbau
häufige Verwendung
technische DatenAllgemeinesextended source index (esi)
Aufbau
Datentransfer
häufige Verwendung
technische Daten
untergeordnete Speicherzelleninstruction pointer (ip)Allgemeines
Aufbau
Datentransfer
häufige Verwendung
technische DatenAllgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellensource index (si)Allgemeines
Aufbau
häufige Verwendung
technische Daten
StichwortverzeichnisFelderArtenFlaggen
Namenabgekürzt
ausgeschriebenArtenRegister
Namenabgekürzt
ausgeschriebenArten
NamenabgekürztNummern
ausgeschrieben
weiteres Material zu diesem ThemaDokumente
Aufnahme von weiteren Materialien
was es hierin gibt
Dieses Dokument
- beschreibt die häufig verwendeten Register von der x86-Architektur und
- enthält allgemeine Informationen über die Register von der x86-Architektur.
wo man die neuste Version bekommt
Derzeit nutze ich OnTheServer.de/Downloads/ um neue Versionen zugänglich zu machen. Sie müsste irgendwo dort in den Unterverzeichnissen sein; das kann sich hin und wieder ein bischen ändern.
Dort gibt es vielleicht auch dieses Dokument in anderen Sprachen.
Die Versions-Angabe von diesem Dokument steht oben rechts ("Stand: ...").
wie man den Verfasser kontaktiert
Der Verfasser von diesem Dokument kann mit der Hilfe von einer elektronischen Nachricht kontaktiert werden. Das hierfür eingerichtete Postfach ist mit der Hilfe von der folgenden Adresse erreichbar:Kontakt@On(entferne mich)TheServer.de
welche gesetzlichen Einschränkungen es gibt
Lizenzlosigkeit
Dieses Dokument
- ist an keine Lizenz gebunden.
- unterliegt nicht den Einschränkungen durch das Urhebergesetz.
- soll allgemeinfrei (public domain) behandelt werden. Also so, als wenn es sich um ein Eigentum von der Allgemeinheit handelt.
Im Übrigen soll alles, was man auf OnTheServer.de und den Subdomains öffentlich zugänglich findet, entsprechend behandelt werden.
Es gibt auf OnTheServer.de allerdings eine Ausnahme:Ich lege gelegentlich im Verzeichnis "OnTheServer.de/temp/" urheberrechtlich geschütztes Material ab.
Es ist nicht gestattet, auf irreführendeweise vorzutäuschen, dass das (ursprüngliche) Dokument an eine Lizenz gebunden wäre.
Verfasserschutz
Es ist nicht gestattet, auf irreführendeweise vorzutäuschen, dass man der (ursprüngliche) Verfasser vom Dokument wäre. Der (ursprüngliche) Verfasser muss jedoch nicht namentlich genannt werden.
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen
Ich (der ursprüngliche Verfasser) behalte die Möglichkeit, Einschränkungen füraufzuerlegen. Von den Einschränkungen wären lediglich neue Versionen betroffen. Was bisher veröffentlicht wurde, erhält keine weiteren Einschränkungen.
- die Veränderung oder/und
- die Verbreitung
Von diesem Recht werde ich hoffentlich nie gebrauch machen müssen.
Namensgebung
1985 wurden mit der Markteinführung vom "Intel386"-Prozessor "4 Byte"-große Prozessor-Register eingeführt. Der Abwärtskompatibilität halber sind die niederwertigsten 2 Byte von diesen Registen separat adressierbar geblieben.
Allzweckregister
Für diese 2 niederwertigsten Byte gibt es für beide Bytes jeweils einen Namen. Daher haben heutige Prozessoren mit x86-Architektur für einige "4 Byte"-große Register jeweils 4 Namen:
- 1 Name, um das Byte mit der Wertigkeit "2560" auszuwählen,
- 1 Name, um das Byte mit der Wertigkeit "2561" auszuwählen,
- 1 Name, um die Bytes mit den Wertigkeiten "2560" bis "2561" auszuwählen und
- 1 Name, um die Bytes mit den Wertigkeiten "2560" bis "2563", also die kompletten 4 Byte, auszuwählen.
Die Registernamen, welche zum Auswählen von
- dem Byte mit der Wertigkeit "2560" verwendet wird, enden mit einem "l", wie beispielsweise in "al". Dieses "l" steht für "low byte".
- dem Byte mit der Wertigkeit "2561" verwendet wird, enden mit einem "h", wie beispielsweise in "ah". Dieses "h" steht für "high byte".
- den Bytes mit den Wertigkeiten "2560" bis "2561" verwendet werden, haben den ursprünglichen Namen aus der "16 Bit"-Architektur. Also zum Beispiel "ax".
- den Bytes mit den Wertigkeiten "2560" bis "2563" verwendet werden, beginnen mit einem "e", wie beispielsweise in "eax". Dieses "e" steht meiner Vermutung nach für "extended".
Wenndann
- ein Registername mit einem "x" endet, wie zum Beispiel in "ax",
Ansonsten
- bedeutet dies, dass dieses Register mehrere kleinere Unterregister hat, mit welchen jeweils auf einen Teil vom gesamten Register zugegriffen werden kann.
Beispielsweise hat das Register "ax" folgende Unterregister:
- bedeutet dies nicht, dass dieses Register keine Unterregister hat. Unter den Registern, deren Namen mit einem "x" enden, gibt es
- sowohl solche, welche keine Unterregister haben,
- als auch solche, welche 1 Unterregister haben.
Befehlssatzerweiterungsregister
Allzweckregister
Die Befehlssatzerweiterungs-"Allzweck"register wurden mit den Befehlssatzerweiterungen eingefüht. Sie werden alsbezeichnet.
- '"x87 fpu data"-Register' ("st0" bis "st7"),
- "MMX-Register" ("mm0" bis "mm7"),
- "XMM-Register" ("xmm0" bis "xmm7"),
- "YMM-Register" ("ymm0" bis "ymm7") und
- "ZMM-Register" ("zmm0" bis "zmm7")
Die MMX-Register wurden mit der Befehlssatzerweiterung "multimedia extensions" ("MMX") eingeführt. Hierraus kann man rückschließen, dass das "MM" in den Registernamen für "multimedia" steht. Ich habe jedoch keinevon dieser Theorie in der offiziellen Dokumentation vom Entwickler von der x86-Architektur "Intel Corporation" gefunden. Intel verwendet scheinbar immer die Abkürzung.
- Bestätigung oder
- Widerlegung
Hilfsregister
Zu den Befehlssatzerweiterungs-Hilfsregistern gehört unter anderem das Register
Nutzung
Betriebssystem-spezifische Auswirkungen
auf Flaggen
Bei manchen Funktionen vom Betriebssystem "Windows" ist es notwendig, dass in den Flaggen bestimmte Werte gespeichert sind. Diese Werte müssen also gegebenenfalls gespeichert werden, bevor eine solche Funktion aufgerufen wird. Wenndann
- beim Funktionsaufruf ein unerwarteter Wert in einer Flagge gespeichert ist,
- kann der Funktionsdurchlauf scheitern oder sogar das ganze Programm abstürzen.
Die meisten Funktionen von den meisten Betriebssystemen ändern die Werte von Flaggen.
Weitere Informationen zu den Betriebssystem-spezifischen Auswirkungen auf Flaggen sind in separate Dokumente über die Funktionen von dem jeweiligen Betriebssystem ausgelagert. Sie sind im Kapitel "weiteres Material zu diesem Thema - Dokumente" aufgelistet.
auf Register
Die meisten Funktionen von den meisten Betriebssystemen ändern die Werte von manchen Registern. Die Werte von anderen Registern werden durch einen Funktionsdurchlauf von einer Funktion vom Betriebssystem nicht geändert. Welche Register betroffen sind, ist Betriebssystem-spezifisch.
Weitere Informationen hierzu sind in separate Dokumente über die Funktionen von dem jeweiligen Betriebssystem ausgelagert. Sie sind im Kapitel "weiteres Material zu diesem Thema - Dokumente" aufgelistet.
Registernummern
Die Registernummern werden in den Maschinenbefehlen benutzt, um ein Register auszuwählen. Im Maschinenbefehl wird also nicht der Name vom Register angegeben.
An welcher Position die Registernummer angegeben wird, ist in dieser Dokumentation nicht beschrieben. Stattdessen ist im Kapitel "weiteres Material zu diesem Thema - Dokumente" ein Dokument aufgelistet, in welchem die Maschinensprache von der x86-Architektur beschrieben ist und damit auch die Verwendung von Registernummern.
Allzweckregister
Zweck
Allzweckregister haben spezifische Namen, wodurch sich jeweils ein spezifischer Zweck vom Register vermuten lässt. Sie können allerdings fast unabhängig vom Namen und daher fast unabhängig vom vermuteten Zweck verwendet werden.
extended accumulator (eax)
Allgemeines
Name: extended accumulator (eax) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended accumulator - kein Name - accumulator accumulator high byte accumulator low byte Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um einen Rückgabewert von einer Funktion zu speichern
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
accumulator (ax)
Allgemeines
Name: accumulator (ax) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: accumulator accumulator high byte accumulator low byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um einen Rückgabewert von einer Funktion zu speichern
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
accumulator high byte (ah)
Allgemeines
Name: accumulator high byte (ah) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: accumulator high byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28
häufige Verwendung
- um einen Rückgabewert von einer Funktion zu speichern
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
accumulator low byte (al)
Allgemeines
Name: accumulator low byte (al) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: accumulator low byte Wertigkeit vom Bit: 27 26 25 24 23 22 21 20
häufige Verwendung
- um einen Rückgabewert von einer Funktion zu speichern
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
extended base (ebx)
Allgemeines
Name: extended base (ebx) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended base - kein Name - base base high byte base low byte Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
base (bx)
Allgemeines
Name: base (bx) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: base base high byte base low byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um in einer "16 Bit"-Anwendung einen Offset zu Daten im Daten-Segment "ds" anzugeben
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
base high byte (bh)
Allgemeines
Name: base high byte (bh) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: base high byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28
häufige Verwendung
- um in einer "16 Bit"-Anwendung einen Teil von einem Offset zu Daten im Daten-Segment "ds" anzugeben
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
base low byte (bl)
Allgemeines
Name: base low byte (bl) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: base low byte Wertigkeit vom Bit: 27 26 25 24 23 22 21 20
häufige Verwendung
- um in einer "16 Bit"-Anwendung einen Teil von einem Offset zu Daten im Daten-Segment "ds" anzugeben
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
extended counter (ecx)
Allgemeines
Name: extended counter (ecx) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended counter - kein Name - counter counter high byte counter low byte Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- als Zähler für Schleifen und Zeichenketten-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
counter (cx)
Allgemeines
Name: counter (cx) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: counter counter high byte counter low byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- als Zähler für Schleifen und Zeichenketten-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
counter high byte (ch)
Allgemeines
Name: counter high byte (ch) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: counter high byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28
häufige Verwendung
- als Zähler für Schleifen und Zeichenketten-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
counter low byte (cl)
Allgemeines
Name: counter low byte (cl) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: counter low byte Wertigkeit vom Bit: 27 26 25 24 23 22 21 20
häufige Verwendung
- als Zähler für Rotations-Befehle, Schiebe-Befehle, Schleifen und Zeichenketten-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
extended data (edx)
Allgemeines
Name: extended data (edx) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended data - kein Name - data data high byte data low byte Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
data (dx)
Allgemeines
Name: data (dx) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: data data high byte data low byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- für eine Adresse für Aus- und Eingabe-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
data high byte (dh)
Allgemeines
Name: data high byte (dh) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: data high byte Wertigkeit vom Bit: 215 214 213 212 211 210 29 28
häufige Verwendung
- für einen Teil von einer Adresse für Aus- und Eingabe-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
data low byte (dl)
Allgemeines
Name: data low byte (dl) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: data low byte Wertigkeit vom Bit: 27 26 25 24 23 22 21 20
häufige Verwendung
- für einen Teil von einer Adresse für Aus- und Eingabe-Operationen
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.
Befehlssatzerweiterungsregister
Allgemeines
Die Befehlssatzerweiterungsregister können lediglich mit der Hilfe von den Befehlen verwendet werden, welche durch Befehlssatzerweiterungen zum normalen Befehlssatz von der x86-Architektur hinzugekommen sind. Die regulären Befehle von der x86-Architektur können also nicht auf diese Register zugreifen.
Allzweckregister
"x87 fpu data"-Register
stack 0 (st0)
Allgemeines
Name: stack 0 (st0)
Die offizielle Abkürzung lautet "st(0)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 0 - kein Name - multimedia 0 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 0 (mm0)
Allgemeines
Name: multimedia 0 (mm0) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 0 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
stack 1 (st1)
Allgemeines
Name: stack 1 (st1)
Die offizielle Abkürzung lautet "st(1)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 1 - kein Name - multimedia 1 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 1 (mm1)
Allgemeines
Name: multimedia 1 (mm1) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 1 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
stack 2 (st2)
Allgemeines
Name: stack 2 (st2)
Die offizielle Abkürzung lautet "st(2)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 2 - kein Name - multimedia 2 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 2 (mm2)
Allgemeines
Name: multimedia 2 (mm2) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 2 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
stack 3 (st3)
Allgemeines
Name: stack 3 (st3)
Die offizielle Abkürzung lautet "st(3)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 3 - kein Name - multimedia 3 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 3 (mm3)
Allgemeines
Name: multimedia 3 (mm3) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 3 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
stack 4 (st4)
Allgemeines
Name: stack 4 (st4)
Die offizielle Abkürzung lautet "st(4)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 4 - kein Name - multimedia 4 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 4 (mm4)
Allgemeines
Name: multimedia 4 (mm4) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 4 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
stack 5 (st5)
Allgemeines
Name: stack 5 (st5)
Die offizielle Abkürzung lautet "st(5)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 5 - kein Name - multimedia 5 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 5 (mm5)
Allgemeines
Name: multimedia 5 (mm5) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 5 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
stack 6 (st6)
Allgemeines
Name: stack 6 (st6)
Die offizielle Abkürzung lautet "st(6)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 6 - kein Name - multimedia 6 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 6 (mm6)
Allgemeines
Name: multimedia 6 (mm6) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 6 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
stack 7 (st7)
Allgemeines
Name: stack 7 (st7)
Die offizielle Abkürzung lautet "st(7)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: stack 7 - kein Name - multimedia 7 Wertigkeit vom Byte: 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Fließkommazahlen
technische Daten
Größe: 80 Bit, also 10 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
multimedia 7 (mm7)
Allgemeines
Name: multimedia 7 (mm7) existiert seit: Am Anfang vom Jahr "1997", mit der Einführung von der Modellreihe "Pentium with MMX technology".
Aufbau
Name: multimedia 7 Wertigkeit vom Byte: 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen zur Rechnung mit Ganzzahlen
technische Daten
Größe: 64 Bit, also 8 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
*MM-Register
z multimedia 0 (zmm0)
Allgemeines
Name: z multimedia 0 (zmm0) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 0 - kein Name - y multimedia 0 - kein Name - x multimedia 0 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 0 (ymm0)
Allgemeines
Name: y multimedia 0 (ymm0) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 0 - kein Name - x multimedia 0 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 0 (xmm0)
Allgemeines
Name: x multimedia 0 (xmm0) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 0 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 000 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
z multimedia 1 (zmm1)
Allgemeines
Name: z multimedia 1 (zmm1) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 1 - kein Name - y multimedia 1 - kein Name - x multimedia 1 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 1 (ymm1)
Allgemeines
Name: y multimedia 1 (ymm1) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 1 - kein Name - x multimedia 1 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 1 (xmm1)
Allgemeines
Name: x multimedia 1 (xmm1) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 1 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 001 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
z multimedia 2 (zmm2)
Allgemeines
Name: z multimedia 2 (zmm2) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 2 - kein Name - y multimedia 2 - kein Name - x multimedia 2 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 2 (ymm2)
Allgemeines
Name: y multimedia 2 (ymm2) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 2 - kein Name - x multimedia 2 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 2 (xmm2)
Allgemeines
Name: x multimedia 2 (xmm2) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 2 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 010 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
z multimedia 3 (zmm3)
Allgemeines
Name: z multimedia 3 (zmm3) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 3 - kein Name - y multimedia 3 - kein Name - x multimedia 3 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 3 (ymm3)
Allgemeines
Name: y multimedia 3 (ymm3) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 3 - kein Name - x multimedia 3 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 3 (xmm3)
Allgemeines
Name: x multimedia 3 (xmm3) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 3 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 011 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
z multimedia 4 (zmm4)
Allgemeines
Name: z multimedia 4 (zmm4) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 4 - kein Name - y multimedia 4 - kein Name - x multimedia 4 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 4 (ymm4)
Allgemeines
Name: y multimedia 4 (ymm4) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 4 - kein Name - x multimedia 4 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 4 (xmm4)
Allgemeines
Name: x multimedia 4 (xmm4) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 4 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
z multimedia 5 (zmm5)
Allgemeines
Name: z multimedia 5 (zmm5) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 5 - kein Name - y multimedia 5 - kein Name - x multimedia 5 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 5 (ymm5)
Allgemeines
Name: y multimedia 5 (ymm5) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 5 - kein Name - x multimedia 5 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 5 (xmm5)
Allgemeines
Name: x multimedia 5 (xmm5) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 5 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
z multimedia 6 (zmm6)
Allgemeines
Name: z multimedia 6 (zmm6) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 6 - kein Name - y multimedia 6 - kein Name - x multimedia 6 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 6 (ymm6)
Allgemeines
Name: y multimedia 6 (ymm6) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 6 - kein Name - x multimedia 6 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 6 (xmm6)
Allgemeines
Name: x multimedia 6 (xmm6) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 6 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
z multimedia 7 (zmm7)
Allgemeines
Name: z multimedia 7 (zmm7) existiert seit: 201?, mit der Einführung von der Befehlssatzerweiterung "AVX-512 foundation".
Aufbau
Name: z multimedia 7 - kein Name - y multimedia 7 - kein Name - x multimedia 7 Wertigkeit vom Byte: 25663 25662 25661 25660 25659 25658 25657 25656 25655 25654 25653 25652 25651 25650 25649 25648 25647 25646 25645 25644 25643 25642 25641 25640 25639 25638 25637 25636 25635 25634 25633 25632 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 512 Bit, also 64 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
y multimedia 7 (ymm7)
Allgemeines
Name: y multimedia 7 (ymm7) existiert seit: 2011, mit der Einführung von der Befehlssatzerweiterung "advanced vector extensions" ("AVX") in der "2. Generation" vom "Core"-Prozessor mit der Mikroarchitektur "Sandy Bridge".
Aufbau
Name: y multimedia 7 - kein Name - x multimedia 7 Wertigkeit vom Byte: 25631 25630 25629 25628 25627 25626 25625 25624 25623 25622 25621 25620 25619 25618 25617 25616 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 256 Bit, also 32 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
x multimedia 7 (xmm7)
Allgemeines
Name: x multimedia 7 (xmm7) existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: x multimedia 7 Wertigkeit vom Byte: 25615 25614 25613 25612 25611 25610 2569 2568 2567 2566 2565 2564 2563 2562 2561 2560
häufige Verwendung
- als Zwischenspeicher für Parameterwerte von Maschinenbefehlen
technische Daten
Größe: 128 Bit, also 16 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
Hilfsregister
floating point unit tag word (ftw)
Allgemeines
Name: floating point unit tag word (ftw) existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
Aufbau
Name: floating point unit tag word tag 7 tag 6 tag 5 tag 4 tag 3 tag 2 tag 1 tag 0 Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer: - Dieses Register hat keine Registernummer. -
untergeordnete Speicherzellen
tag 0 (tag0)
Allgemeines
Name: tag 0 (tag0)
Die offizielle Abkürzung lautet "tag(0)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 0" ("st0") befindet:
Bedeutung: Wert: Im Register "stack 0" ("st0") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 1 (tag1)
Allgemeines
Name: tag 1 (tag1)
Die offizielle Abkürzung lautet "tag(1)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 1" ("st1") befindet:
Bedeutung: Wert: Im Register "stack 1" ("st1") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 2 (tag2)
Allgemeines
Name: tag 2 (tag2)
Die offizielle Abkürzung lautet "tag(2)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 2" ("st2") befindet:
Bedeutung: Wert: Im Register "stack 2" ("st2") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 3 (tag3)
Allgemeines
Name: tag 3 (tag3)
Die offizielle Abkürzung lautet "tag(3)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 3" ("st3") befindet:
Bedeutung: Wert: Im Register "stack 3" ("st3") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 4 (tag4)
Allgemeines
Name: tag 4 (tag4)
Die offizielle Abkürzung lautet "tag(4)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 4" ("st4") befindet:
Bedeutung: Wert: Im Register "stack 4" ("st4") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 5 (tag5)
Allgemeines
Name: tag 5 (tag5)
Die offizielle Abkürzung lautet "tag(5)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 5" ("st5") befindet:
Bedeutung: Wert: Im Register "stack 5" ("st5") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 6 (tag6)
Allgemeines
Name: tag 6 (tag6)
Die offizielle Abkürzung lautet "tag(6)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 6" ("st6") befindet:
Bedeutung: Wert: Im Register "stack 6" ("st6") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
tag 7 (tag7)
Allgemeines
Name: tag 7 (tag7)
Die offizielle Abkürzung lautet "tag(7)".existiert seit: 1980, mit der Einführung vom Fließkomma-Prozessor "C8087".
häufige Verwendung
- Mit der Hilfe von diesem Wert wird angegeben, welche Art von Inhalt sich im Register "stack 7" ("st7") befindet:
Bedeutung: Wert: Im Register "stack 7" ("st7") ist ein gültiger Wert gespeichert. 00|b der Wert "0|d" 01|b
- der Wert "unendlich" oder
- kein gültiger Wert
10|b kein benutzter Wert 11|b
technische Daten
Größe: 2 Bit Registernummer: - Dieses Teil-Register hat keine Registernummer. -
media extension control and status register (mxcsr)
Allgemeines
Name: media extension control and status register (mxcsr)
In der offiziellen Dokumentation vom Entwickler von der x86-Architektur "Intel Corporation" gibt es lediglich einen Hinweis darauf, dass der Teil "control and status register" vermutlich stimmt. Intel verwendet für den restlichen Teil scheinbar immer die Abkürzung. Laut dem Hersteller "Advanced Micro Devices Incorporated" ("AMD") steht die Abkürzung für "media extension control and status register".existiert seit: 26. Februar 1999, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
Aufbau
Name: media extension control and status register - - - - - - - - - - - - - - - - fz rc pm um om zm dm im daz pe ue oe ze de ie Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
"-" bedeutet, dass dieses Bit nicht benutzt wird. Wenndann
- mit der Hilfe von einem Maschinenbefehl versucht wird, den Wert von
auf "1" zu setzen,
- einem unbenutzten Bit oder
- von einem Bit, welches der Prozessor nicht unterstützt,
- wird ein Ausnahmefall ausgelöst.
Datentransfer
- Es kann ein Datentransfer zwischen
und
- dem Register "media extension control and status register" ("mxcsr")
stattfinden.
- dem Arbeitsspeicher
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: load media extension control and status register (ldmxcsr) Speicherstelle im Arbeitsspeicher → "media extension control and status register" ("mxcsr") store media extension control and status register (stmxcsr) "media extension control and status register" ("mxcsr") → Speicherstelle im Arbeitsspeicher - Es kann ein Datentransfer zwischen und
stattfinden.
- dem Arbeitsspeicher
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: restore x87-FPU-, MMX-, MXCSR- and XMM state (fxrstor) Speicherstelle im Arbeitsspeicher → Befehlssatzerweiterungs-Allzweckregister, Befehlssatzerweiterungs-Hilfsregister save x87-FPU-, MMX-, MXCSR- and XMM state (fxsave) Befehlssatzerweiterungs-Allzweckregister, Befehlssatzerweiterungs-Hilfsregister → Speicherstelle im Arbeitsspeicher
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer: - Dieses Register hat keine Registernummer. -
untergeordnete Speicherzellen
Statusflaggen
Allgemeines
Die Statusflaggen von diesem Register werden anhand vom Ergebnis von einem Maschinenbefehl gesetzt, welcher eine Fließkomma-Berechnung durchführt, und können mit der Hilfe von weiteren Maschinenbefehle ausgelesen werden. Auf diese Weise ist es einem Maschinenbefehl möglich,
- nicht nur das rohe Ergebnis zurück zu geben,
- sondern auch ein paar Zusatzinformationen, wie zum Beispiel ob es bei der Addition (beim Plus rechnen) zu einem Überlauf gekommen ist.
Die Statusflaggen von diesem Register unterscheiden sich allerdings von den regulären Statusflaggen darin, dass mit der Hilfe von den Zusatzinformationen die Werte lediglich auf "1" gesetzt werden, nicht aber auf "0". Somit müssen die Flaggen hin und wieder manuell mit der Hilfe von dem dafür vorgesehenen Maschinenbefehl auf "0" zurückgesetzt werden.
denormal exception flag (de)
Allgemeines
Name: denormal exception flag (de) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 21
divide-by-zero exception flag (ze)
Allgemeines
Name: divide-by-zero exception flag (ze) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 22
invalid operation exception flag (ie)
Allgemeines
Name: invalid operation exception flag (ie) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 20
overflow exception flag (oe)
Allgemeines
Name: overflow exception flag (oe) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 23
precision exception flag (pe)
Allgemeines
Name: precision exception flag (pe) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 25
underflow exception flag (ue)
Allgemeines
Name: underflow exception flag (ue) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 24
Steuerungsfelder
Allgemeines
siehe: im Kapitel "Steuerungsflaggen - Allgemeines"
rounding control (rc)
Allgemeines
Name: rounding control (rc) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 2 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 213 bis 214
Steuerungsflaggen
Allgemeines
Eine Steuerungsflagge von diesem Register kann gesetzt werden und wirkt sich von dann an auf andere Maschinenbefehle aus, welche nach einer Fließkommma-Berechnung Statusflaggen auf "1" setzen. Ansich ist es also ein Parameter für diese anderen Maschinenbefehle.
denormal operation mask (dm)
Allgemeines
Name: denormal operation mask (dm) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 28
denormals are zeros flag (daz)
Allgemeines
Name: denormals are zeros flag (daz) existiert seit: 20. November 2000, mit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions 2" ("SSE2") im "Pentium 4"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 26
divide-by-zero mask (zm)
Allgemeines
Name: divide-by-zero mask (zm) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 29
flush to zero (fz)
Allgemeines
Name: flush to zero (fz) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 215
invalid operation mask (im)
Allgemeines
Name: invalid operation mask (im) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 27
overflow mask (om)
Allgemeines
Name: overflow mask (om) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 210
percision mask (pm)
Allgemeines
Name: percision mask (pm) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 212
underflow mask (um)
Allgemeines
Name: underflow mask (um) existiert seit: 26. Februar 1999, mit der Einführung vom Register "media extension control and status register" ("mxcsr") und damit der Einführung von der Befehlssatzerweiterung "streaming single instruction multiple data extensions" ("SSE") im "Pentium 3"-Prozessor.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "media extension control and status register" ("mxcsr"): 211
Flaggenregister
Allgemeines
Die einzelnen Felder vom Flaggenregister werden "Flaggen" genannt. Sie sind meistens nur "1 Bit"-groß.
Nicht alle Bits/Flaggen werden benutzt. Für die unbenutzten Bits empfiehlt Intel, sie nicht zu benutzen und die Werte nicht zu ändern.
extended flags (eflags)
Allgemeines
Name: extended flags (eflags) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended flags - kein Name - flags - kein Name - flags low byte - - - - - - - - - - id vip vif ac vm rf - nt iopl of df if tf sf zf - af - pf - cf Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
"-" bedeutet, dass dieses Bit nicht benutzt wird.
Datentransfer
- Es kann ein Datentransfer zwischen
und
- dem Register "extended flags" ("eflags")
stattfinden.
- dem Stapel
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: pop stack into extended flags (popfd) Stapel → "extended flags" ("eflags") push extended flags onto the stack (pushfd) "extended flags" ("eflags") → Stapel
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer: - Dieses Register hat keine Registernummer. -
untergeordnete Speicherzellen
flags
Allgemeines
Name: flags existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: flags - kein Name - flags low byte - nt iopl of df if tf sf zf - af - pf - cf Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
"-" bedeutet, dass dieses Bit nicht benutzt wird.
Datentransfer
- Es kann ein Datentransfer zwischen
und
- dem Register "flags"
stattfinden.
- dem Stapel
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: pop stack into flags (popf) Stapel → flags push flags onto the stack (pushf) flags → Stapel
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer: - Dieses Register hat keine Registernummer. -
untergeordnete Speicherzellen
flags low byte
Allgemeines
Name: flags low byte existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: flags low byte sf zf - af - pf - cf Wertigkeit vom Bit: 27 26 25 24 23 22 21 20
"-" bedeutet, dass dieses Bit nicht benutzt wird.
Datentransfer
- Es kann ein Datentransfer zwischen
und
- dem Register "flags low byte"
stattfinden.
- dem Register "accumulator high byte" ("ah")
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: load flags low byte into accumulator high byte (lahf) "flags low byte" → "accumulator high byte" ("ah") store accumulator high byte into flags low byte (sahf) "accumulator high byte" ("ah") → "flags low byte"
technische Daten
Größe: 8 Bit, also 1 Byte Registernummer: - Dieses Register hat keine Registernummer. -
Statusflaggen
Allgemeines
Statusflaggen werden anhand vom Ergebnis von einem Maschinenbefehl gesetzt, und können mit der Hilfe von weiteren Maschinenbefehle ausgelesen werden. Auf diese Weise ist es einem Maschinenbefehl möglich,
- nicht nur das rohe Ergebnis zurück zu geben,
- sondern auch ein paar Zusatzinformationen, wie zum Beispiel ob es bei der Addition (beim Plus rechnen) zu einem Überlauf gekommen ist.
Hierbei handelt es sich um folgende Flaggen:
auxiliary carry flag (af)
Allgemeines
Name: auxiliary carry flag (af)
Diese Flagge wird von Intel manchmal auch "adjust flag" ("af") genannt.existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
häufige Verwendung
- Als Auskunft, ob das Ergebnis von einer Berechnung > 9 ist.
Bedeutung: Wert: Das Ergebnis ist <= 9. 0 Das Ergebnis ist > 9. 1
Diese Information kann bei einer binär-kodierten Dezimalzahl (BCD-Zahl) wertvoll sein.
Bei einer BCD-Zahl wird jede einzelne DezimalstelleWenn ein ganzes Byte für die Wertspeicherung benutzt wird, dann werden nur die 4 niederwertigsten Bits vom Byte benutzt.
- in entweder einem halben Byte (also 4 Bit) gespeichert,
- oder in einem ganzen Byte gespeichert.
Bei dieser Kodierung wird also jede Dezimalstelle als eine separate Zahl zwischen 0 und 9 gespeichert.
notwendiger Variablentyp
Damit die Angabe, ob das Ergebnis > 9 ist, korrekt ist, muss es sich beim Ergebnis um einen Wert vom Variablentyphandeln.
- "Ganzzahl ohne Vorzeichen"
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 24
carry flag (cf)
Allgemeines
Name: carry flag (cf) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Datentransfer
Diese Flagge kann auch manuell beschrieben werden.
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: clear carry flag (clc) 0 → "carry flag" ("cf") complement carry flag (cmc) nicht("carry flag" ("cf")) → "carry flag" ("cf") set carry flag (stc) 1 → "carry flag" ("cf")
häufige Verwendung
- Als Auskunft, ob das Ergebnis von einer Berechnung in die für die Speicherung vorgesehene Speicherzelle gepasst hat.
Bedeutung: Wert: Das Ergebnis hat in die für die Speicherung vorgesehene Speicherzelle gepasst. 0 Das Ergebnis hat nicht in die für die Speicherung vorgesehene Speicherzelle gepasst. 1 - wird von manchen Maschinenbefehlen für andere Zwecke verwendet
notwendiger Variablentyp
Damit die Angabe, ob das Ergebnis von einer Berechnung in die für die Speicherung vorgesehene Speicherzelle gepasst hat, korrekt ist, muss es sich beim Ergebnis um einen Wert vom Variablentyphandeln.
- "Ganzzahl ohne Vorzeichen"
Wenndann
- es sich beim Ergebnis um einen Wert vom Variablentyp "Ganzzahl mit Vorzeichen" handelt,
- macht stattdessen die Flagge "overflow flag" ("of") die korrekte Auskunft.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 20
overflow flag (of)
Allgemeines
Name: overflow flag (of) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
häufige Verwendung
- Als Auskunft, ob das Ergebnis von einer Berechnung in die für die Speicherung vorgesehene Speicherzelle gepasst hat.
Bedeutung: Wert: Das Ergebnis hat in die für die Speicherung vorgesehene Speicherzelle gepasst. 0 Das Ergebnis hat nicht in die für die Speicherung vorgesehene Speicherzelle gepasst. 1
notwendiger Variablentyp
Damit die Angabe, ob das Ergebnis von einer Berechnung in die für die Speicherung vorgesehene Speicherzelle gepasst hat, korrekt ist, muss es sich beim Ergebnis um einen Wert vom Variablentyphandeln.
- "Ganzzahl mit Vorzeichen"
Wenndann
- es sich beim Ergebnis um einen Wert vom Variablentyp "Ganzzahl ohne Vorzeichen" handelt,
- macht stattdessen die Flagge "carry flag" ("cf") die korrekte Auskunft.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 211
parity flag (pf)
Allgemeines
Name: parity flag (pf) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
häufige Verwendung
- Als Auskunft, ob die Anzahl der Bits vom niederwertigsten Byte vom Ergebnis, welche den Wert "1" haben, gerade ist.
Bedeutung: Wert: Die Anzahl der Bits vom niederwertigsten Byte vom Ergebnis, welche den Wert "1" haben, ist ungerade.
Es haben also im niederwertigsten Byte vom ErgebnisBits den Wert "1".
- entweder 1,
- oder 3,
- oder 5,
- oder 7
0 Die Anzahl der Bits vom niederwertigsten Byte vom Ergebnis, welche den Wert "1" haben, ist gerade.
Es haben also im niederwertigsten Byte vom ErgebnisBits den Wert "1".
- entweder 0,
- oder 2,
- oder 4,
- oder 6,
- oder alle 8
1
notwendiger Variablentyp
Der Variablentyp vom Ergebnis ist hierfür
- irrelevant.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 22
sign flag (sf)
Allgemeines
Name: sign flag (sf) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
häufige Verwendung
Beim Wert von dieser Flagge handelt es sich schlicht um den selben Wert, wie das höchstwertigste Bit vom Ergebnis hat.
- Als Auskunft über das Vorzeichen vom Ergebnis.
Bedeutung: Wert: Das Ergebnis ist ein positiver Wert. 0 Das Ergebnis ist ein negativer Wert. 1
notwendiger Variablentyp
Damit die Angabe über das Vorzeichen vom Ergebnis korrekt ist, muss es sich beim Ergebnis um einen Wert vom Variablentyphandeln.
- "Ganzzahl mit Vorzeichen"
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 27
zero flag (zf)
Allgemeines
Name: zero flag (zf) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
häufige Verwendung
- Als Auskunft, ob das Ergebnis von einer Berechnung den Wert 0 hat:
Bedeutung: Wert: Das Ergebnis ist != 0. 0 Das Ergebnis ist == 0. 1
notwendiger Variablentyp
Damit diese Angabe korrekt ist, muss es sich beim Ergebnis um einen Wert vom Variablentyphandeln.
- "Ganzzahl mit Vorzeichen" oder
- "Ganzzahl ohne Vorzeichen"
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 26
Steuerungsflaggen
Allgemeines
Eine Steuerungsflagge kann mit der Hilfe von einem Maschinenbefehl gesetzt werden und wirkt sich von dann an auf andere Maschinenbefehle aus, welche mit Zeichenketten arbeiten. Ansich ist es also ein Parameter für diese anderen Maschinenbefehle.
Es handelt sich um folgende Flagge:
direction flag (df)
Allgemeines
Name: direction flag (df) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Datentransfer
Diese Flagge kann auch manuell beschrieben werden.
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: clear direction flag (cld) 0 → "direction flag" ("df") set direction flag (std) 1 → "direction flag" ("df")
häufige Verwendung
- um bei manchen Befehlen, welche mit Zeichenketten arbeiten, anzugeben, ob nach der Befehlsausführung die Adresse
werden soll
- erhöht, oder
- gesenkt
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "flags": 210
Windows-spezifische Informationen
Wenndann
- eine Funktion von der Windows-API aufgerufen wurde,
- erwartet die Funktion, dass diese Flagge auf "0" gesetzt ist.
Systemflaggen
Allgemeines
Die restlichen, benutzten Flaggen werden von Intel "Systemflaggen" genannt.
Es handelt sich unter anderem um folgende Flaggen:
identification flag (id)
Allgemeines
Name: identification flag (id) existiert seit: Diese Flagge existiert seit 1989, mit der Einführung vom "Intel486"-Prozessor.
Diese Flagge wurde jedoch erst eingeführt, als der "Intel486"-Prozessor bereits auf dem Markt war, daher haben die ersten "Intel486"-Prozessoren diese Flagge noch nicht.
häufige Verwendung
- Diese Flagge wird dafür benutzt, um festzustellen, ob der Prozessor den Befehl "central processing unit identification" ("cpuid") unterstützt, indem geprüft wird, ob sich der Wert von dieser Flagge ändern lässt.
Wenndann
- sich der Wert ändern lässt,
- wird der Befehl unterstützt.
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "extended flags" ("eflags"): 221
interrupt enable flag (if)
Allgemeines
Name: interrupt enable flag (if) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Datentransfer
Diese Flagge kann auch manuell beschrieben werden.
Hierfür gibt es die folgenden Befehle:
Befehl: Funktion: clear interrupt flag (cli) 0 → "interrupt enable flag" ("if") set interupt flag (sti) 1 → "interrupt enable flag" ("if")
häufige Verwendung
- Diese Flagge wird dafür benutzt, um anzugeben, ob der Prozessor auf Verarbeitungsunterbrechungens-Anforderungen reagieren soll.
Bedeutung: Wert: Der Prozessor soll Verarbeitungsunterbrechungs-Anforderungen ignorieren. 0 Der Prozessor soll bei einer Verarbeitungsunterbrechungs-Anforderung reagieren. 1
(Notiz: dies sind zu wenig Informationen; es sollte genauer beschrieben werden, was die Auswirkungen sind)
technische Daten
Größe: 1 Bit Wertigkeit vom Bit vom Register "extended flags" ("eflags"): 29
Segmentregister
Zweck
Der Arbeitsspeicher kann in mehrere Adressräume/Segmente unterteilt werden. Die Segmentregister sind ein Hilfsmittel hierfür.
In der Betriebsart "protected mode" kann die Adresse von einer Speicherzelle in einem Segment in die folgenden Teile aufgeteilt werden:
- Mit der Hilfe von einem "2 Byte"-großen Wert wird das Segment angegeben, in welchem sich die Speicherzelle befindet. Hierfür gibt der Wert einen Index in einer Tabelle mit Segmentbeschreibungen an. Sogesehen ist der Wert eine Identifikationskennung von einer Segmentbeschreibung.
Der Wert wird im Segmentregister gespeichert.- Mit der Hilfe von einem
Wert wird angegeben, welche Speicherzelle vom Segment gewählt werden soll. Hierfür gibt der Wert einen Offset vom Segmentanfang in Byte an.
- "2 Byte"-großen oder
- "4 Byte"-großen
Dieser Wert kann aus einer Kombination vonzusammengerechnet werden.
- direkten Daten,
- einem Multiplikator und
- Register-Inhalten
In der Betriebsart "real-address mode" kann die Adresse von einer Speicherzelle in einem Segment in die folgenden Teile aufgeteilt werden:
- Mit der Hilfe von einem "2 Byte"-großen Wert wird das Segment angegeben, in welchem sich die Speicherzelle befindet. Hierfür gibt der Wert einen ungeschobenen Offset vom Anfang vom linearen Arbeitsspeicher in 16 Byte an. Der ungeschobene Wert wird vor einer Verrechnung mit dem folgenden Teil 4 mal nach links geschoben, sodass er mit dem Wert "16|d" multipliziert (Mal gerechnet) wird.
Der Wert wird im Segmentregister gespeichert.- Mit der Hilfe von einem
Wert wird angegeben, welche Speicherzelle vom Segment gewählt werden soll. Hierfür gibt der Wert einen Offset vom Segmentanfang in Byte an.
- "2 Byte"-großen oder
- "4 Byte"-großen
Dieser Wert kann aus einer Kombination vonzusammengerechnet werden.
- direkten Daten und
- Register-Inhalten
Zwischenspeicher
In der Betriebsart "protected mode" gibt es zu jedem "2 Byte"-großen Segmentregister es ein zusätzliches "8 Byte"-großes Register:
- Das "2 Byte"-große Segmentregister dient dafür, um eine Identifikationskennung von einer Segmentbeschreibung zu speichern.
- Das "8 Byte"-große Zusatzregister dient dafür, um den Inhalt von der entsprechenden Segmentbeschreibung zwischenzuspeichern.
Mit der Hilfe von Maschinencode kann lediglich das "2 Byte"-große Segmentregister für die Identifikationskennung direktwerden. Das "8 Byte"-große Zusatzregister für die Zwischenspeicherung vom Inhalt kann nur indirekt beschrieben werden.
- beschrieben und
- gelesen
Für jedes Segment gibt es eine "8 Byte"-große Beschreibung - eine "Segmentbeschreibung". Diese Segmentbeschreibung enthält beispielsweiseSie ist im Arbeitsspeicher gespeichert. Sie wird aber bei jedem Zugriff auf eine Speicherstelle innerhalb vom Segment benötigt, um einige Überprüfungen durchzuführen.
- die Größe vom Segment und
- die Zugriffsberechtigungen.
Da der Prozessor also auf den Arbeitsspeicher zugreifen müsste, um korrekt auf ein Segment (ein anderer Teil vom Arbeitsspeicher) zugreifen zu können, würde bei jedem Zugriff auf Bytes in einem Segment mindestens die Wartezeit zusätzlich notwendig werden, welche für einen Zugriff auf den Zwischenspeicher "1st-level-cache" notwendig ist, um den Inhalt von der Segmentbeschreibung auslesen zu können.
Aus diesem Grund wird die Segmentbeschreibung in einem "8 Byte"-großen Zusatzregister zwischengespeichert.
Wenndann
- die Identifikationskennung vom "2 Byte"-großen Segmentregister geändert wird,
- wird eine Aktualisierung vom entsprechenden "8 Byte"-großen Zusatzregister/Zwischenspeicher ausgelöst und der Prozessor liest die entsprechende Segmentbeschreibung aus dem Arbeitsspeicher.
Aus diesem Grund muss zu diesem Zeitpunkt der gewünschte Inhalt für die Segmentbeschreibung bereits im Arbeitsspeicher vorhanden sein.
Wenndann
- die "8 Byte"-große Segmentbeschreibung im Arbeitsspeicher geändert wird,
- wird deshalb keine Aktualisierung vom gleich großen Zusatzregister/Zwischenspeicher ausgelöst.
Die nachfolgenden Kapitel sind gemäß den Namen von den Segmentregistern benannt. Für die Zusatzregister/Zwischenspeicher sind in der offiziellen Dokumentation von Intelenthalten. Sie sind in dieser Dokumentation auch nicht weiter beschrieben.
- keine Namen und
- keine Registernummern
code segment selector (cs)
Allgemeines
Name: code segment selector (cs) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor und der Einführung von der Unterteilung vom Arbeitsspeicher
Aufbau
Name: code segment selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: 01
in einem "3 Bit"-großen Feld: 0012er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
data segment "d" selector (ds)
Allgemeines
Name: data segment "d" selector (ds) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor und der Einführung von der Unterteilung vom Arbeitsspeicher
Aufbau
Name: data segment "d" selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: 11
in einem "3 Bit"-großen Feld: 0112er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
data segment "f" selector (fs)
Allgemeines
Name: data segment "f" selector (fs) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: data segment "f" selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: - nicht möglich -
in einem "3 Bit"-großen Feld: 1002er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
data segment "g" selector (gs)
Allgemeines
Name: data segment "g" selector (gs) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: data segment "g" selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: - nicht möglich -
in einem "3 Bit"-großen Feld: 1012er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
extra segment selector (es)
Allgemeines
Name: extra segment selector (es) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor und der Einführung von der Unterteilung vom Arbeitsspeicher
Aufbau
Name: extra segment selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: 00
in einem "3 Bit"-großen Feld: 0002er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
stack segment selector (ss)
Allgemeines
Name: stack segment selector (ss) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor und der Einführung von der Unterteilung vom Arbeitsspeicher
Aufbau
Name: stack segment selector Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: in einem "2 Bit"-großen Feld: 10
in einem "3 Bit"-großen Feld: 0102er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
Stapelregister
extended base pointer (ebp)
Allgemeines
Name: extended base pointer (ebp) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended base pointer - kein Name - base pointer Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- wenn eine Funktion aufgerufen wird, um als "stack frame base pointer" anzugeben, wo im aktuellen Stapel die lokalen Variablen beginnen
- wenn eine Funktion aufgerufen wird, um anzugeben, wo im aktuellen Stapel die Rücksprungadresse beginnt
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
base pointer (bp)
Allgemeines
Name: base pointer (bp) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: base pointer Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- wenn eine Funktion aufgerufen wird, um als "stack frame base pointer" anzugeben, wo im aktuellen Stapel die lokalen Variablen beginnen
- wenn eine Funktion aufgerufen wird, um anzugeben, wo im aktuellen Stapel die Rücksprungadresse beginnt
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 101 2er-System
(Binär-System)5 10er-System
(Dezimal-System)5 16er-System
(Hexadezimal-System)
extended stack pointer (esp)
Allgemeines
Name: extended stack pointer (esp) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended stack pointer - kein Name - stack pointer Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um anzugeben, wo im aktuellen Stapel die Speicherstelle beginnt, welche bei einem "pop"-Befehl als nächstes ausgelesen werden würde
- Intel rät davon ab, dieses Register für andere Zwecke zu verwenden.
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
stack pointer (sp)
Allgemeines
Name: stack pointer (sp) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: stack pointer Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um anzugeben, wo im aktuellen Stapel die Speicherstelle beginnt, welche bei einem "pop"-Befehl als nächstes ausgelesen werden würde
- Intel rät davon ab, dieses Register für andere Zwecke zu verwenden.
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 100 2er-System
(Binär-System)4 10er-System
(Dezimal-System)4 16er-System
(Hexadezimal-System)
Zeigerregister
Zweck
Die Zeigerregister werden in der Regel zum Speichern von Adressen verwendet.
extended destination index (edi)
Allgemeines
Name: extended destination index (edi) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended destination index - kein Name - destination index Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um einem Maschinenbefehl, welcher mit Zeichenketten arbeitet, eine RAM-Adresse von einer Ziel-Speicherstelle anzugeben
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
destination index (di)
Allgemeines
Name: destination index (di) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: destination index Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um in einer "16 Bit"-Anwendung einen Offset zu Daten im Daten-Segment "es" anzugeben
- um einem Maschinenbefehl, welcher mit Zeichenketten arbeitet, eine RAM-Adresse von einer Ziel-Speicherstelle anzugeben
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 111 2er-System
(Binär-System)7 10er-System
(Dezimal-System)7 16er-System
(Hexadezimal-System)
extended instruction pointer (eip)
Allgemeines
Name: extended instruction pointer (eip) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended instruction pointer - kein Name - instruction pointer Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
Datentransfer
- Dieses Register kann nicht direkt mit der Hilfe von einem Maschinenbefehl ausgelesen werden. Was allerdings möglich ist, ist nach einem "call"-Befehl die Rücksprungadresse auf dem Stapel auszulesen.
- Um dieses Register zu beschreiben, kann ein Sprung-Befehl verwendet werden:
- Die Befehle
kopieren den Wert direkt ins Register.
- "jump" und
- "jump if *"
- Der Befehl "call"
- kopiert den Wert ebenfalls direkt ins Register und
- läd noch zusätzlich die Rücksprungadresse auf den Stapel.
- Der Befehl "return"
- läd den neuen Wert vom Stapel und
- schmeißt diesen Wert zusätzlich noch vom Stapel.
häufige Verwendung
- Als Befehlszeiger, also um die Speicherstelle anzugeben, in welcher der Maschinenbefehl gespeichert ist, welcher als nächstes ausgeführt werden soll.
Während ein Befehl ausgeführt wird, ist bereits in diesem Register die Adresse vom nächsten Maschinenbefehl gespeichert. Wenn also beispielsweise ein relativer Sprung durchgeführt wird, dann wird die Ziel-Adresse relativ zum nächsten Maschinenbefehl angegeben und nicht relativ zur Anfangs-Adresse vom Sprung-Befehl.- Dieses Register kann nicht für andere Zwecke benutzt werden.
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer: - Dieses Register hat keine Registernummer. -
untergeordnete Speicherzellen
instruction pointer (ip)
Allgemeines
Name: instruction pointer (ip) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: instruction pointer Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
Datentransfer
siehe: im Kapitel "extended instruction pointer (eip) - Datentransfer"
häufige Verwendung
- Als Befehlszeiger, also um die Speicherstelle anzugeben, in welcher der Maschinenbefehl gespeichert ist, welcher als nächstes ausgeführt werden soll.
Während ein Befehl ausgeführt wird, ist bereits in diesem Register die Adresse vom nächsten Maschinenbefehl gespeichert. Wenn also beispielsweise ein relativer Sprung durchgeführt wird, dann wird die Ziel-Adresse relativ zum nächsten Maschinenbefehl angegeben und nicht relativ zur Anfangs-Adresse vom Sprung-Befehl.- Dieses Register kann nicht für andere Zwecke benutzt werden.
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer: - Dieses Register hat keine Registernummer. -
extended source index (esi)
Allgemeines
Name: extended source index (esi) existiert seit: 1985, mit der Einführung vom Intel386-Prozessor
Aufbau
Name: extended source index - kein Name - source index Wertigkeit vom Bit: 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um einem Maschinenbefehl, welcher mit Zeichenketten arbeitet, eine RAM-Adresse von einer Quell-Speicherstelle anzugeben
technische Daten
Größe: 32 Bit, also 4 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
untergeordnete Speicherzellen
source index (si)
Allgemeines
Name: source index (si) existiert seit: 1978, mit der Einführung vom 8086- und vom 8088-Prozessor
Aufbau
Name: source index Wertigkeit vom Bit: 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
häufige Verwendung
- um in einer "16 Bit"-Anwendung einen Offset zu Daten im Daten-Segment "ds" anzugeben
- um einem Maschinenbefehl, welcher mit Zeichenketten arbeitet, eine RAM-Adresse von einer Quell-Speicherstelle anzugeben
technische Daten
Größe: 16 Bit, also 2 Byte Registernummer:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)
Felder
Arten
Namen
abgekürzt
ausgeschrieben
Flaggen
Arten
- Statusflaggen vom Befehlssatzerweiterungs-Hilfsregister "media extension control and status register" ("mxcsr")
- Statusflaggen vom regulären Flaggenregister "extended flags" ("eflags")
- Steuerungsflaggen vom Befehlssatzerweiterungs-Hilfsregister "media extension control and status register" ("mxcsr")
- Steuerungsflaggen vom regulären Flaggenregister "extended flags" ("eflags")
- Systemflaggen vom regulären Flaggenregister "extended flags" ("eflags")
Namen
abgekürzt
- af (auxiliary carry flag)
- cf (carry flag)
- daz (denormals are zeros flag)
- de (denormal exception flag)
- df (direction flag)
- dm (denormal operation mask)
- fz (flush to zero)
- id (identification flag)
- ie (invalid operation exception flag)
- if (interrupt enable flag)
- im (invalid operation mask)
- oe (overflow exception flag)
- of (overflow flag)
- om (overflow mask)
- pe (percision exception flag)
- pf (parity flag)
- pm (percision mask)
- sf (sign flag)
- ue (underflow exception flag)
- um (underflow mask)
- ze (divide-by-zero exception flag)
- zf (zero flag)
- zm (divide-by-zero mask)
ausgeschrieben
- auxiliary carry flag (af)
- carry flag (cf)
- denormal exception flag (de)
- denormal operation mask (dm)
- denormals are zeros flag (daz)
- direction flag (df)
- divide-by-zero exception flag (ze)
- divide-by-zero mask (zm)
- flush to zero (fz)
- identification flag (id)
- interrupt enable flag (if)
- invalid operation exception flag (ie)
- invalid operation mask (im)
- overflow exception flag (oe)
- overflow flag (of)
- overflow mask (om)
- parity flag (pf)
- percision exception flag (pe)
- percision mask (pm)
- sign flag (sf)
- underflow exception flag (ue)
- underflow mask (um)
- zero flag (zf)
Register
Arten
- Allzweckregister
- Befehlssatzerweiterungs-Allzweckregister
- Befehlssatzerweiterungs-Hilfsregister
- Befehlssatzerweiterungsregister
- Flaggenregister
- Segmentregister
- Stapelregister
- Zeigerregister
Namen
abgekürzt
- ah (accumulator high byte)
- al (accumulator low byte)
- ax (accumulator)
- bh (base high byte)
- bl (base low byte)
- bp (base pointer)
- bx (base)
- ch (counter high byte)
- cl (counter low byte)
- cs (code segment selector)
- cx (counter)
- dh (data high byte)
- di (destination index)
- dl (data low byte)
- ds (data segment "d" selector)
- dx (data)
- eax (extended accumulator)
- ebp (extended base pointer)
- ebx (extended base)
- ecx (extended counter)
- edi (extended destination index)
- edx (extended data)
- eflags (extended flags)
- eip (extended instruction pointer)
- es (extra segment selector)
- esi (extended source index)
- esp (extended stack pointer)
- flags
- flags low byte
- fs (data segment "f" selector)
- gs (data segment "g" selector)
- ip (instruction pointer)
- mxcsr (media extension control and status register)
- si (source index)
- sp (stack pointer)
- ss (stack segment selector)
- xmm0 (x multimedia 0)
- xmm1 (x multimedia 1)
- xmm2 (x multimedia 2)
- xmm3 (x multimedia 3)
- xmm4 (x multimedia 4)
- xmm5 (x multimedia 5)
- xmm6 (x multimedia 6)
- xmm7 (x multimedia 7)
- ymm0 (y multimedia 0)
- ymm1 (y multimedia 1)
- ymm2 (y multimedia 2)
- ymm3 (y multimedia 3)
- ymm4 (y multimedia 4)
- ymm5 (y multimedia 5)
- ymm6 (y multimedia 6)
- ymm7 (y multimedia 7)
- zmm0 (z multimedia 0)
- zmm1 (z multimedia 1)
- zmm2 (z multimedia 2)
- zmm3 (z multimedia 3)
- zmm4 (z multimedia 4)
- zmm5 (z multimedia 5)
- zmm6 (z multimedia 6)
- zmm7 (z multimedia 7)
ausgeschrieben
- accumulator (ax)
- accumulator high byte (ah)
- accumulator low byte (al)
- base (bx)
- base high byte (bh)
- base low byte (bl)
- base pointer (bp)
- code segment selector (cs)
- counter (cx)
- counter high byte (ch)
- counter low byte (cl)
- data (dx)
- data high byte (dh)
- data low byte (dl)
- data segment "d" selector (ds)
- data segment "f" selector (fs)
- data segment "g" selector (gs)
- destination index (di)
- extended accumulator (eax)
- extended base (ebx)
- extended base pointer (ebp)
- extended counter (ecx)
- extended data (edx)
- extended destination index (edi)
- extended flags (eflags)
- extended instruction pointer (eip)
- extended source index (esi)
- extended stack pointer (esp)
- extra segment selector (gs)
- flags
- flags low byte
- instruction pointer (ip)
- media extension control and status register (mxcsr)
- source index (si)
- stack pointer (sp)
- stack segment selector (ss)
- x multimedia 0 (xmm0)
- x multimedia 1 (xmm1)
- x multimedia 2 (xmm2)
- x multimedia 3 (xmm3)
- x multimedia 4 (xmm4)
- x multimedia 5 (xmm5)
- x multimedia 6 (xmm6)
- x multimedia 7 (xmm7)
- y multimedia 0 (ymm0)
- y multimedia 1 (ymm1)
- y multimedia 2 (ymm2)
- y multimedia 3 (ymm3)
- y multimedia 4 (ymm4)
- y multimedia 5 (ymm5)
- y multimedia 6 (ymm6)
- y multimedia 7 (ymm7)
- z multimedia 0 (zmm0)
- z multimedia 1 (zmm1)
- z multimedia 2 (zmm2)
- z multimedia 3 (zmm3)
- z multimedia 4 (zmm4)
- z multimedia 5 (zmm5)
- z multimedia 6 (zmm6)
- z multimedia 7 (zmm7)
Nummern
0 (000 in binär-Schreibweise)
- accumulator (ax)
- accumulator low byte (al)
- extended accumulator (eax)
- extra segment selector (es)
- x multimedia 0 (xmm0)
- y multimedia 0 (ymm0)
- z multimedia 0 (zmm0)
1 (001 in binär-Schreibweise)
- code segment selector (cs)
- counter (cx)
- counter low byte (cl)
- extended counter (ecx)
- x multimedia 1 (xmm1)
- y multimedia 1 (ymm1)
- z multimedia 1 (zmm1)
2 (010 in binär-Schreibweise)
- data (dx)
- data low byte (dl)
- extended data (edx)
- stack segment selector (ss)
- x multimedia 2 (xmm2)
- y multimedia 2 (ymm2)
- z multimedia 2 (zmm2)
3 (011 in binär-Schreibweise)
- base (bx)
- base low byte (bl)
- data segment "d" selector (ds)
- extended base (ebx)
- x multimedia 3 (xmm3)
- y multimedia 3 (ymm3)
- z multimedia 3 (zmm3)
4 (100 in binär-Schreibweise)
- accumulator high byte (ah)
- data segment "f" selector (fs)
- extended stack pointer (esp)
- stack pointer (sp)
- x multimedia 4 (xmm4)
- y multimedia 4 (ymm4)
- z multimedia 4 (zmm4)
5 (101 in binär-Schreibweise)
- base pointer (bp)
- counter high byte (ch)
- data segment "g" selector (gs)
- extended base pointer (ebp)
- x multimedia 5 (xmm5)
- y multimedia 5 (ymm5)
- z multimedia 5 (zmm5)
6 (110 in binär-Schreibweise)
- data high byte (dh)
- extended source index (esi)
- source index (si)
- x multimedia 6 (xmm6)
- y multimedia 6 (ymm6)
- z multimedia 6 (zmm6)
7 (111 in binär-Schreibweise)
Dokumente
Name vom Sprache: Umfang vom Inhalt: Weblink: Autor: Dokument: Betriebssystem-spezifische - Linux - Funktionen vom Betriebssystem deutsch
- enthält Informationen über die Auswirkungen von einem Funktionsdurchlauf von einer Funktion vom Betriebssystem "Linux" auf
- Flaggen und
- Register
OnTheServer.de/Downloads/ Betriebssystem-spezifische - Windows - Funktionen vom Betriebssystem
- enthält Informationen über die Auswirkungen von einem Funktionsdurchlauf von einer Funktion vom Betriebssystem "Windows" auf
- Flaggen und
- Register
x86-Architektur - allgemeine Informationen
- allgemeine Informationen über die x86-CPU-Architektur
x86-Architektur - Maschinensprache
- zeigt, wie die Registernummern in einem Maschinenbefehl eingesetzt werden können
x86-Architektur - Variablentypen
- beschreibt häufig verwendete Variablentypen von der x86-Architektur
Intel Corporation Intel® 64 and IA-32 Architectures - Software Developer's Manual - Volume 1: Basic Architecture
Bestellnummer: 253665englisch
- enthält Hintergrundinformationen, wann und mit welcher Prozessorgeneration welche Register eingeführt wurden
- enthält im Kapitel
ausführliche Informationen über einige Register
- "3.4 - BASIC PROGRAM EXECUTION REGISTERS"
- enthält im Kapitel
einigermaßen ausführliche Informationen über die XMM-Register und allerdings leider auch die fehlerhafte Angabe, dass die XMM-Register kein Bestandteil von anderen Registern wären
- "10.2.2 - XMM Registers"
- enthält im Kapitel
einigermaßen ausführliche Informationen über die YMM-Register
- "14.1.1 - 256-Bit Wide SIMD Register Support"
- zeigt im Kapitel
welche Befehle welche Flaggen auslesen oder setzen
- "APPENDIX A - EFLAGS CROSS-REFERENCE"
intel.com/products/processor/manuals/ Intel® 64 and IA-32 Architectures - Software Developer's Manual - Volume 2: Instruction Set Reference, A-Z
Bestellnummer: 325383
- zeigt, wie Assembler-Anweisungen in Maschinencode übersetzt werden können
- zeigt, welche Registernummern die Register haben
- hat im Kapitel
eine Übersicht in welcher Reihenfolge die Parameter gespeichert werden müssen und wie die einzelnen Bits bei verschiedenen Befehlen gesetzt werden müssen
- "B.2 - GENERAL-PURPOSE INSTRUCTION FORMATS AND ENCODINGS FOR NON-64-BIT MODES" und den Folgende
Intel® Architecture - Instruction Set Extensions Programming Reference
Bestellnummer: 319433
- enthält in den Kapiteln
einigermaßen ausführliche Informationen über die ZMM-Register
- "1.2.1 - 512-Bit Wide SIMD Register Support",
- "1.2.2 - 32 SIMD Register Support" und
- "1.2.3 - Eight Opmask Register Support"
Thomas
(alias "Exagone")Win32Asm Tutorial
- gibt in den Kapiteln
ein paar Informationen zu den Registern
- "3 - Basics of asm",
- "5 - Opcodes" und
- "7 - Conditional jumps"
- geht im Kapitel
auf den Stapel und das zugehörige "esp"-Register ein
- "9 - More opcodes"
exagone.cjb.net
Aufnahme von weiteren Materialien
Wenndann
- Sie weitere Materialien zu diesem Thema haben, von welchen Sie wollen, dass sie in diese Auflistungen aufgenommen werden,
- können Sie mir gerne die Materialien oder einen Link zu ihnen zusenden.
Sie dürfen durchaus auch Ihre eigenen Materialien zuschicken.
Bei den zugesendeten Materialien werde ich beurteilen, ob sie sich für die Auflistung eignen. Manche Materialien werden nicht aufgenommen, weil beispielsweise ein Hinweis enthalten ist, dassEs besteht kein Anspruch darauf, dass zugesendete Materialien aufgenommen werden.
- eine Verbreitung nicht gestattet ist oder
- nur unter Bedingungen, welche ich nicht erfüllen will.
Link zum Kapitel "wie man den Verfasser kontaktiert".