Zrozumieć Asembler
Urządzenia peryferyjne komunikują się z procesorem (tzn. przesyłają dane do procesora). Ta „konwersacja” odbywa się dzięki elektronicznym połączeniom umożliwiającym przesyłanie informacje do lub z linii jednego urządzenia na linie procesora, pamięci czy po prostu innego urząrzenia. Linie np. danych są w ten sposób niejako wspólne. Takie wspólne połączenie linii danych nazywamy magistralą (ang. bus) - w tym przypadku magistralą danych (ang. data hus). Analogicznie w komputerze istnieje także magistrala adresowa (ang. adress hus). Dodatkowo istnieje system arbitrażu, który określa, które urządzenia i w jaki sposób korzystają z magistral. Wygląda to tak: adres pojawia się na magistrali adresowej, jak tylko pojawią się dane na magistrali danych. Specjalne sygnały na specjalnej magistrali (magistrali sterującej - control bus) określają, czy wystawiony adres dotyczy pamięci, czy też jednego z urządzeń zewnętrznych. Jest to tak zwany adres wejścia/wyjścia (ang. I/O address) i jest to zupełnie inny adres niż adres pamięci.
Magistrale odgrywają główną rolę w gniazdach rozszerzeń (ang. expansion slots) obecnych w prawie wszystkich komputerach osobistych. Większość urządzeń peryferyjnych jest rówmież dołączana poprzez takie gniazda. Urządzenia takie komunikują się z magistralami wewmątrz komputera poprzez elektryczne połączenia swego gniazda rozszerzeń.
Każdy mikroprocesor ma w sobie kilka specjalnych komórek pamięci podręcznej, zwanych rejestrami, Jeśli mikroprocesor musi przechować przez chwalę jakieś dane, umieszcza je wdaśnie w rejestrach. Zaletą takiego przechowania jest dużo większa szybkość dostępu niż byłaby dla danych znajdujących się w pamięci. Jednak ważniejsza jest możliwość wykorzystania rejestru jako podręcznego warsztatu roboczego. Jeśli CPU ma dodać dwie liczby, to najłatwiejszą i najszybszą metodą jest umieszczenie tych liczb w dwóch rejestrach, a następnie dodanie zawartości dwóch rejestrów do siebie. Wynik dodawania najczęściej umieszczany jest w jednym z tych rejestrów, zastępując poprzednią liczbę. Jeśli to potrzebne, suma może być umieszczona w innym - trzecim rejestrze, czy też dodana do zawartości innego rejestru lub w końcu przesłana bezpośrednio do pamięci w celu wykorzystania do innych operacji.
Bieżące dane i wyniki działania mikroprocesora są czasowo przechowywane w znajdujących się w jego wnętrzu specjalnych komórkach pamięci, zwanych rejestrami.
Podobnie jak kostki pamięci, tak i cały mikroprocesor i wchodzące w jego skład komórki pamięci (rejestry) wykonane są z tranzystorów. Natomiast w odróżnieniu od pamięci, rejestry nie mają numerów, tylko literowe nazwy, jak np. AX czy DI. Rejestry mają własności normalnych komórek pamięci, a oprócz tego każdy rejestr ma dodatkowe specjalne własności. Te specjalne własności rejestrów omówimy stopniowo, w przykładowych programach. Dokładne poznanie tych specjalnych własności ułatwi wykorzystanie ich w programowaniu, czyli uzyskanie programu wykonującego skomplikowane operacje szybko i dokładnie.
Urządzenia peryferyjne mają również swoje własne rejestry o określonych możliwościach. Przy programowaniu należy uważać, żeby nie pomylić tych rejestrów.
O ile CPU jest ośrodkiem sterowania, tak urządzenia peryferyjne są ośrodkami wykonawczymi, a magistrale przekazują informacje we 'wszystkich możliwych kierunkach.
Rozpatrzmy to na przykładzie. Informacje przekazywane siecią telefoniczną docierają do komputera za pośrednictwem modemu. Modem przekształca sygnał z linii telefonicznej na bajty danych reprezentujące liczby i znaki, a następnie magistralą wysyła to wszystko do mikroprocesora. Mikroprocesor przyjmuje informacje z modemu, przetwarza je i z powrotem przesyła magistralą danych do pamięci karty video, który to wreszcie wyświetla je na ekranie. Tak więc wzdłuż magistrali bez przerwy przekazywane są duże ilości informacji między jednostką centralną a pamięcią i urządzeniami peryferyjnymi, które wykonują znaczną część pracy komputera. Powstaje pytanie, skąd mikroprocesor wie, co ma robić? Wie to od Ciebie. W jaki sposób dowiaduje się tego? To 'iy piszesz program, a następnie wprowadzasz go do pamięci komputera. Program i potrzebne do niego dane umieszczone zostają w jakichś określonych obszarach pamięci. Do bieżącej pracy mikroprocesor wykorzystuje wolne obszary parnię-