AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

for Schleife in ASM

Ein Thema von Luckie · begonnen am 12. Jul 2006 · letzter Beitrag vom 13. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
Muetze1
(Gast)

n/a Beiträge
 
#11

Re: for Schleife in ASM

  Alt 13. Jul 2006, 00: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))
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: for Schleife in ASM

  Alt 13. Jul 2006, 00:46
Jetzt aber:
Zitat:
in diesem Fall 8 Byte zurück: -$08, was Adresse $00402561 ist, ausgehend von Adresse $00402569
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: for Schleife in ASM

  Alt 13. Jul 2006, 00:48
Super, kurz, knapp, verständlich.

(Falls nun noch einer nachfragt warum die andere Adresse, kannst du ihm es jederzeit erklären...)

Und Gute Nacht (ich sollte schon seit min. 2 Stunden im Bett liegen...)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: for Schleife in ASM

  Alt 13. Jul 2006, 00:50
Zitat von Muetze1:
Und Gute Nacht (ich sollte schon seit min. 2 Stunden im Bett liegen...)
Ich auch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#15

Re: for Schleife in ASM

  Alt 13. Jul 2006, 06:23
Zitat:
Das interessante aber passiert in dem markiertren Block darunter
Das Interessanteste hast du aber nicht markiert, und zwar die Zeile
add eax,$04 Denn mit dieser Zeile bewegt sich das Array vorwärts, womit die Abarbeitung der Schleife trotz der rückwärtslaufenden Zählvariable, vorwärts geht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz