Könnte ich daß, würde ich wohl nicht hier im Forum sein *grins*
Ich hatte jahrelang "NAchhilfe", vor allem in englisch, aber in Sprachen hab ich wohl sowas wie ne lernschwäche. Bestimmte Dinge hab ich aufgegeben.
Sprachen und Malerei (schon bei Schuldingen) liegen mir einfach nicht.
Deshalb hat mich die Seite wohl zu schnell erschlagen.ge Befehle in Prosa erklärt, was es für dich
natürlich nicht gerade leichter macht.
@Helle & DarkDragon:
ERst mal danke, das hilft erstmal weiter. ich teste das die TAge mal genauer.
dann hatte ich das bisher schon mal richtig verstanden. Zugreifen auf eine PBvariable hatte bei mir schon geklappt. das einzige was ich mich noch frage ist, ob "v_" in ASM immer die Namensvorsilbe für eine Variable ist oder nur PB dies davor hängt, damit es sich von pbinternen Variablen abgrenzt (so wie bei Labels "l_"). Ich vermute auf grund deiner ASMvariablen tt, daß pb diese Vorsilbe drann hängtDefine tt.l=67890 ;PB-Variable definieren (hier als Long = 4 Bytes). Damit von ASM benutzbar ist
;Global Pflicht. Diese Variable legt PB auch in einer Data-Section an und bekommt
;dort den Namen "v_tt". PB reserviert in der Data-Section aber nur den Speicher-
;Platz (l = 1 DWord] für diese Variable und weist ihr erst im Programm den Wert
;67890 zu.
;In PB heisst sie weiterhin "tt" ! Nur in PB! Für ASM heisst sie "v_tt"!
;Die unten angelegte Variable heisst "tt" und ist zunächst nur für ASM sichtbar!
Ahhh. Danke. Aber wieso geht es auch ohne diese Angabe? Was passiert dann? Ist das dann standartmäßig ein Byte, Long oder einfach nur falsch?Bei ASM-Variablen ist zwingend eine Größe
;anzugeben!
Danke.Beim MOV-Befehl muss mindestens ein Operand ein Register sein!
DAnke. Das hatte ich entweder in der Hilfe überlesen oder einfach vergessen.Debug PeekL(?X) ;so kann man ASM-Variablen auslesen
Hmm. Wieso das? In ASM beispielcodes habe ich sowas auch nicht gesehen, besser gesagt nicht erkannt. Da stand immer nur "!section '.data'" oder ensprechender Code teil (mal als Code, mal als Text bezeichnet?). Ich dachte daher, daß !section '.data' dies automatisch als Datenteil ausweißt. Oft steht dieser Teil ja auch am Anfang von ASMbeispieln. Müßte es für das "PB-END" dann nicht auch entsprechendes im ASMcode geben?End ;wichtig, sonst wird alles Nachfolgende auch als ausführbarer Code betrachtet!
Da ich bisher nur die Suchfunktion mit einigen ASMdingen benutzt habe, hatte ich das wohl übersehen. Werde ich mir bei gelegenheit sicher raussuchen. DAnke.In FAQ´s und Tut´s hatte ich mal ein ASM-Tut reingestellt, vielleicht nutzt es dir was.
Hmm. Also das mit dem "p." habe ich schon gesehen, konnte es mir nur nicht erklären. Aber was bedeutet das? ist das p. einfach eine art "lokale Variable"? oder muß ich auf eine Globale variable in einer Procedure mit "p." zugreifen? ich hatte bisher vermutet, daß "p." für "pointer" steht. ne Adressierung die ich nur nich nicht verstehe.Und innerhalb einer Prozedur heißt die Variable dann halt p.v_Variablenname statt v_Variablenname.
Insgesamt war ich dann bisher auf dem richtigen weg, selbst mit dem eigenen deklarieren von ASMvariablen. In meiner Erinnerung hatte ich es genau so versucht, nur hat es nicht geklappt. Na ja, jetzt kann ich es die Tage mal richtig testen. Schon mal vielen Dank. Es hilft schon wenn man einen funktionierenden Code zum testen hat. Und das mit "END" ist wichtig und wirft für mich auch einige kleine wichtige Fragen auf. Eine davon steht ja oben

Müßte ich dann aber nicht mit
Code: Alles auswählen
!section '.data' Data readable writeable ;hier werden die ASM-Variablen definiert
X: ;Markierung für PB setzen, ist praktisch die Speicher-Adresse von ASM-tt
!v_tt: dd 12345 ;ein DWord (4 Bytes) anlegen mit dem Wert 12345
@Batze:
Danke, die Seite war eine der ersten die mir weiter geholfen haben

So, ich denke in den nächsten Monaten werde ich sicher hin und wieder mal wieder neu etwas auf ASM schauen. Für die nächsten Tage hab ich sicher erstmal genug zum schauen.
Eine Abschließende Frage noch auf Grund des letzten "Ausleihcodes". "Mov", wird da zuerst das Ziel oder die Quelle angegeben?
sieht für mich so aus als ob erst die quelle angeben wird, esp also das ziel ist. aber in irgend einem Tutorial hatte ich glaube ich gelesen das erst das ziel kommt.Global X.l
Global Y.l
!mov [v_X],esp