Untitled90

Untitled90



172 17. Narzędzia programowania

5.    pozostałe symbole (nazwy segmentów, nazwy określające adresy lub wartości liczbowe) nie mogą mieć więcej niż 31 znaków, przy czym pierwszym znakiem musi być litera lub znak podkreślenia ' ' albo znak zapytania Na kolejnych miejscach mogą znajdować się również cyfry.

6.    etykiety - symboliczne adresy (nazwy umieszczone w miejscu programu do którego ma nastąpić skok) muszą zaczynać się od lewego marginesu bez spacji i muszą być zakończone dwukropkiem,

7.    komentarze muszą być poprzedzone średnikiem. Komentarz nie jest przetwarzany przez asembler, ale jest przenoszony do zbioru generowanego przez asembler zawierającego listing programu lub do narzędzi testujących program. Służy do dokumentowania programu.

Linia programu źródłowego ma najczęściej następującą postać:

[etykieta:) mnemonik rozkazu [operand][,operand][,operand] [;komentarz]

elementy w nawiasach kwadratowych są opcjonalne, liczba operandów zależy od rozkazu, na przykład:

PF.TLA:    DJNE RO,PĘTLA ;opóźnienie w wykonywaniu programu

Nazwa wejściowego zbioru źródłowego dla asemblera A51 powinna posiadać rozszerzenie ponieważ zbiór wyjściowy z. linkera nie zawiera rozszerzenia i nakryłby się ze zbiorem źródłowym, chyba że przy wywołaniu linkera zostałaby zadeklarowana nazwa zbioru wyjściowego z rozszerzeniem. Rozszerzenie nazwy zbioru źródłowego nie może być takie samo jak rozszerzenia zbiorów wytwarzanych w trakcie przetwarzania zbioru źródłowego do formatu INTEL-HEX, rysunek 17.1 Jeżeli zbiór źródłowy ma nazwę TEST.ASM, to podstawowe wywołanie asemblera, z pominięciem opcji, jest następujące:

A51 T0ST.A51

Asembler sprawdza czy zbiór źródłowy nie ma błędów w składni, w pisowni rozkazów i adresowaniu, za nazwy stałych podstawia odpowiednie wartości liczbowe, a za etykiety - odpowiednie adresy (dla segmentów' relokowal-nych są to adresy tymczasowe do momentu ich ustalenia przez linker). Następnie generuje dwa zbiory wyjściowe. Jeden z rozszerzeniem .lst (listing), w którym zbiór źródłowy jest rozszerzony o adresy i kody rozkazów, numerację wierszy oraz tablicę symboli użytych w zbiorze źródłowym wraz z określeniem ich typu i wartością lub adresem pod którym występują. Zawartość zbioru do listingu zależy od użytych przełączników przy wywołaniu asemblera lub poleceń asemblera umieszczonych w zbiorze źródłowrym. Drugi zbiór z rozszerzeniem .obj (object) jest zbiorem wejściowym dla linkera. Może być testowany narzędziami DSCOPEol (symulator DS51 i debugger TS51) firmy Keil.

17.2. Wybrane polecenia asemblera

Tekst źródłowy dla asemblera firmy Keil tworzy jeden moduł zaczynający się nazwą modułu i zakończony poleceniem END. Nazwa modułu może być zadeklarowana poleceniem NAME, na przykład:

NAME POMIARCZASU

Nazwa modułu nie może zawierać spacji, nie może zaczynać się od cyfry i nie może mieć więcej niż 40 znaków. Jeżeli nazwa nie jest deklarowana poleceniem NAME, to jako nazwa modułu zostanie przyjęta nazwa zbioru źródłowego bez rozszerzenia.

Polecenie END jest ostatnim elementem zbioru źródłowego analizowanym przez asembler. Wszystko co .jest poza tym słowem jest przez asembler pomijane. Brak tego polecenia jest sygnalizowane przez asembler jako błąd.

Asembler A51 jest bezpośrednio przystosowany do przetwarzania programów odwołujących się do rejestrów mikrokontrolera 8051. Przy pisaniu programów dla mikrokontrolerów zawierających dodatkowe rejestry należy w programie źródłowym powiązać ich nazwy z odpowiadającymi im adresami w obszarze SFR. Można to zrobić albo przez bezpośrednią deklarację używanych rejestrów, np. wprowadzić linie:

P5    DATA    0F8H

ADCON    DATA    0D8H

albo przez dołączenie odpowiednim poleceniem zbioru zawierającego listę przypisań adresów do rejestrów dla danego mikrokontrolera. Stosowane polecenia zależą od wersji asemblera. Dla wersji V4.4 dołączenie zbioru odbywa się następująco:

SNOMOD51

SINCLUDE (reg515.inc)

gdzie: NOMOD51 - dyrektywa asemblera wyłączenia przypisań adresów do rejestrów i znaczników dla mikrokontrolera 80(C)51,

INCLUDE -dyrektywa asemblera dołączenie zbioru o podanej nazwie, w tym przypadku zbioru reg515.inc, zawierającego odpowiednie przypisania dla mikrokontrolera SAB80(C)515.

$    - przełącznik

Zawartość dołączonego zbioru zostanie również umieszczona w zbiorze wyjściowym z rozszerzeniem .lst. Można tego uniknąć przez użycie odpowiedniego polecenia:

SNOLIST

SNOMOD51

SINCLUDE (reg515.inc)

SLIST


Wyszukiwarka

Podobne podstrony:
Untitled89 170 17. Narzędzia programowania programu od dowolnego rozkazu, podglądanie i modyfikacja
Untitled91 174 17. Narzędzia programowania gdzie: NOLIST - dyrektywa asemblera wskazująca, że wszyst
Untitled93 178 17. Narzędzia programowania Polecenie XDATA przypisuje wartość wyrażenie , którą jes
Untitled94 180 17 Narzędzia programowania17.6. Linker Linker wykonuje następujące operacje: •łączy w
Untitled95 182 17. Narzędzia programowaniaPytania i problemy 1. Co to jest asembler i makroasembler
Untitled92 176 17. Narzędzia programowania W asemblerze występują polecenia EXTRN i PUBLIC, które um
Untitled94 180 17. Narzędzia programowania17.6. Linker Linker wykonuje następujące operacje: •łączy
29931 Untitled Scanned 17 (5) Wielką literą piszemy: — nazwy przedstawicieli ras, szczepów, plemio
Zadanie 17. Narzędzia przygotowywane do sterylizacji są sprawdzane i segregowane bezpośrednio A.
Slajd33 (22) Ochrona wód - sposoby i narzędziaKrajowy Program Oczyszczania Ścieków Komunalnych Krajo
Slajd36 (23) Ochrona wód - sposoby i narzędziaKrajowy Program Oczyszczania Ścieków KomunalnychWyposa

więcej podobnych podstron