Ćwiczenie 5 i 6
Asembler mikroprocesora 8080 i Z80
Podstawy Układów Logicznych i Komputerów - laboratorium
Instytut Technik Wytwarzania Politechniki Warszawskiej
Warszawa 2010
Cel ćwiczenia 5: Zapoznanie się z obsługą debagera-symulatora DZ80.
Cel ćwiczenia 6: Przygotowanie i uruchomienie programu napisanego w asemblerze.
Opis użytkowy programu:
Opis ekranu
Bezpośrednio po uruchomieniu programu na środku ekranu pojawia się metryczka programu -
informacje o wersji i dystrybutorze programu. Po naciśnięciu dowolnego klawisza metryczka znika i na ekranie komputera pojawia się pięć okienek, które będą widoczne przez cały czas działania programu. Okienka te zawierają: kod programu, zawartość rejestrów mikroprocesora, zawartość rejestrów znaczników (flagi), zawartość pamięci danych, zawartość stosu.
Poruszanie się między okienkami umożliwia klawisz TAB, który przesuwa kursor do następnego okienka w kierunku zgodnym z ruchem wskazówek zegara natomiast równoczesne naciśnięcie klawiszy Shift i TAB w przeciwną stronę. Wszelkie operacje można wykonywać tylko w tym okienku, w którym znajduje się kursor.
Oprócz wymienionych wyżej stałych okienek na ekranie mogą się pojawiać okienka związane z wydawaniem poleceń (okienka menu) i okienka umożliwiające wprowadzanie danych z klawiatury (okienka edycyjne).
Na górze ekranu zamieszczone jest główne menu, natomiast na dole ekranu pomocnicze informacje związane z obsługą programu. Z każdym z okienkiem na ekranie związany jest krótki opis operacji, które mogą być w nim wykonane (Pomoc-Help). Pomoc można wywołać przez naciśnięcie klawisza F1. Na środku ekranu pojawia się wówczas okienko, które zawiera informacje ułatwiające posługiwanie się programem. Naciśnięcie dowolnego klawisza usuwa je.
Poniżej zostaną omówione poszczególne części ekranu.
Okienko kodu programu.
W okienku kodu programu wyróżnionych jest kilka kolumn. Pierwsza z nich zawiera adresy komórek pamięci, w których umieszczone są instrukcje asemblera i operandy. Postać szesnastkowa tych instrukcji i operandów wyświetlana jest w drugiej kolumnie. W trzeciej kolumnie przedstawiona jest postać programu w asemblerze.
Pozioma strzałka za pierwszą kolumną wskazuje instrukcję, w której adres znajduje się w rejestrze PC
(w liczniku rozkazów).
Poruszanie się między instrukcjami umożliwiają następujące klawisze:
„strzałka w górę” - przesunięcie kursora o jedną linię w górę.
„strzałka w dół” - przesunięcie kursora o jedną linię w dół.
Home - przesunięcie kursora do pierwszej instrukcji w okienku.
End - przesunięcie kursora do ostatniej instrukcji w okienku.
PgUp - przesunięcie kursora o stronę w górę.
PgDn - przesunięcie kursora o stronę w dół.
2
Okienko rejestrów mikroprocesora.
W okienku tym program wyświetla nazwy rejestrów i ich zawartość w postaci szesnastkowej.
W okienku znajdują się następujące rejestry: AF, BC, DE, HL, IX, IY, AF’, BC’, DE’, HL’, SP, PC.
Poruszanie się kursorem po tym okienku możliwe jest dzięki klawiszom „strzałka w górę”, „strzałka w dół” oraz Home i End.
Okienko znaczników
W okienku tym umieszczone są istotne bity z rejestru znaczników. Są to:
z - znacznik zera w akumulatorze
c - znacznik przeniesienia
s - znacznik znaku danej w akumulatorze
n - znacznik odejmowania
p - znacznik parzystości lub nadmiaru
h - znacznik przeniesienia pomocniczego
Sposób wyświetlania i wielkość litery znacznika informuje o tym czy jest on ustawiony, czy nie.
Wyświetlany jaśniej wielką literą znak informuje o ustawieniu znacznika.
Poruszanie się kursorem po tym okienku możliwe jest dzięki klawiszom „strzałka w górę”, „strzałka w dół” oraz Home i End.
Okienko stosu
W tym okienku wyświetlana jest zawartość sześciu górnych komórek stosu. Na dole okienka wyświetlany jest wierzchołek stosu oznaczony literami SP. Ponieważ stos „rośnie do dołu” przy zawartości jego komórek podane jest z lewej strony dodatnie przemieszczenie względem wierzchołka stosu (SP). Szczytem stosu jest więc komórka wyświetlana najniżej.
Poruszanie się kursorem po tym okienku możliwe jest dzięki klawiszom „strzałka w górę”, „strzałka w dół” oraz Home i End.
Okienko danych
W okienku tym przedstawiona jest zawartość pamięci danych. W pierwszej kolumnie wyświetlany jest adres komórki pamięci, po którym następuje zapis zawartości pamięci w jednym z kilku formatów.
Poruszanie się kursorem w tym okienku umożliwiają następujące klawisze:
„strzałka w górę”, „strzałka w dół” - powodują przesunięcie się kursora odpowiednio o jedną pozycję w górę lub w dół.
„strzałka w lewo”, „strzałka w prawo” - powodują przesunięcie kursora odpowiednio do poprzedniej lub następnej pozycji.
PgDw, PgUp - powodują zmianę strony
Home, End - powodują przejście do pierwszej lub ostatniej pozycji w kolumnie.
Menu główne
3
Na górze ekranu wyświetlane jest menu główne. Jest to wykaz operacji, które realizuje program.
Korzystanie z nich jest możliwe poprzez wskazanie na wyświetlonej liście żądanej operacji. W każdej chwili działania programu aktywne jest jedno z okienek albo linia menu głównego. Przejście z dowolnego okienka do okienka zawierającego listę operacji jest możliwe poprzez użycie następujących klawiszy:
- F10, przejście do właściwej pozycji klawiszami i wciśnięcie Enter
- F10, Alt-pierwsza litera wybranej pozycji
- Alt-pierwsza litera wybranej pozycji.
Wciśnięcie klawisza Esc pozwala na opuszczenie linii menu lub przejście do poprzedniego poziomu menu.
Sposób przygotowania zadania:
Poniżej przedstawiono postępowanie przy pisaniu programu assemblerowego:
1. Narysować sieć działań programu (posługując się pojęciami ogólnymi, jak licznik, zmienna, stała).
2. Określić funkcje poszczególnych rejestrów procesora przyporządkować je pojęciom ogólnym występującym w sieci działań.
3. Przystąpić do opisania w języku asemblera działań sieci.
4. Wprowadzić program do komputera za pomocą edytora i zapisać na dyskietce.
5. Dokonać asemblacji.
6. Jeżeli asemblacja poprawna to dokonać linkowania, jeżeli nie to poprawić program i dokonać ponownej assemblacji.
7. Uruchomić program.
Literatura:
1. Szafarczyk M. Podstawy Układów Logicznych i Komputerów. WPW 87.
2. Dworak P.,Klein B.,Klimkowski J. Podstwy Układów Logicznych i Komputerów. WPW 92.
4