[C#] Akkumulatorrechner-Simulator

    • Release

      [C#] Akkumulatorrechner-Simulator

      Name des Programms:
      Akkumulatorechner

      Beschreibung:
      Das Programm simuliert die Funktionsweise eines Akkumulatorrechners, d.h. die meisten Befehle nutzen den Akkumulator, ein Register in der CPU und koennen nur mit einem Parameter spezifiziert werden. Es kann so mit einem simplen Satz von Befehlen programmiert werden. Man sieht den Inhalt des simulierten RAMs des Rechners(256 Bytes) und muss diesen mit Befehlen und Variablen fuellen und bekommt so mehr oder weniger systemnahe Programmierung nahegelegt. Man kann die Befehle in einem Mmnemonic-Code programmieren, ein Parser uebersetzt diese dann in den RAM des Computers
      Spoiler anzeigen

      Als kleines Beispiel hier mal der Code um die Fakultaet von einer Zahl zu berechnen:

      Quellcode

      1. LIES F0 // Den User einen Wert an die Adresse F0 schreiben lassen:
      2. LADEKO 00 // 0 in den Akkumulator
      3. SPEICH F1 // Akkumulator in F1 speichern
      4. LADEKO 01 // Konstante 1 in den Akkumulator
      5. SPEICH F2 // Akkumulator in F2 speichern
      6. LADE F1 // F0 in den Akkumulator laden
      7. ADDKO 01 // 1 addieren
      8. SPEICH F1 // abspeichern
      9. VGL F0 // Akkumulator mit F0 vergleichen
      10. SPR> 1A // wenn Akummulator > F0 spring zur Adresse 1A
      11. MUL F2 // sonst mit F2 multiplizieren
      12. SPEICH F2 // in F2 abspeichern
      13. SPR 0A // bedingungslos zu 0A springen
      14. SCHREIB F2 // F2 ausgeben
      15. HALT // Programmablauf beenden

      Waere aequivalent zu

      Quellcode

      1. int zahl = ZahlEinlesen(); //je nach programmiersprache
      2. int zaehler = 0;
      3. int ergebnis = 1;
      4. while(!(zaehler > zahl)
      5. {
      6. zaehler += 1;
      7. ergebnis = ergebnis * zaehler;
      8. }
      9. ZahlAusgeben(ergebnis);


      Ich habe das Programm uerspruenglich fuer meinen Informatikkurs programmiert, der ein etwas ueberholtes Konzept noch in der DosBox ausfuehren musste, da hab ich angeboten es mal zu erneuern. Weil mir dieses etwas abstraktere Programmieren Spass macht, dachte ich mir, dass es auch einem von euch gefallen kann.
      Eine Hilfedatei findet Ihr hier

      Screenshots:


      Verwendete Programmiersprache und IDE:
      Visual C# (IDE: Visual Studio 2012)

      Systemanforderungen:
      .NET Framework 3.5

      Download:
      Hier(75 KB)

      Lizenz/Weitergabe:
      creativecommons.org/licenses/by-sa/3.0/

      Viel Spass
      MfG Niklas