Seite 1 von 2

ASM Tutorial

Verfasst: 29.11.2005 19:26
von Sebe
Gleich vorweg: Es ist nicht von mir! Hat einer im blitzforum gepostet und da dachte ich mir: "Den Link klaust du jetzt, weil man für PureBasic viel eher ASM braucht als für die Blitzprodukte."

Bitteschön: http://www.marco-der-b.de/

Re: ASM Tutorial

Verfasst: 29.11.2005 19:41
von benny
Sebe hat geschrieben:Gleich vorweg: Es ist nicht von mir! Hat einer im blitzforum gepostet und da dachte ich mir: "Den Link klaust du jetzt, weil man für PureBasic viel eher ASM braucht als für die Blitzprodukte."

Bitteschön: http://www.marco-der-b.de/
Erinnert ein wenig an diese Tuts :

http://decard.net/article.php

Verfasst: 12.12.2006 14:33
von AND51
ZUGRIFF NICHT ERLAUBT
Die angeforderte Seite darf nicht angezeigt werden.
Ist die Site nicht mehr online?

Verfasst: 12.12.2006 14:51
von wasser
Irgend wie weisst du nicht wie die Glocken hängen.

So etwas ist Strafbar ohne Genehmigung des Autors bzw ohne Nennung der Quelle.

Du hast Glück, wenn du keine Anzeige bekommst.

MFG

Verfasst: 12.12.2006 15:14
von NicTheQuick
Was soll hier strafbar sein?

Verlinken darf er. Den Inhalt kopieren und keine Quelle angeben, wäre nicht
richtig.

Verfasst: 12.12.2006 15:31
von AND51
Und Notfalls muss sich der beetreiber des Forums, in das Gesetzteswiedriges gepostet wurde, um den Schaden kümmern und entsprechende Inhalte aus seinem "Sortiment" entfernen.

Frage:

Ich habe soeben meinen ersten ASM-Code erstellt:

Code: Alles auswählen

Define a=6

ADD a,1

Debug a
Das inkrementiert a ja. Ist dies schneller, als wenn ich 'a+1' schreibe? Dann würde ja PB anstatt ASM die Variable inkrementieren. Meine Quele: http://www.delphipraxis.net/topic94005,0,asc,0.html

Dort wird gesagt:
INC Ziel

Das Inkrementieren sollte ja bereits aus jeder anderen Programmiersprache bekannt sein. Dass Ziel ist gleichzeitig auch die Quelle, der Operand wird genau um einen Wert erhöht. Alternativ kann man auch einfach ADD EAX,1 verwenden, was nach Intels Optimization Guidelines sogar schneller arbeitet.
Stimmt das :?:


Hach, ich bin ja so glücklich über meinen ersten ASM Code... :D

Verfasst: 12.12.2006 16:22
von NicTheQuick
PureBasic übersetzt "a + 1" automatisch in den kürzesten ASM-Code. In dem
Beispiel wäre es wohl "INC a".

Aber wie der ASM-Code dann genau aussieht, siehst du nur im ASM-Output.
Wie das geht, findest du schon mehrmals im Forum. Einfach suchen. Steht
übrigens auch in der PB-Hilfe.

Verfasst: 12.12.2006 16:40
von Kaeru Gaman
in 3.9x gabs das problem,
dass a+1 zwar in INC übersetzt wurde,
aber a-1 in ADD -1 und nicht in DEC....

...oder wars umgekehrt?

ich weiß nicht, obs inzwischen korrigiert wurde,
vielleicht echt mal in den ASM-output gucken...

Verfasst: 12.12.2006 23:14
von wasser
Es gibt hier im Forum viele in ASM eingepacktet Routinen.

Man hat manchmal keine schnellere Lösung.

Da mußt du noch ein bisschen lernen.

Verfasst: 13.12.2006 01:32
von Kaeru Gaman
> Da mußt du noch ein bisschen lernen.

wie meinen?