Zrozumiec Assembler6

Zrozumiec Assembler6



Zrozumieć Asembler

ci. Na koniec jeszcze musisz powiedzieć mikroprocesorowi, w którym miejscu zaczyna się program, który ma wykonać. Mikroprocesor sam nie odnajdzie programu, bo treść programu zapisana jest przy pomocy takich samych liczb, jak każde dane.

2.4 Czy to liczba, czy instrukcja?

Dochodzimy wreszcie do istoty działania komputera, do określenia, czym jest program i w jaki sposób jednostka centralna steruje komputerem.

Wesz już, w jaki sposób informacja przechowywana jest w pamięci - w postaci ciągu bitów, czyli cyfr dwójkowych tworzonych przez napięcie: jest, czyli 1 lub go nie ma, czyli 0. Dla potrzeb człowieka zestawy tych bitów, czyli cyfr dwójkowych, zwane są bajtami i interpretowane są jako cyfry szesnastkowe lub dziesiętne, litery lub inne znaki. Podobnie jak w tabeli znajdującej się w załączniku A, przedstawiony jest zestaw symboli, które znaczą coś dla człowieka, tak samo istnieje zestaw kodów, które znaczą coś dla mikroprocesora. Kody te nazywane są instrukcjami języka maszynowego. Są to właśnie instrukcje, przy pomocy których będziesz nakazywał jednostce centralnej wykonanie określonych czynności.

Przyjrzyjmy się temu bliżej na przykładzie instrukcji mikroprocesora 8088. Kod zapisany w postaci liczby dwójkowej 01000000 (40H) dla mikroprocesora 8088 nie jest poleceniem: dodaj 1 do zawartości rejestru AX. Inne instrukcje mogą zajmować więcej niż jeden bajt. Na przykład 2 bajty 11010110 01110011 (0B6H 73H) oznaczają polecenie: załaduj wartość 73H do rejestru DH. Istnieją również bardziej skomplikowane polecenia. Na przykład 11110011 10100100 (0F3H 0A4H) poleca mikroprocesorowi wykonanie następującego zespołu czynności: przenieś ciąg bajtów o długości określonej w rejestrze CX zaczynający się od 32-bitowego adresu znajdującego się w parze rejestrów DS i SI do komórek pamięci zaczynających się od 32-bito-wego adresu, znajdującego się w rejestrach ES i DI, uaktualniając adresy znajdujące się zarówno w SI, jak i DI po przeniesieniu każ-dego bajtu, oraz zmniejszając CX o 1 po wykonaniu każdego przeniesienia. Kiedy CX będzie równe 0, należy zakończyć przenoszenie.

Wszystkie kilkaset instrukcji rozumianych przez mikroprocesory Intela mieści się w powyższym zakresie stopnia komplikacji i możliwości wykonawczych. Są tam instrukcje wykonujące działania arytmetyczne (dodawanie, odejmowanie, mnożenie czy dzielenie), instrukcje operacji logicznych (I, LUB itd.) oraz instrukcje, które przenoszą informacje między obszarami pamięci lub do urządzeń peryferyjnych.

2.4.1 Pobierz i wykonaj

Program komputerowy jest po prostu ciągiem takich instrukcji przechowywanych w pamięci. Program może być przechowywany w całkowicie dowolnym obszarze pamięci i bajty znajdujące się w tym obszarze nie różnią się niczym od innych bajtów, znajdujących się w dowolnym innym obszarze pamięci.

Specjalność bajtów programu bierze się tylko i wyłącznie z tego, że mikroprocesor odczytuje (pobiera) bajt znajdujący się we wskazanej mu przez programistę komórce i zaczyna wykonywać odpowiadającą mu instrukcję, pobierając ewentualnie dodatkowe bajty związane z tą instrukcją. Jeśli przypadkiem pomylisz się wskazując zły adres początkowego baj tu programu, mikroprocesor zacznie wykonywać nie istniejący program, wykonując w sumie zupełnie nieprzewidziane czynności.

Jeśli np. Twój program zaczyna się od polecenia 40H (wspomnianego wcześniej), to do aktualnej wartości w rejestrze AX zostanie dodane 1. Natomiast jeśli pierwszym (czy kolejnym) poleceniem będzie 0D6A, to mikroprocesor pobierze dodatkowy bajt, aby znać w pełni rodzaj tej instrukcji. Dopiero po pobraniu tego drugiego baj-tu mikroprocesor wykona nakazaną czynność, czyli załaduje ten drugi pobrany bajt do rejestru DH.

Po wykonaniu bieżącej instrukcji CPU pobiera automatycznie kolejny bajt. W mikroprocesorze istnieje specjalny rejestr o nazwie wskaźnik (licznik) instrukcji (ang. instruction point er), który po prostu zawiera adres komórki pamięci, w której znajduje się następna instrukcja. Po wykonaniu każdej instrukcji wskaźnik instrukcji jest aktualizowany tak, żeby zawierał adres następnej instrukcji.


Wyszukiwarka

Podobne podstrony:
Zrozumiec Assembler8 12 Zrozumieć Asembler mioty. Na polach gry wykonujemy posunięcia i sprawdzenia
250 PRZEGLĄD PIŚMIENNICTWA. Na koniec jeszcze słówko o Maryi Sztuart. P. K. zdaje się być przekonany
Krok 14. Na koniec jeszcze, ale u samej góry dokumentu, przed znacznikiem <html> wpisujemy dek
3. Uwagi redakcyjne14 Na koniec jeszcze uwagi dotyczące rozwiązań redakcyjnych. Są to sprawy drobne,
Karty Pieczary Jeśli Moc pozwala ci na posiadanie jeszcze jakiegokolwiek Zaklęcia, możesz
Na koniec jeszcze jedna, ale najpoważniejsza sprawa - PLAGIAT W zasadzie jeżeli praca została popraw
skanuj0003 Ze względu na konieczne siły do nacięcia i połączenia rur, nie stosuje się w kraju rur łą
Rozdział 6. Procedury KSięGOWE na koniec okresu sprawozdawczego W grudniu 200X r. miały miejsce nast
ministerstwami i na koniec, co było rzeczą nie najmniejszej wagi, unikało się konieczności sprzedaży
skanuj0003 Ze względu na konieczne siły do nacięcia i połączenia rur, nie stosuje się w kraju rur łą
DSC00552 7. Świat na opak odwróconyJeden z najbardziej żywych urywków Carmina burana zaczyna się
Sto pomysłów na sztukę (88) A teraz patrz, jak twoje wzory zaczynają się poruszać i łączyć ze s
kawa i herbata materiał na kolosa1 1 l    11 ^ocnych rejonach Indii zbiory herbaty z
294 PIŚMIENNICTWO Dodam tu jeszcze, że opuszczeń możliwych w wyrazach greckich, zaczynających się od

więcej podobnych podstron