Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   @ bzw, @@ bei Sprungmarken in ASM (https://www.delphipraxis.net/187995-%40-bzw-%40%40-bei-sprungmarken-asm.html)

Dennis07 22. Jan 2016 03:33

Delphi-Version: XE5

@ bzw, @@ bei Sprungmarken in ASM
 
Hallo,
ich hab mal eine Frage zu ASM-Abschnitten in D.
Und zwar: Wenn ich mir die standard ASM-Abschnitte in den D-Units der RTL und VCL so anschaue sehe ich, dass die meisten Sprungmarken nicht mit einem @, sondern auch viele mit zwei @, also @@ beginnen.
Theoretisch kann man sogar so viele @ wie man lustig ist (bei mir also gaaaaaanz ganz viele^^) voranstellen, mindestens muss dort aber eine stehen.
Meine Frage also: Wieso wird das getan und: Macht das einen Unterschied?

MfG

Neutral General 22. Jan 2016 07:48

AW: @ bzw, @@ bei Sprungmarken in ASM
 
Du brauchst gar kein @ vor der Sprungmarke :wink: (Wie ich grad merke kann es sein dass du Recht hast und das Labels ohne @ nur in älteren Delphi-Versionen gültig waren)
Ich denke damit kann man eine Art Hierarchie andeuten. 1x@ = 1. Ebene, 2x@ = 2. Ebene usw.

frankyboy1974 22. Jan 2016 12:24

AW: @ bzw, @@ bei Sprungmarken in ASM
 
hallo,

also wenn ich es richtig verstanden habe, sind Sprungmarke mit '@@' nur Lokal zuerreichen. Eine Sprungmarke mit nur einem '@' ist dann eben global zuerreichen. Link

mfg

Dennis07 22. Jan 2016 15:24

AW: @ bzw, @@ bei Sprungmarken in ASM
 
Naja, eben ja nicht...
Hier steht, dass lokale Labels mit einem @ beginnen müssen und danach folgen kann was will, während globale labels dies nicht benötigen, dafür aber im "label"-Abschnitt deklariert werden müssen. Global heißt hier auch außerhalb des ASM-Abschnitts, aber innerhalb der Methode. Sprünge zu Labels außerhalb von Methoden sind ja in Delphi (im Gegensatz zu Standard-Pascal) nicht mehr möglich (siehe hier bei Punkt 2).


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