ensiso Geschrieben 29. November 2019 Teilen Geschrieben 29. November 2019 (bearbeitet) Hallo Ich bin neu hier und habe mich angemeldet, weil ich ein Problem mit Assembler habe. Ich komme aus Baden-Württemberg und besuche derzeit ein berufliches Gymnasium mit Profilfach Informatik. Im April 2020 schreibe ich Abitur und werde im September 2020 eine Ausbildung als FISI beginnen. Zu meinem Problem: im Unterricht haben wir die Programmierung in Assembler in Verbindung mit dem Mikrocontroller NXP 80C552 der 8051-Familie behandelt. In der gesamten Klasse sind gerade einmal 4 Personen, die den Stoff verstanden haben. Der Rest, einschließlich mir, versteht nur Bahnhof. Nun bin ich auf der Suche nach hilfreichen Links/ Büchern/ etc, die mir das Thema verständlich näherbringen können. Ich habe selbst schon gegoogelt, werde aber kaum fündig. Da das Thema abiturrelevant ist, muss ich den Stoff auf jeden Fall beherrschen. Unser Lehrer ist in diesem Fall auch keine große Hilfe, da er einfach nicht erklären kann. Außerdem kann ich mir vorstellen, dass mir Assembler in meiner Ausbildung und weiteren beruflichen Laufbahn mit ziemlicher Sicherheit wieder begegnen wird. Hoffe ihr könnt mir weiterhelfen Bearbeitet 29. November 2019 von ensiso Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tkreutz2 Geschrieben 30. November 2019 Teilen Geschrieben 30. November 2019 (bearbeitet) Hi, na das Forum hier ist weniger ein Forum für Informatik- oder Elektrotechnik, obwohl wohl auch Leute hier vertreten sind, sondern mehr für Leute, die einen der vorgenannten Ausbildungsberufe machen wollen. Ich denke nicht, dass Assembler Programmierung heute noch zu den Standard-Themen in der Ausbildung gehört. Auch Firmen die hardwarenah entwickeln und eigene Komponenten bauen, greifen eher auf C zu. Ich habe im Jahr 1987 einen Atari ST gehabt, also die früheren Homecomputer, dort war Assembler Programmierung für bestimmte Bereiche noch ein Thema. Die Bücher dazu sind aber nahezu vom Markt komplett verschwunden. Man findet sie noch in Bibliotheken oder im Gebrauchtmarkt. Hintergrund ist einfach der, dass bereits zu der Zeit, als ich an der FH war (1997) Roboter- und Mikrokontroller in C (z.B. interaktiv C - spezielle Version für gleichzeitige Signalverarbeitung) programmiert werden konnten. Die Signalverarbeitung war ausreichend schnell und die Mikrocontroller sind heute auch leistungsfähiger. Ich vermute mal, dass man eher ein Buch zu Mikrocontroller heute finden wird, als zur Assembler Programmierung. Sogar für den Lego Mindstorms Roboter gibt es die Möglichkeit ein Programm in Java zu entwickeln nach einem Firmware Mod. Und das wird auf dem Brick immer noch schnell genug ausgeführt, um Mindcubing zu betreiben. Da bis jetzt niemand geantwortet hat, denke ich mal, dass Du vermutlich eher in einem Mikrocontroller Forum Unterstützung finden würdest. Ein Buch das mir zu Zeiten des Atari ST gut gefallen hat war von Peter Wollschläger "Das Atari ST Assembler Buch". Allerdings hatte der Atari einen Motorola 68000 Prozessor und das ist eine komplett andere Architektur. Aber für grundlegendes Verständnis ist es vielleicht hilfreich. Dann habe ich noch ein verstaubtes Buch aus dem Addison Wesley Verlag hier stehen "Das Assembler-Buch". Die Bücher von Addison Wesley (den Verlag gibt es nicht mehr), fand ich immer gut geschrieben. Heute dürfte es keinen Markt für solche Bücher geben. Aber auf dem Gebrauchtmarkt dürfte man solche Bücher für relativ kleines Geld finden oder mit Glück noch in der örtlichen größeren Bibliothek. Trotzdem Viel Erfolg ! Gruß Thorsten Bearbeitet 30. November 2019 von tkreutz2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Epigenom Geschrieben 30. November 2019 Teilen Geschrieben 30. November 2019 Hallo zusammen, @ensiso ich versteh nicht so ganz was du nicht verstehst. Wenn ich google komme ich direkt auf Seiten wie diese https://www.ipd.kit.edu/mitarbeiter/buchmann/microcontroller/assembler.htm http://www.ne555.at/2014/index.php/8051-mikrocontrollertechnik/301-programmentwicklung-auf-dem-pc-assemblerprogrammierung Ist zwar grottiges Design, der erste Link aber man kann fürs bessere lesen den Text ja in ein Dokument kopieren. Geht es dir um ein generelles Verständnis was Assembler ist oder speziell um eine Aufgabe in Assembler? Grüße Epi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ensiso Geschrieben 1. Dezember 2019 Autor Teilen Geschrieben 1. Dezember 2019 (bearbeitet) @tkreutz2 danke für deinen Tipp mit dem Buch vom Addison Wesley Verlag. Ich habe es gebraucht im Internet gefunden und direkt bestellt ^^. Mal sehen ob es mir weiterhilft. Gruß ensiso Bearbeitet 1. Dezember 2019 von ensiso Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ensiso Geschrieben 1. Dezember 2019 Autor Teilen Geschrieben 1. Dezember 2019 @Epigenom vielen Dank für deine Links, sie haben etwas Licht ins Dunkel gebracht. Mir geht es um das allgemeine Verständnis von Assembler und wie man an Aufgabenstellungen herangeht. Eine Beispielaufgabe aus der Abiturprüfung von 2017/2018 habe ich angehängt. Auch wenn jede Aufgabe individuell ist gibt es doch sicherlich so etwas wie einen "Fahrplan" zur Herangehensweise, der im Grunde genommen immer gleich ist und dann halt jeweils auf die Aufgabe angepasst werden muss. Gruß ensiso Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Epigenom Geschrieben 1. Dezember 2019 Teilen Geschrieben 1. Dezember 2019 (bearbeitet) Hallo ensiso, ich denke man muss unterscheiden zwischen - Programmiersprache - Programme um damit zu arbeiten, zu programmieren - programmierende Inhalte D.h. ich bekomme, wie in deinem Fall die Sprache Assembler vorgegeben. Dafür benötige ich die Werkzeuge, die ihr hoffentlich von den Lehrkräften auch vorgegeben bekommt. Dann sollte es möglich sein damit einfach das typische "Hello World" bzw. etwas vergleichbares, auszugeben. Dann kommt der schwierige Teil, dass ich eine Aufgabe mit der Programmiersprache bewältigen muss. Wenn dafür dann höhere Mathematik, Algorithmen usw nötig sind, hat das erstmal nix mit der gewälten Sprache und den Programmen zu tun. Das gleiche gilt auch wenn ich grundsätzlich die Entwicklungsumgebung Beispiel Eclipse, zum Javaprogrammieren nicht bedienen kann. So habe ich den "Hello World" Beispielcode vor mir, in feinstem Java und weiß nicht wohin damit. Wie sieht die Sache nun bei dir und Assembler und der Prüfungsaufgabe aus? Fragen: Verstehst du die Assemblerbefehle und könntest du unabhängig davon, wie man daraus ein Programm macht, eine Befehlsabfolge schreiben, für eine einfache Aufgabe? Wenn ja, dann wäre Assembler nicht dein Problem. Hast du eine Programmierumgebung/Entwicklungsumgebung und kannst diese bedienen und verstehen? Wenn ja, dann wäre das Programmerstellen nicht dein Problem. Verstehst du wie man die gestellte Aufgabe von der Logik her löst und könntest du einen logischen Lösungsweg z.B. mathematisch beschreiben? Wenn ja, wäre das Aufgabenverständnis nicht dein Problem. Jetzt musst du sagen wo es hakt oder was nicht vorhanden ist. Grüße Epi P.S: Ich hänge dir hier noch Links dran, die hoffentlich weiter Licht ins Dunkel bringen. http://www.rathlev-home.de/mc/mctools.html#Intro http://www.self8051.de/alle_befehle%2C13290.html Ein Pdf zum Thema - schau mal ab Kapitel 3.6, auf Seite 13 http://avr-asm-download.de/beginner_de.pdf Bearbeitet 1. Dezember 2019 von Epigenom Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ensiso Geschrieben 1. Dezember 2019 Autor Teilen Geschrieben 1. Dezember 2019 Moin Epi, eine Liste mit allen Assemblerbefehlen und was sie jeweils machen haben wir bekommen und dürfen wir auch benutzen. Das Befehlsverständnis ist also nicht das Problem. Die Programmierumgebung verstehe ich auch und bei den meisten Aufgaben kann ich auch nachvollziehen, was das Programm machen soll. An der Umsetzung hapert es dann. Ich habe keine Ahnung, wie ich die Befehle einsetzen soll, um die Aufgabe zu erfüllen und wann ich welchen Befehl verwenden muss. Gruß ensiso Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 1. Dezember 2019 Teilen Geschrieben 1. Dezember 2019 (bearbeitet) @ensiso: Deine Beispielaufgabe aus der Abiturprüfung ist aber keine Assember-Aufgabe, sondern eine Aufgabe für eine SPS-Programmierung. Das ist ein Himmelweiter unterschied, da SPS-Programmierung rein gar nichts mit Assembler zu tun hat. Bearbeitet 1. Dezember 2019 von Whiz-zarD Hab etwas verwechselt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ensiso Geschrieben 1. Dezember 2019 Autor Teilen Geschrieben 1. Dezember 2019 (bearbeitet) @Whiz-zarD SPS-Programmierung haben wir nie behandelt. Die Abituraufgaben beziehen sich immer auf Assembler und die Musterlösungen sind ebenfalls alle in Assembler. Man kann die Aufgaben auch in C lösen, aber das kann ich nicht und C ist auch nicht im Lehrplan enthalten. Bearbeitet 1. Dezember 2019 von ensiso Alles klar. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 1. Dezember 2019 Teilen Geschrieben 1. Dezember 2019 Bevor ich mir Assembler antue, würde ich es mit C probieren. C abstrahiert ja Assember auf eine verständlichere Art- und Weise und im beruflichen Alltag als Softwareentwickler wirst du auch später Assember nicht zu Gesicht bekommen. Es sei denn, du entwickelst Firmwares. Dann wäre Wissen über Assembler vom Vorteil aber sonst benötigst du später Assember überhaupt nicht mehr. Da ist Wissen über C schon wertvoller, da die Syntax vieler Sprachen sich an C orientiert haben. Davon ab, wieso lernt man auf einer allgemeinbildenen Schule Assember, was dann noch Prüfungsrelevant ist? Das ist absoluter Bullshit. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 2. Dezember 2019 Teilen Geschrieben 2. Dezember 2019 @Whiz-zarD vor 10 Stunden schrieb Whiz-zarD: wieso lernt man auf einer allgemeinbildenen Schule Assember, was dann noch Prüfungsrelevant ist? Das ist absoluter Bullshit. stand doch schon da: Am 29.11.2019 um 16:33 schrieb ensiso: Ich komme aus Baden-Württemberg ? Manchmal ist die Bildungshoheit der Länder ähm - potentialbehaftet? Albi reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Epigenom Geschrieben 2. Dezember 2019 Teilen Geschrieben 2. Dezember 2019 (bearbeitet) Hallo ensiso, ich kann dir leider kein Beispiel liefern, da ich zuletzt mit dem C64 Assembler programmiert habe ? Also ist schon Jahrzehnte her. Aber in diesem Forum geht es auch um die von dir geschilderten Probleme: https://www.mikrocontroller.net/topic/458672 Im Grunde muss man den verlangten Ablauf des Blinkens verstehen und dann den Ablauf schreiben. Wie schreibe ich eine Pause von 150 ms bzw. welche Timer habe ich und welchen wähle ich. Da kann ich natürlich nix dazu sagen, weil ich in der Sprache und der Logik nicht drin bin. Nachdem dir Assembler und die Entwicklungsumgebung klar ist, würde ich mir einen suchen, der mir speziell an der gestellten Aufgabe hilft. Wenn ich es richtig verstehe müsst ihr den Assemblercode auch nicht wirklich auf den Mikrocontroller NXP 80C552 draufspielen, sondern nur das Programm schreiben, dass dann dort die verlangte Funktion erfüllt, wenn der Schalter z.B. P1.0 umgelegt wird. Grüße Epi Bearbeitet 2. Dezember 2019 von Epigenom Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ensiso Geschrieben 3. Dezember 2019 Autor Teilen Geschrieben 3. Dezember 2019 Hallo Epi, Erstmal vielen Dank für die Mühe, die du dir gibst Das Problem liegt darin, dass ich keine Person finde, die mir die Thematik erklären könnte. Und mein Lehrer kann es mir einfach nicht verständlich verklickern ? Grüße ensiso Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tkreutz2 Geschrieben 9. Dezember 2019 Teilen Geschrieben 9. Dezember 2019 Hallo, hast Du denn Hardware und eine Entwicklungsgebung auch zu Hause zum Üben ? Ich würde empfehlen, sich vielleicht einen Pi + Arduino zu holen und ein paar Workshops durchzuarbeiten z.B. https://michaelsarduino.blogspot.com/2015/07/arduino-in-assembler-programmieren.html Da Assembler ja hardwarenahe Entwicklung bedeutet, hilft es vielleicht beim Verständnis, wenn man mit dem Microcontroller auch ein paar einfache Schaltungen versucht zu realisieren. Es gibt auch Lernbausätze für Kids - die helfen vielleicht auch beim Grundverständnis und Experimentieren fürs Abi. https://www.conrad.de/de/p/franzis-verlag-67084-mach-s-einfach-maker-kit-fuer-arduino-maker-kit-ab-14-jahre-2182210.html Gruß Thorsten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.