ASM Tutorial

Fragen zu allen anderen Programmiersprachen.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

ASM Tutorial

Beitrag 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/
Benutzeravatar
benny
Beiträge: 383
Registriert: 29.08.2004 09:18
Wohnort: Am Ende des www's
Kontaktdaten:

Re: ASM Tutorial

Beitrag 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
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

ZUGRIFF NICHT ERLAUBT
Die angeforderte Seite darf nicht angezeigt werden.
Ist die Site nicht mehr online?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
wasser
Beiträge: 125
Registriert: 27.11.2006 21:16

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Was soll hier strafbar sein?

Verlinken darf er. Den Inhalt kopieren und keine Quelle angeben, wäre nicht
richtig.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
wasser
Beiträge: 125
Registriert: 27.11.2006 21:16

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Da mußt du noch ein bisschen lernen.

wie meinen?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten