dyrektywy asemblerowe - omówienie

Nasza ocena:

3
Pobrań: 42
Wyświetleń: 700
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
dyrektywy asemblerowe - omówienie - strona 1 dyrektywy asemblerowe - omówienie - strona 2 dyrektywy asemblerowe - omówienie - strona 3

Fragment notatki:

1.
Dyrektywy asemblerowe
Asembler A51 ma kilka dyrektyw, które pozwalają na definiowanie symboli, wartości, rezerwację i
inicjalizację pamięci oraz sterowanie umiejscowieniem kodu programu. Dyrektywy nie powinny być mylone z
instrukcjami. Nie wytwarzają one wykonywalnego kodu i, za wyjątkiem dyrektyw DB i DW, oraz nie wpływają
bezpośrednio na zawartość kodu programu.
Poniższa tabela pokazuje najczęściej wykorzystywane dyrektywy asemblerowe zaimplementowane w
omawianym asemblerze firmy Keil.
Dyrektywa
CSEG
BSEG
DSEG
ISEG
XSEG
EQU
SET
BIT
CODE
DATA
IDATA
XDATA
DB
DW
DBIT
DS
ORG
USING
NAME
END
Format
Opis
Segmenty
CSEG [AT adres_absolutny]
Definicja segmentu absolutnego w pamięci kodu
BSEG [AT adres_absolutny]
Definicja segmentu absolutnego w pamięci danych
adresowanej bitowo
DSEG [AT adres_absolutny]
Definicja segmentu absolutnego w wewnętrznej
pamięci danych adresowanej bezpośrednio
ISEG [AT adres_absolutny]
Definicja segmentu absolutnego w wewnętrznej
pamięci danych adresowanej pośrednio
XSEG [AT adres_absolutny]
Definicja segmentu absolutnego w zewnętrznej
pamięci danych
Definicje symboli
symbol EQU wyrażenie
Trwałe przypisanie wartości symbolowi
symbol SET wyrażenie
Czasowe przypisanie wartości symbolowi
symbol BIT adres_bitu
Definicja adresu bitu w bitowej przestrzeni danych
symbol CODE adres_kodu
Przypisanie symbolowi określonego adresu w
przestrzeni pamięci kodu
symbol DATA adres_danej
Przypisanie symbolowi określonego adresu z
wewnętrznej przestrzeni danych adresowanej
bezpośrednio
symbol IDATA adres_danej
Przypisanie symbolowi określonego adresu z
wewnętrznej przestrzeni danych adresowanej
pośrednio
symbol XDATA adres_danej
Przypisanie symbolowi określonego adresu z
zewnętrznej przestrzeni danych
Inicjalizacja pamięci kodu
[etykieta:] DB wyrażenie [,wyrażenie,...] Tworzy listę wartości, każda o rozmiarze bajta
[etykieta:] DW wyrażenie [,wyrażenie,...] Tworzy listę wartości, każda o rozmiarze słowa
Rezerwacja pamięci danych
[etykieta:] DBIT wyrażenie
Rezerwuje w pamięci określoną wyrażeniem liczbę
bitów
[etykieta:] DS wyrażenie
Rezerwuje w pamięci określoną wyrażeniem liczbę
bajtów
Przełączanie adresów
ORG wyrażenie
Określa umiejscowienie bieżącego segmentu
USING wyrażenie
Określa predefiniowany adres rejestru symbolicznego
i rezerwuje przestrzeń dla określonego banku
rejestrów
Inne
NAME nazwa_modułu
Określa nazwę bieżącego modułu
END
Wskazuje koniec programu
1
2.
Dyrektywy związane z segmentami
Segment jest blokiem pamięci kodu lub danych, który tworzy asembler z kodu lub danych znajdujących się
w pliku źródłowym. Użycie segmentów w module źródłowym jest zależne od złożoności aplikacji. Małe
aplikacje wymagają mniejszej pamięci i są zwykle mniej złożone niż duże, wielomodułowe aplikacje.
Mikrokontroler MCS-51 ma kilka różnych, specyficznych dla siebie, przestrzeni pamięci, jak:
• pamięć kodu programu
• wewnętrzna pamięć danych adresowana bitowo, bezpośrednio lub pośrednio,
• zewnętrzna pamięć danych.
Segmenty są więc używane do ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz