Forum: Offtopic Assembler wieder auf dem Weg nach vorn


von Moby A. (moby-project) Benutzerseite


Lesenswert?

Daß Asm noch längst nicht zum alten Eisen gehört zeigt die aktuelle 
Entwicklung im TIOBE-Programmierindex:

"Assembler wieder auf dem Sprung nach vorn
Ein Blick auf die Plätze 10 bis 20 zeigt vor allem einen großen 
Aufwärtstrend der Assemblersprache. Nachdem sie Im November 2014 auf 
Platz 29 lag, erreicht sie im aktuellen Index Position 11. Das Rating 
von 1,88 Prozentpunkten bedeutet eine Verdreifachung innerhalb des 
letzten Jahres. Eine mögliche Begründung liegt im wachsenden Bedarf an 
Internet-of-Things-Anwendungen, bei denen Assembler für hardwarenahe 
Prozesse eingesetzt wird"

Quelle:
http://www.heise.de/newsticker/meldung/Programmiersprachen-Top-10-Java-und-Ruby-weiter-im-Aufwind-2911620.html

: Gesperrt durch Moderator
von Simpel (Gast)


Lesenswert?

Ich stell mir grad Win10 als Assembler-Listing vor... Das erlaubt 
hardwarenahes Optimizing. :)

von holger (Gast)


Lesenswert?

>Eine mögliche Begründung liegt im wachsenden Bedarf an
>Internet-of-Things-Anwendungen, bei denen Assembler für hardwarenahe
>Prozesse eingesetzt wird"

Buhaha. Sehr weit hergeholt der Schwachsinn.
Trau keiner Statistik die du nicht selber gefälscht hast;)

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Eine mögliche Begründung liegt im wachsenden Bedarf an
>>Internet-of-Things-Anwendungen, bei denen Assembler für hardwarenahe
>>Prozesse eingesetzt wird"
>
> Buhaha. Sehr weit hergeholt der Schwachsinn.

Würde ich nicht gerade sagen. Ich denke, da könnte was drann sein.

> Trau keiner Statistik die du nicht selber gefälscht hast;)

Wenn letztes Jahr von 100 Programmierern gerade 1 in Assembler 
programmiert hat und heuer sind es 2, dann ist das auch ein Zuwachs von 
100%. Ist immer noch unter ferner liefen und völlig uninteressant.

von Mario M. (Gast)


Lesenswert?

holger schrieb:
> Trau keiner Statistik die du nicht selber gefälscht hast;)

Wollte ich auch gerade schreiben. Zumal der Index auf Statistiken von 
Suchmaschinen beruht. Also wenn jemand Leiterplatten bestücken lassen 
will und einen Assembler sucht, gehen bei der Programmiersprache die 
Prozente hoch. IoT in Assembler, ich lach mich scheckig.

von Chefkoch (Gast)


Lesenswert?

Uuuuuuund mit den blauen Shorts in der Linnnnnnken Eeeeckääääääää das 
Team das seine Leiterplatten mit Aufrubbelbahnen zeichnet und auf den 
Kopierer legt.
Uuuuuuuuund mit den roten Shorts in der rääääächten Eeeeckäääää, jener 
berüchtigte Boxstall der nicht von verkauften Produkten sondern vom 
ewigen Run auf das letzte Update lebt.

Um es mit Werner Wernersens Worten zu sagen: "Ich sach das wird lustig."

von Alexander S. (alesi)


Lesenswert?

Moby A. schrieb:
> Daß Asm noch längst nicht zum alten Eisen gehört zeigt die aktuelle
> Entwicklung im TIOBE-Programmierindex:

... und wer passend dazu eine neue Episode von "Assembler vs. C/C++"
verfolgen will, wird in diesen Kommentaren dazu fündig:

  http://www.heise.de/forum/heise-Developer/News-Kommentare/Programmiersprachen-Top-10-Java-und-Ruby-weiter-im-Aufwind/Assembler/posting-23896967/show/

von Thomas E. (thomase)


Lesenswert?

Moby A. schrieb:
> Assembler wieder auf dem Sprung nach vorn

Bemerkenswert. Noch bemerkenswerter ist allerdings:

http://kurier.at/sport/fussball/oesterreich-erstmals-in-top-ten-der-fifa-weltrangliste/162.310.129

mfg.

von Johannes O. (jojo_2)


Lesenswert?

Karl H. schrieb:
> Würde ich nicht gerade sagen. Ich denke, da könnte was drann sein.

Mario M. schrieb:
> IoT in Assembler, ich lach mich scheckig.


Einmal um die Ecke denken bitte ;-) Nachdem es nun so viele IoT Geräte 
gibt, gibts auch wieder Leute, die versuchen, diese Geräte zu "hacken" 
oder reverse engineering betreiben. Kurz gesagt: Der Code wird 
ausgelesen und durch den Disassembler gejagt. Und dann wird Assembler 
plötzlich doch wieder ganz interessant!

von c-hater (Gast)


Lesenswert?

Moby A. schrieb:

> Daß Asm noch längst nicht zum alten Eisen gehört zeigt die aktuelle
> Entwicklung im TIOBE-Programmierindex:

Naja, eigentlich zeigt es nur, dass IoT praktisch nix kosten darf, um es 
(wie von den Apologeten dieser schönen neuen Welt 
erwartet/herbeigebetet) hinreichend häufig verkaufen zu können.

Wenn es klappen würde (und auch nur dann), führt es dazu, dass es sich 
möglicherweise rechnet, wirkliche Programmierer einzukaufen und deren 
Leistung durch billigere Hardware über die Stückzahl mehr als 
kompensieren zu können.

Ich persönlich glaube allerdings nicht, dass diese Rechnung am Ende 
aufgehen wird. Sosehr es für mich persönlich auch wünschenswert wäre...

Tatsächlich dürfte der TIOBE-Hype einfach darauf zurückzuführen sein, 
dass die heutigen Bosse einfach mehrheitlich erstmal rausfinden müssen, 
was so ein kompetenter Entwickler eigentlich im Einkauf kostet, denn die 
haben i.d.R. überhaupt keine eigene Erfahrung mehr mit solchem Personal. 
Die Frage haben sie ihren fast genauso inkompetenten IT-Subalternen der 
höchsten Ebene aufgetragen und die haben gegoogelt und/oder Fake-Jobs 
inseriert (Bei größeren Firmen waren natürlich noch ein paar 
Hierarchiebenen mehr involviert, bis wenigstens der erste halbwegs 
Google-Kompetente erreicht war, der diesen Plan hätte entwickeln 
können...).

Wie auch immer: Letztlich ist das Ergebnis dieser verteilten 
Kosten-Recherche ist im TIOBE-Index aufgezeichnet. Nicht mehr...

von Yalu X. (yalu) (Moderator)


Lesenswert?

Der Tiobe-Index ist – wie alle anderen ähnlichen Rankings – immer mit
etwas Vorsicht zu genießen.

Einmal abgesehen davon, dass die Ergebnisse natürlich ganz stark von der
Art der Datenerhebung abhängen, gibt es noch einen anderen Effekt:

Der Bewertungsalgorithmus wird von Tiobe immer wieder mal geändert mit
dem Ziel, repräsentativere Ergebnisse zu liefern. Jetzt ist es aber so,
dass durch so eine Änderung erst einmal alle Zahlen von einem Monat zum
nächsten einen Spung nach oben oder unten machen würden, was in den
Diagrammen ziemlich komisch aussähe. Vor allem bei den Spitzenreitern
(Java und C) würde dies besonders auffallen.

Deswegen werden mit ein Korrekturfaktoren die Bewertungen so hingebogen,
dass der Verlauf wenigstens für diese Spitzenreiter (am besten auch noch
für die Platze 3 bis 5) halbwegs stetig fortgesetzt wird. Durch diese
Korrekturen werden aber die nachfolgenden Plätze nicht berücksichtigt,
ganz im Gegenteil: Es kann sogar passieren, dass deren Sprünge verstärkt
werden.

Bei Assembler betrug im Juli 2015 der Anstieg gegenüber dem Vormonat
mehr als Faktor 2 (von 0,754% nach 1,535%)! Mir ist kein Ereignis vom
Juni bekannt (bspw. die Markteinführung eines neuen Uber-Smartphones,
dass nur noch in Assembler programmiert werden kann ;-)), das einen
solch plötzlichen Anstieg erklären würde.

Ganz abgesehen davon, glaube ich nicht, dass sich der schnelle Anstieg
von Assembler durch das IoT erklären lässt. Zum einen ist IoT derzeit
ein eher noch langsamer Trend. Zum anderen werden IoT-Geräte wohl kaum
in Assembler programmiert. Software für die Kommunikation über das
Internet ist normalerweise zu komplex und einem zu schnellen Wandel
unterworfen, als Assembler dafür reale Vorteile bringen würde. Selbst
Router, die ja im Wesentlichen nur Daten hin- und herschaufeln und wenig
Intelligenz haben, sind in C programmiert.

Johannes O. schrieb:
> Nachdem es nun so viele IoT Geräte gibt, gibts auch wieder Leute, die
> versuchen, diese Geräte zu "hacken" oder reverse engineering
> betreiben.

Das könnte vielleicht eine Erklärung sein. Aber wieviele solcher Hacker
wird es wohl geben?

Ich würde mal abwarten, ob der Trend anhält, oder ob er sich in 2 bis 3
Monaten vielleicht wieder in Luft aufgelöst hat :)

von Chefkoch (Gast)


Lesenswert?

Was machen Bytes am liebsten?
Bus fahren... BUUHAHAHAHA

von P. M. (o-o)


Lesenswert?

Ein IoT-Gerät braucht ganz sicher kein Assembler. Wer einen kompletten 
Wifi- und TCP-Stack an Bord hat, der kann locker etwas C-Code 
verkraften. Zumal heute nur noch die allerallerkleinsten Controller - 
wenn überhaupt -  mit C schlechter klarkommen, als mit Assembler.

Bezeichnenderweise stammt der Thread ja von Moby, der überall seine 
Assembler-Religion predigen muss ;-)

von Clemens L. (c_l)


Lesenswert?

Yalu X. schrieb:
> Bei Assembler betrug im Juli 2015 der Anstieg gegenüber dem Vormonat
> mehr als Faktor 2 (von 0,754% nach 1,535%)! Mir ist kein Ereignis vom
> Juni bekannt (bspw. die Markteinführung eines neuen Uber-Smartphones,
> dass nur noch in Assembler programmiert werden kann ;-)), das einen
> solch plötzlichen Anstieg erklären würde.

Es könnte ein neues Buch mit dem Titel "___ Assember Programming" 
erschienen sein. Oder ein vielzitierter Artikel "Why Assember 
Programming Is Dead".

von K. L. (trollen) Benutzerseite


Lesenswert?

Yalu X. schrieb:
> Der Tiobe-Index ist – wie alle anderen ähnlichen Rankings – immer mit
> etwas Vorsicht zu genießen.

Wenn man es Böse sagen will: Die Programmiersprachen mit den höchsten 
Rankings haben die dümmsten Nutzer :)

Begründung: Nur dumme Programmierer müssen jeden Mist in einer 
Suchmaschine suchen. Gute Programmierer müssen normal nicht in 
Suchmaschinen nach Hilfe zur ihrer Sprache suchen. Sie können die 
Sprache bereits sehr gut oder wissen wo eine Doku ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mario M. schrieb:
> IoT in Assembler, ich lach mich scheckig.

Wart's ab, bald stellt Moby hier unter Projekte&Code seinen IPv6-Stack
auf dem ATtiny13 vor. :-)

von Matthias X. (current_user)


Lesenswert?

Clemens L. schrieb:
> Oder ein vielzitierter Artikel "Why Assember
> Programming Is Dead".

Wenn dann "Why Assember Programming Is 0xDEAD":

von Carl D. (jcw2)


Lesenswert?

Ermittelt aus Anzahl der Suchanfragen, in denen "Assembler" vorkommt. 
Abgesehen davon, daß völlig unbedeutende Sprachen, die nur aus 
Kryptischen Sonderzeichen bestehen, die Plätze 1..4 belegen, was sagt 
das aus?
Eigentlich sucht man doch nur, wenn man nicht weiter kommt. Und da nicht 
mal 2% aller Ratlosen ASM programmieren, kann man sich vorstellen wie 
viel einfacher das sein muß, als in allen anderen Sprachen. Ich gehöre 
zu denen der Plätze 1..4 und verbringe folglich einen signifikanten Teil 
meiner Zeit damit, die Bedeutung von "{" und "}" zu ergründen.
Ich für mich werde nach dieser Mitteilung auf alle nicht-ASM-Sprachen 
verzichten. In wenigen Jahren werden sie eh ausgestorben sein.
(nicht immer alles so ernst nehmen ;-)

von P. M. (o-o)


Lesenswert?

Eine Statistik, die aus Suchanfragen auf die Anzahl Nutzer schliesst, 
ist sowieso unsinnig. Bei einfachen, klaren Sprachen wie C wird man 
nicht viel googeln müssen. Bei C++ oder Assembler sehe ich schon viel 
mehr Google-Bedarf. Da gibt es einfach mehr, was man nicht sofort weiss.

Dann kommt hinzu: Je geübter und professioneller die Programmierer 
werden, desto weniger Suchanfragen werden sie absenden. Die richtigen 
Profis fallen also aus der Statistik raus, während Hobbyisten, 
Einsteiger, Gelegenheitsprogrammierer und Studenten stark überbewertet 
sind.

von Heinz L. (ducttape)


Lesenswert?

Assembler hat wie viele Sprachen seine Existenzberechtigung 
hauptsächlich noch in sehr speziellen Fällen. Oder, wie ein Ex-Chef von 
mir mal im Frust abgelassen hat "Es gibt genau 3 Gründe Assembler zu 
können, 2 davon sind illegal und den dritten tust Dir an wennst dafür 
viel Geld kriegst".

So weit daneben ist das nicht.

Es gab mal eine Auswertung darüber dass Programmierer unabhängig von der 
verwendeten Sprache (immer vorausgesetzt sie können sie, natürlich) 
immer gleich viel Code produzieren. Und zwar gemessen in Programmzeilen. 
Sprich, der gleiche Programmierer produziert pro Stunde gleich viel Code 
in C wie in ASM. Und das ist schon heftig, wenn man sich überlegt 
wieviel ASM Code zu griffeln ist für 'nen Funktionsaufruf alleine.

Gepaart damit, dass (von Atmel Studio mal abgesehen...) Compiler heute 
wirklich gut darin sind zu optimieren, gibt's weniger und weniger Gründe 
in den Tiefen der Prozessorlogik umzugraben.

Warum also grad beim IoT-Hype jetzt ASM wieder zu Ehren kommen soll kann 
ich nicht nachvollziehen. Effizienz ist da nicht unbedingt ein Thema. 
Präzision auch nicht. Schnell das Gerümpel auf den Markt schmeissen 
können ist. Und "schnell" ist nicht unbedingt das Zauberwort im Bereich 
der Entwicklung mit Assembler. Also, die Programme werden's schon, nur 
die Entwicklung ist es halt nicht!

Die Dinger dann sicherheitstechnisch zerlegen und in der Luft 
zerreissen, dafür dient Assembler durchaus. Für die Entwicklung jedoch 
eher nicht.

von Witkatz :. (wit)


Lesenswert?

P. M. schrieb:
> Moby, der überall seine
> Assembler-Religion predigen muss ;-)

https://youtu.be/iHFm-kVTXW8?t=772
Dave said, he's a dickhead...
Köstlich auf den Punkt gebracht :-)

von Clemens L. (c_l)


Lesenswert?

Heinz L. schrieb:
> Warum also grad beim IoT-Hype jetzt ASM wieder zu Ehren kommen soll kann
> ich nicht nachvollziehen.

Aus PR-Sicht ist ein bisschen "IoT!"-Getrolle immer noch besser, als 
zuzugeben, dass sie keine Ahnung haben, wo die Zahlen wirklich her 
kommen und was sie bedeuten.

von P. M. (o-o)


Lesenswert?

Heinz L. schrieb:
> Effizienz ist da nicht unbedingt ein Thema.

Effizienz in der Endanwendung ist bei IoT-Sachen doch sowieso wurscht. 
Der Löwenanteil an Chipfläche/Entwicklungskosten/Energieverbrauch geht 
für den ganzen Wifi- und TCP-Stack drauf, die popelige Applikation dazu 
ist, selbst wenn haarsträubend ineffizient programmiert, ein Klacks 
dagegen.

von (prx) A. K. (prx)


Lesenswert?

P. M. schrieb:
> die popelige Applikation dazu
> ist, selbst wenn haarsträubend ineffizient programmiert, ein Klacks
> dagegen.

Du hast die ganzen Hintertürchen vergessen, die jeder Dienst auf dem Weg 
zwischen Produzent und Kunde eingebaut sehen will.

von Sheeva P. (sheevaplug)


Lesenswert?

P. M. schrieb:
> Ein IoT-Gerät braucht ganz sicher kein Assembler. Wer einen kompletten
> Wifi- und TCP-Stack an Bord hat, der kann locker etwas C-Code
> verkraften. Zumal heute nur noch die allerallerkleinsten Controller -
> wenn überhaupt -  mit C schlechter klarkommen, als mit Assembler.
>
> Bezeichnenderweise stammt der Thread ja von Moby, der überall seine
> Assembler-Religion predigen muss ;-)

Letzteres mal außen vor gelassen, fürchte ich, daß hier vielfach und 
auch von Dir ein Aspekt vernachlässigt wird.

Klar: wer einen TCP-Stack mit IP, ARP und Bitschicht für Ethernet, WLAN 
und UPNP im Assembler implementieren will, kann nicht ganz dicht sein. 
Aber das ist ja nur das "Frontend" von IoT-Geräten.

Das "Backend" von IoT-Geräten sind doch meistens Sensoren und Aktoren. 
Bei deren Ansteuerung spielen Timing und Codegröße oft eine kritische 
Rolle so daß Assembler dabei eine valide Option ist.

Auch alle mir bekannten Bootloader, Betriebssystem- und USB-Kernel 
nutzen Assembler für bestimmte Aufgaben...

Klar, das sind alles Nischenbereiche. Und beinahe überall ergibt sich 
ein ähnliches Bild: einige wenige besondere Teile des Code sind in 
Assembler, der Glue-Code aber in C geschrieben. Für andere Projekte 
dient Python als Glue für C-Code, der wiederum Assemblercode aufruft. Da 
geht es immer nur um die Ökonomie von Entwicklungs- und Laufzeit!

Warum auch nicht? Der Spaß ist doch, viele Technologien zu beherrschen, 
ihre Stärken zu kennen und zu einem perfekten Ergebnis zu kombinieren.

;-)

von Uhu U. (uhu)


Lesenswert?

Sheeva P. schrieb:
> Der Spaß ist doch, viele Technologien zu beherrschen,
> ihre Stärken zu kennen und zu einem perfekten Ergebnis zu kombinieren.

Was hat Industrie mit Spaß zu tun?

Windows 9x enthielt noch ASM-Module, die NT-Linie nicht mehr und ich 
vermute, dass es sich bei anderen modernen Systemen nicht anders 
verhält.

Das Problem ist nämlich die Austauschbarkeit der Entwickler und der 
steht ASM ziemlich im Wege, weil es kaum noch wirklich ASM-Könner auf 
dem Arbeitsmarkt gibt und die Industrie sich natürlich nicht in 
personelle Abhängigkeiten bei Arbeitsbimbos begeben will.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

> "Eine mögliche Begründung liegt im wachsenden Bedarf an
> Internet-of-Things-Anwendungen, bei denen Assembler für hardwarenahe
> Prozesse eingesetzt wird"

Darauf hätte ich nun auch getippt. So lässt sich auch noch der 
allerbilligste 8-Bit Controller mit wenig Speicher einsetzen und ich 
glaube, zu diesem Puzzle gehört ebenso die weite Verbreitung der 8051er.
Sensordaten auslesen, verarbeiten, weiterleiten und Aktordaten 
entgegennehmen ist auch nicht sonderlich anspruchsvoll- typisch eben für 
abgesetzte IOT Knoten. Die große Auswertung erfolgt dann vielleicht auf 
potenteren Systemen- oder auch nicht, wenn man (via Asm) etwas mehr aus 
8-Bittern herauszuholen weiß ;-)

von P. M. (o-o)


Lesenswert?

Moby A. schrieb:
> Darauf hätte ich nun auch getippt. So lässt sich auch noch der
> allerbilligste 8-Bit Controller mit wenig Speicher einsetzen

Damit sich solche Verrenkungen lohnen, müssen allerdings Stückzahlen 
her, wo eher in Richtung ASIC gearbeitet wird. Ich sehe nur ein sehr 
schmales Band, wo sich Assembler lohnen kann. Und zwar ein 
schrumpfendes. Wenn die Hardware-Stückkosten sinken, dann kann man damit 
immer geringere Software-Einmalkosten amortisieren. Sprich, es lohnt 
sich immer weniger, das letzte aus dem Controller zu kitzeln.

von Uhu U. (uhu)


Lesenswert?

P. M. schrieb:
> Sprich, es lohnt
> sich immer weniger, das letzte aus dem Controller zu kitzeln.

Wobei wirklich gut optimierende Compiler weit besser kitzeln können, als 
Programmierer und das vor allem auch noch viel schneller.

: Bearbeitet durch User
von Heinz L. (ducttape)


Lesenswert?

Uhu U. schrieb:
> P. M. schrieb:
>> Sprich, es lohnt
>> sich immer weniger, das letzte aus dem Controller zu kitzeln.
>
> Wobei wirklich gut optimierende Compiler weit besser kitzeln können, als
> Programmierer und das vor allem auch noch viel schneller.

Also, ich hab jetzt Atmel Studio 7 in dieser Hinsicht noch nicht 
getestet, aber bis zum 6er hat der Compiler wirklich besch...eiden 
optimiert. Da war der Compiler sowohl was Ausführungsgeschwindigkeit als 
auch Codegröße und Datenmenge angeht gut um Faktor 5 bis 10 schlechter 
als ich mit ASM.

von Uhu U. (uhu)


Lesenswert?

Heinz L. schrieb:
> Atmel Studio 7

Hat das denn einen "wirklich gut optimierenden Compiler"? Wohl eher 
nicht und für Bastelei reicht das ja auch. Außerdem kostet er ja den 
Anwender auch nichts - im Gegensatz zu professionellen 
Entwicklungsumgebungen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Heinz L. schrieb:
> gut um Faktor 5 bis 10 schlechter als ich mit ASM.

Für ein 10-Zeilen-Projekt, oder für eins, was auch mal einige 10 KiB
an Code benutzt hat?

von Gu. F. (mitleser)


Lesenswert?

Jörg W. schrieb:
> Für ein 10-Zeilen-Projekt, oder für eins, was auch mal einige 10 KiB
> an Code benutzt hat?

Oh oh ... das wird nicht wieder von vorne los gehen ;-)

von Peter D. (peda)


Lesenswert?

Moby A. schrieb:
> zu diesem Puzzle gehört ebenso die weite Verbreitung der 8051er.

Ich würde eher sagen, der 8051 war der Startschuß schlechthin, auch bei 
MCs auf breiter Linie auf den C-Zug aufzuspringen.
Der Herr Keil hat mit seinem Compiler C51 wirklich gute Arbeit geleistet 
und mich voll überzeugt.
Ich hatte mal ein Programm in Assembler angefangen und bei ~8kB 
Codegröße vollständig den Überblick verloren. Nach dem Umstieg auf C 
konnte ich es dann erfolgreich zu Ende schreiben und auch noch viele 
Jahre supporten, d.h. weitere Funktionen hinzufügen.

von Icke ®. (49636b65)


Lesenswert?

Peter D. schrieb:
> Ich hatte mal ein Programm in Assembler angefangen und bei ~8kB
> Codegröße vollständig den Überblick verloren.

Quellcode oder Hex?

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Ich hatte mal ein Programm in Assembler angefangen und bei ~8kB
> Codegröße vollständig den Überblick verloren.

Das kann ja viele Gründe haben.
Tatsächlich aber verhelfen die vielen Freiheiten des Asm-Programmierens 
nicht nur zu effizientem, hochdichten Code ,sondern verleiten zuweilen 
auch mit diesem und jenen Trick (z.B. bei Vielfachnutzung derselben 
Ressourcen) zu einem unübersichtlichen Programm. Da gilt es dann, sich 
in Disziplin zu üben und bei größeren Projekten konsequent funktionell 
abgeschottet zu strukturieren- mit möglichst wenig gegenseitigen 
Abhängigkeiten und Nebenwirkungen.
Dem Trugschluß während des Programmierens, man hätte die gleiche 
glasklare Übersicht über das allzu turbulente, tricky Geschehen noch 
Wochen später gilt es hier zu widerstehen. Dazu gehört auch die genaue 
Doku aller Funktions-Interfaces.

Wo Schatten ist, da ist immer auch Licht.
Der Schatten, zeitaufwendiger mit mehr Einsatz zu programmieren 
relativiert sich eben im Licht bester Ressourcennutzung. Gelungene, 
tricky Asm-Codes für den Controller eine Nummer kleiner sind wahre 
Edelsteine- normaler C-Blähcode hingegen ist der dröge Alltag ;-)

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Moby A. schrieb:
> Tatsächlich aber verhelfen die vielen Freiheiten des Asm-Programmierens

Nein, die Freiheiten sind das größte Hemmnis an Assembler.
Man braucht Regeln, um effizient programmieren zu können.
Z.B. werden beim C51 bis zu 3 Argumente in Registern übergeben, statt im 
SRAM. Auch die Overlaytechnik des C51 kann man in Assembler nicht 
verwenden, da man nach jeder Änderung einen neuen Calling-Tree erstellen 
müßte. Der Calling-Tree funktioniert selbst über Funktionspointer 
hinweg. Auch Register-Renaming ist zu Fuß nur schwer zu beherrschen. All 
das bewirkte, daß die C-Programme schneller und kleiner waren, da sie 
nicht die bei Assembler nötigen Push/Pop-Orgien brauchten.

Ich hab mir zu Anfang viel das Assemblerlisting angeschaut, wie der 
Compiler so tickt. Die Compilerbauer sind nämlich keine Idioten und weit 
über dem Niveau eines mittel erfahrenen Assemblerhackers hinaus.
Ich hab auch die Libs für Multiplikation und Division disassembliert. 
Hut ab, das hätte ich im Leben nicht so effizient hingekriegt.

Es gibt natürlich Codestellen, die man in Assembler noch optimieren 
könnte. Im Schnitt sind daher C-Programme etwa 10..50% größer, als wenn 
man alles als absoluter Assemblerexperte in wahnsinnig viel Zeit zu Fuß 
selber schreibt.

P.S.:
Die 8kB waren die reine Binärgröße und ich hatte das Projekt 6 Monate 
pausieren lassen müssen. Da war der Sprung zu C quasi evident.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Peter D. schrieb:
> Die 8kB waren die reine Binärgröße und ich hatte das Projekt 6 Monate
> pausieren lassen müssen. Da war der Sprung zu C quasi evident.

Das schönste Beispiel für sowas auf dem 8051 war Intel Basic, das mit 8k 
den 8052 gerade füllte - in purem, trickigen Assembler. Wenn sich nicht 
ein paar Leute die Mühe gemacht hätten, das ganze auseinander zu dröseln 
und zu ordnen, hätte man überhaupt keine Chance, zu kapieren, was da vor 
sich geht.

Ich würde also tatsächlich die Grenze irgendwo bei 4k-5k Assembler, wenn 
er so überschaubar wie MCS51 ist, ziehen und alles jenseits davon wart- 
und portierbar als C schreiben. Gerade portieren auf eine andere 
Architektur ist ja der Witz bei C.

von Carl D. (jcw2)


Lesenswert?

Moby A. schrieb:
> Tatsächlich aber verhelfen die vielen Freiheiten des Asm Programmierens
> nicht nur zu effizientem, hochdichten Code ,sondern verleiten zuweilen
> auch mit diesem und jenen Trick (z.B. bei Vielfachnutzung derselben
> Ressourcen) zu einem unübersichtlichen Programm. Da gilt es dann, sich
> in Disziplin zu üben und bei größeren Projekten konsequent funktionell
> abgeschottet zu strukturieren- mit möglichst wenig gegenseitigen
> Abhängigkeiten und Nebenwirkungen.
> Dem Trugschluß während des Programmierens, man hätte die gleiche
> glasklare Übersicht über das allzu turbulente, tricky Geschehen noch
> Wochen später gilt es hier zu widerstehen. Dazu gehört auch die genaue
> Doku aller Funktions-Interfaces.

Genau! Siehe Beitrag "Kleines Tiny13 Sensorboard"

Selten so gelacht!

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Z.B. werden beim C51 bis zu 3 Argumente in Registern übergeben,
> Auch die Overlaytechnik des C51 kann man in Assembler nicht
> verwenden,
> Auch Register-Renaming ist zu Fuß nur schwer zu beherrschen.

Klar. Das ist auch der Grund warum komplexere Controller immer 
schlechter in Asm programmierbar werden. Nicht so bei vielen 8-Bittern, 
die fürs IOT und sehr oft MSR locker reichen.

Peter D. schrieb:
> Die Compilerbauer sind nämlich keine Idioten und weit
> über dem Niveau eines mittel erfahrenen Assemblerhackers hinaus.

Das wird auch keiner bestreiten. Nur daß das Knowhow in die Entwicklung 
eines pauschal für alle Anwendungsfälle möglichst guten Codes fließen 
muß- der Asm-Entwickler steckt es hingegen in seine konkrete App mit all 
ihren individuellen Bedürfnissen, die nur er am besten kennt.

Moby A. schrieb:
> Daß Asm noch längst nicht zum alten Eisen gehört zeigt die aktuelle
> Entwicklung im TIOBE-Programmierindex:

... erhält die Bewertung von -10.
Köstlich. So ist das eben wenn Fakten nicht ins Weltbild passen ;-)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Genau! Siehe Beitrag "Kleines Tiny13 Sensorboard"
>
> Selten so gelacht!

... und am wenigsten davon begriffen, trotz MickyMouse-Größenordnung.
Deine Kommentare dort sprechen ja auch für sich ;-)

von Carl D. (jcw2)


Lesenswert?

Moby A. schrieb:
> Carl D. schrieb:
>> Genau! Siehe Beitrag "Kleines Tiny13 Sensorboard"
>>
>> Selten so gelacht!
>
> ... und am wenigsten davon begriffen, trotz MickyMouse-Größenordnung.
> Deine Kommentare dort sprechen ja auch für sich ;-)

Für alle dies nicht lesen wollen/können zusammengefaßt: Trickreicher 
ASM-Code, der 80% der HW-Resourcen ungenutzt läßt, ohne sinnvolle 
Beschreibung der Tricks, die ihr Erfinder auch auf Nachfrage kaum 
erklären kann. Soviel zu "ohne Tricks und mit guter Doku".

Aber manchem ist eh nicht zu helfen.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Trickreicher
> ASM-Code,

... na so sonderlich trickreich war der noch gar nicht.
Aber immerhin so ressourcensparend daß dies bislang keiner in C 
nachbauen konnte.

> der 80% der HW-Resourcen ungenutzt läßt,

... die für Erweiterungen offenstehen. Für den C-ler wie Dich ist 
natürlich hoher Ressourcenverbrauch das Ideal ;-)

> ohne sinnvolle
> Beschreibung der Tricks, die ihr Erfinder auch auf Nachfrage kaum
> erklären kann.

Wo kein Trick da auch keine Erklärung.
Wo keine Anfrage da keine Antwort.

> Aber manchem ist eh nicht zu helfen.

Seh ich in Deinem Fall auch so.
Jedenfalls nicht mit Asm KnowHow ;-)

: Bearbeitet durch User
von Carl D. (jcw2)


Lesenswert?

> ... die für Erweiterungen offenstehen. Für den C-ler wie Dich ist
natürlich hoher Ressourcenverbrauch das Ideal ;-)

Ideal ist es, alles was man bezahlt hat zu nutzen.
Ja, du hast mich ertappt, bis vor einer Stunde haben ich noch eine Kiste 
Programmiert, die mehrere Terrabyte RAM hat. Aber nicht in C.
Ich würde auch keinen Tiny13 nehmen sondern eher 45/85. Die kosten 
wenige Cent mehr, wenn überhaupt, da paßt aber ein 1-Wire-Client rein, 
so daß ich mir keine Sorgen um die Gegenseite machen muß, ich keinem 
erklären muß, wie die Bit's flitzen und vor allen keine gelegentlichen 
Übertragungsfehlers bei nur 300Baud, siehe verlinkten Board, entstehen, 
die ich Dank 2Bit-CRC nicht erkennen kann.

Übrigens: viel schlimmer, ich benutze für AVR's C++. Satanisch, oder?
Und warum? Weil ich's kann!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Nicht so bei vielen 8-Bittern, die fürs IOT und sehr oft MSR locker
> reichen.

Reichen sie, aber du weißt auch, wofür das „I“ in „IoT“ steht, ja?

Wir sind gespannt auf deinen ersten IPv6-Stack. :)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Ideal ist es, alles was man bezahlt hat zu nutzen.

Oder ist es nicht besser, sich vorausschauend Ressourcen offenzuhalten?

> Ja, du hast mich ertappt, bis vor einer Stunde haben ich noch eine Kiste
> Programmiert, die mehrere Terrabyte RAM hat.

Solche Leute haben meist wenig Verständnis fürs Kleine & Feine ;-)

> Ich würde auch keinen Tiny13 nehmen sondern eher 45/85.

Dann mach das! Für eigene Projekte! Wo sind die?

> vor allen keine gelegentlichen
> Übertragungsfehlers bei nur 300Baud, siehe verlinkten Board, entstehen,
> die ich Dank 2Bit-CRC nicht erkennen kann

Fehler sind schon aufgrund des Übertragungsverfahrens kaum möglich.
Den Rest der Wahrscheinlichkeit erschlägt in der Praxis die kleine 
Checksumme.

> Übrigens: viel schlimmer, ich benutze für AVR's C++. Satanisch, oder?
> Und warum? Weil ich's kann!

Ich nehme Asm und spare an allen Fronten.
Und warum? Weil ich's kann ;-)

von Thomas S. (thommi)


Lesenswert?

ASM ohne Mnemonics ist fast tödlich. Habe es vor 32 Jahren mal gelernt, 
das war unter Newdos 80.

Hatte dann auch schon ein "Evaluierungsboard" mit einem Z80.

Hatte damals auch einen TI99/4A mit X-Basic, und das war für mich die 
bevorzugte Programmiersprache.

In der #Schule habe ich das LNW-Basic dem EDTASM ebenfalls vorgezogen, 
wobei ich ASM nicht grundsätzlich ablehne.

Als BASICer habe ich Bascom, die Vollversion, da kann man auch ASM 
teilweise implementieren, was ich gut finde.

Ein komplettes ASM-Programm zu schreiben, entzieht sich meines könnens, 
wäre dann so, wie einen Lochstreifen von Hand zu lochen, und die 
Lochfehler dann jedesmal auf fünf Löcher auszustanzen, was dann 
"Ignorieren" bedeutet.

Zeitkritische Aktionen sind mit ASM schon noch gerechtfertigt.

Aber der ASM-Dialekt, den ich lernte, eben für den Z80, der gilt nicht 
mehr für den AVR, ganz anderer Dialekt.

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Wir sind gespannt auf deinen ersten IPv6-Stack. :)

Sorry. Der steckt schon in einem gekauften XportPro.
Das schmälert den Nutzen des Traumgespanns ASM/AVR aber in keiner Weise 
;-)

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Jörg W. schrieb:
> Wir sind gespannt auf deinen ersten IPv6-Stack. :)

Angesichts der viele 32-Bit Daten darin wär schon IPv4 eine ernste 
Herausforderung. ;-)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Thomas S. schrieb:
> Aber der ASM-Dialekt, den ich lernte, eben für den Z80, der gilt nicht
> mehr für den AVR, ganz anderer Dialekt.

Stimmt. Ist deshalb jetzt aber auch nicht schwieriger.
Im Vergleich zum Z80 ist der AVR mit allem Drum und Dran die wahre 
Freude.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

A. K. schrieb:
> Angesichts der viele 32-Bit Daten darin wär schon IPv4 eine ernste
> Herausforderung. ;-)

Warum muß man auch einen 8-Bitter damit behelligen?
Das wird als gekauftes Modul angeflanscht und gut ist.

von Carl D. (jcw2)


Lesenswert?

> Ich nehme Asm und spare an allen Fronten. Und warum? Weil ich's kann ;-)

Und wer war nochmal der TO dieses Missions-Threads?

>> Ja, du hast mich ertappt, bis vor einer Stunde haben ich noch eine
>> Kiste Programmiert, die mehrere Terrabyte RAM hat.

> Solche Leute haben meist wenig Verständnis fürs Kleine & Feine ;-)

Doch, denn die kennen mehr als nur ihre kleine Nußschale.

von Peter D. (peda)


Lesenswert?

Moby A. schrieb:
> Klar. Das ist auch der Grund warum komplexere Controller immer
> schlechter in Asm programmierbar werden.

Was ist denn am 8051 komplex?
Ich fand ihn sehr einfach zu lernen.

Mit Register-Renaming meinte ich, der Compiler würde gerne R7 nehmen, 
stellt aber fest, daß ein Unterfunktionsaufruf R7 zerstören würde und 
entscheidet sich dann für R6 um. Dazu legt der C51 im ersten Paß eine 
Liste der Registerbenutzung je Funktion an und macht optional weitere 
Compilerläufe.
Mache sowas mal in Assembler, da verlierst Du schnell den Überblick.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Und wer war nochmal der TO dieses Missions-Threads?

Ach der Carl fühlt sich durch Fakten missioniert?
Schade, da kann ich Dir nicht helfen.
Einfach nicht lesen könnte für Dich die Lösung sein.
Gewissen Broschüren-Verkäufern auf der Straße geh ich auch immer aus dem 
Weg.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
>> Wir sind gespannt auf deinen ersten IPv6-Stack. :)
>
> Sorry. Der steckt schon in einem gekauften XportPro.
> Das schmälert den Nutzen des Traumgespanns ASM/AVR aber in keiner Weise
> ;-)

Doch: es ist damit eigentlich komplett überflüssig.  Für deine
IoT-Anwendungen greifst du auf ein Linux auf einem 32-Bit-Prozessor
zurück, und dann argumentierst du, dass ein 8-Bitter dafür doch völlig
ausreichend sei und angeblich Assembler durch IoT Aufwind bekäme?

Irgendwas passt da nicht.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Mache sowas mal in Assembler, da verlierst Du schnell den Überblick.

Braucht Moby nicht zu machen. Bei seinen Assembler-Quickies mit 23 
Zeilen (oder so) ist es unmöglich, den Überblick zu verlieren. Das passt 
selbst auf einem VT100 noch auf eine Bildschirmseite.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Mit Register-Renaming meinte ich, der Compiler würde gerne R7 nehmen,
> stellt aber fest, daß ein Unterfunktionsaufruf R7 zerstören würde und
> entscheidet sich dann für R6 um. Dazu legt der C51 im ersten Paß eine
> Liste der Registerbenutzung je Funktion an und macht optional weitere
> Compilerläufe.
> Mache sowas mal in Assembler, da verlierst Du schnell den Überblick.

Nein das tue ich nicht!
Warum?
- Weil genug Register für feste Zuordnungen da sind
- Weil ein vorhandenes System der Registerverwendung (in Interrupts, im 
Hauptprogramm) hier sehr hilfreich ist.

Bislang ging da der Überblick bis hoch zu 10K nie flöten.
In wenigen Fällen ist manchmal ein Push/Pop nötig von dem man das Gefühl 
hat, daß dies in optimierterer Form vielleicht überflüssig wäre. Da muß 
man sich dann aber von einem allzu hohen Perfektionsanspruch freimachen.

von (prx) A. K. (prx)


Lesenswert?

Jörg W. schrieb:
> Irgendwas passt da nicht.

Nicht selten hat man embedded ein Linux laufen, bei dem die schmutzigen 
Dinge in einen 8-Bitter ausgelagert sind. Moby macht das eben umgekehrt. 
Er lagert die aus seiner Sicht schmutzigen Dinge in ein eingekauftes 
32-Bit Linux Subsystem aus, das er dann mit seinem ATtiny anspricht.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Für deine
> IoT-Anwendungen greifst du auf ein Linux auf einem 32-Bit-Prozessor
> zurück,

Warum nicht? Habe da keine ideologischen Schranken zu überwinden.

> dann argumentierst du, dass ein 8-Bitter dafür doch völlig
> ausreichend sei und angeblich Assembler durch IoT Aufwind bekäme?

Fürs Messen,Verarbeiten,Weiterleiten von Sensor/Aktordaten auf ein 
übergeordnetes System allemal. Und selbst das kann noch ein AVR sein mit 
entsprechender angeflanschter Netz-Schnittstelle. Wo ist das Problem?

von Stefan K. (stefan64)


Lesenswert?

Moby A. schrieb:
>> Mache sowas mal in Assembler, da verlierst Du schnell den Überblick.
>
> Nein das tue ich nicht!
> Warum?
> - Weil genug Register für feste Zuordnungen da sind
> - Weil ein vorhandenes System der Registerverwendung (in Interrupts, im
> Hauptprogramm) hier sehr hilfreich ist.

Und genau deshalb ist der Compiler Dir dabei überlegen:
Weil er seine Register und Ressourcen dynamisch verwalten und bei jedem 
Compile-Durchlauf neu optimieren kann.

Die einzige ASM-Anwendung sehe ich heute noch in hochoptimierten 
DSP-Funktionen, wenn der DSP-Core meherere Berechnungen in einem Befehl 
parallel ausführen kann.

Stefan

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Stefan K. schrieb:
> Und genau deshalb ist der Compiler Dir dabei überlegen:
> Weil er seine Register und Ressourcen dynamisch verwalten und bei jedem
> Compile-Durchlauf neu optimieren kann

Ach was. Der Asm-Programmierer macht seine Optimierung (mit System) im 
Kopf. Da ist bis zu Projekten einer gewissen Größenordnung auch gar 
nichts dabei. Damit meine ich noch nicht mal die endgültige Codegröße, 
sondern die Komplexität der enthaltenen Algorithmen bzw. Funktionalität. 
Bei großartigen Berechnungen und Operationen mit großen 
verschiedenartigen Datenmengen ist da um Beispiel eine sinnvolle Grenze 
in Sichtweite.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
>> dann argumentierst du, dass ein 8-Bitter dafür doch völlig
>> ausreichend sei und angeblich Assembler durch IoT Aufwind bekäme?
>
> Fürs Messen,Verarbeiten,Weiterleiten von Sensor/Aktordaten auf ein
> übergeordnetes System allemal.

Das könnte aber der 32-Bitter gleich noch nebenbei erledigen, wenn
man ihn direkt programmiert, statt ihn nur als Zukauf zu benutzen.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Das könnte aber der 32-Bitter gleich noch nebenbei erledigen, wenn
> man ihn direkt programmiert, statt ihn nur als Zukauf zu benutzen.

Das eine System das alles macht?
So verlockend das klingt, so unpraktisch ist es.
Ein Netz einfacher IOT-Devices dort wo sie gebraucht werden, gekoppelt 
mit einer zentralen Internet-Schnittstelle ist die optimale Lösung!
Und genau für diese verteilten Devices sehe ich Asm im Aufwind.

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Bei seinen Assembler-Quickies mit 23
> Zeilen (oder so) ist es unmöglich, den Überblick zu verlieren.

Zählen kannst Du also auch nicht.
Aber Du hast Recht, für den Überblick habe ich meine Codes gut 
strukturiert. Nun müssen für den Lesenden nur noch zwei Dinge 
hinzukommen: Den Code verstehen- und verstehen wollen!

: Bearbeitet durch User
von Ralf G. (ralg)


Lesenswert?

Moby A. schrieb:
> ... erhält die Bewertung von -10.
Mach doch einen Link auf diesen Thread in 'Witz der Woche'. Da gibt's 
sicher richtig Pluspunkte.

von Uhu U. (uhu)


Lesenswert?

Carl D. schrieb:
> Für alle dies nicht lesen wollen/können zusammengefaßt: Trickreicher
> ASM-Code, der 80% der HW-Resourcen ungenutzt läßt, ohne sinnvolle
> Beschreibung der Tricks, die ihr Erfinder auch auf Nachfrage kaum
> erklären kann. Soviel zu "ohne Tricks und mit guter Doku".

Wer weiß, vielleicht ist er ja so clever, dass er einen genetischen 
Algorithmus auf sein Problem angesetzt hat. Da fällt es nicht immer 
leicht, dahinter zu kommen, was der Algorithmus sich so bei der Lösung 
dabei "gedacht" hat ;-)

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Ralf G. schrieb:
> Mach doch einen Link auf diesen Thread in 'Witz der Woche'.

Brauch ich nicht. Mich amüsieren ja gerade die Minuspunkte, für 
Tatsachen wohlgemerkt ;-)

von Carl D. (jcw2)


Lesenswert?

Alle anderen amüsiert Moby's Vorstellung des Begriffes "Tatsachen". Das 
ist selten das von dem man nachts träumt. Aber träum weiter.

von Peter D. (peda)


Lesenswert?

Wenn ich dran denke, welche Klimmzüge ich mit den RAMless AT90S1200, 
ATtiny12/15 gemacht habe, bekommen ich heute noch das kalte Grausen. Ich 
hatte sogar ein Pseudo-Call-Macro geschrieben, um den lächerlich kleinen 
Hardwarestack auszutricksen.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Alle anderen

Du solltest nicht unbedingt immer von Dir auf andere schließen ;-)

von Joachim B. (jar)


Lesenswert?

ist das ein Witz Thread?

ich sollte mal eine EWSD Baugruppe prüfen, was man mir vorlegte zur Info 
waren 1200 Seiten ASM Listing, ich lehnte dankend ab ohne weitere 
Dokumentation, der Dr. der das dann baute baute auch Luftmessungen, der 
Prüfautomat lieferte auch Ergebnisse wenn die BG nicht mal 
angeschhlossen war.

von Carl D. (jcw2)


Lesenswert?

Moby A. schrieb:
> Carl D. schrieb:
>> Alle anderen
>
> Du solltest nicht unbedingt immer von Dir auf andere schließen ;-)

Ach wenn du doch ein besseres Vorbikd wärest ...

von P. M. (o-o)


Lesenswert?

Ach Moby. In deiner gemütlichen kleinen Welt schwachbrüstiger 8-Bitter 
magst du ja teilweise recht haben. In der echten Welt liegen die 
Herausforderungen der Software-Entwicklung aber längst nicht mehr im 
Herauskitzeln einzelner Taktzyklen oder Speicherbytes. Vergleiche nur 
mal die Kosten einer Entwickler-Stunde oder sogar eines erst im Feld 
entdeckten Bugs mit den Kosten für Speicher oder Rechenleistung...

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Wenn ich dran denke, welche Klimmzüge ich mit den RAMless AT90S1200,
> ATtiny12/15

Ja ja, die ersten und ganz kleinen ihrer Art... Da muß ich an die ersten 
PICs denken. Grausam. Assembler zum abgewöhnen war das. Aber zum Glück 
folgten auf dem Fuße schnell die komfortableren AVRs.

Joachim B. schrieb:
> ist das ein Witz Thread?

Nein. Er bezieht sich auf die Meldung im Eröffnungsposting.
Auch Du bist aufgerufen, dem Wiedererstarken von Asm auf den Grund zu 
gehen!

> 1200 Seiten ASM Listing, ich lehnte dankend ab ohne weitere
> Dokumentation,

Genau sooo sollte es ja nun auch nicht sein!

P. M. schrieb:
> In deiner gemütlichen kleinen Welt
> In der echten Welt

Da seh ich keinen Unterschied. Immerhin wird IOT gerade in Haushalten 
bzw. im SmartHome eine große Rolle spielen.

P. M. schrieb:
> Herauskitzeln einzelner Taktzyklen oder Speicherbytes.

Statt dessen werden einfach ein paar MB Controllerspeicher und viele MHz 
draufgesattelt. Schon klar. Gerade läuft der Download >2GB fürs aktuelle 
Windows ;-)

> Kosten einer Entwickler-Stunde oder sogar eines erst im Feld
> entdeckten Bugs mit den Kosten für Speicher oder Rechenleistung...

Womit also erklärst Du Dir die steigende Bedeutung von Asm ?

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Womit also erklärst Du Dir die steigende Bedeutung von Asm ?

Die muss man sich nicht erklären, da es sie nicht gibt.
Hey, das ist "TIOBE".

Da kann man auch die Wettervorhersage heranziehen, die ist mindestens 
genauso fundiert, was die Verbreitung von Programmiersprachen angeht.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Moby A. schrieb:
> Womit also erklärst Du Dir die steigende Bedeutung von Asm ?

Sie ist nicht vorhanden. Du hast ja auch nur so weit den Artikel 
zitiert, wie es dir zupasse kam. So geht es weiter:

"Wie aussagekräftig der TIOBE-Index und ähnliche Rankings sind, ist 
immer wieder berechtigtes Diskussionsthema. Die Liste entsteht durch das 
Zählen der Treffer für die Anfrage +"<language> programming" in 25 
Suchmaschinen. Damit lässt sie andere Ressourcen der Programmierer außer 
acht."

Für mich sieht das eben genau andersrum aus. Wer sich auf Assembler 
einlässt, hat viele Fragen - die für andere Sprachen gar nicht nötig 
werden. Anscheinend haben ein paar Assembler Programmierer das Internet 
gefunden und löchern es jetzt mit Fragen :-)

: Bearbeitet durch User
von Gu. F. (mitleser)


Lesenswert?

Jörg W. schrieb:
> Irgendwas passt da nicht.

Beim Moby passt so manches nicht ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Übrigens erlebt laut Tiobe neben Assembler auch Cobol seit einiger Zeit
einen Aufschwung:

  http://www.tiobe.com/index.php/content/paperinfo/tpci/COBOL.html

Auch Fortran ist nach diesem Indes wieder stark auf dem Vormarsch (über
Faktor 2 seit Ferbruar 2014) und könnte es in den nächsten paar Monaten
durchaus in die Top 20 schaffen.

Da ist sicher irgendwo ein großer Nostalgieclub für Programmiersprachen
gegründet worden. Neben Cobol und Fortran beschäftigen sich die
Mitglieder natürlich auch mit Assembler, aber nicht etwa mit dem für
AVRs, sondern mit dem für die IBM-Mainframes:

  https://en.wikipedia.org/wiki/IBM_Basic_assembly_language_and_successors

Damit wurden früher – ähnlich wie mit Cobol – ausgewachsene Anwendungen
für Banken, Finanzverwaltung u.ä. programmiert. Dank intensiv genutzter
Makrofähigkeiten konnte damit fast so komfortabel programmiert werden
wie in einer Hochsprache.

Ob damit auch IoT-Devices programmiert werden? Ich würde es mal eher
bezweifeln ;-)

von Ralf G. (ralg)


Lesenswert?

Matthias S. schrieb:
> "Wie aussagekräftig der TIOBE-Index und ähnliche Rankings sind, ist
> immer wieder berechtigtes Diskussionsthema. Die Liste entsteht durch das
> Zählen der Treffer für die Anfrage +"<language> programming" in 25
> Suchmaschinen. Damit lässt sie andere Ressourcen der Programmierer außer
> acht."

@Moby
Dieses Zitat sollte reichen. Leg erstmal ein Lesezeichen zu diesem 
Thread neben 'heise.de'. Und wenn dann Assembler in ein paar Tagen oder 
Wochen C dicht auf den Fersen ist, kann man die Statistik ja noch mal 
neu bewerten.

von Uhu U. (uhu)


Lesenswert?

Yalu X. schrieb:
> Übrigens erlebt laut Tiobe neben Assembler auch Cobol seit einiger Zeit
> einen Aufschwung:

Schade, dass die sich auf Programmiersprachen beschränken... Ein Index 
über die Wirkung der Störche die menschliche Geburtenrate wäre 
sicherlich sehr erhellen.

von Robert L. (lrlr)


Lesenswert?

Yalu X. schrieb:
> Auch Fortran ist nach diesem Indes wieder stark auf dem Vormarsch

vielleicht wollen auch einfach nur viele diesen job:
http://www.popularmechanics.com/space/a17991/voyager-1-voyager-2-retiring-engineer/

und bereiten sich auf das vorstellungsgespräch vor... ;-)

von (prx) A. K. (prx)


Lesenswert?

Uhu U. schrieb:
> Schade, dass die sich auf Programmiersprachen beschränken... Ein Index
> über die Wirkung der Störche die menschliche Geburtenrate wäre
> sicherlich sehr erhellen.

Das kannst du haben:
http://www.motor-talk.de/bilder/warum-benzinpreise-in-wirklichkeit-immer-noch-preiswert-sind-g45736413/stoerche-geburten-i204391169.html

Oder in etwas wissenschaftlicherem Kontext:
http://www.univie.ac.at/sowi-online/esowi/cp/methodologiesowi/methodologiesowi-38.html

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Die muss man sich nicht erklären, da es sie nicht gibt.

Es kann nicht sein was nicht sein darf...

Matthias S. schrieb:
> Wer sich auf Assembler
> einlässt, hat viele Fragen

Andersrum. Der hat die richtigen Antworten wenn es darum geht, 
performanten Code auf engstem Raum zu verpacken, den nächstkleineren 
Controller nehmen und überhaupt ganz lange bei nur einer Architektur 
bleiben zu können ;-)

: Bearbeitet durch User
von Ralf G. (ralg)


Lesenswert?

Moby A. schrieb:
> Der hat die richtigen Antworten wenn es darum geht,
> performanten Code auf engstem Raum zu verpacken ;-)

Den Smiley kanst du auch weglassen. Weiß doch jeder, dass solche Witze 
deine Stärke sind.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Ralf G. schrieb:
> Den Smiley kanst du auch weglassen.

Solange ich das Wegdiskutierenwollen / Ignorieren von Fakten amüsant 
finde nicht. Aber Du darfst auch lachen, worüber auch immer. Gute 
Stimmung schadet nie!

: Bearbeitet durch User
von Carl D. (jcw2)


Lesenswert?

Dieses Jahr habe ich ca. 100% mehr Störche beobachtet als letztes Jahr. 
Damit wird klar, wie es zu diesem überraschenden Statistik kommen 
konnte: Störche verfügen über keinerlei Hochsprachenerfahrung und 
programmieren deshalb ausschließlich in Assembler.
Es mag ja schön sein, wenn eine Statistik die persönliche Meinung 
stützt. Nur dadurch ändert sich ihr Wahrheitsgehalt nicht.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Dieses Jahr habe ich ca. 100% mehr Störche beobachtet als letztes Jahr.

Ist das wieder Deine Spezialdisziplin "Lächerlichmachen" ?

> Es mag ja schön sein, wenn eine Statistik die persönliche Meinung
> stützt. Nur dadurch ändert sich ihr Wahrheitsgehalt nicht.

Der Wahrheitsgehalt muß sich auch nicht ändern.
Er ist gegeben ;-)

: Bearbeitet durch User
von Carl D. (jcw2)


Lesenswert?

> Er ist gegeben ;-)

Auch 0 ist ein Wert!

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Auch 0 ist ein Wert!

Das ist Dein Ergebnis!
Und es rühmt Dich nicht gerade ;-)

: Bearbeitet durch User
von Gu. F. (mitleser)


Lesenswert?

Moby A. schrieb:
> wenn es darum geht, performanten Code auf engstem Raum zu verpacken

... dann zeig uns den halt mal.
Aber komm nicht wieder mit deinem (bisher einzigen) "20 Zeilen" Micky 
Maus programm.
LOL

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Gu. F. schrieb:
> ... dann zeig uns den halt mal.

Soweit ich mich erinnere ist das bei Dir sinnlos, da Du Asm nur vom 
Hörensagen kennst und nach wie vor nicht mal zählen kannst. Alle anderen 
schauen in das schon erwähnte Projekt. Da wird gezeigt wie sowas geht.

Ein spezielles "LOL" nur für Dich ;-)

: Bearbeitet durch User
von Johann L. (gjlayde) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hey, lasst dem Moby doch seine Religion...

Quelle: http://www.xkcd.com/1102/

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Johann L. schrieb:
> Hey, lasst dem Moby doch seine Religion...

Nix Religion. Sondern Fakten, Fakten, Fakten.
Hat schon seine Gründe, weshalb es Asm immer noch gibt.
Zumindest solange noch simple 8-Bitter die MSR+IOT Welt bevölkern stirbt 
das nicht aus. Und das werden sie noch laaaange... Ganz einfach weil sie 
die einfachste Lösung für vieles bieten.

: Bearbeitet durch User
von Ralf G. (ralg)


Lesenswert?

Moby A. schrieb:
> Hat schon seine Gründe, weshalb es Asm immer noch gibt.

Assembler wird es immer geben. Sowas stirbt doch nicht aus. Es ist 
nunmal übersichtlicher, die OP-Codes mit einem Kürzel zu kennzeichnen 
und nicht nur die Beschreibung in die Doku des Prozessors aufzunehem.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Ralf G. schrieb:
> Moby A. schrieb:
>> Hat schon seine Gründe, weshalb es Asm immer noch gibt.
>
> Assembler wird es immer geben. Sowas stirbt doch nicht aus. Es ist
> nunmal übersichtlicher, die OP-Codes mit einem Kürzel zu kennzeichnen
> und nicht nur die Beschreibung in die Doku des Prozessors aufzunehem.

Ein Grund mehr ;-))

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Hat schon seine Gründe, weshalb es Asm immer noch gibt.
> Zumindest solange noch simple 8-Bitter die MSR+IOT Welt bevölkern stirbt
> das nicht aus.

Assembler und IoT in einem Atemzug zu nennen ist mehr als mutig.

Gibt es auch nur einen einzigen IP-Stack, der in Assembler geschrieben 
ist?

von Carl D. (jcw2)


Lesenswert?

Moby schreibt grad dran. IPv6 macht noch Probleme, die Register gehen 
aus. Nur braucht man das eben für Milliarden Meßplatinen im WLAN.

von Klaus W. (mfgkw)


Lesenswert?

Jörg W. schrieb:
> Moby A. schrieb:
>> Nicht so bei vielen 8-Bittern, die fürs IOT und sehr oft MSR locker
>> reichen.
>
> Reichen sie, aber du weißt auch, wofür das „I“ in „IoT“ steht, ja?
>
> Wir sind gespannt auf deinen ersten IPv6-Stack. :)

Moby plagt sich mit sowas nicht rum.

Alles, was über ein paar Byte rausschieben rausgeht, kauft er als 
fertiges Modul, das er mit seinem AVR nur noch per UART dirigiert.
So kann man natürlich wirklich alles mit wenig Logik erschlagen, und 
dafür tut es jeder Tiny.
Unter der Prämisse hat er natürlich recht.
Ich frage mich dann nur erstens, wozu er dann sein bißchen Logik so 
unglaublich optimiert haben will, wenn alles doch außerhalb in 
zugekauften Modulen passiert und schneckenmäßig seriell angesprochen 
wird.
Und zweitens, wieso er am Controller 1 Cent sparen will, wenn für WLAN,
Bluetooth und was weiß ich was jeweils mehrere Euro ausgibt (während ein 
Controller für wenig Geld mehr das alles sparen würde, weil er einfach 
genug Dampf hat).
In jedem seiner zugekauften Teile hat er mehr Kosten, Rechenleistung und 
Stromverbrauch als andere im Controller - aber sein Tiny, der sich 
mangels Arbeit nur langweilt, ist top optimiert (wenn sein Programm 
zufällig überhaupt funktioniert).

Aber jeder wie er will...

Moby A. schrieb:
> A. K. schrieb:
>> Angesichts der viele 32-Bit Daten darin wär schon IPv4 eine ernste
>> Herausforderung. ;-)
>
> Warum muß man auch einen 8-Bitter damit behelligen?
> Das wird als gekauftes Modul angeflanscht und gut ist.

z.B. so


> Assembler wieder auf dem Weg nach vorn
Ich fasse mal vorläufig zusammen:
Assembler ist auf dem Weg nach vorne, ja.
Aber alle anderen auch, nur viel schneller.

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Moby schreibt grad dran.

Moby hat einen XportPro für diese Fälle. Moby braucht sich nicht mit 
IPVx befassen. Hattest Du bestimmt schon wieder vergessen, passt ja 
gerade schlecht...

Rufus Τ. F. schrieb:
> Assembler und IoT in einem Atemzug zu nennen ist mehr als mutig.

Siehe hier:
> "Eine mögliche Begründung liegt im wachsenden Bedarf an
> Internet-of-Things-Anwendungen, bei denen Assembler für hardwarenahe
> Prozesse eingesetzt wird"

Warum muß auch jedes IOT Device welches ins Internet will über einen 
eigenen IP-Stack verfügen? Diese Anbindung macht man (bestens 
stromversorgt) zentral, alles andere ist (gegenwärtig) Blödsinn.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Klaus W. schrieb:
> wenn alles doch außerhalb in
> zugekauften Modulen passiert

Na na. Das meiste Musik spielt schon noch in vielen Tinys, Megas Xmegas.

> schneckenmäßig seriell

Langt doch Klaus. Wir reden von SmartHome Anwendungen und nicht von 
Multimedia.

Klaus W. schrieb:
> Und zweitens, wieso er am Controller 1 Cent sparen will, wenn für WLAN,
> Bluetooth und was weiß ich was jeweils mehrere Euro ausgibt (während ein
> Controller für wenig Geld mehr das alles sparen würde, weil er einfach
> genug Dampf hat).

Vielleicht weil der Controller in Aktor/Sensorknoten kleiner, 
preiswerter, einfacher programmierbar ausfallen kann? Nochmal speziell 
für Dich: Die Internet-Anbindung kann zentral geschehen.

Klaus W. schrieb:
> In jedem seiner zugekauften Teile

Das sind nur wenige, dafür die am richtigen Platz.

> aber sein Tiny, der sich
> mangels Arbeit nur langweilt, ist top optimiert

Das gibts schon einige mehr die genau dort Dienst tun wo sie gebraucht 
werden ;-)

> wenn sein Programm
> zufällig überhaupt funktioniert

Ha ha ha, was für ein lustiger Klaus.

Klaus W. schrieb:
> Ich fasse mal vorläufig zusammen:
> Assembler ist auf dem Weg nach vorne, ja.

Prima. Asm spart nämlich Ressourcen und macht Spaß!
Andere Wege führen sicher auch zum Ziel.
Aber nicht so sparsam und effizient.
Und vor allem nicht so einfach !!!

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Moby A. schrieb:
> Langt doch Klaus. Wir reden von SmartHome Anwendungen und nicht von
> Multimedia.

Hmm, ja, den Haustüröffner glaub ich dir.
Aber die dort installierte Kamera?

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

A. K. schrieb:
> Aber die dort installierte Kamera?

So es denn eine geben sollte: Webcam-Funktionalität muß man heute gewiss 
nicht mehr selber basteln.

von (prx) A. K. (prx)


Lesenswert?

Moby A. schrieb:
> Warum muß auch jedes IOT Device welches ins Internet will über einen
> eigenen IP-Stack verfügen?

Automatischer Update. Stell dir vor, du hast 50 Stück eingekauftes IoT 
Zeugs in der Wohnung und jeden Samstag ist Patchday. Ausserdem kommt das 
I in IoT nicht von I2C.

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

A. K. schrieb:
> Automatischer Update. Stell dir vor, du hast 50 Stück eingekauftes IoT
> Zeugs in der Wohnung und jeden Samstag ist Patchday.

Patchday. Genau. Aber nicht beim Selberbastler. Gott sei Dank auch.
So ein IOT Device braucht doch nur einmal richtig programmiert zu werden 
und tut dann seinen Dienst. Updateritis- das haben andere, mit anderer 
Hard- und Software nötig ;-)

> Ausserdem kommt das
> I in IoT nicht von I2C.

Aber von Anbindung ans Internet.
Und die kann auf viele Weisen geschehen.
Am sinnvollsten (jedenfalls bei viel SmartHome- typischem Kleinzeug) 
zentral.
Die kleinen Aktor/Sensorknoten können schließlich auch anders als via IP 
miteinander bzw. mit ihrer Zentrale sprechen.

von (prx) A. K. (prx)


Lesenswert?

Moby A. schrieb:
> Patchday. Genau. Aber nicht beim Selberbastler.

Natürlich nicht dein Tiny, aber für all die kleinen eingekauften 32-Bit 
Helferlein, mit denen du ihn umgibst.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

A. K. schrieb:
> aber für all die kleinen eingekauften 32-Bit
> Helferlein,

Die wenigen Helferlein update ich manuell, sofern erforderlich.
Das war es bislang noch NIE. Wofür auch, wenn sie funktionieren?
Etwa für "Sicherheitslücken"? Das Thema fällt bei Selbstbau aus,
das hat man schließlich selber in der Hand.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Warum muß auch jedes IOT Device welches ins Internet will über einen
> eigenen IP-Stack verfügen?

Ohne IP-Stack ist es kein IoT-Device, sondern nur ein irgendwas mit 
irgendner Schnittstelle. Nur zu gebrauchen, wenn noch ein 
korrespondierendes Gegenstück dazukommt.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Ohne IP-Stack ist es kein IoT-Device,

Na schön. Wenn man es so definieren möchte.
Ich denke aber daß das nicht so eng festgelegt ist.
Internet of Things kann technisch recht flexibel umgesetzt sein.

> Nur zu gebrauchen, wenn noch ein
> korrespondierendes Gegenstück dazukommt.

Genau. Für alles eine Zentrale mit einem IP-Stack.
Den dann nicht in Assembler, das will ich zugestehen ;-)

@Minus-Bewerter: Nicht nachlassen! Du bist schon hinten dran, jetzt aber 
hopp hopp ;-)

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Moby A. schrieb:
> Etwa für "Sicherheitslücken"? Das Thema fällt bei Selbstbau aus,
> das hat man schließlich selber in der Hand.

Wie gut, das du im Brustton der Überzeugung von dir behaupten kannst, 
ausschliesslich sichere Programme zu schreiben. ;-)

Ansonsten wird da vielleicht mal ein Webserverlein dabei sein. Wenn es 
kein SSL kann: unsicher. Und wenn es SSL kann: unsicher, wenn nicht 
öfter mal gepatcht. In den letzten ca. 2 Jahren ging es allein beim SSL 
ziemlich rund. Und wenn dir die Sicherheit egal sein sollte, dann wird 
dir dein Browser irgendwann die Leviten lesen, weil er das alte SSL 
nicht mehr akzeptiert und dein Haus nicht mehr auf dich hört.

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. F. schrieb:
> Ohne IP-Stack ist es kein IoT-Device, sondern nur ein irgendwas mit
> irgendner Schnittstelle.

Moby ist da flexibel. Sein IOT = I2c-Of-Things reicht ihm.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

A. K. schrieb:
> Wie gut, das du im Brustton der Überzeugung von dir behaupten kannst,
> ausschliesslich sichere Programme zu schreiben. ;-)

Selbstverständlich. Darf man nur nicht verwechseln mit 'theoretisch' 
sicher.
Es langt hingegen ein 'praktisch' sicher. Wie schön daß man mit 
eigenen Controllern, eigener Software und uneingeschränkten 
Möglichkeiten von Asm alles selbst in der Hand hat!

A. K. schrieb:
> Ansonsten wird da vielleicht mal ein Webserverlein dabei sein. Wenn es
> kein SSL kann: unsicher. Und wenn es SSL kann: unsicher, wenn nicht
> öfter mal gepatcht. In den letzten ca. 2 Jahren ging es allein beim SSL
> ziemlich rund.

Der Webzugriff aufs selbstgebaute Smarthome kann so sicher oder unsicher 
sein wie er will- wenn der Datenstrom ab Internet-Schnittstelle 
vollständig in der Hand des Bastlers liegt.

> Und wenn dir die Sicherheit egal sein sollte, dann wird
> dir dein Browser irgendwann die Leviten lesen, weil er das alte SSL
> nicht mehr akzeptiert und dein Haus nicht mehr auf dich hört.

Sobald zuviele SSL Restriktionen in die Suppe spucken wird der XPort 
geupdatet oder ersetzt. Da muß der Hebel nur an einem Punkt ansetzen!

von P. M. (o-o)


Lesenswert?

Moby A. schrieb:
> Zumindest solange noch simple 8-Bitter die MSR+IOT Welt bevölkern stirbt
> das nicht aus.

Nochmals: Ein IoT-Gerät muss nur schon für den WLAN-Stack so 
leistungsfähig sein, dass ein paar zusätzliche Taktzyklen oder 
Speicherbytes nicht ins Gewicht fallen. Erst recht nicht, wenn man die 
Zusatzkosten betrachtet, um sie herauszukitzeln.

Hast du eigentlich überhaupt mal ein grösseres Projekt gemacht 
ausserhalb von Assembler und 8-Bittern?

von Gu. F. (mitleser)


Lesenswert?

Klaus W. schrieb:
> Ich frage mich dann nur erstens, wozu er dann sein bißchen Logik so
> unglaublich optimiert haben will, wenn alles doch außerhalb in
> zugekauften Modulen passiert und schneckenmäßig seriell angesprochen
> wird.

Na damit noch Platz für "künftige Erweiterungen" bleibt
Prust

von Gu. F. (mitleser)


Lesenswert?

Moby A. schrieb:
> @Minus-Bewerter: Nicht nachlassen! Du bist schon hinten dran, jetzt aber
> hopp hopp ;-)

Nun ja, wenn du Wert drauf legst ;-)

von Gu. F. (mitleser)


Lesenswert?

P. M. schrieb:
> Hast du eigentlich überhaupt mal ein grösseres Projekt gemacht
> ausserhalb von Assembler und 8-Bittern?

Du kennst unseren Moby nicht?
Mehr als diese paar Zeilen sind zumindest mir nicht bekannt.
Beitrag "Kleines Tiny13 Sensorboard"

Und selbst die waren mit Fehlern gespickt.

: Bearbeitet durch User
von Jonny O. (-geo-)


Lesenswert?

Moby A. schrieb:
> Jörg W. schrieb:
>> Wir sind gespannt auf deinen ersten IPv6-Stack. :)
>
> Sorry. Der steckt schon in einem gekauften XportPro.
> Das schmälert den Nutzen des Traumgespanns ASM/AVR aber in keiner Weise
> ;-)

Hi Moby,

die X-Ports sind schon ganz nett, aber relativ teuer. So ein Teil kostet 
um die 70 Euro. Wäre es da nicht sinnvoller einfach einen günstigen 
32bitter mit integriertem MAC für etwa 3 Euro zu nehmen, dann einen 
externen Phy + Buchse drann und fertig?

Dann könnte man getrost auf Asm verzichten und gleich alles auf dem 
32bitter in einer Hochsprache implementieren. Fertige IP-Stacks gibt es 
ohnehin schon fertig. Dann noch ev. ein kleines RTOS oder ein anderes 
Betriebssystem drauf und fertig ist das System zu einem Bruchteil der 
Kosten.

Für mich wäre es einfach ungeschickt erst ein sündhaft teures Modul zu 
kaufen um dann Klimmzüge in ASM zu machen um Ressourcen in einem 8bit-µC 
zu sparen, der quasi nur als Anhängsel am Xport hängt.

Grüße!
Jo

: Bearbeitet durch User
von Klaus W. (mfgkw)


Lesenswert?

Moby A. schrieb:
> Aber von Anbindung ans Internet.
> Und die kann auf viele Weisen geschehen.
> Am sinnvollsten (jedenfalls bei viel SmartHome- typischem Kleinzeug)
> zentral.
> Die kleinen Aktor/Sensorknoten können schließlich auch anders als via IP
> miteinander bzw. mit ihrer Zentrale sprechen.

Und diese Zentrale kaufst du fertig? Oder ist das ein PC mit XP?

von Moby A. (moby-project) Benutzerseite


Lesenswert?

P. M. schrieb:
> Ein IoT-Gerät muss nur schon für den WLAN-Stack so
> leistungsfähig sein,

Muß es nicht. Gibt schließlich auch andere, vor allem energiesparendere 
Alternativen. Wenn Du freilich von einem IOT Gerät den unmittelbaren 
Netzzugang forderst wär schon etwas Strom und Leistung angesagt. Leider 
passt es dann nicht mehr in jede kleinste Ritze ;-)

> Hast du eigentlich überhaupt mal ein grösseres Projekt gemacht
> ausserhalb von Assembler und 8-Bittern?

Mit Asm und 8-Bittern kann man durchaus auch große Projekte machen, bis 
hin zu 10K kann ich die Möglichkeit aus eigener Erfahrung bestätigen.
Wenn sie dann funktionell im Vergleich zum C-Projekt aber meist immer 
noch MickyMaus- ausfallen ist das ein Qualitätsmerkmal von Asm.

Gu. F. schrieb:
> Und selbst die waren mit Fehlern gespickt.

Erzähl doch keinen Schwachsinn. Konzentrier Dich besser auf die 
Minus-Bewertungen, damit bist Du ausgelastet ;-)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Klaus W. schrieb:
> Und diese Zentrale kaufst du fertig? Oder ist das ein PC mit XP?

Ach Gottchen. Stell Dir vor das ist ein Xmega. Könnte aber durchaus auch 
was kleineres sein, wenn es denn genügend UARTs mitbringen würde.
Man muß durchaus nicht jede I-Net Anbindung mit Raspberry oder gar PC 
erledigen ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Du freilich von einem IOT Gerät den unmittelbaren Netzzugang forderst

Sonst ist es kein IoT-Gerät. Der Netzzugang (ob nun LAN oder WLAN) ist 
eine der Kernfunktionen davon. Ohne Netz kein IoT.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jonny O. schrieb:
> die X-Ports sind schon ganz nett, aber relativ teuer.

Na ja Jonny nicht ganz so teuer wie Du angibst aber der war auch schon 
das Teuerste überhaupt. Wir reden aber hier nur von der zentralen 
Internet-Anbindung und nicht von den vielen Zuträgern, die ich beim 
Thema Asm auf IOT Devices im Sinn hatte. Du hast sicher Recht, die 
Zentrale kann man auf viele Weisen (und billiger) realisieren- mir war 
hier aber die einfachere Zukauf-Lösung lieber. Natürlich kommt in der 
"Zentrale" nun genauso Asm zur Anwendung so wie überall. Ein Xmega hat 
dann sowas von Reserven...

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Sonst ist es kein IoT-Gerät. Der Netzzugang (ob nun LAN oder WLAN) ist
> eine der Kernfunktionen davon. Ohne Netz kein IoT.

Du beißt Dich für meinen Geschmack an Definitionsfragen fest.
SmartHome-Devices können via zentralem Interface trotzdem Kontakt zum 
Netz finden und ich denke, dies ist in den meisten Fällen auch die 
sinnvollste Lösung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Du beißt Dich für meinen Geschmack an Definitionsfragen fest.

Nein. Du beißt Dich auf die nur von Dir wahrgenommene Anwendbarkeit von 
Assembler fest, und blendest jede weitergehende Anforderung aus, sobald 
sie nur etwas Realitätsnähe erhält.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Du beißt Dich auf die nur von Dir wahrgenommene Anwendbarkeit von
> Assembler fest, und blendest jede weitergehende Anforderung aus, sobald
> sie nur etwas Realitätsnähe erhält.

Also:
Die Anwendbarkeit von Asm nehme ich nicht nur wahr, die ist schlicht 
gegeben. Sonst säße ich ganz schnell im Dunklen und Kalten.
Ich blende auch nichts aus sondern habe die Anforderungen (m)eines 
SmartHome fest im Blick. Das bleibt nicht aus wenn man so ein Hobby über 
viele Jahre pflegt. Die Realität würde mich ganz schnell eines besseren 
belehren wenn sie ignoriert würde.

Gib einfach zu, es führen viele Wege nach Rom- und der Assemblerweg mag 
zwar länger als manch anderer sein, führt aber zu überaus effizienten 
Ergebnissen. Ob Du da was ausblendest ???

von Gu. F. (mitleser)


Lesenswert?

Moby A. schrieb:
> Erzähl doch keinen Schwachsinn.

Yalu hat die paar Zeilen doch analysiert.
>Moby, deine Prüfsumm ist nicht viel wert, da in ihre Berechnung nur 6
>der 14 Datenbits eingehen. Damit werden nicht einmal die Hälfte aller
>Einzelbitfehler erkannt.

Das du dich später rausredest nützt da auch nix mehr
>Daß es nur eine rudimentäre Prüfsumme mit begrenztem Wert ist OK.

Alles nachzulesen im Micky Maus Thread
Beitrag "Kleines Tiny13 Sensorboard"

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Gu. F. schrieb:
> Das du dich später rausredest nützt da auch nix mehr

Den einen nennst Du "mit Fehlern gespickt"?
Aber wie willst Du das auch beurteilen können.
Vermutlich hast Du selber noch keine gemacht-
und zwar generell mangels Programmierkenntnissen ;-(

Aber danke daß Du den Thread nochmals erwähnst.
Ein Projekt ehrt den Schöpfer einer funktionierenden Lösung.
Der Kontrast zu gelangweilten Trollen könnte dann nicht größer sein ;-)

: Bearbeitet durch User
von Gu. F. (mitleser)


Lesenswert?

Nun assembler für die AVRs hab ich mir vor ewigen Zeiten angeeignet. 
Jedenfalls genug um die Listfiles vom GCC lesen zu können.
Mehr asm hab ich bisher nicht gebraucht, wozu auch?

von Jonny O. (-geo-)


Lesenswert?

> nicht ganz so teuer wie Du angibst

Hi, Hätte interesse an einer günstigen Bezugsquelle. Bei Mouser kosten 
die Dinger so um die 70Eur. Hättest Du ev. nen Link?

Edit: Sehe grade das es eine Pro und eine normale Version gibt. Die 
einfache kostet so um die 50eur bei Mouser.

Thx
Jonny

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jonny O. schrieb:
> Hättest Du ev. nen Link

Ist schon ne Weile her daß ich den gekauft habe, ich kenne auch nicht 
die Preisentwicklung der letzten Monate... Bei Rs-Online gibts den Pro 
aktuell für ca. 60€, kann aber gut sein daß sich das noch untertreffen 
lässt.

> Edit: Sehe grade das es eine Pro und eine normale Version gibt

Nimm den Pro, der hat IPV6.

von Uhu U. (uhu)


Lesenswert?

A. K. schrieb:
> Das kannst du haben:
> 
http://www.motor-talk.de/bilder/warum-benzinpreise-in-wirklichkeit-immer-noch-preiswert-sind-g45736413/stoerche-geburten-i204391169.html

Aktuell ist das aber nicht, es besteht also durchaus Bedarf für 
Leistungen von Tiobe...

von Uhu U. (uhu)


Lesenswert?

Carl D. schrieb:
> Moby schreibt grad dran. IPv6 macht noch Probleme, die Register
> gehen aus.

Dann muss er sie eben wieder anzünden...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Bei Rs-Online gibts den Pro aktuell für ca. 60€

Netto.

Teuer genug.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Fassen wir diesen Thread mal zusammen.

  Moby programmiert einen ATTiny13 in Assembler, um höchstens ein
  paar Bytes in diesem zu verbrauchen und nur wenige Cents dafür
  auszugeben. Dann klebt er da einen X-Port dran, der das hundertfache
  eines ATTiny13 kostet und nennt das dann ein "sparsames" IoT -
  natürlich komplett in Assembler geschrieben.

Das ist dasselbe wie:

  Ich kaufe mir einen Porsche, klebe mir vorne auf dem Amaturenbrett
  ein Matchbox-Auto drauf und nenne das dann eine "sparsame" Lösung,
  die 280 km/h fahren kann! Und das alles mit einer Spritzgussmaschine
  gebaut!

Klasse.

von Sheeva P. (sheevaplug)


Lesenswert?

Carl D. schrieb:
> Dieses Jahr habe ich ca. 100% mehr Störche beobachtet als letztes Jahr.

Herzlichen Glückwunsch zu Deiner Schwangerschaft!

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Fassen wir diesen Thread mal zusammen.
>
>   Moby programmiert einen ATTiny13 in Assembler, um höchstens ein
>   paar Bytes in diesem zu verbrauchen und nur wenige Cents dafür
>   auszugeben. Dann klebt er da einen X-Port dran, der das hundertfache
>   eines ATTiny13 kostet und nennt das dann ein "sparsames" IoT -
>   natürlich komplett in Assembler geschrieben.

Fassen wir mal zusammen:

Moby programmiert viele Tinys, Megas und einige Xmegas für sein 
SmartHome.
Größere Chips braucht es jeweils nicht, denn sie sind mit sparsamem 
Ressourcenverbrauch in einfachem Asm programmiert. Wenige KB, ganz 
wenige MHz, sehr smart(Home) das Ganze...

Der Netz-Zugang ist freulich nicht so leicht zu bekommen, dafür kauft er 
einen kleinen XPort- und hat fertig ;-)

: Bearbeitet durch User
von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Teuer genug.

Aber an der genau richtigen Stelle ausgegeben ;-)

von Ralf G. (ralg)


Lesenswert?

Moby A. schrieb:
> Moby programmiert viele Tinys, Megas und einige Xmegas für sein
> SmartHome.

Jeeeetzt verstehe ich den Aufschwung von Assembler!
Du sitzt schon über Wochen an diversen Schuchmaschinen und gibst 
'assembler programming' ein :-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Der Netz-Zugang ist freulich nicht so leicht zu bekommen, dafür kauft er
> einen kleinen XPort- und hat fertig ;-)

Der Netz-Zugang ist viel einfacher und billiger zu bekommen. Da reicht 
ein WIZ5100- oder WIZ5200-Modul aus - ansteuerbar über SPI.

Für den Preis eines X-PORTs bekommst Du 3-4 Stück davon

   http://www.watterott.com/de/WIZnet-WIZ812MJ-Ethernet-Modul
   http://www.watterott.com/de/WIZ820io

(Die ESP8266 mit einem Stückpreis von 4-5 EUR will ich erst gar nicht 
empfehlen, deren AT-Schnittstelle ist einfach unterirdisch. Bleibt 
Direkt-Programmierung - aber dafür müsste Moby einen neuen 
Assembler-Dialekt lernen, während ein C-Programmierer direkt loslegen 
kann)

Aber wenn SPI schon einen ATiny-Assembler-Programmierer überfordert, 
dann bleib bei Deinen X-Ports.

: Bearbeitet durch Moderator
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Aber wenn SPI schon einen ATiny-Assembler-Programmierer überfordert

Wird nicht das Problem sein.  Er hat halt so viel für seinen XPort
ausgeben müssen, dass es beim Rest nur noch für popelige ATtiny13
gereicht hat, die sich noch nichtmal eine USI leisten können.  Da
er alle anderen, denen die Lebenszeit zu schade ist, sich mit so
einer Simpelst-Hardware herumzuschlagen, einfach als
„Ressourcenverschwender“ bezichtigen kann, ist zumindest sein Weltbild
wieder stimmig, denn bei den anderen liegt es natürlich nur daran, dass
sie alle unfähig sind, in klarem und reinem Assembler zu programmieren.

Wenn nun TIOBEs astrologische Weissagungen sein Weltbild noch
bekräftigen (obwohl er ja sonst nur all die vielen Falschfahrer ihm
entgegenkommen sieht), dann muss doch einfach was dran sein, nicht?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Wenn nun TIOBEs astrologische Weissagungen sein Weltbild noch
> bekräftigen (obwohl er ja sonst nur all die vielen Falschfahrer ihm
> entgegenkommen sieht), dann muss doch einfach was dran sein, nicht?

Du hast mich überzeugt. Lasst uns eine neue Sekte gründen! :-)

von Klaus W. (mfgkw)


Lesenswert?

Frank M. schrieb:
> Du hast mich überzeugt. Lasst uns eine neue Sekte gründen! :-)

Aber bitte zur Abwechslung mal eine atheistische, dann bin ich auch 
dabei - die anderen nerven immer mehr.

von (prx) A. K. (prx)


Lesenswert?

Klaus W. schrieb:
> Aber bitte zur Abwechslung mal eine atheistische,

Wie denn, wo ihr doch den Versammlung-Gott anbeten sollt?

von Peter D. (peda)


Lesenswert?

Shit happens:

Beitrag "Re: AVR ASM soll AVR GCC aufrufen"

Assembler ist ne tickende Zeitbombe.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Shit happens:

Klar, und die, die die Soße dann ausbaden müssen, gugeln nun die ganze
Zeit nach „Assembler“, und schon ist die TIOBE-Wahrnehmung verschoben. 
:)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Assembler ist ne tickende Zeitbombe.

Yeah!

Was machen wir dann bloß, wenn Moby sich morgen entscheidet, nur noch 
Pflanzen in Kolumbien anzubauen?

: Bearbeitet durch Moderator
von Jürgen L. (jliegner)


Lesenswert?

Frank M. schrieb:
> Peter D. schrieb:
>> Assembler ist ne tickende Zeitbombe.
>
> Yeah!
>
> Was machen wir dann bloß, wenn Moby sich morgen entscheidet, nur noch
> Pflanzen in Kolumbien anzubauen?

Wenn er den Pflanzenanbau in Kolumbien handwerklich genauso angeht wie 
das Programmieren, dann wird die Birne aus Ermangelung stimulierender 
Zutaten bald wieder klar...

von Vlad T. (vlad_tepesch)


Lesenswert?

Uhu U. schrieb:
> Ein Index
> über die Wirkung der Störche die menschliche Geburtenrate wäre
> sicherlich sehr erhellen.

Der Zusammenhang ist doch eindeutig.
In den letzten 25 Jahren wurde so viel für die Storchpopulation getan 
und die Weltbevölkerung ist gleich mal um fast 50% gestiegen.

Gegenmaßnahme:

Da brat mir doch einer 'nen Storch.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Vlad T. schrieb:
> Da brat mir doch einer 'nen Storch.

Da "vegan" aber auch in Mode ist, muss der aus Tofu oder Saitan sein.

von Vlad T. (vlad_tepesch)


Lesenswert?

Rufus Τ. F. schrieb:
> Da "vegan" aber auch in Mode ist, muss der aus Tofu oder Saitan sein.

Da haben wir den Salat: Aufgrund der Weigerung der Ökos einen 
ordentlichen Storchenschmaus wertzuschätzen, steigt die Bevölkerung der 
Welt ins unermessliche.

Hier wird bewusst die natürliche Ordnung der Selbstregulierung (viele 
Störche -> viele Menschen -> mehr gegessene Störche -> weniger Menschen 
-> ...) ignoriert und die Erde an den Rand des Kollapses gebracht.

(die Theorie werde ich mal bei Atilla Hildemann auf der Facebook-Seite 
posten ^^)

: Bearbeitet durch User
von Gu. F. (mitleser)


Lesenswert?

Irgendwie so still. ..
Habt ihr denn Moby jetzt vergrault odef geheilt?

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Tja, mit Galgenhumor ist den vielen Vorteilen von Asm nun auch nicht 
gerade beizukommen... Aber was bleibt manchem Schreiber hier auch übrig? 
Für mehr reichts eben nicht mehr ;-)

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Moby - der Kurt Bindl der Programmierer...


Inline Assembler nehme ich immer gerne, wenn ich zeitkritische 
Komponenten in meiner C-Programmierung habe..

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Shit happens:
>
> Beitrag "Re: AVR ASM soll AVR GCC aufrufen"
>
> Assembler ist ne tickende Zeitbombe.

Ohne AVR GCC wär das alles nicht passiert...

von (prx) A. K. (prx)


Lesenswert?

Gu. F. schrieb:
> Irgendwie so still. ..

Das war die gefrässige Stille bei der Vertilgung des veganen Storches.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Wolfgang R. schrieb:
> Inline Assembler nehme ich immer gerne, wenn ich zeitkritische
> Komponenten in meiner C-Programmierung habe..

Schau an. Bringt also Vorteile.
Und ich nehm gleich 100% Asm, das bringt am meisten ;-)

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Also ich genieße die memory allocation und variable features der 
Hochsprachen... Assembler benutze ich nur, wenn's nötig ist. Alles 
andere ist mir zu Fehleranfällig.

Ich meine, ich nehme ja auch keinen Hammer, wenn ich eine Schraube 
reindrehen will. Das richtige Werkzeug zum richtigen Einsatzfall. Da ist 
mir Assembler genau so lieb wie C...

Alles andere sieht mir nach Verbohrtheit aus...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

A. K. schrieb:
> Das war die gefrässige Stille bei der Vertilgung des veganen Storches.

Liegt der Tofu zu schwer im Magen? ;-)

von (prx) A. K. (prx)


Lesenswert?

Jörg W. schrieb:
>> Das war die gefrässige Stille bei der Vertilgung des veganen Storches.
>
> Liegt der Tofu zu schwer im Magen? ;-)

Nee, in den Knien. Von dem kriegt man Gicht.

von P. M. (o-o)


Lesenswert?

Moby A. schrieb:
> Muß es nicht. Gibt schließlich auch andere, vor allem energiesparendere
> Alternativen. Wenn Du freilich von einem IOT Gerät den unmittelbaren
> Netzzugang forderst wär schon etwas Strom und Leistung angesagt.

Dass jedes Gerät unmittelbaren Netzzugang hat ist so ziemlich die 
Definition von IoT. Ausser in Mobys Welt natürlich.

Moby A. schrieb:
> Die Anwendbarkeit von Asm nehme ich nicht nur wahr, die ist schlicht
> gegeben. Sonst säße ich ganz schnell im Dunklen und Kalten.
> Ich blende auch nichts aus sondern habe die Anforderungen (m)eines
> SmartHome fest im Blick. Das bleibt nicht aus wenn man so ein Hobby über
> viele Jahre pflegt. Die Realität würde mich ganz schnell eines besseren
> belehren wenn sie ignoriert würde.

Ich muss längers je mehr schmunzeln: Du kriegst für jeden deiner 
Beiträge 5 Downvotes, aber redest immer noch mit einer Selbstsicherheit 
daher, als wärst du hier der Guru...

von (prx) A. K. (prx)


Lesenswert?

P. M. schrieb:
> Ich muss längers je mehr schmunzeln: Du kriegst für jeden deiner
> Beiträge 5 Downvotes, aber redest immer noch mit einer Selbstsicherheit
> daher, als wärst du hier der Guru...

In seiner 8-Bit Welt hat er es wahrscheinlich mit Vorzeichen nicht so 
und sieht das deshalb als 251 Up-Votes.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Wolfgang R. schrieb:
> Also ich genieße die memory allocation und variable features der
> Alles
> andere ist mir zu Fehleranfällig.

Ich genieße die absoluten Freiheiten bei der 
Ressourcen(nicht)verwendung.
Auch wenn zuweilen dieser oder jener Flüchtigkeitsfehler nicht zu 
vermeiden ist- es ist alles eine Sache der Übung. Fehleranfälligkeit 
kann schließlich durch erprobte, vorgefertigte Bausteine genauso 
eingeschränkt werden wie bei allen anderen Sprachen.

> Ich meine, ich nehme ja auch keinen Hammer, wenn ich eine Schraube
> reindrehen will. Das richtige Werkzeug zum richtigen Einsatzfall. Da ist
> mir Assembler genau so lieb wie C...

Das richtige Werkzeug ist für mich: Asm. Weil, es passt fast immer und 
liefert die besten Ergebnisse. Allenfalls wenn große Berechnungen 
anstünden oder größere Datenmassen zu handeln wären könnte ich mir etwas 
"höheres" vorstellen- im normalen Smarthome MSR Alltag ist das eher sehr 
selten.

> Alles andere sieht mir nach Verbohrtheit aus...

Man kann Einsicht in die Vorteile und die konsequente Nutzung von Asm 
auch voreilig mit Verbohrtheit verwechseln ;-)

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Alter Assembler, hast Du eine religiöse Erleuchtung gehabt? Das Licht 
gesehen? Die Band gegründet?

Deine Aussagen über die heilige Allmächtigkeit des Assembler machen mir 
Angst...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wolfgang R. schrieb:
> Deine Aussagen über die heilige Allmächtigkeit des Assembler machen mir
> Angst...

Keine Angst: ein Selbstmordattentat kann sich Moby für seine Religion
nicht leisten.  Schließlich wäre danach die Gesamtheit aller daran
Gläubigen vernichtet. ;-)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

> Ich muss längers je mehr schmunzeln: Du kriegst für jeden deiner
> Beiträge 5 Downvotes, aber redest immer noch mit einer Selbstsicherheit
> daher, als wärst du hier der Guru...

Sicherheit kommt bei jedem Bastler allein von Erfahrung und letztlich 
von funktionierenden, sehr smarten Devices. Kreiert nur aus Chips und 
Grips ;-)
Warum sollte man diese Downvotes ernst nehmen?
Ich weiß ja warum (und z.T. von wem). Und ich habe die Sicherheit...

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Keine Angst: ein Selbstmordattentat kann sich Moby für seine Religion
> nicht leisten.  Schließlich wäre danach die Gesamtheit aller daran
> Gläubigen vernichtet. ;-)

Junge Junge was traust Du mir da zu...
Es geht doch nuuur um Assembler!
Aber wie das manch einen hier in Rage bringt-
interessant.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Wolfgang R. schrieb:
> Deine Aussagen über die heilige Allmächtigkeit des Assembler.

Na ja, das 'heilig' kannst Du streichen. Alles andere stimmt!

von (prx) A. K. (prx)


Lesenswert?

Jörg W. schrieb:
> Schließlich wäre danach die Gesamtheit aller daran
> Gläubigen vernichtet. ;-)

Das wär ja nicht das Problem. Aber dann... (Offenbarung 16,17ff): "Und 
der siebente Engel goß aus seine Schale in die Luft; und es ging aus 
eine Stimme vom Himmel aus dem Stuhl, die sprach: Es ist geschehen. Und 
es wurden Stimmen und Donner und Blitze; und ward ein solches Erdbeben, 
wie solches nicht gewesen ist, seit Menschen auf Erden gewesen sind, 
solch Erdbeben also groß. Und aus der großen Stadt wurden drei Teile, 
und die Städte der Heiden fielen. Und Babylon, der großen, ward gedacht 
vor Gott, ihr zu geben den Kelch des Weins von seinem grimmigen Zorn. 
Und alle Inseln entflohen, und keine Berge wurden gefunden. Und ein 
großer Hagel, wie ein Zentner, fiel vom Himmel auf die Menschen; und die 
Menschen lästerten Gott über die Plage des Hagels, denn seine Plage war 
sehr groß."

von Jürgen L. (jliegner)


Lesenswert?

Moby A. schrieb:
> Allenfalls wenn große Berechnungen
> anstünden oder größere Datenmassen zu handeln wären könnte ich mir etwas
> "höheres" vorstellen- im normalen Smarthome MSR Alltag ist das eher sehr
> selten.

Dann stell ich dir mal eine einfache Aufgabe aus diesem Bereich. Du hast 
z.B. einen Temperatur-/Luftfeuchtigkeitssensor an deinem AVR. DHT22 z.B. 
Zum Auslesen braucht man nur einen Pin und das traue ich dir mal in ASM 
zu. Mit einem 2. Pin soll jetzt mal ein Relais geschaltet werden, wenn 
die Temeratur unter den Taupunkt fällt. Jetzt wäre ich mal gespannt wie 
du diese Aufgabe in purem ASM löst...

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jürgen L. schrieb:
> Jetzt wäre ich mal gespannt wie
> du diese Aufgabe in purem ASM löst...

Da hast Du Pech. Auftragsarbeiten übernehme ich hier nicht, bin auch so 
genug beschäftigt. Leider bleibt fürs Hobby zu wenig Zeit ;-(
Du kannst aber um mich zu überzeugen gern mal schnell eine C-Lösung 
meines erwähnten Asm-Projekts erstellen, die weniger Ressourcen benötigt 
;-)

A. K. schrieb:
> Jörg W. schrieb:
> Schließlich wäre danach die Gesamtheit aller daran
> Gläubigen vernichtet. ;-)
>
> Das wär ja nicht das Problem. Aber dann... (Offenbarung 16,17ff): "Und
> der siebente Engel goß aus seine Schale in die Luft; und es ging aus
> eine Stimme vom Himmel aus dem Stuhl...

Heiliger Bimbam! Wie kann man aus der kleinen (Asm-) Mücke bloß so einen 
(C-) Elefanten machen ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Moby A. schrieb:
> Wolfgang R. schrieb:
>> Inline Assembler nehme ich immer gerne, wenn ich zeitkritische
>> Komponenten in meiner C-Programmierung habe..
>
> Schau an. Bringt also Vorteile.
> Und ich nehm gleich 100% Asm, das bringt am meisten ;-)

Ich tu an mein Schnitzel gerne ein Prise Salz, damit es besser schmeckt.

Weil das Salz am Schnitzel Vorteile bringt, vertilgt Moby gleich eine
ganze Packung davon und lässt dafür das Schnitzel weg ;-)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Yalu X. schrieb:
> Ich tu an mein Schnitzel gerne ein Prise Salz, damit es besser schmeckt.
>
> Weil das Salz am Schnitzel Vorteile bringt, vertilgt Moby gleich eine
> ganze Packung davon und lässt dafür das Schnitzel weg ;-)


Die Verwendung von Asm in C-Programmen ist doch letztlich eine 
Kapitulationserklärung von C... Ohne Asm gehts dann sogar im heiligen 
C-Universum nicht. Im Ergebnis haben wir dann eine unnötig komplexe 
Lösung, von deren Schwierigkeiten Peter D. weiter oben schon ein Lied 
singen konnte.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:

> Ohne Asm gehts dann sogar im heiligen
> C-Universum nicht.

Logisch: schließlich generiert der C-Compiler selbst Assemblercode.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Die Verwendung eines Schraubendrehers ist eine Kapitulationserklärung 
vor dem Hammer?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Jörg W. schrieb:
> Moby A. schrieb:
>
>> Ohne Asm gehts dann sogar im heiligen
>> C-Universum nicht.
>
> Logisch: schließlich generiert der C-Compiler selbst Assemblercode.

... und der Assembler (zumindest der von GNU) ist in C geschrieben.

Ist es nicht schön, wie sich die Dinge gegenseitig ergänzen :)

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Logisch: schließlich generiert der C-Compiler selbst Assemblercode.

War aber natürlich nicht gemeint ;-)

Wolfgang R. schrieb:
> Die Verwendung eines Schraubendrehers ist eine
> Kapitulationserklärung vor dem Hammer?

Der Hammer hat seine Berechtigung wie der Schraubenzieher auch. 
Problematisch wirds, wenn das eine Werkzeug vorgibt, die Arbeit des 
anderen effizienter tun zu können. 'Arbeit' steht dabei für das 
Zielgebiet: Asm für einfache MSR, Hochsprache für große, rechen- und 
datenintensive Anwendungen.

Yalu X. schrieb:
> ... und der Assembler (zumindest der von GNU) ist in C geschrieben.

Das darf er. Was zum Glück nicht die Möglichkeiten schmälert, die man 
beim Asm-Programmieren später hat.

> Ist es nicht schön, wie sich die Dinge gegenseitig ergänzen :)

Das ist solange schön wie es die Dinge einfacher macht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
>> Logisch: schließlich generiert der C-Compiler selbst Assemblercode.
>
> War aber natürlich nicht gemeint ;-)

Ist mir schon klar, aber du überschätzt die Bedeutung maßlos, die
Assemblercode heutzutage noch als Ergänzung für einen Compiler hat.

Ich habe zwar vor Jahren selbst ein Stück in der avr-libc-Doku der
Integration von Assemblercode zusammen mit C-Code gewidmet, aber
schon damals war das Fazit (schon fast zu meinem Erstaunen): der
Ersatz des für das Beispiel angenommenen ATtiny13 durch einen ATtiny25
hätte all diese Verrenkungen völlig überflüssig gemacht – nicht dank
des größeren Speicherplatzes, sondern dank der besseren Features der
enthaltenen Timer, wodurch man für die beschriebene Aufgabe (die
übrigens aus einer praktischen Anfrage in einem Forum resultierte)
keine taktzyklengenaue ISR mehr benötigt hat.

Mittlerweile haben wir mehr als ein Jahrzehnt danach, und beim Entwurf
des Cortex-M war es erklärtes Ziel, dass selbst für die Laufzeitumgebung
des Controllers kein Assemblercode mehr erforderlich ist: man kann von
A - Z dort alles in C machen.  Bevor du jetzt wieder „Verschwendung“
rufst: der kleinste Cortex-M dürfte kaum mehr Chipfläche haben (und
kaum mehr kosten) als dein ATtiny13A (vom nicht-A-Typ ganz zu 
schweigen).

Nur, um dir die Relationen aufzuzeigen:
1
$ cd /usr/src
2
$ find . -name '*.[ch]' | wc -l
3
   28504
4
$ find . -name '*.S' | wc -l
5
     626

Das ist immerhin ein Betriebssystem, also Kernel für mehrere
CPU-Architekturen, Bootloader, etc. pp. sowie die zur Basis des Systems
gezählten Bibliotheken (einschließlich Systembibliothek) und 
Grundanwendungen (FreeBSD 10.x).  Gerade mal 2 % der
Sourcecode-Dateien sind Assemblercode.

Bei reinen Anwendungsprogrammen dürfte der Anteil nochmal sehr viel
kleiner sein, denn je weiter man von der Hardware weg geht, um so
weniger sind Dinge wie taktzyklengenaues Arbeiten oder direktes
Herumfummeln an CPU-Registern von Belang.

: Bearbeitet durch Moderator
von P. M. (o-o)


Lesenswert?

Moby, technisch sind deine Aussagen ja gemäss breitem Konsens völliger 
Dünnpfiff. Aber Unterhaltungswert, wie man sieht, hast du. Ist schon ein 
Phänomen, dass jeder Moby-Assembler-Thread über dutzende von Beiträgen 
geht, obwohl völlig klar ist, dass Moby's Behauptungen null Substanz 
haben.

von Icke ®. (49636b65)


Lesenswert?

P. M. schrieb:
> Ist schon ein
> Phänomen, dass jeder Moby-Assembler-Thread über dutzende von Beiträgen
> geht, obwohl völlig klar ist, dass Moby's Behauptungen null Substanz
> haben.

Schon lustig, wieviele da immer anspringen. Aber wenn er aus seiner 
Höhle partout nicht raus will...

http://www.thur.de/philo/philo5.htm

von Moby A. (moby-project) Benutzerseite


Lesenswert?

P. M. schrieb:
> obwohl völlig klar ist, dass Moby's Behauptungen null
> Substanz haben.

Schön, wenn Du das behauptest... Deine Begründung hat jedenfalls Null 
Substanz,  es gibt nämlich schlicht keine.

Ein
> Phänomen
ist meist etwas Unverstandenes ;-)


Jörg W. schrieb:
> du überschätzt die Bedeutung maßlos, die
> Assemblercode heutzutage noch als Ergänzung für einen Compiler hat.

Im Prinzip wollte ich das gar nicht einschätzen.
Assemblercode steht für sich, gewinnt gemäß obiger Statistik an 
Bedeutung und ich als AVR/Asm Bastler kann das für MSR + IOT Anwendungen 
sehr gut nachvollziehen.

> beim Entwurf
> des Cortex-M war es erklärtes Ziel, dass selbst für die Laufzeitumgebung
> des Controllers kein Assemblercode mehr erforderlich ist: man kann von A
> - Z dort alles in C machen.

Ein ARM ist ob seiner Komplexität für Asm ungeeignet und steht sowieso 
für rechen- und datenintensive Anwendungen. Nicht mein Zielgebiet!

: Bearbeitet durch User
von Uhu U. (uhu)


Lesenswert?

Wolfgang R. schrieb:
> Ich meine, ich nehme ja auch keinen Hammer, wenn ich eine Schraube
> reindrehen will. Das richtige Werkzeug zum richtigen Einsatzfall. Da ist
> mir Assembler genau so lieb wie C...
>
> Alles andere sieht mir nach Verbohrtheit aus...

Verbohrt ist doch besser, als behämmert, oder nicht?

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Icke ®. schrieb:
> Aber wenn er aus seiner
> Höhle partout nicht raus will...

Deren Adresse lautet: "Dort, wo Projekte mit möglichst geringem Aufwand 
möglichst einfach realisiert werden."

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> "Dort, wo Projekte mit möglichst geringem Aufwand möglichst einfach
> realisiert werden."

Du hast da was vergessen:

"Dort, wo triviale Projekte ...".

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> "Dort, wo triviale Projekte ..."

Manches ist jedenfalls trivialer als man denkt ;-)
Zu einem komplexeren Projekt gehören auch nicht unbedingt große 
Berechnungen und Datenmengen.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Uhu U. schrieb:
> Verbohrt ist doch besser, als behämmert, oder nicht?

Behämmert riskiert den Daumen, verbohrt das Leben.

von Robert L. (lrlr)


Lesenswert?

Ich hab genau so ein "IoT" System wie der Moby AVR
also dezentrale module die per rs485 mit einer "Zentrale" kommunzieren..
mit der Zentral kann man per IPv4 kommunizieren.. *

ICH wrüde das aber nich IoT nennen...

Solche dezentralen Sensoren die per 2-Draht (CAN, rs485, KNX/TP..) mit 
einer Zentrale kommunizieren gibt es jetz seit wann? 50 Jahren?
nur weil man dazu jetzt IoT sagt, würde das den (angelichen) Hype um ASM 
also sicher nicht erklären...

(und auch nur wenn man sie mit ASM Programmieren würde, was aber eh 
keiner Macht.., nur Moby AVR glaubt das,...)


* falls es wem interssiert: Konkret besteht ein Teil meines SmartHome 
aus
OpenHC Module (http://sourceforge.net/p/openhc/wiki/Home/) vom Jörg 
Hohensohn, Code ist OpenSource und kann man dort downloaden...

IMHO ist da sogar eine Harware-Abstraktoin drinnen, sodass andere µC 
möglich sind..

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Robert L. schrieb:
> Solche dezentralen Sensoren die per 2-Draht (CAN, rs485, KNX/TP..) mit
> einer Zentrale kommunizieren gibt es jetz seit wann? 50 Jahren?
> nur weil man dazu jetzt IoT sagt, würde das den (angelichen) Hype um ASM
> also sicher nicht erklären...

Naja Hype, das Wort wär jetzt selbst mir zu groß.
Es dürfte auch egal sein wer hier nun was IOT nennt.
Fakt ist, gemeint sind u.a. vernetzte Sensor- und Aktorknoten, wie man 
sie auch aus dem SmartHome kennt. Die haben i.d.R. eine einfache 
Hardware, weil sie nicht viel zu dirigieren, zu messen, zu verarbeiten 
und weiterzuleiten haben. Es langen sehr oft 8-Bitter, die vorzugsweise 
und im einfachsten Fall in Asm programmiert werden können.

von P. M. (o-o)


Lesenswert?

Moby A. schrieb:
> Deren Adresse lautet: "Dort, wo Projekte mit möglichst geringem Aufwand
> möglichst einfach realisiert werden."

Moby, hast du eigentlich ein einzelnes Beispiel, wo du mit Assembler 
tatsächlich besser Gefahren bist, als mit C? Und ich meine damit nicht, 
eine gefühlt supereffiziente Routine implementiert zu haben, sondern 
tatsächlich mehr aus einem Controller rausgeholt zu haben, als man mit C 
könnte.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Fakt ist, gemeint sind

Das ist nicht "Fakt", sondern das ist Deine spezifische Sichtweise. 
Annähernd alle anderen haben andere Vorstellungen davon, was IoT ist.

von P. M. (o-o)


Lesenswert?

Moby A. schrieb:
> Fakt ist, gemeint sind u.a. vernetzte Sensor- und Aktorknoten, wie man
> sie auch aus dem SmartHome kennt.



Moby A. schrieb:
> Es langen sehr oft 8-Bitter, die vorzugsweise
> und im einfachsten Fall in Asm programmiert werden können.

"Im einfachsten Fall" kann man das. Aber sicher nicht "vorzugsweise". 
Und sobald man "vorzugsweise" Assembler verwendet, ist es sicher kein 
"einfacher Fall" mehr, sondern dann, wenn der Controller bis unter die 
Decke voll und ausgelastet ist. Dann sollte man sich aber generell 
fragen, warum man sich solche Krämpfe antut um 50 Cent für einen 
grösseren Controller zu sparen...

von Moby A. (moby-project) Benutzerseite


Lesenswert?

P. M. schrieb:
> Moby, hast du eigentlich ein einzelnes Beispiel, wo du mit Assembler
> tatsächlich besser Gefahren bist, als mit C? Und ich meine damit nicht,
> eine gefühlt supereffiziente Routine implementiert zu haben, sondern
> tatsächlich mehr aus einem Controller rausgeholt zu haben, als man mit C
> könnte.

Das zitierte Programmbeispiel steht nicht umsonst in der 
Projektesammlung... Lass da noch ein paar funktionelle Anforderungen 
hinzukommen und schwupps schauts mit C mangels Platz schlecht aus und 
ein größerer Controller wird fällig. Denn

Peter D. schrieb:
> Im Schnitt sind daher C-Programme etwa 10..50% größer

Das andere ist dann natürlich die erzielbare Performance. So kann sich 
der Asm-Programmierer bei geschickter Nutzung seiner Möglichkeiten bei 
gegebener Taktfrequenz z.B. mehr und längere Interrupts leisten.

Natürlich lässt sich alles nach wie vor auch ineffizienter in C lösen. 
Einfach Controller eine Nummer größer nehmen! Die Taktfrequenz erhöhen! 
Einfach auf ARM und 32 Bit umsteigen! Wohin die Mentalität führt sieht 
man bei PC-Software. Springender Punkt aber werden in der Industrie die 
Kosten sein. Wenn Asm dort an Bedeutung gewinnt wird das damit schon in 
irgendeiner positiven Beziehung stehen.

von Uhu U. (uhu)


Lesenswert?

Moby A. schrieb:
> Es dürfte auch egal sein wer hier nun was IOT nennt.

IoT = Illuminates of Thanateros

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Das ist nicht "Fakt", sondern das ist Deine spezifische Sichtweise.
> Annähernd alle anderen haben andere Vorstellungen davon, was IoT ist.

Tatsächlich? Das ist allgemeiner Konsens? In einer Welt die 
diesbezüglich noch ganz am Anfang steht? Sehr mutig! Mit "meiner 
spezifischen Sichtweise" lassen sich alle Anforderungen an ein IOT Gerät 
genauso lösen, vor allem aber schon heute.

P. M. schrieb:
> 50 Cent für einen
> grösseren Controller

... können bei entsprechenden Stückzahlen sehr schmerzhaft ins Gewicht 
fallen. Wenn dann nur durchschnittliche C++ Entwickler am Projekt sitzen 
umso mehr, wenn es viel einfacher in Asm gelöst sein könnte.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Mit "meiner spezifischen Sichtweise" lassen sich alle Anforderungen an
> ein IOT Gerät genauso lösen, vor allem aber schon heute.

Mit Deiner spezifischen Sichtweise ist praktisch alles IoT, was 
irgendwie einen µC enthält. Damit ist IoT ein Blubberbegriff, der kaum 
mehr aussagt als "funktioniert mit Strom".

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Rufus Τ. F. schrieb:
> Mit Deiner spezifischen Sichtweise ist praktisch alles IoT, was
> irgendwie einen µC enthält. Damit ist IoT ein Blubberbegriff, der kaum
> mehr aussagt als "funktioniert mit Strom".

Das ist doch Quatsch.

IOT besagt, daß

- ein Gerät Verbindung zum Internet hat
- Daten aus dem Internet empfangen kann
- Daten ins Internet senden kann (z.B. die berüchtigte Bestellung des 
Kühlschranks)

: Bearbeitet durch User
von Uhu U. (uhu)


Lesenswert?

Moby A. schrieb:
> Lass da noch ein paar funktionelle Anforderungen
> hinzukommen und schwupps schauts mit C mangels Platz schlecht aus und
> ein größerer Controller wird fällig.

Bei einer Stückzahl von 100 Millionen macht eine Verteuerung pro Stück 
von einem Cent eine Million Piepen aus - dafür kann man sich natürlich 
schon überlegen, ob eine handzisilierte ASM-Software günstiger kommt.

Bei kleineren Stückzahlen müsste man schon einen Billigheimer von 
Programmierer finden, oder einen in Gefangenschaft mit Zwangsarbeit 
halten. Eventuell findet man ja in Saudi Arabien oder in Katar die 
passende Geschäftsform, um das durchzuziehen.

Bei einer Auflage < 100.000 Stück braucht man neben den 70 Jungfrauen 
eine Zugabe von mindestens 50.000 Big Macs im Idiotenhimmel als mantalen 
Lockstoff, um einen passenden Dummen zu finden, wenn man nicht ganz 
kräftig drauflegen will...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
> Ein ARM ist ob seiner Komplexität für Asm ungeeignet

So ein kleiner Cortex-M0+ ist keineswegs komplexer als ein Xmega,
und von denen behauptest du ja auch nicht, dass sie „für Asm ungeeignet“
sein.

von Mein grosses V. (vorbild)


Lesenswert?

Moby, du hast überhaupt nicht die genügende Kenntnis von der Sache, daß 
du hier mit den großen Jungs mitreden könntest. Von den Leuten, mit 
denen du hier versuchst zu debattieren, haben die meisten mit 
Assembler-Programmierung angefangen und jeder einzelne hat in seinem 
Programmiererleben mehr Codezeilen in Assembler geschrieben, als du 
jemals in deinem Leben schreiben wirst. Und weil das so ist, wissen 
diese Leute genau, wie haltlos deine ganze Argumentation ist. Was heißt 
schon Argumentation? Wenn man sich deine Beiträge durchliest, kommt man 
auf ungefähr fünf Phrasen, die du gegetsmühlenartig ständig wiederholst.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Mein grosses V. schrieb:
> auf ungefähr fünf Phrasen, die du gegetsmühlenartig ständig wiederholst.

Muß man auch. Wird zu vieles ignoriert oder einfach vergessen ;-)

> daß du hier mit den großen Jungs mitreden könntest.

Ich erstarre in Ehrfurcht.

> jeder einzelne hat in seinem
> Programmiererleben mehr Codezeilen in Assembler geschrieben, als du
> jemals in deinem Leben schreiben wirst.

Du bist ja gut informiert.
Ich habe hier (leider) oft einen ganz anderen Eindruck ;-(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Moby A. schrieb:
>> jeder einzelne hat in seinem Programmiererleben mehr Codezeilen in
>> Assembler geschrieben, als du jemals in deinem Leben schreiben wirst.
>
> Du bist ja gut informiert.

Hatten wir wohl schon hinreichend in anderen Threads diskutiert.

> Ich habe hier (leider) oft einen ganz anderen Eindruck ;-(

Im Gegensatz zu dir haben alle anderen irgendwann die Erkenntnis
gehabt, dass das einfach nur unproduktiv ist, und dass man diese
Variante der Programmierung daher für die (wenigen) Fälle aufhebt,
bei denen es wirklich so sehr drauf ankommt, dass man gewillt ist,
den Aufwand zu treiben.

Es ist doch völlig in Ordnung, wenn du als Hobbyprogrammierer für
dich zu der Auffassung gelangt bist, dass die Programmierung von
AVRs in reinem Assembler genau das ist, was dir am meisten Spaß
macht.  Allerdings solltest du das nicht zur Religion erheben und so
tun, als sei nur das die reine Lehre und alle ringsum nur zu blöd, das
zu kapieren.

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> So ein kleiner Cortex-M0+ ist keineswegs komplexer als ein Xmega

Warum tischt Du mir hier Märchen auf? Noch dazu in jener unredlichen 
Form, keine konkrete Implementierung zu nennen? Schau mal in den 
Projekten nach, wieviele Asm-Programme es dort für Xmega und wieviele 
für es für ARM einschließlich M0+ gibt... Du wirst doch nicht ernsthaft 
behaupten Asm wäre die Sprache der Wahl bei diesen 32-Bittern ;-(

Umgekehrt wurde der Xmega von Atmel sicher für C optimiert.
Das ändert aber nichts an seiner einfachen Asm-Programmierbarkeit für 
jeden Asmler, der aus den unteren AVR-Ligen kommt. Die Asm-Instruktionen 
sind weitgehend die gleichen, die Ansprache der Peripherie nicht 
grundverschieden.

Jörg W. schrieb:
> den Aufwand zu treiben

... ist bei den simplen AVRs kein sonderlich großer Mehraufwand wenn man 
es richtig macht. Dafür mit allen Freiheiten, simplen Programmiermitteln 
und einem überzeugenden Ergebnis.

> Allerdings solltest du das nicht zur Religion erheben

Da mach Dir keine Sorgen, ich bin nicht religiös.
Das ändert freilich nichts an der Einfachheit und der überzeugenden 
Codequalität einer AVR/ASM Lösung für viele viele Einsatzfälle.

> als sei nur das die reine Lehre

Die reine Lehre sollte sein: Keep it simple.

> und alle ringsum nur zu blöd, das
> zu kapieren.

Wer sich 'blöd' fühlt muß das mit sich ausmachen.
Ich würde niemals so persönlich werden, auch wenn sich selbst 'Große 
Jungs' hier desöfteren unbeherrscht wie kleine Kinder aufführen denen 
das Spielzeug streitig gemacht wird ;-)

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.