Re: for Schleife in ASM
13. Jul 2006, 01:41
Wenn Leute deine Erklärung lesen und schauen wollen wie er springt, dann suchen sie das JNZ -$08 und das steht am Offset 0x00402567 (siehe Anhang, dein Bild verschandelt, bezugnehmend auf oberen blauen Rahmen). Wenn man nun von dieser Adresse die gesprungenen 8 Bytes abzieht, dann kommt man aber auf eine falsche Adresse, und zwar auf 0x0040255F. An der Stelle steht man in mitten einer Instruktion und der Leser versteht die Welt nicht mehr. Daher vllt. darauf hinweisen, dass der Offset des relativen Sprungs auf die Adresse 0x00402569 (siehe Anhang, bezugnehmend auf unteren blauen Kasten) addiert (durch das Vorzeichen des Sprung-Offsets von -8 verringert sich die Adresse) und man erhält die von dir beschriebene Adresse 0x00402561 und damit die richtige Position.
Nun klarer? Das mit dem Instruktion Zeiger brauchste nicht erwähnen, weise nur darauf hin, dass die Leser bitte die 8 Bytes nicht von 0x00402567 abziehen (wo der Sprungbefehl laut Screenshot steht) sondern von der Adresse 0x00402569.
/EDIT: Jetzt hast du es erneut umformuliert und es ist ok. Aber ansonsten, vllt. findest du eine klein wenig einfachere Beschreibung, wenn du den Begriff des Instruktionszeigers erst gar nicht einführst und einfach nur auf die richtige Adresse zum subtrahieren hinweist, wie du es ja grundsätzlich schon tust. Da der Begriff des Instruktionszeigers nie erklärt oder eingeführt wird, verwirrt er die Leute mehr, da sie keine Informationen für diesen neuen Begriff bekommen...
(Man merkt, dass ich mal Chefredakteur war, oder? *g* (keine Angst, nur eine Schülerzeitung))
|