Hi Leute,
ich hab ein paar Fragen zum CS und DS. Was ich weiß ist, dass CS den Quellcode und DS die Variablen des Codes enthält (Korrigiert mich bitte, falls ich falsch liege...)
1. Bei welchen Befehlen in NASM unterliegen CS und/oder DS Veränderungen ?
2. Welche Auswirkungen hat es, CS und DS zur Laufzeit NICHT zu sichern ?
3. Warum muss man CS und/oder DS eigentlich speichern (z.B. push CS), wenn sich der Code zur Laufzeit doch sowieso nicht ändert ?
Thanks,
bscreator
ich hab ein paar Fragen zum CS und DS. Was ich weiß ist, dass CS den Quellcode und DS die Variablen des Codes enthält (Korrigiert mich bitte, falls ich falsch liege...)
1. Bei welchen Befehlen in NASM unterliegen CS und/oder DS Veränderungen ?
2. Welche Auswirkungen hat es, CS und DS zur Laufzeit NICHT zu sichern ?
3. Warum muss man CS und/oder DS eigentlich speichern (z.B. push CS), wenn sich der Code zur Laufzeit doch sowieso nicht ändert ?
Thanks,
bscreator

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken
Gespeichert


genauso isses mit CS. allerdings kann man CS genauso wie (E)IP nur durch jumps, calls oder sonstiges ändern. normalerweise hat man DS und CS auf dem gleichen, weil die daten mithilfe von "db" und "dw"s in den code kommen, und sonst die adressierung des assemblers net ginge. der unterschied is nur, dass man DS halt nimmt, wenn man auf etwas zugreift, was im speicher is und mit CS halt calls und so ausführt.