PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : asm lernen


Ryu
01.08.2002, 12:06
ich würde gerne asm lernen also suche tuts dafür bitte wenn ihr welche kennt hier rein posten (also die links :D ) und sagt nix von büchern, die sin mir zu teuer :D also ich bin euch dankbar, iahc warte ZZZZZZZzzzzzzzzzzZzzzz :P


Ryu
01.08.2002, 12:07
achja, was für nen compiler brauch ich da eigentlich?

MastaEda
01.08.2002, 13:57
Einen Compiler wirst du da wohl nicht mehr brauchen, eher einen Assembler.
Such mal mit Google nach MASM32 oder TASM.
Ein paar Tuts gibts hier: www.robsite.de

Ryu
01.08.2002, 14:47
jo thx, werd ich gleich machen, aber hmm nen "assembler" ??? ich dachte so heißt die sprache *keinenplanhab* ???

Felix Kaiser
01.08.2002, 15:07
Assembler bezeichnet CPU Bytecodesprache in Worten, d.h. ist dasselbe, nur in meist englischen Kürzeln. Der Compiler zum 'Assemblieren' wird auch Assembler genannt. Für x86 Prozessoren kann ich nur wärmstens Turbo Assembler empfehlen. Hatte mir damals die aktuellste Version für 50 Mark innem Buchverlag bestellt (Version 5.0), war gleich Realmode, 16-Bit und 32-Bit Compiler/Linker/Debugger dabei.

Im Bezug auf Tuts würde ich mir mal ein paar Stunden Zeit nehmen und genaustens bei Intel suchen. Wenn man 'richtig' sucht findet man dort wunderbare Tuts zu sämtlichen Befehlssätzen. Für AMD-spezifische Sätze (z.B. 3dNow!) hat AMD die entsprechenden Tuts. Ich selbst benutze falls erforderlich (das meiste hat man ja im Kopf) eine ältere Textdok von Intel zum 80386. In der sind sämtliche Befehle mit möglichen Parametern, Bytecodefolgen und schematischen Erläuterungen der internen Abläufe in der CPU erläutert.

Ryu
01.08.2002, 15:12
:eek: :eek:

au das klingt mir glaub ich zu kompliziert :rolleyes: aber ich werd gleich mal schauen bei intel, obwohl ich ja nen amd prozessor hab, isses eigentlich dann so wenn man was für intel proggt das das prog dann mit nem amd prozessor nich geht oder was? und was genau kannt man eigentlich alles mit assembler programmieren?

Felix Kaiser
01.08.2002, 15:26
Nein, der Standard ist überall gleich. Nur ist auch klar, dass ein 386er keine Befehle versteht, die erst mit dem Pentium eingeführt worden. Aber so Herstellerspezifische Sachen wie 3dNow! oder auch glaube SMD (oder was des war) funktionieren dann auch nur auf einer CPU dieses Herstellers. Kann manchmal nützlich sein um bestimmte Aufwendige Rechnungen etc. auf bestimmten System nochmals zusätzlich zu Optimieren.

Ryu
01.08.2002, 15:31
hmmm und was genau kann man mit assembler nun alles programmieren?

Felix Kaiser
01.08.2002, 15:34
Alles, gibt einfach keine Einschränkung, außer die technische der CPU :]

Ryu
01.08.2002, 15:37
ja und wenn ich da jetzt ein programm mache kann ich es dann ganz einfach in windows ode rlinux starten, oder muss ich das irgendwie vom booten weg starten?

Felix Kaiser
01.08.2002, 15:44
Also klar ist, dass beide Systeme dieselbe Codebasis haben. Allerdings da sich das Dateiformat unterscheidet sowie die APIs grundverschieden sind, wäre sowas definitiv nicht möglich.

Ryu
01.08.2002, 15:53
und was is wenn das alles nun so kompliziert ist der eigentliche vorteil von assembler? (sorry das ich soviel frag, aber bis jetzt hab ich noch kein tut gefunden *weitersuch*)

Nukacola
01.08.2002, 15:59
1. die Geschwindigkeit
2. direkten Zugriff auf die Hardware

Schaf
01.08.2002, 16:00
ok, machen wir's kurz: wenn man jetzt nicht grade treiber oder systools baut, oder komplizierte mathematische algorithmen auf geschwindigkeit optimieren will, oder einfach mal bock hat auf unterster ebene zu coden, dann kann man asm auf nem pc/mac oder sonst einem anderen fertigsystem nicht wirklich gebrauchen, dann ist es wirklich uneffizient. ich würde jedem empfehlen, nur asm zu lernen, wenn er sich mit der hardware, d.h. den einzelteilen der hardware auseinandersetzt. unter einzelteilen der hardware versteht man nicht z.b. die grafikkarte, sondern den befehlssatz des grafikcontrollers, das grafikspeicherinterface, speicheradressen, interrupts usw. also nix mit mal eben asm lernen :D das packen nämlich nur wenige.

Ryu
01.08.2002, 16:05
hast mich galub ich grade n bisschen entmutigt thx :( aba ich hab noch über nen monat ferien und nix zu tun also n bisschen wird schon hängenbleiben glaub ich :D

Felix Kaiser
01.08.2002, 20:50
Assembler wird immernoch stark verwendet, zur Geschwindigkeitsoptimierung. Schau doch mal in die Delphi RTL Sourcen ;) Von Assembler ist eigentlich nur abzuraten, wenn es um eine umfangreichere Anwendung geht. Wird wohl kaum einer nen Office, Datenbanken oder Server mit Assembler schreiben. Oder irgendwelche Skriptinterpreter (abgesehen von Assembleroptimierung).

Lord_Otter
01.08.2002, 21:09
Also ich benutze Assembler, wo ich nur kann.
Und zwar in jeder Programmiersprache, die ich beherrsche und die Assembler unterstützt.
Dadurch wird vieles sehr viel schneller.
Für mein erstes 3D-Spiel habe ich die ganzen Berechnungen in Assembler geschrieben, und es hat nicht mehr gestockt...:D