Assemblerprojekte des Schuljahres 2017/18 JG 12 in Hartha history menue Letztmalig dran rumgefummelt: 16.03.18 15:25:42

LC-80-Programmierung

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Informatik-Profi-Wissen

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Z80-Innenleben

Z80-Innenleben im CorelDraw 11-Format zum Download

Programmzustandstabelle Z80 vollständig mit Register sowie Hauptspeicher

Programmzustandstabelle Z80 vollständig zum Download im CoreDraw 11.0-Format

Z80-ASide-Assembler

Der LC-80 Emulator zum direkten Starten

 

... auch andere mögen den LC 80 immer noch :-)

... Volker Pohler und der LC-80

 

Segment-Decodierung und Zeichentabelle

 
1. Projektidee und daraus resultierende Aufgabe
2. Aufgabenstellung 2017/18 Gymnasium Hartha
3. Lösungen per 2.2.2018
4. Verwandte Projekte

1. Grundidee des Projektes history menue scroll up

Entscheidender Impuls war, wie schon so oft, eine Problemklasse in die Arbeitsgruppen zu bringen, die so vorher bei uns noch nicht gelöst worden ist. Und vor allem: auch Programmierprofis müssen noch ein Betätigungsfeld vorfinden, auf welchem sie sich wie alle anderen bewähren müssen. Entscheidend für die Informatikprojekte ist aber auch der Ansatz, keine Projekte für den Mülleimer zu produzieren. Wir schaffen uns kleine Werkzeuge, welche später einmal das Leben leichter machen sollen.
Hart, diese Strecke - zu beneiden ist hier keiner - hat er (sukzessive sie) sich doch verpflichtet, mehr als alle anderen zu tun. Und nun iss' es so weit: allein die schiere Vielfalt zeigt dem Unwissendem schon auf, in wie vielen Themenbereichen man sich auskennen sollte, um die Aufgaben wirklich erfolgreich zu beenden. Hier ein kleiner Überblick der Wissensbereiche , in welchen man fit sein sollte, bevor man an die Programmierung von Prozessoren heran geht.

Werkzeuge zur Assemblerprogrammierung

The Mother of Tetraed Codes - der HEX-Code

Struktogramme und Ablaufpläne selbst gemacht ...

ASide-Assembler

"The Mother of invention" - ach nee - das war was anderes (nämlich Frank Zappa) - oder isses am Schluss doch nicht so falsch? Fazit: fast alle Unis weltweit verwenden zur Grundausbildung in der Steuerungstechnik neben diversen Microcontrollern sowie dem Urvater der wichtigen Intel-Prozessoren (8086) sehr gern den Z80-Prozessor. Er steht wie kaum ein anderes Bauelement auf einem einsamen Podest: 40 Jahre alt und immer noch nicht müde - viele Einchipcontroller sind an dieser Zeit an ihm vorbei - anschließend aber sang- und klanglos untergegangen ;-)

Z80-Prozessorsystem

Einige Aufgabenbereiche haben auch die Programmierung externer Bausteine  mit im Rahmen enthalten. So wird eine Ampelsteuerung über den PIO realisiert, welcher die Anzeigesignale zwischenspeichert, während die Zeitsteuerung von einem CTC via Interrupt im Mode 2 vorgenommen wird. Den PIO programmieren wir hier nur im einfachsten Fall: Byte-Ausgabe, da ist nichts weiter zu beachten - das funktioniert mit einem einzigen Steuerbyte sofort - danach werden nur noch Daten geschoben.

Z80-PIO

Die Nutzung des CTC ist in den aufgezeigten Beispielen schon komplexer - zwar könnte man auch im Interrupt-Mode 0 arbeiten, da nur eine einzige Interrupt-Service-Routine bedient werden muss. Wir reizen einfach mal die Möglichkeiten dieses Bausteines aus und zeigen, was in ihm steckt. Per Software werden die Zeitimpulse gestreckt und durch Vergleich mit möglichen aktuellen Ampelzuständen wird der nächste Zustand geschalten. Unser Lauflichtprojekt arbeit ganz ähnlich, nur müssen sich hier die Zeitimpulse via Software in der Länge regulieren lassen.

Z80-CTC

Funktional ist dieser Baustein bereits Geschichte - abgelöst durch hochfrequent arbeitende serielle Systeme (... USB (... also der Universal Serial BUS) kennt zwischenzeitlich jeder).
Schnelle Datenübertagung großer und einheitlicher Blöcke von Daten im Bereich des Hauptspeichers eines Rechners hat man bis dato mittels eines DMA-Controllers erledigt - das übernimmt heute als Quasi-Funktion die PIA innerhalb ders KIO-Bausteines.

Z80-DMA

... und das ist nun die Zukunft des modernen Z80-Systems - die CPU ist immer noch eine autonome Größe und die Peripherie eines modernen Steuerrechners wird verpackt in modernster Technologie (CMOS, was mit Moos überhaupt nix zu tun hat!) aufgrund der heute möglichen Höchst-Integration auf einen Chip zusammen geschoben. Der Clou dabei ist, dass die Einzelbausteine immer noch genau so programmiert werden, wie die ersten externen Bausteine. Kleiner Wermuthstropfen - das Adresskonzept ist jetzt "starr" - für Neuentwicklungen kein Problem, aber bestehende Betriebssysteme hier hinein-zuschreiben, ist sehr komplex!

Z80-KIO

Ohne genaue Kenntnis des hardwaremäßigen Aufbaus eines Computers läuft gar nix. Grundsätzlich sind seit Ende der 40-er Jahre Computer relativ identisch aufgebaut - verfügen über eine Zentraleinheit, Hauptspeicher, ein Taktsystem. periphere Bausteine zur Ein- und Ausgabe und transportieren Daten, Adressen sowie Steuersignale auf dafür vorgesehenen Bussystemen. Die Dinger sind nur unendlich viel kleiner und schneller geworden - nur darin stecken die unendlichen Möglichkeiten. Außerdem wurde die Schiene Nummer zwei der Computertechnik wesentlich weiter entwickelt: Die Software. Standbein Nummer drei wird gerade die universelle Vernetzung informationsverabeitender Maschinen.

... und so funktioniert ein Computer

Der LC-80 ist nun die heilige Kuh, auf welcher all unsere Projekte gefahren werden sollen. Bestückt ist er hardwaremäßig eher minimalistisch und doch ist alles vorhanden, um kleine Steuerungsaufgaben zu lösen oder auf einem KByte RAM viel Sinnvolles mit Operanden zu tun - zum Beispiel diese zu sortieren. Die peripheren Bausteine sind direkt herausgeführt, was bedeutet, dass eine wie auch immer geführte und realisierte Steuerung über Verstärkerbausteine erst einmal von vom BUS-System abgegriffen und auf notwendige Pegel angehoben werden muss. der LC-80 ist somit von vorn herein nichts für Anfänger und für sinnvolle Programmierung ist durchaus Hardwarekenntnis vonnöten.

der LC-80

Der Z80 ist unter allen Prozessoren ein Urgestein - hat die Anfangsgründe der Microcompter mit gemacht und ist immer noch präsent. Und wer ihn programmieren darf erkennt rasch: Wow - das Teilchen hat Pfiff!
Und an eben dieser Stelle erinnern wir sehr gern daran, dass dieser Opa zwischenzeitlich reichlich 35 Jahre Aktivität hinter sich hat.

Z80-CPU

Ohne die Wirkung der Flags (im Sinne von: wird ein bestimmter, genau definierter Zustand erreicht, dann setze ein Signal) wäre ein logisches Programmieren gar nicht möglich.

Flag-Wirkung

 

Wo ein Prozessor, da sein Befehlssatz - eine alte Weisheit aller Hardware-Ingenieure. Die Liste des betagten Z80 umfasst immerhin 156 Basisbefehle mit zusammen 796 Kombinationen. Wie diese auseinanderzudividieren sind, zeigen wir hier ;-)
Neben den einzelnen Befehlen ist ihre Wirkung auf die Flag-Register von enormer Bedeutung für die Abarbeitung von Programmen - auch ein Hochsprachen Compiler oder Interpreter greift letztendlich auf diese Logik zu.

neue alphabetische Befehlsliste

Einige der Aufgaben basieren auf einer Zeitsteuerung. Eine solche arbeitet nur dann effizient, wenn die Zzeitbasis von externen und extra dafür ausgelegten Bausteinen bereitgestellt wird. Dies übernehmen die CTC-Basuteine des Z80-Systems. Ihre Auswertung erfolgt Interrupt gesteuert. Ein zusätzlicher logistischer Anspruch für den Software-Entwurf, denn hat man erst mal die grundsätzliche Programmierung erfasst und freut sich gerade so richtig darüber, dann  kommt das!

 Z80-CPU-Interrupt

Der verwendete Mikrorechner LC-80 ist ein Echtzeitsystem - was immer auch an Hard- und Software für diese Maschine entwickelt und gebastelt wird - es gehorcht dem Grundtakt con ca. 900 KKz. Damit ist so zu sagen das Speed-Limit für diese Maschine fest geschrieben - es geht nicht schneller, aber auch nicht langsamer. Wir sind an der untersten Ebene eines Mikrorechners angelangt und müssen die Konsequenzen der Echtzeitbedingunegn mit erfassen und im Algorithmus berücksichtigen.
Sortieren kann für 100 Elemente schon richtig langsam werden, während Impulse im Minutentakt ebenso schwer zu erzeugen sind -

Echtzeitsysteme

Prozessrechentechnik heißt die Disziplin, welche Rechnerstrukturen in Hard- und Software an der Maschine direkt im Produktionsprozess sieht und analysiert oder verbessert. Hier geht es nicht um den Computer, wie ihn Hinz & Kunz kennt - meist sind diese als Bauelement in kleinen Einheiten untergebracht und der Trend geht zur Vernetzung selbst solcher Komponenten. Im Endeffekt kann man gar nicht mehr von einem Steuerrechner selbst sprechen - de werkeln mehrere Rechner miteinander und heißen Controller.

Prozessrechentechnik

Automatisierungstechnik ist insgesamt älter, als man glaubt - so sind wohl die ersten steinzeitlichen Tierfallen nach den Definitionen den Automaten zuzurechnen. Waren noch recht einfach, aber das Prinzip war schon drin: etwas verändern, ohne Zutun des Menschen. Heute sprechen wir von zwei Hauptrichtungen der Automatisierung: Steuerung und Regelung. Jede hat zig Unterarten

Automatisierungstechnik

Zufall ist auf einem Computer alles andere als einfach zu erzeugen - noch dazu bei einer Maschine, welche wie der LC-80 auf der untersten Programmierungs- und Hardware-Ebene läuft. Da wird die Maschine nämlich mit jedem Programmstart faktisch selbst neu gestartet - und das hat zur Folge, dass ich nach gleich vielen Schritten am selben Programmpunkt angelangt und auch alle peripheren Bausteine den gleichen Zustand haben. Ich bekomme also, wenn ich nunmehr so etwas wie eine Zahlenfolge schreiben will immer die gleichen Werte. Wie man das Problem trotzdem lösen kann, zeigen wir im Projekt Sortieren - dort müssen nämlich zufällig generierte Zahlen sortiert werden.

Computer und Zufall - ein schwieriges Feld

Eine ganz böse Falle für Software-Entwickler ist die Möglichkeit, nicht an alle Extreme gedacht zu haben, welche in der Praxis eintreten können. Programmiert wird ja in der hermetischen Welt der Theorie im geschlossenen Kämmerchen - die Praxis sieht anders aus. Da wird das Programm von Unwissenden genutzt und Zustände erzeugt, die niemals hätten eintreten dürfen. Also, Programmierer: immer auf das Schlimmste gefasst sein, sich freuen, wenn's nicht ganz so schlimm kommt und den DAU nicht vergessen ;-)

Worst-Case-Denken

Hier nun der Oberhammer - aber keine Angst - das ist nicht für jeden - dennoch: man kann diese Schaltungen erfolgreich aufbauen - einige davon gibt es sogar schon, weitere kommen hinzu. Auf AG-Basis lässt sich da einiges machen ;-)

von Profis für Profis - Z80-Bau-Projekte


2. Aufgabenstellung 2017/18 Gymnasium Hartha history menue scroll up

Entscheidender Impuls war, wie schon so oft, eine Problemklasse in die Arbeitsgruppen zu bringen, die so vorher bei uns noch nicht gelöst worden ist. Und vor allem: auch Programmierprofis müssen noch ein Betätigungsfeld vorfinden, auf welchem sie sich wie alle anderen bewähren müssen. Entscheidend für die Informatikprojekte ist aber auch der Ansatz, keine Projekte für den Mülleimer zu produzieren. Wir schaffen uns kleine Werkzeuge, welche später einmal das Leben leichter machen sollen.

Es gelten folgende Regeln:

  • Organisation:
    • keine der hier formulierten Aufgaben wurde bisher so gestellt sowie gelöst - externe Hilfe ist also eigentlich ausgeschlossen - wenn Sie Möglichkeiten der Überschneidung in den Aufgaben untereinander entdecken, sollten Sie diese nutzen ;-)
    • sachdienliche Anfragen werden schnellstmöglich beantwortet - nach 17:00 Uhr jeweils montags sowie mittwochs bin ich mit hoher Wahrscheinlichkeit "on line" - noch besser ist, wenn Sie Ihre Fragen in einer konkreten Datei zum Unterricht mitbringen (ich bin aber gut beschäftigt, und wenn alle am Schluss kommen, schaffe ich das rein mengenmäßig nicht mehr!!!)
    • maximal 3er Teams - die Regel sind 2 Schüler pro Team
    • es gibt eine Gesamt BE-Wertung auf das Projekt (das werden Anzahl der Schüler mal 30 BE sein!)
    • diese Gesamtwertung teilen Sie nach der Korrektur untereinander ganzzahlig auf und bestimmen den jeweiligen Anteil pro Schüler
  • Programmierhinweise:
    • die Aufgaben sind komplex - die berühmte letzte Nacht vor der Abgabe wird es nicht reißen können
    • erstellen Sie als erstes einen Programm-Ablaufplan (Programmieren Sie wirklich Top-Dow!)
    • zerlegen Sie das Problem - vergessen Sie nicht, vorher die Schnittstellen zu vereinbaren (benutzte Register, definierte Speicherplätze, gleiche Namen und Marken im Projekt)
    • schreiben Sie Pseudocode (... das ist schon fast wie Programmieren, nur eben frei von einer Programmiersprache)
    • kommentieren Sie Ihre Programme - bei hinreichender Schlamperei ist davon auszugehen, dass Vieles nicht funktionieren wird

    Technische Randbedingungen:

    • da Quelle sowie Ziele in definierten Bereichen des RAM's liegen müssen, legen Sie diese selbst fest geben und Sie in der Aufgabe explizit mit an
    • der niederwertigste Teil eines mehr als 8-Bit-Resultats irgend einer Operation ist immer zuerst auf irgendwelchen Speichermedien abzulegen
    • alle Standard-Subroutinen sind für Sie frei verwendbar
    • es gibt in jedem Falle mindestens eine selbst geschrieben Subroutine

Aufgabenblock Gruppe I: Gruppenbildung bis spätestens Donnerstag, den 21.11.2017 - dies ist bereits Geschichte:

  1. Multiplizieren Sie die Inhalte zweier Zahlen (maximal 8 Bit für jede Zahl) im Hexadezimalsystem miteinander und stellen Sie die Faktoren sowie das Ergebnis im Anzeige-Display geeignet dar!
  2. Finden Sie aus einer Anzahl von Bytes im Umfang von maximal 10 Byte-Gruppen (... in den 8-Bit-Grenzen) ein vorgegebenes Muster - stellen Sie Ein- und Ausgabe sowie die Einzelschritte im Display geeignet dar!
  3. die logische NAND-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen (maximal 2-er Teams)
  4. ermitteln Sie die kleinste von 10 Hexadezimalzahlen und stellen Sie das Ergebnis im Anzeige-Display geeignet dar!
  5. Beschreiben Sie die bitweise Addition von zwei 8-Bit-Hexzahlen mit Carry im Display und hinterlegen Sie die Zwischenwerte geeignet auf dem RAM (erforderliche Formate sowie Bereiche definieren Sie selbst!)
  6. Erstellen Sie eine Stoppuhr im "... unter-Minuten-Bereich" - zeigen Sie die Zeitschritte sekundengenau im Display an - ermitteln Sie die notwendigen Zeitraster eigenständig!
  7. ... wie viele mal kommt eine definierbare Hexziffer im Bereich von 00H bis FFH in einem  gegebenen Datenbestand vor - stellen Sie das Gesamtproblem geeignet in der Anzeige dar!?
  8. bestimmen Sie den Mittelwert einer gegebenen Menge von 8-Bit-Hexzahlen (maximal 10) und stellen Sie die notwendigen Operationen geeignet im Display dar - auch das Ergebnis ist HEX!
  • Arbeitsgruppe 1: Jelito, Franz; Neugebauer, Felix - Kurs I - Aufgabe 1 (Multiplizieren Sie die Inhalte zweier Zahlen (maximal 8 Bit für jede Zahl) im Hexadezimalsystem miteinander und stellen Sie die Faktoren sowie das Ergebnis im Anzeige-Display geeignet dar!)
  • Arbeitsgruppe 2: Schulze, Lukas; Zinke, Maximilian - Kurs I - Aufgabe 2 (bestimmen Sie den Mittelwert einer gegebenen Menge von 8-Bit-Hexzahlen (maximal 10) und stellen Sie die notwendigen Operationen geeignet im Display dar - auch das Ergebnis ist HEX!)
  • Arbeitsgruppe 3: Marhoffer, Antonio; Urban, Sebastian - Kurs I - Aufgabe 3 (ermitteln Sie die kleinste von 10 Hexadezimalzahlen und stellen Sie das Ergebnis im Anzeige-Display geeignet dar!)
  • Arbeitsgruppe 4: Opitz, Jonas; Junghanns, Lennard - Kurs I - Aufgabe 4 (die logische NAND-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen)
  • Arbeitsgruppe 5: Laub, Áron; Homann, Alexander - Kurs I - Aufgabe 5 (Finden Sie aus einer Anzahl von Bytes im Umfang von maximal 10 Byte-Gruppen (... in den 8-Bit-Grenzen) ein vorgegebenes Muster - stellen Sie Ein- und Ausgabe sowie die Einzelschritte im Display geeignet dar!)
  • Arbeitsgruppe 6: Schmidt, Luisa; Kalies, Lea - Kurs I - Aufgabe 6 (... wie viele mal kommt eine definierbare Hexziffer im Bereich von 00H bis FFH in einem gegebenen Datenbestand vor - stellen Sie das Gesamtproblem geeignet in der Anzeige dar!?)
  • Arbeitsgruppe 7: Zimmer, Florian; Wiesner, Philipp - Kurs I - Aufgabe 8 (Beschreiben Sie die bitweise Addition von zwei 8-Bit-Hexzahlen mit Carry im Display und hinterlegen Sie die Zwischenwerte geeignet auf dem RAM (erforderliche Formate sowie Bereiche definieren Sie selbst!)
  • Arbeitsgruppe 8: Schlesier, Moritz; Krieg, Richard; Kirchner, Charly - Kurse I - Aufgabe 8 (Erstellen Sie eine Stoppuhr im "... unter-Minuten-Bereich" - zeigen Sie die Zeitschritte sekundengenau im Display an - ermitteln Sie die notwendigen Zeitraster eigenständig!)

    Aufgabenblock Gruppe II: Gruppenbildung bis spätestens Dienstag, den 23.11.2017 - dies ist bereits Geschichte:
  1. Die logische NOR-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen (maximal 2-er Teams)
  2. Zählen Sie im Sekundentakt dezimal ohne Stunden-Übertrag nach oben - zeigen Sie die Zeitschritte im Display an!
  3. Eine maximal vierstellige Zahl ist dezimal einzugeben und im Display von rechts beginnend dezimal einzutragen. Ist die Zahl negativ, so ist sie maximal dreistellig - jede Stellenzahl bis 4 ist möglich - das MINUS wird durch einen Bindestrich optisch abgebildet! Alle Tasten außer den Ziffern 0 bis 9, sowie PLUS und MINUS sind gesperrt - Quittungstaste ist "EX"
  4. zwei beliebige vierstellige Hexadezimalzahlen sind voneinander zu subtrahieren - Minuend, Subtrahend sowie Differenz sind mittels geeigneter Verfahren im Display darzustellen (auch negativ)!
  5. Die logische XOR-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen (maximal 2-er Teams)
  6. ... wir bestimmen den Mittelwert der auf einem gegebenen Speicherbereich im maximalen Umfang von 10 Ziffern (... jede Anzahl darunter im positiven Bereich ist möglich)
  7. Erstellen Sie eine Liste der auf einem gegebenen Speicherbereich enthaltenen 8-Bit-Hex-Zahlen und zeigen Sie diese im Display geeignet an!
  8. Finden Sie die erst-, zweit- sowie drittgrößte Zahl einer gegebenen Menge von mindestens zehn Hexadezimalzahlen und stellen Sie den Gesamtumfang der Problemlösung im Display geeignet dar!
  • Arbeitsgruppe 1: Hempel, Lilli; Meier, Pia; Papsdorf, Florian - Kurs II - Aufgabe 1 (Eine maximal vierstellige Zahl ist dezimal einzugeben und im Display von rechts beginnend dezimal einzutragen. Ist die Zahl negativ, so ist sie maximal dreistellig - jede Stellenzahl bis 4 ist möglich - das MINUS wird durch einen Bindestrich optisch abgebildet! Alle Tasten außer den Ziffern 0 bis 9, sowie PLUS und MINUS sind gesperrt - Quittungstaste ist "EX")
  • Arbeitsgruppe 2: Geißler, Anne-Sophie; Jungnickel, Tom - Kurs II - Aufgabe 2 (Die logische NOR-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen!)
  • Arbeitsgruppe 3: Xuan, Thang Tran; Panke, Emily - Kurs II - Aufgabe 3 (zwei beliebige vierstellige Hexadezimalzahlen sind voneinander zu subtrahieren - Minuend, Subtrahend sowie Differenz sind mittels geeigneter Verfahren im Display darzustellen (auch negativ)!)
  • Arbeitsgruppe 4: Vogel, Maxi; Naumann, Tobias - Kurs II - Aufgabe 4 (Erstellen Sie eine Liste der auf einem gegebenen Speicherbereich enthaltenen 8-Bit-Hex-Zahlen und zeigen Sie diese im Display geeignet an!)
  • Arbeitsgruppe 5: Mosch, Jennifer; Köhler, Paul - Kurs II - Aufgabe 5 (Zählen Sie im Sekundentakt dezimal ohne Stunden-Übertrag nach oben - zeigen Sie die Zeitschritte im Display an!)
  • Arbeitsgruppe 6: Eschner, Laura; Schmiel, Christian - Kurs II - Aufgabe 6 (... wie viele mal kommt eine definierbare Hexziffer im Bereich von 00H bis FFH in einem gegebenen Datenbestand vor - stellen Sie das Gesamtproblem geeignet in der Anzeige dar!)
    Arbeitsgruppe 7: Fildebrandt, Justin; Blume, Niclas - Kurs II - Aufgabe 7 (Erstellen Sie eine Liste der auf einem gegebenen Speicherbereich enthaltenen 8-Bit-Hex-Zahlen und zeigen Sie diese im Display geeignet an! (ich habe 18-Bit-Hex-Zahlen gemacht) Randbedingung: Die Anzahl der wiedergegeben Zahlen soll in Adresse 202C eingetragen werden (der Standartwert beträgt 05).)
    Arbeitsgruppe 8: Schwabe, Dennis; Klotsche, Jonas - Kurse II - Aufgabe 8 (Finden Sie die erst-, zweit- sowie drittgrößte Zahl einer gegebenen Menge von mindestens zehn Hexadezimalzahlen und stellen Sie den Gesamtumfang der Problemlösung im Display geeignet dar!)


3. Lösungsmenge per 2.2.2018 history menue scroll up

Entscheidender Impuls war, wie schon so oft, eine Problemklasse in die Arbeitsgruppen zu bringen, die so vorher bei uns noch nicht gelöst worden ist. Und vor allem: auch Programmierprofis müssen noch ein Betätigungsfeld vorfinden, auf welchem sie sich wie alle anderen bewähren müssen. Entscheidend für die Informatikprojekte ist aber auch der Ansatz, keine Projekte für den Mülleimer zu produzieren. Wir schaffen uns kleine Werkzeuge, welche später einmal das Leben leichter machen sollen.

Gruppe I - Aufgabe 1: Multiplizieren Sie die Inhalte zweier Zahlen (maximal 8 Bit für jede Zahl) im Hexadezimalsystem miteinander und stellen Sie die Faktoren sowie das Ergebnis im Anzeige-Display geeignet dar!

Gruppe I - Aufgabe 2: bestimmen Sie den Mittelwert einer gegebenen Menge von 8-Bit-Hexzahlen (maximal 10) und stellen Sie die notwendigen Operationen geeignet im Display dar - auch das Ergebnis ist HEX!

Gruppe I - Aufgabe 3: ermitteln Sie die kleinste von 10 Hexadezimalzahlen und stellen Sie das Ergebnis im Anzeige-Display geeignet dar!

Gruppe I - Aufgabe 4: die logische NAND-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen

Jelito, Franz; Neugebauer, Felix

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Zinke, Maximilian; Schulze, Lukas

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Marhoffer, Antonio; Urban, Sebastian

 

Opitz, Jonas; Junghanns, Lennard

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Gruppe I - Aufgabe 5: Finden Sie aus einer Anzahl von Bytes im Umfang von maximal 10 Byte-Gruppen (... in den 8-Bit-Grenzen) ein vorgegebenes Muster - stellen Sie Ein- und Ausgabe sowie die Einzelschritte im Display geeignet dar!

Gruppe I - Aufgabe 6: ... wie viele mal kommt eine definierbare Hexziffer im Bereich von 00H bis FFH in einem gegebenen Datenbestand vor - stellen Sie das Gesamtproblem geeignet in der Anzeige dar!?

Gruppe I - Aufgabe 7: Beschreiben Sie die bitweise Addition von zwei 8-Bit-Hexzahlen mit Carry im Display und hinterlegen Sie die Zwischenwerte geeignet auf dem RAM (erforderliche Formate sowie Bereiche definieren Sie selbst!

Gruppe I - Aufgabe 8: Erstellen Sie eine Stoppuhr im "... unter-Minuten-Bereich" - zeigen Sie die Zeitschritte sekundengenau im Display an - ermitteln Sie die notwendigen Zeitraster eigenständig!

 

Laub, Áron; Homann, Alexander

Schmidt, Luisa; Kalies, Lea

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Zimmer, Florian; Wiesner, Philipp

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Software-Dokumentation

Schlesier, Moritz; Krieg, Richard

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Software-Dokumentation

Gruppe II - Aufgabe 1: Eine maximal vierstellige Zahl ist dezimal einzugeben und im Display von rechts beginnend dezimal einzutragen. Ist die Zahl negativ, so ist sie maximal dreistellig - jede Stellenzahl bis 4 ist möglich - das MINUS wird durch einen Bindestrich optisch abgebildet! Alle Tasten außer den Ziffern 0 bis 9, sowie PLUS und MINUS sind gesperrt - Quittungstaste ist "EX"

Gruppe II - Aufgabe 2: Die logische NOR-Verknüpfung zweier 16-Bit-Hex-Zahlen ist geeignet auf dem Hauptspeicher sowie auf dem Display darzustellen!

Gruppe II - Aufgabe 3: zwei beliebige vierstellige Hexadezimalzahlen sind voneinander zu subtrahieren - Minuend, Subtrahend sowie Differenz sind mittels geeigneter Verfahren im Display darzustellen (auch negativ)!

Gruppe II - Aufgabe 4: Erstellen Sie eine Liste der auf einem gegebenen Speicherbereich enthaltenen 8-Bit-Hex-Zahlen und zeigen Sie diese im Display geeignet an!

Hempel, Lilli; Meier, Pia; Papsdorf, Florian

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Software-Dokumentation

Tom Jungnickel, Anne-Sophie Geißler

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Xuan, Thang Tran; Panke, Emily

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Vogel, Maxi; Naumann, Tobias

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Software-Dokumentation

Gruppe II - Aufgabe 5: Zählen Sie im Sekundentakt dezimal ohne Stunden-Übertrag nach oben - zeigen Sie die Zeitschritte im Display an!

Gruppe II - Aufgabe 6: ... wir bestimmen den Mittelwert der auf einem gegebenen Speicherbereich im maximalen Umfang von 10 Ziffern (... jede Anzahl darunter im positiven Bereich ist möglich)!

Gruppe II - Aufgabe 7: Erstellen Sie eine Liste der auf einem gegebenen Speicherbereich enthaltenen 8-Bit-Hex-Zahlen und zeigen Sie diese im Display geeignet an! (ich habe 18-Bit-Hex-Zahlen gemacht) Randbedingung: Die Anzahl der wiedergegeben Zahlen soll in Adresse 202C eingetragen werden (der Standartwert beträgt 05)

Gruppe II - Aufgabe 8: Finden Sie die erst-, zweit- sowie drittgrößte Zahl einer gegebenen Menge von mindestens zehn Hexadezimalzahlen und stellen Sie den Gesamtumfang der Problemlösung im Display geeignet dar!

 

Mosch, Jennifer; Köhler, Paul

Eschner, Laura; Schmiel, Christian

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Fildebrandt, Justin; Blume, Niclas

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Schwabe, Dennis; Klotsche, Jonas

Download im ASIDE-Format

Download im HEX-Format

Download als Z80-HEXDUMP-Listing

Software-Dokumentation


5. Verwandte Projekte history menue scroll up

Hier sind in eigentlich allen Fällen nach schweißtreibender Arbeit Spitzenleistungen erzielt worden, deren Umfang nur erahnen kann, wer sich in die Materie begibt und versucht, nur ein paar einfache Logikaufgaben anzugehen sowie eindeutige Lösungen zu finden. Unsere Aufgabe war komplexer: Finde die Lösung - beschreibe Wege sowie Modell, diese Lösung evtl. zu vereinfachen, entwickle den logischen Schaltplan!

Informatik-Projekte am Gymnasium Flöha

Projekt Mikroprozessor

Projekt Roboking mit dem Team Rabbi Loew

Projekt Kryptoanalyse

Projekt Bundeswettbewerb für Informatik

Projekt ENIGMA

Projekt Logik & Kombinatorik

 

Projekt Problemlösungsstrategien

 

Projekt Assemblerprogrammierung 2007

Projekt Assemblerprogrammierung 2009

Projekt Assemblerprogrammierung 2013


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 6. November 2017 um 18.47 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist