Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Assembler-Programm interpretieren (Johnny) | Informatik | Sek II | Lernvideo

Max Külshammer15:05 1.964 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 75 Zeilen
Herunterladen
  1. hallo und herzlich willkommen in diesem video wollen wir uns als erstes damit beschäftigen das wäre sampler code so nennt man gegen
  2. 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
  3. kontrollieren dass unsere annahmestellen dieser des händlers das ist eine schreibweise die für den programmierer noch halbwegs verständlich ist wenn ihr
  4. 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
  5. 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
  6. 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
  7. entsprechende programme die automatisiert aus dieser schreibweise auf die entsprechenden zahlen übersetzt und
  8. als erstes mal solltet ihr selber versuchen herauszufinden was dieses programm macht und wichtig ist dabei dass hier berücksichtigt dass es hier
  9. 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
  10. und beides zusammen dieser code und die entsprechenden eingaben einem register müsst ihr betrachten das ganze zu verstehen
  11. an dieser stelle sollte eine pause machen und sich selbst überlegen wie das programm arbeitet und was es als aufgabe vielleicht produzieren kann
  12. 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
  13. 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
  14. 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
  15. unterschiedliche sachen nur wenn das reh ist den wert null hat hält unser programm an sollte das register einen wert an der
  16. 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
  17. endlosschleife denn wenn man sich das mal genauer anschaut gibt es hier in irgend so ein dokument ihr befehl der das register 10
  18. 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
  19. angucken was hier zwischen unserem test und dem sprung zurück in diese zeile passiert ok also wenn man die bedingungen
  20. ü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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. verändert und jetzt kommen zwei ganz wichtige befehle und das sind diese beiden in kremmen und wir implementieren jetzt das
  29. register 0 das register 0 ist aber eigentlich der befehl test 10 dieser test befehl wird aber codiert
  30. ü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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. die zahl aus register 11 die zahl elf dazu das heißt wer seine 18 akkumulator und speichern diese 18 wie dann register 9
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. jetzt verändern wir wieder unsere befehle und testen jetzt 13 und addieren 13 springt zurück das heißt unsere unser register auch
  43. dass ich im moment die befehle beziehen ist das register 13 geworben und die acht register 13 10 dementsprechend strengen wir zu dieser
  44. 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
  45. wieder im register 9 und die haben wir dann eine 31 und danach werden wieder durch das implementieren der test befehl auf
  46. register 14 d.red befehl auf register 14 umgeschrieben jetzt springen nach oben und die gute nachricht ist unsere schleife geht zu ende
  47. denn in register 14 befindet sich nur der zahlenwert 0 und unser test ergibt dann nein die zahl ist nicht größer als null
  48. entsprechend gehen wir in die zahl der zwei hinbringen esther 2 dort ist der halt befehl um das programm wurde stehen sein
  49. 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
  50. 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
  51. register mit dem zahlenwerk 0 findet und die summe wird gespeichert ein register main jetzt gucken uns an dass das programm
  52. auch tatsächlich diese eigenschaft hat so wenn wir jetzt das programm durchführen
  53. 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
  54. 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
  55. zwei drei ecken gehen da wird das programm einer bestimmten geschwindigkeit die wir mit diesem schieberegler einstellen können
  56. durchgeführt werden wenn man einen computer startet anspricht dass diese reset button und das bedeutet der adressbuchs wird auf null gesetzt der
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. zwischenergebnis 7 in registern befindet jetzt kommen die beiden wichtigen stellen nämlich in dieser zeile wurde unser test befehl verändert im moment
  63. steht er noch die zahl 6010 der als test 10 interpretiert wird und nachdem wir in kommentieren haben wir jetzt die zahl 6011 geschrieben
  64. 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
  65. 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
  66. 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
  67. 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
  68. test und der addition befehl implementieren so dass sie andere register zu unserem ergebnis hinzufügen und andere register testen
  69. 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
  70. lauf und können nach und noch sehen wie jetzt zwischen summen gebildet werden und gespeichert werden
  71. 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
  72. und ein extra schleifen durchgang noch ein letztes mal die zahl in speichern entsprechend die acht aufaddieren das ergebnis speichern
  73. jetzt werden die befehle auf 14 geändert und hier oben scheiterte test und das programm hält an
  74. ich hoffe die erklärung zu dem programm waren nach vollständig nachvollziehbar und verständlich ansonsten hinterlasst eine frage in den
  75. kommentaren bis dann

Zum Nachlesen