Registrieren Passwort vergessen?

MIXAL

16. Mär 2008, 22:13

MIXAL ist die Assemblersprache des MIX-Computers.

Der MIX-Computer ist ein hypothetischer Computer aus Donald Knuth's The Art of Computer Programming, welcher mittels MIXAL programmiert werden kann. Eine Emulation dieses Computers ist unter Dan's MIX Simulator and MIXAL Compile zu finden.

Inhaltsverzeichnis

[Bearbeiten] Beispielprogramme

[Bearbeiten] hello world

TERM    EQU    19          console device no. (19 = typewriter)
        ORIG   1000        start address
START   OUT    MSG(TERM)   output data at address MSG
        HLT                halt execution
MSG     ALF    "HELLO"
        ALF    " WORL"
        ALF    "D    "
        END    START       end of program

[Bearbeiten] Bildung der Fakultätsfunktion

Null      CON 1             Variable Null wird auf "1" gesetzt
Eingabe   CON 10            Variable Eingabe wird auf "10" gesetzt
Zaehler   CON 0             Variable Zaehler wird auf "0" gesetzt
Summe     CON 1             Variable Summe wird auf "1" gesetzt
Start                       Start des Programms  (Label für den nächsten Befehl)
          LDA Eingabe      "Load A-Register" Lädt den Inhalt der Variable in das A-Register
          STA Zaehler      "Store A-Register" Speichert Inhalt des A-Registers in Variable "Zaehler"
Schleife  LDA Summe        "Load A-Register" Lädt den Inhalt der Variable "Summe" in das A-Register
          MUL Zaehler       Multipliziert A-Registerinhalt mit Variable "Zaehler". Ergebnis wird in A-Register geschrieben
          STX Summe        "Store X-Register" Speichert Inhalt des X-Registers in Variable "Summe"
          LDA Zaehler      "Load A-Register" Lädt den Inhalt der Variable "Zaehler" in das A-Register
          DECA 1           "Decrement at 1" Inhalt des A-Registers wird um eins verringert
          STA Zaehler      "Store A-Register" Speichert Inhalt des A-Registers in Variable "Zaehler"
          CMPA Null        "Vergleiche A-Register mit Null Flags werden geschrieben (siehe Flags)
          JNE Schleife     "Jump on not equal" Wenn E-Flag nicht gesetzt ist springe nach "Schleife"
          HLT              "Halt"
          END Start         Ende des Programmes, welches bei Start beginnt.

[Bearbeiten] Beschreibung

Für das Verständnis dieser Beschreibung ist der grundlegende Umgang mit Assembler erforderlich.

[Bearbeiten] Flags

Der MIX-Computer hat einige Prozessorflags, die dazu eingesetzt werden, den Programmablauf zu steuern.

[Bearbeiten] E-Flag

Gesetzt, wenn der Inhalt des A-Registers dem Inhalt der Adresse beim Befehl CMPA (CMPA wird stets zuvor ausgeführt) gleicht.

[Bearbeiten] L-Flag

Gesetzt, wenn der Inhalt des A-Registers kleiner ist als der Inhalt der Adresse beim Befehl CMPA (CMPA wird stets zuvor ausgeführt).

[Bearbeiten] G-Flag

Gesetzt, wenn der Inhalt des A-Registers größer ist als der Inhalt der Adresse beim Befehl CMPA (CMPA wird stets zuvor ausgeführt).

[Bearbeiten] Weblinks

Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.
In Kooperation mit Lycos Europe Network