Zrozumieć Asembler
F jest ile?” 3. Tak wygląda odejmowanie z pożyczką w systemie szesnastkowym.
Zastanówmy się chwilę, jak to wszystko działa. Odejmujemy 1 od 9 i dodajemy 10H do 2. Jedynka pożyczana z 8 oczywiście po przeniesieniu do prawej kolumny rośnie szesnasto krotnie (a nie dziesięciokrotnie).
Po wykonaniu pożyczki nasze odejmowanie wygląda następująco:
8 12 H 4 F H
Po przedstawieniu naszego odejmowania w tej postaci z pożyczką łatwo już obliczyć różnicę, która wynosi 43H.
Czasami niektórzy pytają, czy można pożyczyć więcej niż 1. Oczywiście nie można. Jeśli pożyczysz np. 2, będziesz dodawał 20H do odpowiedniej kolumny i 20H minus jedna cyfra da w wyniku w dalszym ciągu dwucyfrową liczbę. Takiego wyniku oczywiście nie możesz zapisać w jednej kolumnie. Tak więc przy odejmowaniu mamy symetryczną zasadę:
Przy odejmowaniu nigdy nie potrzebujesz pożyczyć więcej niż 1 z dowolnej pojedynczej kolumny.
Nie zawsze można wykonać pożyczkę z sąsiedniej kolumny. Na przykład często będziesz miał do czynienia z sytuacją jak niżej:
F 0 0 0 H 3 B 6 C H
Pierwsza kolumna wymaga pożyczki, ale ani druga, ani trzecia nie mają nic do zaoferowania. Mówiąc słowami mojej nauczycielki „przekreśl F, zapisz E. Zamień 0 na 10. Następnie przekreśl to 10 i zapisz F. Zamień następne 0 na 10, przekreśl je i zapisz F. Potem ostatnie 0 zamień na 10”. Zrobione?
Dwa zera w środku występują tutaj jako pośrednicy w pożycza, między lewym F i prawym skrajnym zerem. Zera w tych kolumnac
pożyczają najpierw 1 od sąsiada z lewej strony, a następnie pożyczają swoją jedynkę sąsiadowi z prawej, zamieniając swoją wartość z 10 na F. Ostatnie prawe zero nie musi już oddawać od siebie nic i zachowuje swoją wartość 10 dla odejmowania:
E F F1 0 H 3 B 6 C H
W tej postaci możemy wykonać odejmowanie w poszczególnych kolumnach, z którego otrzymujemy wynik B494H.
Przypominając sobie swoje doświadczenia szkolne, nie wpadnij w pułapkę wykonując w myśli odejmowanie 10-1=9, gdyż masz tu do czynienia z 10H-1=F.
Nawet jeśli będziesz korzystał z podręcznego kalkulatora heksade-cymalnego czy ekranowego, nic nie zastąpi Ci praktyki. Liczby szesnastkowe są podstawowym elementem programowania w Asemblerze. Im lepiej zrozumiesz działania na liczbach heksadecymalnych, tym łatwiej będzie ci programować. Również zrozumienie wewnętrznej struktury komputera będzie znacznie łatwiejsze przy pełnym zrozumieniu liczb heksaclecymalnych. Im poważniej podejdziesz teraz do tych ćwiczeń, tym łatwiej będzie Ci później.
W systemie dwójkowym, czyli systemie o podstawie 2, ważne są również ogólne zasady systemów liczbowych:
■ Każda kolumna ma wartość dwukrotnie większą niż sąsiednia kolumna z prawej.
■ W tym systemie występują tylko dwie cyfry (0 i 1).
Liczby binarne wyglądają trochę dziwnie: 0, 1, 10, 11, 100, 101, 110, 111, 1000... Te kolejne liczby dwójkowe nazywać należy raczej zero, jeden, jeden-zero, jeden-jeden, jeden-zero—zero, jeden-zero -jeden, jeden-jeden-zero, jeden-jeden-jeden, jeden-zero-zero—zero itd, bo np. liczba 1011101 nie jest to wcale jeden milion jedenaście tysięcy sto jeden. Dziesiętna wartość tej liczby binarnej wynosi 93-