MIXAL
MIXAL ist die Assemblersprache des fiktiven MIX-Computers.
MIXAL ist die Assemblersprache des fiktiven MIX-Computers.
Der MIX-Computer ist ein hypothetischer Computer aus Donald E. Knuths The Art of Computer Programming, welcher mittels MIXAL programmiert werden kann. Eine Emulation dieses Computers ist bei den Weblinks unter Dan's MIX Simulator and MIXAL Compiler zu 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 das Verständnis dieser Beschreibung ist Praxis im Umgang mit Assemblersprache hilfreich.
Flags
Der MIX-Computer hat einige Prozessor-Flags, die dazu eingesetzt werden, den Programmablauf zu steuern.
E-Flag
Gesetzt, wenn der Inhalt des A-Registers dem Inhalt der Adresse beim Befehl CMPA (CMPA wird stets zuvor ausgeführt) gleicht.
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).
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).
Weblinks
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.