Kolejne mnemoniki w czasie asemblacji zostają przetłumaczone na kody rozkazów, które składają się z różnej liczby bajtów (1 do 4) i przypisywane kolejnym adresom w pamięci. W czasie pisania programu nie musimy o tym myśleć. Rozkazy takie jak skoki czy odwołania do zmiennych w pamięci zawierają szesnastobitowy adres, który zostanie wyliczony w czasie asemblacji. Wymusza to użycie etykiet - nazw zmiennych lub adresów podprogramów. Dobrze dobrane nazwy ułatwiają zrozumienie programu i poprawiają jego czytelność.
|
Program w asemblerze Z80. |
Kiedy w pierwszej lekcji pisałem ołówkiem program, użyłem etykiet i wcale o nich nie wspomniałem. Było to dla mnie oczywiste, bo "tak się zawsze robi". Nawet ręczne "asemblowanie" byłoby trudne bez etykiet. Nie wiem, jak działają współczesne asemblery (programy do asemblacji), ale dla Z80 konieczne są dwa etapy (nazywane przebiegami). W pierwszym tworzony jest obraz programu maszynowego i tablica symboli. Wszystkie etykiety dostają wartości liczbowe odpowiadające wskazywanym przez nie adresom lub stałym. Drugi etap to uzupełnienie kodu wyliczonymi wcześniej wartościami.
|
Deklaracje stałych. |
|
Pierwszy przebieg asemblera rezerwuje pamięć i oblicza wartości adresów. |
|
Drugi przebieg uzupełnia brakujące adresy i stałe. |
Komentarze
Prześlij komentarz