EMAS: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Dodane 1238 bajtów ,  11 lut 2014
brak opisu edycji
Nie podano opisu zmian
Linia 100: Linia 100:
Symbol otrzymuje atrybuty zgodne z tym w jakim kontekście został zdefiniowany bądź zadeklarowany.
Symbol otrzymuje atrybuty zgodne z tym w jakim kontekście został zdefiniowany bądź zadeklarowany.


== Zmienne ==
=== Zmienne assemblera ===
 
Zmienne assemblera nie mają swojej reprezentacji w wynikowym obiekcie, są wartościami dostępnymi w trakcie asemblacji programu, a definiuje się je dyrektywą '''.equ'''. Symbol, który jest zmienną assemblera jest zawsze bezwzględny i zmienny. Przykłady zmiennych:
 
.equ a 10
.equ b a+2
 
=== Stałe assemblera ===
 
Stałe assemblera również nie mają swojej reprezentacji w wynikowym obiekcie, są wartościami dostępnymi w trakcie asemblacji programu, a definiuje się je dyrektywą '''.const'''. Symbol, który jest zmienną assemblera jest zawsze bezwzględny i stały. Przykłady stałych:
 
.const a 10
.const b a+9
 
=== Etykiety ===
 
Etykieta jest zawsze stałym symbolem względnym i zawiera pozycję względem początku obiektu, czyli wartość licznika rozkazów w danym momencie asemblacji. Przykład definicji etykiety:
 
etykieta:
 
=== Zasięg symboli ===
 
Wszystkie symbole definiowane są jako lokalne. Jeśli symbol ma być widoczny dla konsolidatora, należy go zadeklarować jako globalny dyrektywą '''.global'''. Globalne mogą być wyłącznie symbole względne (etykiety), a zmiana zasięgu może nastąpić przed, lub po definicji:
 
.global start
start:
 
procedura:
.global procedura


== Wyrażenia ==
== Wyrażenia ==

Menu nawigacyjne