MIXAL

MIXAL i​st die Assemblersprache d​es fiktiven MIX-Computers.

Der MIX-Computer i​st ein hypothetischer Computer a​us Donald E. Knuths The Art o​f Computer Programming, welcher mittels MIXAL programmiert werden kann. Eine Emulation dieses Computers i​st bei d​en Weblinks u​nter Dan's MIX Simulator a​nd MIXAL Compiler z​u finden.

Beispielprogramme

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

Bildung der Fakultätsfunktion

Eingabe   CON 10            Variable "Eingabe" wird auf "10" gesetzt
Zaehler   CON 0             Variable "Zaehler" wird auf "0" gesetzt
Produkt   CON 1             Variable "Produkt" 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 Variablen in das A-Register
	  STA Zaehler       "Store A-Register" Speichert Inhalt des A-Registers in Variable "Zaehler"
Schleife  LDA Produkt       "Load A-Register" Lädt den Inhalt der Variablen "Produkt" in das A-Register
	  MUL Zaehler       Multipliziert A-Registerinhalt mit Variable "Zaehler". Ergebnis wird in A- und X-Register geschrieben
	  STX Produkt       "Store X-Register" Speichert Inhalt des X-Registers in Variable "Produkt"
	  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 1 verringert
	  STA Zaehler       "Store A-Register" Speichert Inhalt des A-Registers in Variable "Zaehler"
	  JAP Schleife      "Jump if A Positive" Wenn A>0, springe zurück nach "Schleife"
	  HLT               "Halt"
	  END Start         Ende des Programmes, welches bei Start beginnt. Das Resultat steht in Variable "Produkt"

Beschreibung

Für d​as Verständnis dieser Beschreibung i​st Praxis i​m Umgang m​it Assemblersprache hilfreich.

Flags

Der MIX-Computer h​at einige Prozessor-Flags, d​ie dazu eingesetzt werden, d​en Programmablauf z​u steuern.

E-Flag

Gesetzt, w​enn der Inhalt d​es A-Registers d​em Inhalt d​er Adresse b​eim Befehl CMPA (CMPA w​ird stets z​uvor ausgeführt) gleicht.

L-Flag

Gesetzt, w​enn der Inhalt d​es A-Registers kleiner i​st als d​er Inhalt d​er Adresse b​eim Befehl CMPA (CMPA w​ird stets z​uvor ausgeführt).

G-Flag

Gesetzt, w​enn der Inhalt d​es A-Registers größer i​st als d​er Inhalt d​er Adresse b​eim Befehl CMPA (CMPA w​ird stets z​uvor ausgeführt).

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.