18 Zrozumieć Asembler
W roku 1966 prawdopodobnie nie mieliście zbył wielu lal. Do szkół średnich wkroczyła wówczas nowa matematyka. W zadaniach domowych piętrzyły się wiersze liczb, zbiory i inne systemy liczbowe. Ojcowie próbowali ze swoimi dziećmi rozwiązać problemy takie, jak „ile będzie 17 w systemie liczbowym o podstawie 5?” lub „jaki zbiór nic należy do zbioru pustego?” Cała ta nowa fala matematyki w bardzo krótkim czasie (chyba to było ze dwa miesiące) została całkowicie uspokojona.
Ale chyba szkoda, że tak szybko. Nikt wówczas nie zdawał sobie sprawy z tego, źe problemem nie była ta „nowa” matematyka, to „stara” matematyka nigdy nie była nauczana w szkole na odpowiednim poziomie. Zastanawialiśmy się, jaki można mieć pożytek z umiejętności określenia części wspólnej zbioru ssaków i zbioru wiewiórek. Być może, jakieś mają. W Ameryce zawsze nauczano matematyki stosowanej. Jeśli nie pomoże Ci ona zbilansować Twojego konta bankowego czy proporcji w przepisie, to nie nadaje się do niczego, a więc jest zbędna. Elementy logiki matematycznej nigdy nie były wprowadzane do szkół podstawowych między innymi dlatego, że w Ameryce szkoły te powstawały historycznie, jako szkoły życia codziennego. Próby przekonania o pięknie innych systemów liczbowych nie dawały żadnego efektu wśród praktycznych Amerykanów
Byłem jednym z niewielu, którzy z przyjemnością pogrążyli się w tej nowej matematyce, ale również z przyjemnością odłożyłem to ad acta do roku 1976, kiedy cała sprawa powróciła. Pracowałem wówczas jak maniak na moim komputerku COSMAC ELF. Karmiłem go energią, a on odwdziędzał się wyświetlając na swym wyświetlaczu pary liczb - ale liczb szesnastkowych (o podstawie 16).
Musimy zająć się innymi systemami liczbowymi, ponieważ na poziomie języka Asemblera komputer nie rozumie naszego dziesiętnego systemu liczenia. Komputer pracuje wyłącznie w systemie dwójkowym (o podstawie 2) i równocześnie w szesnastkowym. Jeśli pracujesz wyłącznie w Pascalu czy Basicu, możesz dać sobie spokój z tymi obcymi systemami. Ale nie w Asemblerze. Wszystko w programowaniu w Asemblerze zależy od dogłębnego zrozumienia tych dwóch systemów liczbowych. Tak więc zanim zajmiemy się czymś innym, nauczymy się liczenia w tych dwóch systemach. Najpierw jednak nauczmy się liczyć po marsjańsku.
Wierzcie lub nie, ale na Marsie istnieje inteligentne życie. Tak jest, Marsjanie są na tyle inteligentni, żeby dowiedzieć się (np. z naszej telewizji), że nie bardzo mogą liczyć na turystykę na Ziemię. Tak więc pozostają w ukryciu, wyłaniając się jedynie na krótką chwilę, wystarczającą do wyrzeźbienia w skale twarzy Eivisa. W ten sposób nikt na Ziemi nie będzie traktował Marsjan poważnie. Marsjanie czasami ko munikują się z autorami książek fantastyczno-naukowych wiedząc z całą pewnością, że nikt nie traktuje tych pisarzy poważnie. Niezależnie od tego czy istnieją, czy nie, Marsjanie muszą jakoś liczyć.
Marsjanie mają trzy palce u jednej ręki i jeden palec u drugiej. Mężczyzna marsjański ma trzy palce u lewej ręki, natomiast kobieta ma trzy palce u prawej ręki. To ułatwia im tańczenie walca i niektóre inne rzeczy
Podobnie jak człowiek I wszelkie inne inteligentne stworzenia, Marsjanie liczyli najpierw na palcach. My grupowaliśmy wszystko w grupy dziesiątkowe i potęgi dziesięciu, natomiast Marsjanie grupują wszystko w grupy i potęgi czterech. Poprzez wieki nasza cywilizacja dopracowała się zestawu dziesięciu cyfr tworzących nas2 system liczbowy. Podobnie Marsjanie dopracowali się czterech cyfr dla własnego systemu liczbowego. Te cztery cyfry i ich marsjańska wymowa są następujące: ©(Hip), f(Foo), n(Bar), s(Bas).
Podobnie jak nasze zero, hip jest odpowiednikiem „nic nie ma”, chociaż czasami Marsjanie zaczynają liczenie od hip, to jednak liczą od foo odpowiadającemu pojedynczej rzeczy Tak więc liczą Foo, bar, bas...
No a co teraz? Co następuje po Bas? W tabeli 1.1 przedstawiłem sposób liczenia do liczby, którą my nazywamy 25.
Mając tylko cztery cyfry (z czego jedna odpowiada zeru) Marsjanie mogą liczyć tymi cyframi tylko do bas. Liczba następna po bas ma nową nazwę fooby. Fooby jest podstawą marsjańskiego systemu liczbowego i być może, najważniejszą liczbą na Marsie. Fooby jest liczbą palców, jaką mają Marsjanie. My nazwalibyśmy ją cztery.