Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: scales of justice am 15. April 2006, 01:16

Titel: wofür ist ES?
Beitrag von: scales of justice am 15. April 2006, 01:16
Also CS, zeigt auf das Segment, in welchem grade Code ausgeführt wird,
wird also für Sprünge und eigentlich jeden Befehl gebraucht

DS ist das Gleiche für Daten, also das wird z.B. bei sowas gebraucht:
mov [0x0000], ax
ist dann eigentlich
mov [ds:0x0000], ax

aber wofür ist dann ES?
ES muss man ja auch am Anfang des Bootloaders auf das Code Segment setzen damit alles funktioniert
Ich dachte immer ES wäre nur für Schiebeoperationen
Titel: wofür ist ES?
Beitrag von: DarkThing am 15. April 2006, 01:22
ES wird nur für einige Befehle verwendet, z.B. kopiert MOVSB das Byte von DS:ESI nach ES: EDI. Aber es gibt noch einige andere Befehle die ES verwenden. Ansonsten kann man ES auch für eigene Zwecke verwenden, wenn man z.B. DS nicht ändern will/kann. Beispiel:

mov [es:0x0000], ax


EDIT: Einige Befehle die ES verwenden:
o CMPS/CMPSB/CMPSW/CMPSD
o INS/INSB/INSW/INSD
o LES
o MOVS/...
o OUTS/...
o SCAS/...
o STOS/...
Titel: wofür ist ES?
Beitrag von: nooooooooos am 15. April 2006, 11:49
Sorry für den Link, aber da wirds so schön und ausführlich beschrieben: http://www.coding-board.de/board/showthread.php?t=19178

Gruss
Nooooooooos
Titel: wofür ist ES?
Beitrag von: scales of justice am 15. April 2006, 13:25
Ah, jetzt hab ichs kapiert, dann ist das schonmal nicht mein Fehler
Aber wie kommst du eigentlich auf die Idee, dass hier Links verboten sind?
Titel: wofür ist ES?
Beitrag von: nooooooooos am 15. April 2006, 13:35
Sie sind nicht verboten, aber Links zu anderen Foren sind normalerweise nicht soooo gern gesehen. So wegen abwerben usw.

Gruss
Noooooooooooooos
Titel: wofür ist ES?
Beitrag von: nore am 15. April 2006, 17:39
als ob das ein konkurrenzkampf wäre. wenns in nem anderen forum doch besser steht, warum nicht?
außerdem ist es sowieso nützlich, in mehreren foren zu lesen.