176 17. Narzędzia programowania
W asemblerze występują polecenia EXTRN i PUBLIC, które umożliwiają wywołanie z jednego modułu podprogramu lub deklaracji zmiennych znajdującego się w innym module lub zbiorze bibliotecznym. Polecenie PUBLIC definiuje związaną z nim nazwę jako nazwę, która może być wywoływana poleceniem EXTRN z innego modułu:
PUBLIC nazwa|, nazwa[....|]
Polecenie EXTRN informuje asembler, że podprogram lub dane związane poprzez nazwę z tym poleceniem będą dołączone przez linker.
FXTRN nazwa |,nazwa[...)]
Każdy asembler posiada pewne mechanizmy, operatory, pseudorozkazy ułatwiające pisanie programów źródłowych. Poniżej są omówione podstawowe polecenia i pseudorozkazy stosowane w asemblerze firmy Keil Niektóre z tych pseudorozkazów są stosowane również w asemblerach innych firm.
EQU
składania:
Nazwasymbolu EQU wyrażenie
Polecenie EQU przypisuje wartość wyrażenie’ symbolowi 'nazwasym bólu, np.:
LICZBA EQU 0C2h
Nazwie LICZBA została przypisana wartość 0C2h. W module nie wolno drugi raz nadawać symbolowi nowej wartości.
SET
składnia:
Nazwa_symbolu SET wyrażenie
Polecenie SET przypisuje wartość 'wyrażenie' symbolowi 'Nazwa symbol-u'. W odróżnieniu od polecenia EQU poleceniem SET można wielokrotnie nadać temu samemu symbolowi różne wartości. Na przykład:
WSPA SET 23
program
WSPA SET 45h
Nazwie WSP_A została nadana na początku programu wartość 23, a na stępnie nazwie tej została przypisana wartość 45h.
CODĘ
składnia:
Nazwa_symbolu CODĘ wyrażenie
Polecenie CODĘ przypisuje wartość 'wyrażenie', którą jest adres w obszarze pamięci programu, symbolowi Nazwa symbolu'. W module nic wolno drugi raz nadawać symbolowi nowej wartości. Zakres wartości wynosi 0 - 65535. Na przykład:
START CODĘ Oh
RS CODĘ 23h
Nazwie START został przypisany adres 0, a nazwie RS został, przypisany adres 23h - adres przerwania od portu szeregowego.
DATA
składnia:
Nazwasymbolu DATA wyrażenie
Polecenie DATA przypisuje wartość 'wyrażenie', którą jest adres w obszarze pamięci wewnętrznej RAM adresowanej bezpośrednio, symbolowi Nazwa symbolu W module nie wolno drugi raz nadać symbolowi nowej wartości. Wartość wyrażenie’ musi być z przedziału 0 do 255. Na przykład:
PORT1 DATA 90h
PORTWE DATA 0E8h
Nazwfie PORT1 został przypisany adres 90h, adres portu PI, a nazwie PORTWE - adres 0E8h, adres portu P4.
IDATA
składnia:
Nazwa symbolu IDATA wyrażenie
Polecenie IDATA przypisuje wartość wyrażenie' którą jest adres w pamięci wewnętrznej RAM adresowanej pośrednio, symbolowi 'Nazwa symbolu'. W module nie wolno drugi raz nadać symbolowi nowej wartości. Wartość wyrażenie' musi być z przedziału 0 do 255. Na przykład:
WYNIKI IDATA 20h
WYNIK2 IDATA WYNIKI+4
Nazwie WYNIKI został przypisany adres 20h w pamięci wewnętrznej RAM mikrokontrolera, a nazwie WYNIK2 - adres 24h.
XDATA
składnia:
Nazw'a_symbolu XDATA wyrażenie