|
Bereit | Stop | Pseudo | TFB TFZ | Q | Z13 | Z14 | Z15 | ADS |
|
Eingabe / Input: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Ausgabe / Output: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Trace |
Original machine built by Dr. Heinz Zemanek and his team in Vienna/Austria from 1956 to 1958.
Emulator written by Norbert Kehrer in January/February 2007 (Java version) and in June/July 2017 (JavaScript version).
Web site: https://norbertkehrer.github.io
The machine was built by Dr. Heinz Zemanek and his team in Vienna/Austria from 1956 to 1958. The Team members were Heinz Zemanek, Kurt Bandat, Rudolf Bodo, Viktor Kudielka, Kurt Walk, Peter Lucas, and Eugen Mühldorf.
Das Mailüfterl war ein volltransistorisierter, serieller, dezimal-binärer Trommelspeicherrechner mit 50 Worten Kernspeicher für den Schnellzugriff. Die mit 3.000 Umdrehungen pro Minute rotierende Trommel konnte 10.000 48-Bit-Worte speichern. Die Befehle waren vom 1-Adress-Typ und nutzten das gesamte Maschinenwort aus, weil sie Referenzen auf den Kernspeicher, eine Bedingung für die Ausführung und Angaben zur Adressmodifikation und -interpretation usw. beinhalteten. Die Addition dauerte 0,8 Millisekunden. Multiplikation und Division waren als Unterprgramme realisiert. Eine Multiplikation dauerte dadurch 26 Millisekunden.
Der Rechner wurde von Dr. Heinz Zemanek und seinem Team in Wien/Österreich zwischen 1956 und 1958 gebaut. Die Teammitglieder waren Heinz Zemanek, Kurt Bandat, Rudolf Bodo, Viktor Kudielka, Kurt Walk, Peter Lucas und Eugen Mühldorf.
AK | ... | Accumulator / Akkumulator |
MR | ... | Multiplicator / Multiplikator |
MD | ... | Multiplicand / Multiplikand |
BR | ... | Instruction register / Befehlsregister |
BZ | ... | Program counter / Befehlszähler |
RS | ... | Return address / Rückkehradresse |
47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Tab | Q | Condition Bedingung |
Main instr. Hauptbefehl |
Additional instr. Zusatz |
X | K | B | H | G | S | V | W | M | Index | Address Adresse |
0 | ... | Z0 | ... | Unconditional / ohne Bedingung |
1 | ... | Z1 | ... | LSD(MR) ≠ 0 |
2 | ... | Z2 | ... | (AK) ≥ (MD) |
3 | ... | Z3 | ... | (AK) ≥ 0 |
4 | ... | Z4 | ... | (AK) < 0 |
5 | ... | Z5 | ... | unused / unbenutzt |
6 | ... | Z6 | ... | unused / unbenutzt |
7 | ... | Z7 | ... | Tetrade 11 of MR ≥ 5 |
8 | ... | Z8 | ... | (MD) < 0 |
9 | ... | Z9 | ... | (AK) contains Q mark / (AK) enthält Q-Zeichen |
10 | ... | Z10 | ... | unused / unbenutzt |
11 | ... | Z11 | ... | (AK) ≠ (MD) |
12 | ... | Z12 | ... | (AK) = 0 |
13 | ... | Z13 | ... | Switch Z13 is on / Schalter Z13 eingeschaltet |
14 | ... | Z14 | ... | Switch Z14 is on / Schalter Z14 eingeschaltet |
15 | ... | Z15 | ... | Switch Z15 is on / Schalter Z15 eingeschaltet |
0 | ... | N | ... | Zero operation / keine Operation |
1 | ... | A | ... | Decimal Addition / Dezimale Addition |
2 | ... | E | ... | Extraction / Extraktion |
3 | ... | I | ... | Conjunction / Konjunktion |
4 | ... | D | ... | Disjunction / Disjunktion |
5 | ... | OA | ... | Binary Addition / Binäre Addition |
6 | ... | F | ... | Not equivalence / Antivalenz |
7 | ... | TI | ... | Transfer to core / Kernspeichertransport |
8 | ... | TN | ... | Transfer to drum / Trommelspeichertransport |
9 | ... | YA | ... | Recurrent addition / Wiederholte Addition |
10 | ... | U | ... | Write to memory / In den Speicher schreiben |
11 | ... | YN | ... | Recurrent zero operation / Wiederholtes Nichtstun |
12 | ... | J | ... | Read from memory / Aus dem Speicher lesen |
13 | ... | ... | unused / unbenutzt | |
14 | ... | ... | unused / unbenutzt | |
15 | ... | ... | unused / unbenutzt |
0 | ... | ... | No additional operation / keine zusätzliche Operation | |
1 | ... | C | ... | Clear accumulator / Akkumulator löschen |
2 | ... | L | ... | Shift accumulator left / Akkumulator nach links verschieben |
3 | ... | R | ... | Shift accumulator right / Akkumulator nach rechts verschieben |
4 | ... | OL | ... | Shift accumulator left binary / Akkumulator binär nach links verschieben |
5 | ... | OR | ... | Shift accumulator right binary / Akkumulator binär nach rechts verschieben |
6 | ... | PQ | ... | Set Q mark / Q-Zeichen setzen |
7 | ... | PP | ... | Clear Q mark / Q-Zeichen löschen |
X | ... | Jump / Sprung |
K | ... | Address is core store address / Adresse ist Kernspeicheradresse |
B | ... | Address is pseudo address / Adresse ist Pseudoadresse |
H | ... | Address addition (Effective address = index + address) / Adressaddition (Effektive Adresse = Index + Adresse) |
G | ... | Address substitution (Effective address = contents of address) / Adresssubstitution (Effektive Adresse = Inhalt der Adresse) |
S | ... | Subtraction / Subtraktion |
V | ... | Clear MR / MR löschen |
W | ... | Add 1 to (MR) / 1 zu (MR) addieren |
M | ... | Add -1 to (MR) / -1 zu (MR) addieren |
XA | ... | Jump with addition in the MR / Sprung mit Addition |
XB | ... | Recurrent jump / Wiederholungssprung |
XAB | ... | Block transfer / Blocktransport |
ZkXB | ... | Recurrent jump with condition / Bedingter Wiederholungssprung |
XU | ... | Jump with storing return instruction / Sprung mit automatischer Notierung des Rückkehrbefehls |
XUB | ... | Recurrent jump with storing return instruction / Wiederholungssprung mit automatischer Notierung des Rückkehrbefehls |
ZkXUB | ... | Conditional recurrent jump with storing return instruction / Bedingter Wiederholungssprung mit automatischer Notierung des Rückkehrbefehls |
Mache das:
Viel Spaß wünscht euch Norbert!