Stand: 18. November 2018

Inhaltsverzeichnis

über dieses Dokument
was es hierin gibt
wo man die neuste Version bekommt
wie man den Verfasser kontaktiert
welche gesetzlichen Einschränkungen es gibt
Lizenzlosigkeit
Verfasserschutz
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen

allgemeine Informationen über die Register
Namensgebung
Allzweckregister
Befehlssatzerweiterungsregister
Allzweckregister
Hilfsregister
Nutzung
Betriebssystem-spezifische Auswirkungen
auf Flaggen
auf Register
Registernummern

die Details von den Registern
Allzweckregister
Zweck
extended accumulator (eax)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
accumulator (ax)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
accumulator high byte (ah)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
accumulator low byte (al)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
Windows-spezifische Informationen
Windows-spezifische Informationen
extended base (ebx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
base (bx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
base high byte (bh)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
base low byte (bl)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
extended counter (ecx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
counter (cx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
counter high byte (ch)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
counter low byte (cl)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
Windows-spezifische Informationen
Windows-spezifische Informationen
extended data (edx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
data (dx)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
data high byte (dh)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
data low byte (dl)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Windows-spezifische Informationen
Windows-spezifische Informationen
Windows-spezifische Informationen
Befehlssatzerweiterungsregister
Allgemeines
Allzweckregister
"x87 fpu data"-Register
stack 0 (st0)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 0 (mm0)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 1 (st1)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 1 (mm1)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 2 (st2)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 2 (mm2)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 3 (st3)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 3 (mm3)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 4 (st4)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 4 (mm4)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 5 (st5)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 5 (mm5)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 6 (st6)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 6 (mm6)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
stack 7 (st7)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
multimedia 7 (mm7)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
*MM-Register
z multimedia 0 (zmm0)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 0 (ymm0)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 0 (xmm0)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 1 (zmm1)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 1 (ymm1)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 1 (xmm1)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 2 (zmm2)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 2 (ymm2)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 2 (xmm2)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 3 (zmm3)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 3 (ymm3)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 3 (xmm3)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 4 (zmm4)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 4 (ymm4)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 4 (xmm4)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 5 (zmm5)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 5 (ymm5)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 5 (xmm5)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 6 (zmm6)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 6 (ymm6)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 6 (xmm6)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
z multimedia 7 (zmm7)
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
y multimedia 7 (ymm7)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
x multimedia 7 (xmm7)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Hilfsregister
floating point unit tag word (ftw)
Allgemeines
Aufbau
technische Daten
untergeordnete Speicherzellen
tag 0 (tag0)
Allgemeines
häufige Verwendung
technische Daten
tag 1 (tag1)
Allgemeines
häufige Verwendung
technische Daten
tag 2 (tag2)
Allgemeines
häufige Verwendung
technische Daten
tag 3 (tag3)
Allgemeines
häufige Verwendung
technische Daten
tag 4 (tag4)
Allgemeines
häufige Verwendung
technische Daten
tag 5 (tag5)
Allgemeines
häufige Verwendung
technische Daten
tag 6 (tag6)
Allgemeines
häufige Verwendung
technische Daten
tag 7 (tag7)
Allgemeines
häufige Verwendung
technische Daten
media extension control and status register (mxcsr)
Allgemeines
Aufbau
Datentransfer
technische Daten
untergeordnete Speicherzellen
Statusflaggen
Allgemeines
denormal exception flag (de)
Allgemeines
technische Daten
divide-by-zero exception flag (ze)
Allgemeines
technische Daten
invalid operation exception flag (ie)
Allgemeines
technische Daten
overflow exception flag (oe)
Allgemeines
technische Daten
percision exception flag (pe)
Allgemeines
technische Daten
underflow exception flag (ue)
Allgemeines
technische Daten
Steuerungsfelder
Allgemeines
rounding control (rc)
Allgemeines
technische Daten
Steuerungsflaggen
Allgemeines
denormal operation mask (dm)
Allgemeines
technische Daten
denormals are zeros flag (daz)
Allgemeines
technische Daten
divide-by-zero mask (zm)
Allgemeines
technische Daten
flush to zero (fz)
Allgemeines
technische Daten
invalid operation mask (im)
Allgemeines
technische Daten
overflow mask (om)
Allgemeines
technische Daten
percision mask (pm)
Allgemeines
technische Daten
underflow mask (um)
Allgemeines
technische Daten
Flaggenregister
Allgemeines
extended flags (eflags)
Allgemeines
Aufbau
Datentransfer
technische Daten
untergeordnete Speicherzellen
flags
Allgemeines
Aufbau
Datentransfer
technische Daten
untergeordnete Speicherzellen
flags low byte
Allgemeines
Aufbau
Datentransfer
technische Daten
Statusflaggen
Allgemeines
auxiliary carry flag (af)
Allgemeines
häufige Verwendung
notwendiger Variablentyp
technische Daten
carry flag (cf)
Allgemeines
Datentransfer
häufige Verwendung
notwendiger Variablentyp
technische Daten
overflow flag (of)
Allgemeines
häufige Verwendung
notwendiger Variablentyp
technische Daten
parity flag (pf)
Allgemeines
häufige Verwendung
notwendiger Variablentyp
technische Daten
sign flag (sf)
Allgemeines
häufige Verwendung
notwendiger Variablentyp
technische Daten
zero flag (zf)
Allgemeines
häufige Verwendung
notwendiger Variablentyp
technische Daten
Steuerungsflaggen
Allgemeines
direction flag (df)
Allgemeines
Datentransfer
häufige Verwendung
technische Daten
Windows-spezifische Informationen
Systemflaggen
Allgemeines
identification flag (id)
Allgemeines
häufige Verwendung
technische Daten
interrupt enable flag (if)
Allgemeines
Datentransfer
häufige Verwendung
technische Daten
Segmentregister
Zweck
Zwischenspeicher
code segment selector (cs)
Allgemeines
Aufbau
technische Daten
data segment "d" selector (ds)
Allgemeines
Aufbau
technische Daten
data segment "f" selector (fs)
Allgemeines
Aufbau
technische Daten
data segment "g" selector (gs)
Allgemeines
Aufbau
technische Daten
extra segment selector (es)
Allgemeines
Aufbau
technische Daten
stack segment selector (ss)
Allgemeines
Aufbau
technische Daten
Stapelregister
extended base pointer (ebp)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
base pointer (bp)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
extended stack pointer (esp)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
stack pointer (sp)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
Zeigerregister
Zweck
extended destination index (edi)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
destination index (di)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
extended instruction pointer (eip)
Allgemeines
Aufbau
Datentransfer
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
instruction pointer (ip)
Allgemeines
Aufbau
Datentransfer
häufige Verwendung
technische Daten
extended source index (esi)
Allgemeines
Aufbau
häufige Verwendung
technische Daten
untergeordnete Speicherzellen
source index (si)
Allgemeines
Aufbau
häufige Verwendung
technische Daten

Stichwortverzeichnis
Felder
Arten
Namen
abgekürzt
ausgeschrieben
Flaggen
Arten
Namen
abgekürzt
ausgeschrieben
Register
Arten
Namen
abgekürzt
ausgeschrieben
Nummern

weiteres Material zu diesem Thema
Dokumente
Aufnahme von weiteren Materialien


über dieses Dokument

was es hierin gibt

Dieses Dokument

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ür
  • die Veränderung oder/und
  • die Verbreitung
aufzuerlegen. Von den Einschränkungen wären lediglich neue Versionen betroffen. Was bisher veröffentlicht wurde, erhält keine weiteren Einschränkungen.

Von diesem Recht werde ich hoffentlich nie gebrauch machen müssen.


allgemeine Informationen über die Register

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".

Wenn
  • ein Registername mit einem "x" endet, wie zum Beispiel in "ax",
dann
  • 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:
    • Das Unterregister "ah" ist das höchstwertigste Byte vom Register.
    • Das Unterregister "al" ist das niederwertigste Byte vom Register.
Ansonsten
  • 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 als bezeichnet.

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 keine
  • Bestätigung oder
  • Widerlegung
von dieser Theorie in der offiziellen Dokumentation vom Entwickler von der x86-Architektur "Intel Corporation" gefunden. Intel verwendet scheinbar immer die Abkürzung.

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. Wenn
  • beim Funktionsaufruf ein unerwarteter Wert in einer Flagge gespeichert ist,
dann
  • 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.


die Details von den Registern

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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen

Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen

Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • kann der Wert von diesem Register nach dem Zurückkehren von der Funktion geändert sein.

Windows-spezifische Informationen

Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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. Wenn
  • mit der Hilfe von einem Maschinenbefehl versucht wird, den Wert von
    • einem unbenutzten Bit oder
    • von einem Bit, welches der Prozessor nicht unterstützt,
    auf "1" zu setzen,
dann
  • wird ein Ausnahmefall ausgelöst.

Datentransfer

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
    • dem Register "extended flags" ("eflags")
    und
    • dem Stapel
    stattfinden.

    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
    • dem Register "flags"
    und
    • dem Stapel
    stattfinden.

    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

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 Dezimalstelle
    • in entweder einem halben Byte (also 4 Bit) gespeichert,
    • oder in einem ganzen Byte gespeichert.
    Wenn ein ganzes Byte für die Wertspeicherung benutzt wird, dann werden nur die 4 niederwertigsten Bits vom Byte benutzt.

    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 Variablentyp
  • "Ganzzahl ohne Vorzeichen"
handeln.

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 Variablentyp
  • "Ganzzahl ohne Vorzeichen"
handeln.

Wenn
  • es sich beim Ergebnis um einen Wert vom Variablentyp "Ganzzahl mit Vorzeichen" handelt,
dann

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 Variablentyp
  • "Ganzzahl mit Vorzeichen"
handeln.

Wenn
  • es sich beim Ergebnis um einen Wert vom Variablentyp "Ganzzahl ohne Vorzeichen" handelt,
dann

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 Ergebnis
    • entweder 1,
    • oder 3,
    • oder 5,
    • oder 7
    Bits den Wert "1".
    0
    Die Anzahl der Bits vom niederwertigsten Byte vom Ergebnis, welche den Wert "1" haben, ist gerade.

    Es haben also im niederwertigsten Byte vom Ergebnis
    • entweder 0,
    • oder 2,
    • oder 4,
    • oder 6,
    • oder alle 8
    Bits den Wert "1".
    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 Variablentyp
  • "Ganzzahl mit Vorzeichen"
handeln.

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 Variablentyp
  • "Ganzzahl mit Vorzeichen" oder
  • "Ganzzahl ohne Vorzeichen"
handeln.

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
    • erhöht, oder
    • gesenkt
    werden soll

technische Daten
Größe: 1 Bit
Wertigkeit vom Bit vom Register "flags": 210

Windows-spezifische Informationen
Wenn
  • eine Funktion von der Windows-API aufgerufen wurde,
dann
  • 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.

    Wenn
    • sich der Wert ändern lässt,
    dann
    • 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
    • "2 Byte"-großen oder
    • "4 Byte"-großen
    Wert wird angegeben, welche Speicherzelle vom Segment gewählt werden soll. Hierfür gibt der Wert einen Offset vom Segmentanfang in Byte an.

    Dieser Wert kann aus einer Kombination von
    • direkten Daten,
    • einem Multiplikator und
    • Register-Inhalten
    zusammengerechnet werden.

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
    • "2 Byte"-großen oder
    • "4 Byte"-großen
    Wert wird angegeben, welche Speicherzelle vom Segment gewählt werden soll. Hierfür gibt der Wert einen Offset vom Segmentanfang in Byte an.

    Dieser Wert kann aus einer Kombination von
    • direkten Daten und
    • Register-Inhalten
    zusammengerechnet werden.

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 direkt
  • beschrieben und
  • gelesen
werden. Das "8 Byte"-große Zusatzregister für die Zwischenspeicherung vom Inhalt kann nur indirekt beschrieben werden.

Für jedes Segment gibt es eine "8 Byte"-große Beschreibung - eine "Segmentbeschreibung". Diese Segmentbeschreibung enthält beispielsweise
  • die Größe vom Segment und
  • die Zugriffsberechtigungen.
Sie ist im Arbeitsspeicher gespeichert. Sie wird aber bei jedem Zugriff auf eine Speicherstelle innerhalb vom Segment benötigt, um einige Überprüfungen durchzuführen.

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.

Wenn
  • die Identifikationskennung vom "2 Byte"-großen Segmentregister geändert wird,
dann
  • 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.

Wenn
  • die "8 Byte"-große Segmentbeschreibung im Arbeitsspeicher geändert wird,
dann
  • 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 Intel
  • keine Namen und
  • keine Registernummern
enthalten. Sie sind in dieser Dokumentation auch nicht weiter beschrieben.

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: 001
2er-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: 011
2er-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: 100
2er-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: 101
2er-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: 000
2er-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: 010
2er-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
      • "jump" und
      • "jump if *"
      kopieren den Wert direkt ins Register.
    • 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)


Stichwortverzeichnis

Felder

Arten


Namen

abgekürzt


ausgeschrieben


Flaggen

Arten


Namen

abgekürzt


ausgeschrieben


Register

Arten


Namen

abgekürzt


ausgeschrieben


Nummern

0 (000 in binär-Schreibweise)


1 (001 in binär-Schreibweise)


2 (010 in binär-Schreibweise)


3 (011 in binär-Schreibweise)


4 (100 in binär-Schreibweise)


5 (101 in binär-Schreibweise)


6 (110 in binär-Schreibweise)


7 (111 in binär-Schreibweise)


weiteres Material zu diesem Thema

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: 253665
englisch
  • enthält Hintergrundinformationen, wann und mit welcher Prozessorgeneration welche Register eingeführt wurden
  • enthält im Kapitel
    • "3.4 - BASIC PROGRAM EXECUTION REGISTERS"
    ausführliche Informationen über einige Register
  • enthält im Kapitel
    • "10.2.2 - XMM Registers"
    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
  • enthält im Kapitel
    • "14.1.1 - 256-Bit Wide SIMD Register Support"
    einigermaßen ausführliche Informationen über die YMM-Register
  • zeigt im Kapitel
    • "APPENDIX A - EFLAGS CROSS-REFERENCE"
    welche Befehle welche Flaggen auslesen oder setzen
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
    • "B.2 - GENERAL-PURPOSE INSTRUCTION FORMATS AND ENCODINGS FOR NON-64-BIT MODES" und den Folgende
    eine Übersicht in welcher Reihenfolge die Parameter gespeichert werden müssen und wie die einzelnen Bits bei verschiedenen Befehlen gesetzt werden müssen
Intel® Architecture - Instruction Set Extensions Programming Reference

Bestellnummer: 319433
  • enthält in den Kapiteln
    • "1.2.1 - 512-Bit Wide SIMD Register Support",
    • "1.2.2 - 32 SIMD Register Support" und
    • "1.2.3 - Eight Opmask Register Support"
    einigermaßen ausführliche Informationen über die ZMM-Register
Thomas
(alias "Exagone")
Win32Asm Tutorial
  • gibt in den Kapiteln
    • "3 - Basics of asm",
    • "5 - Opcodes" und
    • "7 - Conditional jumps"
    ein paar Informationen zu den Registern
  • geht im Kapitel
    • "9 - More opcodes"
    auf den Stapel und das zugehörige "esp"-Register ein
exagone.cjb.net

Aufnahme von weiteren Materialien

Wenn dann
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, dass Es besteht kein Anspruch darauf, dass zugesendete Materialien aufgenommen werden.

Link zum Kapitel "wie man den Verfasser kontaktiert".