Assembler-Programmierung

#0
23.02.2004, 23:36
...neu hier

Beiträge: 4
#1 Hallo!

Ich hab mal ein Paar Fragen zum Thema Assembler Programmieren...

Ich interessiere mich fuer alles, was in einem PC abläuft.
Bei meiner "Entdeckungsfahrt-PC" bin ich irgendwann auf den Assembler gestoßen. Ich war sofort davon fasziniert, und habe mir so einiges darüber angelesen und ein Buch bestellt (Programmiersprache ASSEMBLER von Reiner Backer)
Die dort beschriebenen kleinen Übungsprogramme hab ich abgeschrieben, assembliert und gelinkt. Hat auch wunderbar geklappt. Aber um nun selbst etwas schreiben zu koennen hab ich wirklich nicht genug von dem, was da im Buch steht verstanden...

Kann mir jemand sagen, wo ich eine verständlichere Erklärung der Problematik finden kann?
Oder womit sollte ich lieber zu Programmieren anfangen, um anschließend die Funktion des Assemblers besser verstehen zu koennen?
Also in dem Buch steht, das das Erlernen von Assembler genauso "einfach" wäre, wie das erlernen von Pascal oder C .
Diese Sprachen sind mir allerdings noch vollkommen fremd, etwas erfahrung habe ich mit QBASIC und Batch-Dateien schreiben...

Ich bin dankbar fuer jede Antwort, die mir in irgendeiner Form weiter hilft.

Gruß ..... Denny
Dieser Beitrag wurde am 23.02.2004 um 23:37 Uhr von Denny editiert.
Seitenanfang Seitenende
24.02.2004, 11:53
Member
Avatar Compender

Beiträge: 66
#2 ich habe mal das buch von franzi's gehabt und mich dort ein bischen eingearbeitet. gut und verständlich geschrieben. bin aber wieder bei c# gelandet. also das assembler einfach ist kann ich nicht sagen aber da scheiden sich sicherlich die geister. ich finds ok wenn man damit anfängt.
und hier noch ein link zu ebooks www.onlinetutorials.de/asm-index.htm

gruß und weiterhin viel spass, compender
Seitenanfang Seitenende
24.02.2004, 13:39
...neu hier

Themenstarter

Beiträge: 4
#3 Dank Dir Compender...

Ich werde mir die Seite gleich mal anschaun.

Gruß ... Denny
Seitenanfang Seitenende
24.02.2004, 18:53
Member
Avatar Xeper

Beiträge: 5291
#4 @Denny

Assembler ist tausend mal schwerer als hochsprachen wie C - sons würde man ja direkt alles in Assembler schreiben - aber warum tut man das nicht, nicht nur aufgrund der dann nicht mehr vorhandenen Kompatibilität sondern auch weil es zu schwierig wäre und zu lange dauern würde. Ich an deiner Stelle würde mit C anfangen weil das so ziemlich der Grundstein von allem ist - dann kannst du mal deinem kompiler anweisen Assembler output zu liefern den der Compiler berechnet ja den C sourcecode zu assembler - unter anderem. Das ist sehr interessant zu sehen wie der selbe code in Assembler aussieht Programmierer nutzen dies auch um den code dann noch mal zu manipulieren - Assembler ist ja sehr Maschinenennah und Assembler ist auf jeder Plattform ein wenig anders. Deswegen gibt es auch Hochsprachen.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
25.02.2004, 00:26
...neu hier

Themenstarter

Beiträge: 4
#5 Also.....ich habe mir im Assembler-Tutorial knapp zwei Stunden lang so einiges durchgelesen und das auch so ziemlich gleich verstanden.
Trotzdem fuehl ich mich noch nicht in dem Glauben mehr über die Assemblerprogrammierung zu wissen, bzw. diese anzuwenden...

Xeper, Du sagst: "Ich an deiner Stelle würde mit C anfangen weil das so ziemlich der Grundstein von allem ist..."

Also ich werde jetzt mal nach einem guten Tutorial für C suchen und mich da mal reinlesen.....evtl. ist es ja wirklich einfacher zu verstehen und !anzuwenden!.
Die Assemblerprogrammierung, so viel weiß ich jetzt, ist nämlich unnormal aufwendig!
Ich probier einfach mal C aus!

Gruß ... Denny
Dieser Beitrag wurde am 25.02.2004 um 00:35 Uhr von Denny editiert.
Seitenanfang Seitenende
25.02.2004, 16:33
Ehrenmitglied
Avatar Robert

Beiträge: 2283
#6 Assembler ist einfach nur geil! Ist meine liebste Programmiersprache, denn genau das was man einstellt/eingibt passiert dann auch. Sicher, es ist aufwendig und relativ undurchsichtig für den Einstig, aber eigentlich erfährt man dabei wesentlich mehr über das funktionieren eines Computers als bei irgendetwas anderem.

Robert
__________
powered by http://different-thinking.de - Netze, Protokolle, Sicherheit, ...
Seitenanfang Seitenende
25.02.2004, 19:44
Member

Beiträge: 3306
#7 Jo zu Lernzwecken ist das sicher mal ganz lustig, aber ernsthaft programmiert werden damit nur noch sehr wenige Sachen wie DSPs. Schau dir C an das ist auch sehr "basic" und kann auch was.
__________
Bitte keine Anfragen per PM, diese werden nicht beantwortet.
Seitenanfang Seitenende
25.02.2004, 20:41
...neu hier

Themenstarter

Beiträge: 4
#8 Jo, also ich hab jetzt angefangen C zu lernen.
Die ersten Seiten waren dank meiner wenigen ASM-Vorkenntnisse recht leicht zu verstehen.
Ich find das Klasse, daß man z.B. fuer diese ewig vielen Zeilen, die im ASM zur Wiedergabe eines Strings nötig sind,in C einfach nur printf schreiben muss. Man muss zwar vorher, ähnlich dem ASM, die Variable initialisieren aber damit kann ich gut leben *g*
Ich hoffe, dass mir die nächsten Kapitel der C-Sprache nicht all zu viele Probleme bereiten und ich meinen Spass damit haben werde...

@ Robert....
Ich bin vollkommen Deiner Meinung, wenn Du sagst, daß ASM die prozesornaheste Programmiersprache ist und man so am meisten über die Funktion des PC´s lernt. Aber mein jetziges Wissen zum Thema ASM reicht nicht aus um damit zu Programmieren (ich habe jedoch einen guten Einblick bekommen).
Ausserdem kommt man damit einfach nicht "von der Stelle" / es dauert mir zu lang.
Mit Sicherheit werde ich aber spaeter noch mal darauf zurück kommen um den ASM zum Ausmerzen von Fehlern zu gebrauchen.

Also vielen Dank noch mal an alle Beteiligten für ihre Ratschläge!

Gruß .... Denny

PS. Ich hoffe ich kann bei speziellen Fragen zum Thema C noch mal in dieses Forum schreiben.
Dieser Beitrag wurde am 25.02.2004 um 20:41 Uhr von Denny editiert.
Seitenanfang Seitenende
25.02.2004, 21:51
Member

Beiträge: 23
#9 @Denny In der Annahme, dass Du auch englischsprachige Tutorials verstehst, empfehle ich Dir Iczelion's Homepage, die quasi das Zentrum der ASM-Welt ist:

http://win32assembly.online.fr/ (siehe insbesondere die Tutorials)

Weiter geht es dann mit http://win32asmboard.cjb.net/ .

Den Einstieg in die in Reverse Engineering Szene dann später per PM ;-)
Seitenanfang Seitenende
26.02.2004, 06:59
Ehrenmitglied
Avatar Robert

Beiträge: 2283
#10 Es gibt ja auch sowas wie "Assembler" Baukästen. Damit kann man dann so schöne Sachen machen wie eine Ampelschaltung oder Waschmaschine zu steuern. Da sieht man dann auch, daß was raus kommt und funktioniert. Klar, ganze große Programme in ASM zu schreiben, ist leicht aufwendig ;-)

R.
__________
powered by http://different-thinking.de - Netze, Protokolle, Sicherheit, ...
Seitenanfang Seitenende
08.03.2004, 23:01
Member
Avatar framp

Beiträge: 326
#11 Die Frage ist was Du willst. Willst Du die DNA einer CPU verstehen und programmieren oder willst Du Algorithmen implementieren.
Die Evolution der Programmiersprachen geht immer weiter weg von Assembler. Dieses ist i.W. nur noch die DeviceDriverProgrammiersprache. Allerdiings auch nur noch im Ausnahmefaellen. I.d.R. wird anstelle dessen C benutzt.
Das Programmieren in hoheren Programmiersprachen sollte schon bei java beginnen. Ansonsten ist es so als wurdest Du Deinen ProgrammierFuehrerschein auf einem Auto aus den 30er Jahren machen.
Willst Du allerdings wirklich den einzelnen Kolben eines Motore programmiern wollen ist Assembler allerdings die richtige Wahl.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
18.12.2009, 17:40
...neu hier
Avatar Bender1001

Beiträge: 3
#12

Zitat

Assembler ist tausend mal schwerer als hochsprachen wie C - sons würde man ja direkt alles in Assembler schreiben - aber warum tut man das nicht, nicht nur aufgrund der dann nicht mehr vorhandenen Kompatibilität sondern auch weil es zu schwierig wäre und zu lange dauern würde.
Assembler ist nur anders aufgebaut. Assembler ist für den Programmierer nur eine leichtere und verständlichere Oberfläche der Maschinensprache. Die Maschinensprache bestet nur aus 0 oder 1 (z.B. 0011 0101 0111). Die Assemblersprache verkürzt jediglich die Anweisungen der Maschinensprache, was zu tun ist (z.B. add adres, 0011; ). Mit dem Assembler kann man keine komplexen algorithmen oder sonst was schreiben, da der Programmieraufwand zu hoch ist. Auch Schleifen wie For, While wie in C sind im Assemlber anders aufgebaut, da man hier nur mit dem Inhalt der Adresse eine Schleife bilden kann bzw. man muss im Assembler den Ihnahlt einer Adresse eine neue Adresse zuordnen.

Assembler hat aber dafür den Vorteil, dass man den kompletten Speicher eines PC nutzen kann, da man dann mit 8, 16 oder 32 Bit arbeiten kann. Es kommt halt nur auf die Adressierung an.

Gruß
Bender1001
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: