Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: [asm]JMP bei Delphi-Inline-Assemlber

  Alt 4. Jul 2006, 12:56
Zitat von himitsu:
Ansonsten war deine Angabe eh falsch, in Betracht auf dein Ziel,
jmp [$00112233] denn du wolltest doch bestimmt dieses verwirklichen?
jmp $00112233 die eckigen Klammern geben ja schließlich an, daß es dich bei der Angabe um einen "Zeiger" handeln soll.
Ich bin in asm nicht so bewandert. Delphi hat immer rumgemeckert wenn ich die "[]" vergessen hab.
Desweiteren bin ich davon ausgegangen das "ptr" angibt das es sich um einen Pointer handelt.
Jetzt weiß ich aber wenigstens das man die eckigen Klammern bei einem direkten Sprung weg lassen muss/soll.
Nur die Binäre code für diese Anweisung (jmp $00112233) fehlt mir noch.

@Flocke: Ich hab einfach direkt hinter meinem Jmp-Befehl zur Zeit die eigentliche Sprungadresse hinterlegt.
Ich verweise somit also bei meinem Sprung auf die Adresse hinter dem Sprungbefehl wo wiederum die richtige steht.
Die Variante mit dem moven auf EAX hab ich nicht gewählt da ich nicht weiß ob EAX bereits belegt ist und ich somit den Wert überschreibe (bin nicht so bewandert in asm - ich guck in der Regel nur was Delphi für asm-code aus den Befehlen erzeugt und leite mir dann die Bedeutung durch Zunahme einer kleinen Hilfe her - somit sind mir die ganzen Register, deren Reihenfolge etc. unbekannt)

@Flocke: Bei E9 wird die Differenz angegeben? Das heißt man nimmt keinen "dword" mehr sondern einen Integer? Ist dabei sichergestellt das der Wertebereich des Integers auch groß genug ist?

benötigt hab ich das ganze für folgendes:
http://www.delphipraxis.net/internal...=573675#573675
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat