Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Assembler ::  asm stirbt aus     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
wer_klown
Unregistrierter




Beitrag wer_klown Unregistrierter 11:39:36 27.01.2012   Titel:   asm stirbt aus            Zitieren

mir ist durchaus bewusst, dass assembler nicht mehr oft benutzt wird ABER mir wurde gesagt, ich solle auf gar kein fall damit anfangen weil es bald aussterben wird.

mir macht assembler spaß aber ist es trotzdem für meine programmier erfahrung hilfreich assembler zu verstehen? auch wenn ich andere sprachen benutze`?
und stirbt die überhaupt aus?

hätte schon lust, die nächsten jahre bisschen was mit assembler zu machen =)
asm stirbt nie
Unregistrierter




Beitrag asm stirbt nie Unregistrierter 13:46:05 27.01.2012   Titel:              Zitieren

Assembler wird NIEMALS aussterben. Es ist meiner Meinung nach sehr hilfreich Assembler zu können. Der OllyDebugger hat mir schon öfters bei der Fehlersuche geholfen, da sieht man wenigstens was die eigenen Programme machen die man in den Hochsprachen schreibt.

Und was würden die Malware Analysten machen wenn keiner mehr Assembler verstehen würde. (Die bösen Buben würden sich freuen :D )

Oder wenn das Hochsprachen Programm zu langsam ist und der Compiler selbst mit dem tollsten Algorithmus keinen schnelleren Code mehr erzeugen kann.

Dann kann man z.b. schauen ob bestimmte Code Teile z.b. mit Inline Assembler verbessert werden können.

Dann wäre Steve Ballmer vermutlich auch sauer da Microsoft dann kein Windows 9 (Ist bestimmt schon in der Entwicklung :cool: ) oder 10 verkaufen könnte.^^

Es sei den bis dahin würde etwas anderes entwickelt werden was Assembler gleich ist.
nonesense
Unregistrierter




Beitrag nonesense Unregistrierter 14:39:55 27.01.2012   Titel:              Zitieren

Solange es keine CPUs/Mikroprozessoren gibt, die direkt HLL-Quelltext interpretieren können, wird es auch Assembler geben.
/rant/
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.10.2008
Beiträge: 1552
Beitrag /rant/ Mitglied 14:44:11 27.01.2012   Titel:              Zitieren

Zitat:
asm stribt aus
Schwachsinn. Mit was sollte man dann Systemprogrammierung auf unterster Ebene betreiben? Mit Java? Klar, praktisch niemand mehr wird rein Assembler programmieren - wäre auch nicht produktiv. Aber zumindest die Prinzipien verstehen und etwas Nachvollziehen können mit Dokumentation ist doch wichtig, damit man ein Gefühl hat, wie etwas auf dem Computer funktioniert. Das gehört zum Wissen eines Informatikers, finde ich.

Im Studium (soll heissen: Es wird auch noch immer an den Universitäten gelehrt) hatten wir denn auch eine Einführung in Assembler (was die meisten recht entspannend gefunden hatten): Grundlegende Operationen und Konzepte, Umwandlung Hochsprache (= C) <=> Assembler und Binary, Betrachtung im Debugger, Calling Conventions, ...; wenn man das mal gesehen und verstanden hat, programmiert man nachher mit einem anderen Verständnis.

Es ist nicht mal wichtig, was für eine Architektur man lernt. Hauptsache, man lernt, dass es am Ende immer solche Architekturen gibt, egal, worauf man arbeitet.

_________________
MCPD, MCTS and more! | "It's 7:05am. I have not slept." | www.google.com


Zuletzt bearbeitet von /rant/ am 14:44:49 27.01.2012, insgesamt 1-mal bearbeitet
Drehschwindel
Unregistrierter




Beitrag Drehschwindel Unregistrierter 15:36:48 27.01.2012   Titel:              Zitieren

/rant/ schrieb:
Das gehört zum Wissen eines Informatikers, finde ich.


Zum Wissen einer Berufsgruppe gehört immer exakt das, was man selbst kann.
rkhb
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.09.2010
Beiträge: 76
Beitrag rkhb Mitglied 21:02:28 27.01.2012   Titel:   Re: asm stirbt aus            Zitieren

wer_klown schrieb:
mir ist durchaus bewusst, dass assembler nicht mehr oft benutzt wird ABER mir wurde gesagt, ich solle auf gar kein fall damit anfangen weil es bald aussterben wird.


Aussterben? Ist das etwa Technikdarwinismus? Assembler ist eine Schöpfung Gottes und wird erst am Ende aller Tage vergehen! Dagegen sollte man Häresien wie etwa C++, Java und sonstiges objektorientales Teufelszeug mit Feuer und Schwert bekämpfen! :o)

Schönes Wochenende und Prost!

viele grüße
ralph
nachtfeuer
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
Beitrag nachtfeuer Mitglied 19:50:36 28.01.2012   Titel:              Zitieren

Assembler ist doch schon lange tot, so seit 20/30 Jahren nach offizieller Meinung.
Nur gut, dass nie gesagt wurde, dass man für Windows viel mehr Lowlevel Know How und Assembler brauchte, als vorher - sofern man nicht auf Basic zurückgreift, aber Basic ist angeblich auch von Gestern, und die wenigsten wissen vermutlich, dass Basic und Assembler eine sehr viel bessere Didaktik haben.

Die gute Assemblerdidaktik relativiert sich allerdings ein wenig wegen fehlenden Dokumentationen und fehlenden guten und umfangreichen Einführungsbüchern oder Texten. Man ist ein wenig auf sich alleingestellt, aber es schadet letztlich auch nicht, wenn man sich halt öfter mit Disassemlings beschäftigt.

Und die Zukunft dreht sich deutlich sichtbar um Parallelisierung, also
Entwicklungen wie

http://openmp.org/wp/
http://www.codeproject.com/Articles/19065/Begin-Parallel-Programming-With-OpenMP
http://www.nvidia.com/content/CUDA-ptx_isa_1.4.pdf
http://www.haskell.org/haskellwiki/Haskell_in_5_Schritten

im Auge behalten.

Und außerdem ist es wichtig, zu schauen, wie weit du selbst, bezogen auf deine Bedürfnisse, mit den neueren Assemblern kommst, und was dir wirklich Spaß macht. Dann kannst du nämlich selbst entscheiden, was für dich nützlich oder toll ist und was nicht, und nicht andere.

_________________
HhxV9rU5D8o236dZF7bMQ4Dys1_TuUmI4mZM.d2qD15ERi_0dgcHP0UViL3e-4WUi0nXXNwDYqA10sLEgjBVtdhE
tpehI7qHRZESiO_7LhPZFMQWNoiVrJDsEGD26n.H0lV8wOwYAe8UsbUJe5m65NyPaghnSoMzROo2gJ6nTeVSkxLk
a6hvNe11r9U7xddV9mq6NEi_V0C9k4augEKVSW3PV8LgCYum7KaXc9Ijq_ZT7zhspI.=-
Mechanics
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 432
Beitrag Mechanics Mitglied 20:23:47 28.01.2012   Titel:              Zitieren

Es kommt drauf an, wer du bist und was du machen willst. Ist programmieren für dich ein Hobby, kannst dir Assembler ruhigen Gewissens sparen. Für Informatiker finde ich es aber unerlässlich, Assembler zu verstehen. Sonst hat man nur eine relativ abstrakte Vorstellung davon, wie Computer und Programme wirklich funktionieren.
asm sterben.. neva
Unregistrierter




Beitrag asm sterben.. neva Unregistrierter 21:41:57 30.01.2012   Titel:              Zitieren

auch als hobby programmierer kanns überhaupt nicht schaden und ist sogar manchmal unerlässlich. Außerdem muss man sagen klar wird asm auf computern nicht mehr primär verwendet um winword oder große spiele... zu schreiben (hat man auch nie) doch tatsache ist, dass alles darauf basiert. Und gerade im Hardware bereich bei Microprozessoren wie z.B. Atmega8 ist man mit asm nie schlecht dran. Klar können viele auch mit C umgehen aber trotzdem ist Asm immernoch die schnellere und manchmal sogar fast einfachere variante zu c
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
Beitrag knivil Mitglied 22:45:53 30.01.2012   Titel:              Zitieren

Zitat:
Assembler eine sehr viel bessere Didaktik
Lol, vor allem bei CISC-Architekturen.
Zitat:
Zukunft dreht sich deutlich sichtbar um Parallelisierung
Naja, ich habe vor 12 Jahren meine erste Anwendung mit pthreads geschrieben. GPGPU ist so alt wie Shader selbst (fast).
Zitat:
Sonst hat man nur eine relativ abstrakte Vorstellung davon, wie Computer und Programme wirklich funktionieren.
Das kann man aber noch weiter treiben. Wer nie einen FPGA ..., nie einen Transistor auf dem Steckbrett, ... und natuerlich die Zunkunft und wieviel einem das bringt. Ich freue mich persoenlich auf eine zukuenftige Kopplung von Mikroprozessoren und FPGA. Xilinx und Altera haben da was mit Arm am basteln.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 22:53:56 30.01.2012, insgesamt 3-mal bearbeitet
Mechanics
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 432
Beitrag Mechanics Mitglied 23:00:01 30.01.2012   Titel:              Zitieren

knivil schrieb:
Das kann man aber noch weiter treiben. Wer nie einen FPGA ..., nie einen Transistor auf dem Steckbrett, ...


Kann man, muss man aber nicht ;) Ich habe im Studium einiges über Prozessorarchitekturen und die Physik dahinter gelernt und fand das auf jeden Fall interessant. Aber so wichtig wie Assembler finde ich das nicht. Wenn man kein Assembler kann, versteht man einfach nicht, wie C++ usw. wirklich funktioniert. Das sind einfach die Basics, die dazugehören.
nachtfeuer
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
Beitrag nachtfeuer Mitglied 00:52:30 31.01.2012   Titel:              Zitieren

knivil schrieb:
Zitat:
Assembler eine sehr viel bessere Didaktik
Lol, vor allem bei CISC-Architekturen.

Dieses Überlegung finde ich vor dem Hintergrund umfangreicher Api-Funktionsbibliotheken etwas gewagt, ganz davon abgesehen, dass viele Befehle sowieso nur alte Bekannte sind, oder einander wohltuend ähnlich oder manche exotischen Befehle sowieso nur für spezielle Bereiche interessant.

Aber Funktionsbibliotheken sind toll, und mal abgesehen von der gas-Sythax ist es schön in Linux Assembler und den klassichen C-Funktionen zu programmieren. Auf der Fasm-Seite gibts auch eine kleine Systemlib für sowat z.B.
http://flatassembler.net/examples/flibc.zip

_________________
HhxV9rU5D8o236dZF7bMQ4Dys1_TuUmI4mZM.d2qD15ERi_0dgcHP0UViL3e-4WUi0nXXNwDYqA10sLEgjBVtdhE
tpehI7qHRZESiO_7LhPZFMQWNoiVrJDsEGD26n.H0lV8wOwYAe8UsbUJe5m65NyPaghnSoMzROo2gJ6nTeVSkxLk
a6hvNe11r9U7xddV9mq6NEi_V0C9k4augEKVSW3PV8LgCYum7KaXc9Ijq_ZT7zhspI.=-
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
Beitrag knivil Mitglied 11:11:26 31.01.2012   Titel:              Zitieren

Naja, wahrascheinlich hast du noch kein Arm oder eine andere RISC-Architektur programmiert. Allein die Tatsache, dass Befehle 3 Operanden, also Source- und Destinationregister besitzen, fuehlt sich einfach besser an. Push, pop, Lea und gefuehlte zwanzigtausend Addressierungsarten, bedingte Ausfuehrung von Instruktionen (keine jmps) ... oder oder oder ...

Wieviel Instruktionen und Register benoetigt ein einfaches minmax (ohne Laden der Werte in Register), also:
Code:
if (i > j)
{
  temp = i;
  i = j;
  j = temp;
}
Code:
if (i > j)
{
temp = i;
i = j;
j = temp;
}
Code:
if (i > j)
{
  temp = i;
  i = j;
  j = temp;
}

Bei Arm sind es 2 Instruktionen und 2 Register. Wo braucht man das? Na Beispielsweise Bildverarbeitung und Medianberechnung bei 3x3. Toll das wir ausreichend Register zur Verfuegung haben: Laden, minimales Sortiernetzwerk mit 25 Vergleichen => 50 Takte, Median auswaehlen, fertig. Gibt es auch mit 64 oder 128 Register. Welch ein Glueck, dass sich fuer x86 durch die ganzen Erweiterungen mehr Register und Multimediabefehle wie SSE, bessere Sprungvorhersage etc. hinzugekommen sind. Fairerweise soll gesagt sein, dass x86 mittlerweile einige Befehle auch bedingt ausfuehren kann, bei Arm ist es Standard bei fast jedem Befehl.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 11:15:47 31.01.2012, insgesamt 3-mal bearbeitet
Burkhi
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.11.2003
Beiträge: 493
Beitrag Burkhi Mitglied 12:23:09 31.01.2012   Titel:              Zitieren

Assembler wirst du auch bei sehr kleinen Mikrocontrollern immer benötigen, als Beispiel sei der ATtiny2313 von AVR genannt. Da hast du sehr wenig RAM (128 Bytes) und Programmspeicher (2KB), da könnte man selbst C Programme kaum drauf laufen lassen, weil da kaum eine Lib in den Programmspeicher passt.

Von Java & Co wollen wir da gar nicht erst reden. ;-)

Von daher wird ASM niemals aussterben.

_________________
Objekt- Orientierte Automatisierungs- Software- Entwicklung
In Use: Rad Studio XE2, Rad Studio XE, Rad Studio 2010 Prof, Delphi+CB Bundle 2009 Prof,BDS2006 Prof, CBuilder 5 Prof
nachtfeuer
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
Beitrag nachtfeuer Mitglied 19:18:53 31.01.2012   Titel:              Zitieren

knivil schrieb:
...

Zum Teil schon wieder so gewagt ;)
Würde mich jetzt aber nicht so an den Begriffe Risc und Cisc orientieren, da ältere oder kleinere Mikros ja auch "Risc" wären. Und die 68000er waren eigentlich auch viel besser, als die Intelteile, nur leider nicht so schön kompatibel. Hätte die Dinger sich vernünftig weiterentwickelt, hätte heutzutage wohl kaum einer einen Intel-Prozessortyp-PC.

Risc müsste man fairerweise gleich denken als (RISC+Hochsprachencompiler), was dann wieder wenig mit Assembler zu tun hätte, sondern eher mit der Beschränktheit von Compilern. Aber die vielen Möglichkeiten beim Intel kommen mir manchmal ziemlich überflüssig vor, wozu soll das gut sein, x auf 5 oder mehr unterschiedliche Arten hinzubekommen?

Und jetzt mal unabhängig von Risc und Cisc und Didaktik: Weißt du ein gutes Entwicklungskit für die neueren ARMS?
( http://www.heise.de/ct/artikel/Prozessorgefluester-1370336.html macht ja Lust auf mehr )

_________________
HhxV9rU5D8o236dZF7bMQ4Dys1_TuUmI4mZM.d2qD15ERi_0dgcHP0UViL3e-4WUi0nXXNwDYqA10sLEgjBVtdhE
tpehI7qHRZESiO_7LhPZFMQWNoiVrJDsEGD26n.H0lV8wOwYAe8UsbUJe5m65NyPaghnSoMzROo2gJ6nTeVSkxLk
a6hvNe11r9U7xddV9mq6NEi_V0C9k4augEKVSW3PV8LgCYum7KaXc9Ijq_ZT7zhspI.=-
Scheppertreiber
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.05.2008
Beiträge: 1426
Beitrag Scheppertreiber Mitglied 19:39:15 31.01.2012   Titel:              Zitieren

Burkhi schrieb:
Assembler wirst du auch bei sehr kleinen Mikrocontrollern immer benötigen, als Beispiel sei der ATtiny2313 von AVR genannt. Da hast du sehr wenig RAM (128 Bytes) und Programmspeicher (2KB), da könnte man selbst C Programme kaum drauf laufen lassen, weil da kaum eine Lib in den Programmspeicher passt.

Von Java & Co wollen wir da gar nicht erst reden. ;-)

Von daher wird ASM niemals aussterben.


Den ATTiny2313 habe ich gerade in der Mangel. Das geht mit C richtig gut :)
knivil
Mitglied

Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
Beitrag knivil Mitglied 19:45:08 31.01.2012   Titel:              Zitieren

@nachtfeuer: fuer den Einstieg wuerde ich nichts kostenintensives nehmen. Privat habe ich nur das von http://mbed.org/ . Daneben gibt es noch BeagleBoard und sein Nachfolger Pandaboard. Aber Entwicklungskits mit viel Support etc. gibt es da nicht.
Zitat:
Das geht mit C richtig gut
Ja, nutze ich neben C++ auch meistens. Aber ich schau mir bei einigen Funktionen den ASM-Code an und doktere daran rum, bis der ASM-Code passt. Andernfalls muss ich selbst einschreiten.

_________________
If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.


Zuletzt bearbeitet von knivil am 19:55:04 31.01.2012, insgesamt 3-mal bearbeitet
Tim
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.11.2004
Beiträge: 6862
Beitrag Tim Mitglied 23:56:21 01.02.2012   Titel:              Zitieren

Das reine in asm programmieren stirbt immer mehr aus. Aber in intrinsics (oder halt inline assembler) lebt es noch ewig weiter.

Habe letztens versucht einem Compiler beizubringen, anstatt der Instruktion MUL eine Instruktion MULS (Multiplikation mit Sättigung bei Überlauf) zu benutzen. Ohne (inline/intrinsics) asm keine Chance.

_________________
Vorsicht, dieser Benutzer ist manisch-depressiv oder schizoid!
Professionell diagnostiziert durch Internet-Hobby-Psychologen
mfq
Unregistrierter




Beitrag mfq Unregistrierter 12:08:09 03.02.2012   Titel:              Zitieren

nachtfeuer schrieb:
Und jetzt mal unabhängig von Risc und Cisc und Didaktik: Weißt du ein gutes Entwicklungskit für die neueren ARMS?
Wie Knivil schon meinte, zum Anfang lieber was kleineres. Ziemlich interessant sieht das Maple-Board aus. Hat einen Cortex-M3 in Form des STM32 F103RB von STMicro drauf. Das tolle daran ist, dass das Board dort wo es geht, mit den Arduinos kompatibel gehalten wurde. Die komplette Toolchain ist in Form von Opensource-Software verfügbar und es gibt ähnlich Arduino eine Library, die einiges abstrahiert und einen in einem recht bequemen C++-Dialekt programmieren lässt. Nötig ist die Nutzung davon aber natürlich nicht. Theoretisch sollte man dort alles, was der GCC für ARM-Targets bauen kann, auch zum Laufen bekommen. Das ganze ist auch außerhalb des Datenblatts recht brauchbar dokumentiert. Kostet 40 €.

Gibt jetzt anscheinend auch eine etwas teurere Variante mit 1 MiB onboard SRAM. Dafür wurde halt die Kompatibilität mit dem Arduino-Layout aufgegeben. Sieht ebenso interessant aus, dürfte aber noch schwer verfügbar sein. Das normale Maple bekommt man halt an jeder Ecke.

Ansonsten gibts eben noch Beagle- und Pandaboard, die aber in einer völlig anderen Liga spielen.

http://leaflabs.com/devices/maple/

In Deutschland kaufen kann man die Maples z.B. bei Watterott, die btw auch gerade PandaBoards auf Lager haben.
C/C++ Forum :: Assembler ::  asm stirbt aus   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.