Zrozumieć Asembler
Przyjrzyj się jeszcze raz dwójkowemu odpowiednikowi 218: 11011010. Cztery ostatnie cyfry są: 10 10. Jest to właśnie dwójkowy odpowiednik OAH.
Natomiast pierwsze cztery cyfry, czyli górna połowa liczby dwójkowej, równa jest 0DI1, co proponuję sprawdzić samemu. Tak więc dwójkowym odpowiednikiem 218 jest
218 dziesiętnie
1101 1010 dwójkowo D A szesnastkowo (H)
Każdą liczbę dwójkową można przekształcić na krótszą w zapisie liczbę hcksadecymalną przekształcając grupy czterech cyfr binarnych (grupy czterocyfrowe należy tworzyć zawsze od prawego brzegu).
Zróbmy to na przykładzie zwykłej dwójkowej liczby 32-bitowej:
11110000000000001111101001101110
Zacznijmy od podzielenia tej liczby na grupy 4-bitowc, począwszy od prawego brzegu:
1111 0000 0000 0000 1111 1010 0110 1110
Każdą z tych grup czterech cyfr binarnych zamienimy na pojedynczą liczbę szesnastkową. Otrzymamy następujący rezultat:
1111 0000 0000 0000 1111 1010 0110 1110 F 0 0 0 F A 6 E
czyli odpowiednikiem tego węża bitów jest FOOOFAóE.
Na końcu liczby należy oczywiście dopisać H, a na początku należy dopisać jeszcze zero, tak że pełna liczba będzie wyglądać OFOOOFA6EH.
Takie 32-bitowc adresy są największymi liczbami, z jakimi będziesz miał do czynienia przy programowaniu w Asemblerze. Większość liczb szesnastkowych, z którymi będziesz miał do czynienia, będzie miała cztery lub dwie cyfry szesnastkowe. Natomiast takie 32-bitowe adresy komputer zwykle wykorzystuje w grupach 16-bito-wych, czyli w praktyce zamiast liczb takich jak OFOOOFA6EH, będziesz miał do czynienia z parą liczb OFOOOH i 0FA6EI1.
Wszystko powoli zaczyna się dostosowywać do możliwości przeciętnego człowieka.
Komputer w rzeczywistości nie używa w ogóle liczb szesnastkowych. Pracuje on wyłącznie na liczbach dwójkowych. Ale dla potrzeb programisty wszystkie swoje liczby wyświetla w postaci szesnastkowej i w takiej samej postaci przyjmuje liczby od programisty.
Zauważ, że do tej pory o komputerach wiesz jedynie, co mogą one robić i jakimi systemami liczenia się one posługują. W dalszym ciągu nie wiesz jednak, czym tak naprawdę są komputery. Zauważ, że nie wspomniałem ani słowa o takich operacjach jak mnożenie, czy manipulacje bitami. Powód jest prosty: zanim zmienisz bit, musisz wiedzieć, gdzie bity żyją. Przerwijmy więc na moment nasze rozważania i zobaczmy, czy uda nam się zobaczyć kilka z nich w ich naturalnym środowisku - w komputerze.