Tritus.Rocks

Tuning

0000 (0 ~ hex 0) erste

Die Maschine, jede binäre Maschine, fängt immer bei Null an zu zählen. Das ist für Menschen viel weniger intuitiv, als selbst Informatikerinnen und Informatiker glauben, denn Menschen orientieren sich vor allem erstmal an den Natürlichen Zahlen.

0001 (1 ~ hex 1) zweite

Natürliche Zahlen zählen nur das, was als Gegenstand oder Wesen igrendwie wahrnehmbar ist, ein Mensch fängt also normalerweise bei Eins an zu zählen.

0010 (2 ~ hex 2) dritte

Die Maschine zählt im Gegensatz dazu Zustände und nimmt den Umstand, dass nichts zählbar ist, bereits als den ersten Zustand an.

0011 (1+2=3 ~ hex 3) vierte

Die Maschine kennt dabei außer dem Zustand, dass sie gerade nicht existiert, weil sie garkeinen Strom bekommt, die beiden Zustände High und Low. High gilt dem Menschen dabei als Eins und Low wird als Null gelesen.

0100 (4 ~ hex 4) fünfte

Der Unterschied zwischen der Zahl Null und dem Zustand Low sorgt bei Menschen vor allem deshalb oft für Verwirrung, weil das gern als Defizit betrachtet wird mit dem Versuch das Problem zu beheben. Die Maschine kann sich nunmal nicht ändern, weil sie ja so gesehen noch kein Bewusstsein hat, und in der Mathematik gilt die Binärzahl 0000 tatsächlich als Null, weil im Verhältnis zu den natürlichen Zahlen auch die Binärzahlen - als Dualzahlen - schon mindestens seit der Antike existieren. Computer gibt es dagegen erst seit irgendwann in der postmodernen Zeit und also auch die Maschinensprache.

0101 (4+1=5 ~ hex 5) sechste

Wie auch immer. Wer lernen will wie eine Maschine zu denken, muss sich klar machen, dass alles Zählen dort immer mit Null beginnt. Dabei kann es helfen mit Null etwas zu zählen, das garnicht da ist, etwas, das mit Null vergleichbar wäre, oder etwas, das einer Reihe von zählbaren Dingen vorangestellt werden kann.

0110 (4+2=6 ~ hex 6) siebte

So ist zum Beispiel die Farbe Null mit Schwarz zu vergleichen, und das Zeichen Null ist unter Umständen ein @ vor dem ersten Buchstaben A im Alphabet.

0111 (4+2+1=7 ~ hex 7) achte

Gelesen werden die acht einzelnen Bit in einem Byte von rechts nach links. Die acht Bit in einem Byte heißen: Bit7, Bit6, Bit5, Bit4 und Bit3, Bit2, Bit1, Bit0. Acht Bit von der Null bis zur Sieben.

1000 (8 ~ hex 8) neunte

Trotzdem hat das Bit0 im Zustand High den Zählwert 1, denn im Zustand Low muss es ja den Wert Null haben.

1001 (8+1=9 ~ hex 9) zehnte

Das Bit ist high. Ist das Bit0 high, hat es also den Wert 1, ist es low, hat es den Wert 0. Ist das Bit1 high, hat es den Wert 2, low zählt es 0. Diese Werte werden immer weiter verdoppelt, Low ist immer 0. So hat Bit2 high den Wert 4, das Bit3 den Wert 8. Bit4 zählt high 16, Bit5high=32, Bit6high=64, und Bit7 hat high den Wert 128. Maschinensprache besteht ab jetzt demnach nichtmehr aus Nullen und Einsen sondern aus Nullen und Zweierpotenzen, was immer das bedeutet.

1010 (8+2=10 ~ hex a) elfte

Sind alle acht Bit von null bis sieben high oder - wie es auch heißen kann - gesetzt, dann werden sie einfach zusammenaddiert und ergeben alle den Wert 255! Achtung! Wir haben 256 Zustände gezählt bis zum Wert 255! Daran muss ein Mensch sich unbedingt gewöhnen, denn das ist wahrscheinlich die einzige, echte Schwierigkeit in der Maschinensprache abgesehen vom Lernen einer überschaubaren Anzahl neuer Namen.

Count Zero (8+2+1=11 ~ hex b) zwölfte

Bit8 ist Zweihundertsechsundfünfzig, Bit9 ist Fünfhundertundzwölf, Bit10 ist Eintausendundvierundzwanzig, Bit11 ist Zweitausendundachtundvierzig, Bit12 ist Viertausendundsechsundneunzig, Bit13 ist Achttausendeinhundertzweiundneunzig, Bit14 ist Sechzehntausenddreihundertvierundachzig, Bit15 ist Zweiunddreißigtausendsiebenhundertachtundsechzig.

1100 (8+4=12 ~ hex c) dreizehnte

Zusammen sind das 65535 (Fünfundsechzigtausendfünfhundertsechsunddreißig Zustände), und das entspricht genau 64kByte. Ist das logisch? Ja! Das ist am C=64 der gesamte adressierbare Bereich.

1101 (8+4+1=13 ~ hex d) vierzehnte

Bit16 wäre 65536, Bit17=131072, Bit18=262144, Bit19=524288, Bit20=1048576, Bit21=2097152, Bit22=4194304, Bit23=8388608, Bit24=16777216, Bit25=33554432, Bit26=67108864, Bit27=134217728, Bit28=268435456, Bit29=536870912, Bit30=1073741824, Bit31=2147483648, Bit32=4294967296, Bit33=8589934592, Bit34=17179869184, Bit35=34359738368, Bit36=68719476736, Bit37=137438953472, Bit38=274877906944, Bit39=549755813888, Bit40=1099511627776, Bit41=2199023255552, Bit42=4398046511104, Bit43=8796093022208, Bit44=17592186044416, Bit45=35184372088832, Bit46=70368744177664, Bit47=140737488355328, Bit48=281474976710656, Bit49=562949953421312, Bit50=1125899906842624, Bit51=2251799813685248, Bit52=4503599627370496, Bit53=9007199254740992, Bit54=18014398509481984, Bit55=36028797018963968, Bit56=72057594037927936, Bit57=144115188075855872, Bit58=288230376151711744, Bit59=576460752303423488, Bit60=1152921504606846976, Bit61=2305843009213693952, Bit62=4611686018427387904, Bit63=9223372036854775808

1110 (8+4+2=14 ~ hex e) fünfzehnte

Zusammen sind das 18446744073709551615, in Worten äh.. Achtzehntrillionenvierhundertsechsundvierzigbilliardensiebenhundertvierundvierzigbillionendreiundsiebzigmilliardensiebenhundertneunmillionenfünfhunderteinundfünfzigtausendsechshundertsechzehn Zustände. Das ist der gesamte einfach adressierbare Bereich eines aktuellen Computers mit 64Bit Prozessoren. Ich zeig das nur um irgendwie zu erklären, warum ich glaube, dass es absolut cool ist an einem klassischen Computer wie dem C=64 Maschinensprache zu lernen um bestenfalls fetten Sound zu erzeugen, nur so zum Spaß, und wie irrsinnig es wäre sowas ernsthaft mit einem neueren Gerät in der PC Klasse zu versuchen.

1111 (8+4+2+1=15 ~ hex f) sechzehnte

Als kleine Eselsbrücke noch, vielleicht könnte das wirklich helfen! Es handelt sich hier ja um Zweierpotenzen, und mit Bit0 ist 2° halt 1. Für Bit1 ist 2¹=2 und in Bit2 ist 2²=4 und so weiter. Ist doch wirklich logisch, für Menschen, die auf Logik Wert legen?