Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Assembler-Programm interpretieren (Johnny) | Informatik | Sek II | Lernvideo
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 75 Zeilen
- hallo und herzlich willkommen in diesem video wollen wir uns als erstes damit beschäftigen das wäre sampler code so nennt man gegen
- die beiden spalten eines vorgegebenen johnny programms verstehen und im zweiten teil wären wir dann das programm auch tatsächlich laufen lassen und dann
- kontrollieren dass unsere annahmestellen dieser des händlers das ist eine schreibweise die für den programmierer noch halbwegs verständlich ist wenn ihr
- euch die anderen johnny videos angeguckt habe dann wisst ihr was so ein makro befehl wie take oder save macht und lässt sich dann etwas leichter schreiben
- als mit den reinen daten denn überall dort wo wir test 10 schreiben würde dann unser übersetzungsprogramm hingehen und tatsächlich die zahl 6010
- in den speicher schreiben und damit würden sich merken müssen welche tausender stelle zu welchen befehl gehört gibt es diese sender sprache und
- entsprechende programme die automatisiert aus dieser schreibweise auf die entsprechenden zahlen übersetzt und
- als erstes mal solltet ihr selber versuchen herauszufinden was dieses programm macht und wichtig ist dabei dass hier berücksichtigt dass es hier
- eine vorgegebene speicher belegung gibt und zwar haben wir hier in den registern die von 10 bis 14 uhr rät sind schon einige zahlen stehen
- und beides zusammen dieser code und die entsprechenden eingaben einem register müsst ihr betrachten das ganze zu verstehen
- an dieser stelle sollte eine pause machen und sich selbst überlegen wie das programm arbeitet und was es als aufgabe vielleicht produzieren kann
- okay er hat jetzt gelegenheit euch selbst mit dem programm zu beschäftigen und hoffentlich herausgefunden was es tatsächlich tun und wir werden jetzt
- auch entsprechende überlegungen anstellen als erstes mal bei uns mal an wie dieses sandler programm arbeitet und als erstes mal scheint das so zu sein
- dass wir hier das register 10 überprüfen und je nachdem ob dieser test erfolgreich ist auf eine zahl chorsatz nun mal kleiner als das was hier in
- unterschiedliche sachen nur wenn das reh ist den wert null hat hält unser programm an sollte das register einen wert an der
- größer als alles springt es in den unteren teil und macht irgendwelche sachen entsprechend zurück und das scheint erstmal so zu sein wie eine
- endlosschleife denn wenn man sich das mal genauer anschaut gibt es hier in irgend so ein dokument ihr befehl der das register 10
- dokumentiert man könnte jetzt auf den gedanken kommen das dienstprogramm eine endlosschleife gibt das ist aber falsch das werden wir gleich sehen wenn wir uns
- angucken was hier zwischen unserem test und dem sprung zurück in diese zeile passiert ok also wenn man die bedingungen
- überprüft wird wenn die bedingungen erfüllt es aber ein wert größer als null vorhandenes gehen wir über den job drei befehl zu diesem
- tag 9 arbeiten hier ein haufen befehle hab und sprengen dann wieder zurück das ist das grundsätzliche und jetzt machen wir mal einen durchlauf und gucken uns
- an was passiert test 10 wurde im moment register 10 überprüfen da befindet sich die sieben drin und dafür mache ich jetzt mal und im moment testen wir
- register ziehen und wir würden jetzt sehen ja die zahl der innen- und halten das diskurs als 0 und könnten jetzt direkt in das dritte register gehen
- dort steht der befehl tag 9 was dem schritt passiert ist ist dass die zahl die im register neuen erster die werde ich jetzt als farbig markieren
- das ist nämlich auch ein sehr wichtiges register dass hier die null die dort gespeichert es in die alkohol gehört der nächste schritt ist wie addieren das
- register 10 das heißt in der arm würde sich jetzt der wert 7 befinden und als nächstes kommt der befehl safe 9
- das heißt die sieben die sich im moment im akkumulator befindet würde dann im register neu geschrieben werden das heißt hier hätte sich der wert auf 7
- verändert und jetzt kommen zwei ganz wichtige befehle und das sind diese beiden in kremmen und wir implementieren jetzt das
- register 0 das register 0 ist aber eigentlich der befehl test 10 dieser test befehl wird aber codiert
- über die zahl 6010 und durch das implementieren wird jetzt hier aus eine 6011 und das haar ist er habe den befehl gerade verändert in
- teste 11 und diese zeile instrument 4 wurde den at befehl nehmen und würde aus der 2010 eine 2011 machen und entsprechend wird das interpretiert
- werden auch als satire 11 und das ist der grund dafür dass wir nicht in der endlosschleife kommen weil wenn ich mich jetzt es bedingung nicht mehr auf das
- register zehn sondern im nächsten durchlauf auf register 11 beziehen und das heißt dem fall wurde jetzt in dem durchlauf register 11 betrachtet werden
- in dem zug der zahlen wir helfen das was damals wirklich zufall und wenn wir jetzt gucken befindet sich eine zahl die größer als null ist im
- register elf dann ist die antwort ja wir sprechen uns seine drei nehmen uns die alte zahl auf register 9 nämlich die sieben in den akkumulator addieren jetzt
- die zahl aus register 11 die zahl elf dazu das heißt wer seine 18 akkumulator und speichern diese 18 wie dann register 9
- das heißt nach diesen durchlauf sind wir dann so weit dass wir hier die 18 im register neuen stehen haben und jetzt kommt wieder die beiden
- instrument befehle die unseren test und unsere net befehl verändern und in diesem fall würde dann test 12 und 12 dadurch erzielt werden dass wir die zahl
- von 6011 auf 6012 und von 2011 auf 2012 erhöhen samt 0 lässt uns wieder hoch springen und jetzt im nächsten durchlauf testen
- register 12 das heißt es sind nicht mehr hier diesem register in dem die zahl fünf gespeichert ist 5 ist größer als null gehen hier in job drei holen uns
- die 18 aus register 9 addieren die fünf aus register 12 so dass wenn der 23 im akkumulator haben speichern das ergebnis dann im register 9 und haben dort nur 23
- jetzt verändern wir wieder unsere befehle und testen jetzt 13 und addieren 13 springt zurück das heißt unsere unser register auch
- dass ich im moment die befehle beziehen ist das register 13 geworben und die acht register 13 10 dementsprechend strengen wir zu dieser
- zeile holen die 23 in den akkumulator addieren den wert auf register 13 das ist eine 8 soll es marco matte akkumulator wer 39 speicher das ergebnis
- wieder im register 9 und die haben wir dann eine 31 und danach werden wieder durch das implementieren der test befehl auf
- register 14 d.red befehl auf register 14 umgeschrieben jetzt springen nach oben und die gute nachricht ist unsere schleife geht zu ende
- denn in register 14 befindet sich nur der zahlenwert 0 und unser test ergibt dann nein die zahl ist nicht größer als null
- entsprechend gehen wir in die zahl der zwei hinbringen esther 2 dort ist der halt befehl um das programm wurde stehen sein
- und wenn man genau aufgepasst hat kann man jetzt erkennen dass die zahl 31 die summe von den zahlen in den registern 10 11 12 und 13 ist kann man
- auch noch mal überprüfen 7 + 11 + 5 + 8 ergibt 31 das heißt dieses programm radiert alle gäste einträge ab register 10 solange auf ist es zum ersten mal ein
- register mit dem zahlenwerk 0 findet und die summe wird gespeichert ein register main jetzt gucken uns an dass das programm
- auch tatsächlich diese eigenschaft hat so wenn wir jetzt das programm durchführen
- dann sollten wir genau die schritte die wir eben gesehen haben auch wieder erkennen und am anfang die ich schritt für schritt ein durchgang durch und
- danach lassen das programm ablaufen mit diesem befehl können wir jeweils ein makro befehl weit durch den kot gehen dann werden wir auf das symbol mit den
- zwei drei ecken gehen da wird das programm einer bestimmten geschwindigkeit die wir mit diesem schieberegler einstellen können
- durchgeführt werden wenn man einen computer startet anspricht dass diese reset button und das bedeutet der adressbuchs wird auf null gesetzt der
- daten aus offenen der akkumulator gehen wir schritt für schritt durch und gucken uns anders das vorhergesagte hoffentlich auch passiert also als erstes mal wird
- es zehn ausgeführt und wir sehen dass dann weil der test erfolgreich ist der befehl jump drei als nächstes ausgeführt wird dann sprechen wir auch entsprechend
- in das register 3 und haben dort den befehl tag 9 und sobald wir den durchführen sollte jetzt die zahl wohl die sich im register
- 9 befindet in den akkumulator geladen werden das ist auch passiert jetzt wird der befehle ausgeführt und das heißt die sieben aus dem akkumulator
- wirkt schon die 7 aus register ziehen wurde makulatur hinzugefügt als nächstes speichern wir das ganze register 9 wir sehen auch dass sich jetzt unser
- zwischenergebnis 7 in registern befindet jetzt kommen die beiden wichtigen stellen nämlich in dieser zeile wurde unser test befehl verändert im moment
- steht er noch die zahl 6010 der als test 10 interpretiert wird und nachdem wir in kommentieren haben wir jetzt die zahl 6011 geschrieben
- jetzt test 11 interpretiert wird und als nächstes verändern wir auch den befehl der addiert in zeile register 4 und sehen aus 2010 bis 2011 geworden und
- wer tieren register 11 10 sorgt dafür dass wir wieder an den beginn insidern oder kommen und er zu diesen test 11 befehl durchführen und jetzt stellt
- mittlere geschwindigkeit und lasst das programm des zu ende laufen und wir können dann nach und nach sehen wir jetzt mit den weiteren durchläufen immer
- wieder das register 9 in den akkumulator beladen wird ein anderes register dazu addiert wird das ergebnis gespeichert wird und sich bei jedem durchlauf der
- test und der addition befehl implementieren so dass sie andere register zu unserem ergebnis hinzufügen und andere register testen
- und erst wenn wir hier test 14 stehen haben weil wir dann das register 14 mit der null haben sollte das programm anhalten dann lassen wir das programm
- lauf und können nach und noch sehen wie jetzt zwischen summen gebildet werden und gespeichert werden
- es fehle verändert werden und so mehrere durchläufe genommen werden jetzt die dritte zahl hinzugefügt so aber 23 sind gespeichert befehle ändern befehl ändern
- und ein extra schleifen durchgang noch ein letztes mal die zahl in speichern entsprechend die acht aufaddieren das ergebnis speichern
- jetzt werden die befehle auf 14 geändert und hier oben scheiterte test und das programm hält an
- ich hoffe die erklärung zu dem programm waren nach vollständig nachvollziehbar und verständlich ansonsten hinterlasst eine frage in den
- kommentaren bis dann
Zum Nachlesen
OpcodeEin spezielles Programm, der Assembler, erzeugt Maschinencode, indem es im Wesentlichen die Mnemonics durch ihre jeweiligen Opcodes ersetzt. Die meisten …
MaschinenspracheMit einem Assembler: Assemblersprachen formulieren die Prozessorbefehle des Maschinencodes als Mnemonics in einer einfachen Syntax. Dieser Quelltext wird …
Anweisung (Programmierung)Anweisungen sind üblicherweise Zuweisungen, Kontrollanweisungen (wie Sprünge, Schleifen und bedingte Anweisungen) und Prozeduraufrufe. Abhängig von der …
Schleife (Programmierung)Eine Schleife (auch „Wiederholung“ oder englisch loop) ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den …