Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Assembler lernen?
Gehe zu Seite 1, 2  Weiter
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Assembler lernen?
 
Autor Nachricht
Dragonslayer
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 18.08.2005
Beiträge: 332

BeitragVerfasst am: 09 Jan 2007 - 18:48:18    Titel: Assembler lernen?

Hi wollt mal Fragen ob Assembler wirklich so schwer zu erlernen ist, hab bisher nur in C programmiert und nen bischen PHP gemacht,
weis aber das Assembler im nächsten Semeser in Maschinennahes Programmieren auf mich zu kommt.

PS:Studiere ET&AT anner FH
TK1985
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 16.09.2005
Beiträge: 988

BeitragVerfasst am: 09 Jan 2007 - 19:13:48    Titel:

Assembler ist schon nicht ganz ohne. C ist ja eigentlich schon eine schwere Sprache, aber ich würd sagen das Assembler noch mal ein Level höher angesiedelt ist. Ich hab mich da schon mal dran versucht, aus Zeitmangel konnte ich es dann aber nicht weiter vertiefen.
Aus eigener Erfahrung kann ich sagen, dass selbst scheinbar einfache Sachen wie eine Bildschirmausgabe oder Einlesen von der Tastatur ein recht großes Problem darstellt. Ich war schon mal froh als ich einzelne Zeichen auf dem Bildschrim ausgeben konnte.
Andererseits hat man halt auch viele Freiheiten, da man praktisch vollen Zugriff hat auf die CPU-Register und seinen Speicher.
Dir sollte aber vor der maschinennahmen Programmierung nicht bange sein, freu dich lieber da drauf, denn es kann sehr interessant sein. Man bekommt einfach einen sehr großen Einblick in die Tiefen des Systems.
lebowski
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 30.07.2005
Beiträge: 388
Wohnort: Aachen

BeitragVerfasst am: 09 Jan 2007 - 19:47:51    Titel:

sind schwer zu erlernen, und wennde kannst bringts auch nicht viel. jedes programm das du schreibst wird nur auf wenigen computern laufen. glaubich.
TK1985
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 16.09.2005
Beiträge: 988

BeitragVerfasst am: 09 Jan 2007 - 20:51:45    Titel:

Zitat:
und wennde kannst bringts auch nicht viel


Das würd ich nicht sagen. asm-Programme laufen deutlich schneller und besitzen eine höher Performance als Programme aus höheren Programmiersprachen.
In Bereichen wie z.B. Embedded Systems wird asm immernoch häufig eingesetzt.
m0ta
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 12.10.2005
Beiträge: 75

BeitragVerfasst am: 09 Jan 2007 - 21:59:58    Titel:

TK1985 hat folgendes geschrieben:
aber ich würd sagen das Assembler noch mal ein Level höher angesiedelt ist.

Eher einen Level niedriger. Und das ist auch das einzig problematische an Assembly: der Aufwand. Sonst ist die Programmierung ja mehr als primitiv.
Sun_Boy
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 23.11.2005
Beiträge: 33

BeitragVerfasst am: 09 Jan 2007 - 22:13:51    Titel:

Also ich fand Assembler schon ziemlich heftig,
Ich galube, dadurch habe ich mir meinen Schnitt versaut Sad

Allerdings ist es auch so, wenn man Assembler halbwegs versteht, dann kommt man mit anderen Sprachen auch besser zurecht. Man hat ein Verständnis dafür, wie die Programme arbeiten. Was wo wie warum im Speicher abgelegt wird etc.

Grüsse
Sunny
Sevek
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 15.11.2006
Beiträge: 4

BeitragVerfasst am: 09 Jan 2007 - 22:17:20    Titel:

also ich programmier schon seit einigen Jahren in Assembler und kann sagen, das Handwerkszeug (sprich Befehle und die Funktion) zu lernen oder zu verstehen ist ganz easy (nicht anders als in C). Das was sehr vielen Leuten Schwierigkeiten macht ist die völlig andere Denkweise, als in höheren Programmiersprachen. Das Hauptstichwort ist hierbei natrülich schon der Spaghetticode. Der Durchbleick geht durch bedingte und unbedingte Sprünge in Codebereiche, die weit außerhalb des Sichtfelds liegen, relativ schnell verloren. Auch die Stackproblematik hinsichtlich von Daten und Rücksprungadressen können verwirren.

Ich kann dir nur empfehlen, wenn du solche Anfangsschwierigkeiten überwindest und auch ein recht gutes Durchhaltevermögen hast, bleib dran, es lohnt sich.

Zu verwendbarkeit von Assemblerprogs gibt es wie immer zwei Seiten der Medallie. Wenn man bei der Programmierung zum Beispiel nur auf rudimentäre x86 Befehle und CPU-Architekturen zurückgreift, wird das Programm auch fast allen CPUs der x86er Reihe laufen. Dafür gibt man dann natürlich wieder Performence ab. Sollte man sich dann aber zum Beispiel auf einen Intel Core 2 Duo E6600 stützen, kann man alle Register, zusätzlichen Rechenwerke (SSE und was es da gibt) und den hier enthaltenen 2*2 MB-Cache stützen. Dies bringt einen enormen Performancevorteil, dafür läuft das ganze nur auf CPUs die diese Merkmale haben (bei nem E5400 wär schon Schluss).

Also wenn es dir Spaß macht, hol dir Bücher, viel Kaffee und hau rein Wink Denn es gibt auch heute noch Anwendungsbereiche, wo man um Assembler nicht rum kommt.



Ach noch so nebenbei, zum lernen ist dieser Emulator richtig gut.
http://www.emu8086.com/
Hier kann man gleich auch den Speicher überwachen und bekommt haarklein mit was man da eigentlich treibt Very Happy


Zuletzt bearbeitet von Sevek am 09 Jan 2007 - 23:05:56, insgesamt einmal bearbeitet
TK1985
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 16.09.2005
Beiträge: 988

BeitragVerfasst am: 09 Jan 2007 - 22:49:20    Titel:

Zitat:
Eher einen Level niedriger


Mit einem Level höher hab ich eigentlich die Schwierigkeit gemeint, nicht den Level innerhalb des Computersystems.
Aber das es so nah an der Maschine sitzt ich sicher das größte Problem, wo anders kommst ja praktisch nicht in Kontakt mit Registern oder Speicherstellen.
micro4
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 16.07.2006
Beiträge: 79

BeitragVerfasst am: 09 Jan 2007 - 22:55:31    Titel:

Finde auch, dass Assembler nicht schwer ist. Rein ins Register, raus ausm Register, addieren etc., ganz einfach. Es ist nur ziemlich schreibaufwendig, damit irgendwas vernünftiges zustande zu bringen, weil man jeden Sch..ß selbst machen muss. Und die Programme sind unstrukturiert und unübersichtlich und nicht auf andere Prozessortypen portierbar.

Wenn heute noch Assembler genutzt wird, dann wohl nur für zeit- oder ressoucenkritische Routinen. Man schreibt dann meist sein Programm in einer vernünftigen Programmiersprache und kann einen Performancenachteil ausgleichen, indem man eine zeitkritische Routine durch eine in Assembler geschriebene ersetzt und in das Programm einbindet.
rotschl
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 04.12.2005
Beiträge: 646

BeitragVerfasst am: 09 Jan 2007 - 22:59:24    Titel:

Assembler ist nicht sehr schwierig. Du musst sehr gute Hardwarekenntnisse besitzen, weniger sonderliche Programmierkenntnissse. Daher bringt Assembler nur was wenn du Hardware verstehen möchtest (am besten lernst du den Assembler den ihr nächstes Semester macht). Für Spieleprogrammierung braucht man kein Assembler. Im Gegenteil: Gute Compiler optimieren Code besser als jeder Mensch. Vorallendingen schneller. Selbst in der Treiberprogrammierung ist dieser weitesgehend unüblich geworden. Dies gilt natürlich nur für die normalen Rechner. Bei Hochspezialisierten Maschinen mit geringer Verbreitung leistet man sich den Luxus einer höheren Sprache eher weniger.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Assembler lernen?
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum