Asembler x86/Podstawy: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Mythov (dyskusja | edycje)
Mythov (dyskusja | edycje)
kolorki
Linia 10:
etykieta:
Etykieta musi znajdować się na początku linii, niepoprzedzona niczym innym. Gdy połączymy to już z naszą dotychczasową wiedzą o korzystaniu z instrukcji możemy napisać prosty przykład:
<source lang="asm">etykieta: mov eax, ecx</source>
Od tej pory, gdy będziemy chcieli odnieść się do tego adresu np. gdy zechcemy przeskoczyć w wykonaniu naszego programu bezpośrednio w miejsce z naszą instrukcją mov, możemy napisać po prostu:
<source lang="asm">jmp etykieta</source>
zamiast podawać cyferki adresu w pamięci (instrukcja jmp modyfikuje rejestr [[../Architektura#EIP|EIP]], przez co procesor "przeskakuje" do innego kodu; więcej o tej instrukcji w rozdziale [[../Funkcje|Funkcje]]). Dodatkowo poprzedni kod, który zdefiniowaliśmy jest równoznaczny z poniższym:
<source lang="asm">
etykieta:
mov eax, ecx
</source>
Jak zapewne zauważyłeś definicja etykiety podczepia się automatycznie pod najbliższą linijkę (jednak nie zawsze obowiązuje ta zasada!).
 
== Komentarze ==
Komentarz jest to po prostu notatka mająca ułatwić zrozumienie danego fragmentu kodu innym, którzy będą go czytać oraz przede wszystkim temu kto go napisał. Jeśli programista daruje sobie komentowanie kodu, orientowanie się w nim będzie zajmowało mu więcej czasu, lub też zajmie mu to nieskończoną ilość czasu, gdyż z obłędem w oczach skasuje całą swoją pracę nie mogąc zrozumieć ani jednej linijki. Komentarze istnieją jedynie na poziomie kodu źródłowego, po kompilacji nie pozostaje po nich żaden ślad. Aby uczynić dowolny tekst komentarzem i tym samym wyłączyć go z procesu asemblacji należy poprzedzić go średnikiem. Średnik zamienia w komentarz wszystko co znajduje się za nim aż do końca linii.
<source lang="asm">mov eax, edx ; ''to jest komentarz''</source>
Asembler MASM umożliwia jeszcze jedną metodę komentowania:
comment granica komentarz granica
Przy czym jako ''granica'' wstawiamy dowolny znak np.
 
comment ; ''to jest komentarz''
''to także jest komentarz'' ;