Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Inline Assembler - Sprungmarken (https://www.delphipraxis.net/146332-inline-assembler-sprungmarken.html)

Neutral General 18. Jan 2010 10:03


Inline Assembler - Sprungmarken
 
Hallo,

Habe eine Frage zu den Sprungmarken.. und zwar folgendes:

Delphi-Quellcode:
asm
  mov eax, @weiter
  push @weiter
  jmp Pntr
  @weiter:
end;
Die Zeile

Delphi-Quellcode:
push @weiter
funktioniert allerdings nicht:

Zitat:

[DCC Fehler] Unit1.pas(47): E2116 Ungültige Kombination von Opcode und Operanden
Mein Versuch es so zu lösen:

Delphi-Quellcode:
mov eax, @weiter
push eax
gab auch einen Fehler:

Delphi-Quellcode:
[DCC Fehler] Unit1.pas(47): E2107 Operandengröße stimmt nicht überein
Weiß da jemand Bescheid?

Gruß
Neutral General

sirius 18. Jan 2010 10:15

Re: Inline Assembler - Sprungmarken
 
Delphi-Quellcode:
asm
  mov eax, dword ptr @weiter

  //oder
  push dword ptr @weiter


end;

Neutral General 18. Jan 2010 10:16

Re: Inline Assembler - Sprungmarken
 
Ah danke! :)

sirius 18. Jan 2010 10:18

Re: Inline Assembler - Sprungmarken
 
oder willst du die Adresse (was eigentlich logischer ist):
Delphi-Quellcode:
  push offset @weiter
Edit:
letzteres erreicht natürlich auch dies hier:
Delphi-Quellcode:
  lea eax, dword ptr @weiter

Neutral General 18. Jan 2010 10:42

Re: Inline Assembler - Sprungmarken
 
Ja danke^^ Hatte auch bemerkt, dass ich da ein falsches Ergebnis bekomme^^

Inline Assembler von Delphi scheint sich ja z.T. doch recht stark von z.B. NASM zu unterscheiden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 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