Najważniejsze instrukcje asemblera
Instrukcja | Opis | Inne informacje |
mov | instrukcja przeniesienia | Kopiuje zawartość jednego fragmentu pamięci do innego: mov [cel], [źródło] |
push | instrukcja odłożenia na stosie | Kopiuje na stos zawartość wskazanego fragmentu pamięci: push [źródło] |
pop | instrukcja pobrania ze stosu | Przenosi wartość ze stosu do wskazanego fragmentu pamięci: pop [cel] |
add | instrukcja dodawania | Dodaje zawartość jednego fragmentu pamięci do innego: add [cel], [źródło] |
sub | instrukcja odejmowania | Odejmuje zawartość jednego fragmentu pamięci od innego: sub [cel], [źródło] |
xor | różnica symetryczna | Oblicza różnicę symetryczną wskazanych fragmentów pamięci: xor [cel], [źródło] |
jmp | instrukcja skoku | Zmienia wartość rejestru EIP na określony adres: jmp [adres] |
call | instrukcja wywołania | Działa podobnie jak instrukcja jmp, ale przed zmianą wartości rejestru EIP odkłada na stos adres kolejnej instrukcji: call [adres] |
lea | instrukcja załadowania adresu | Umieszcza we wskazanym fragmencie pamięci [cel] adres innego fragmentu [źródło]: lea [cel], [źródło] |
int | przerwanie | Przesyła określony sygnał do jądra systemu, wywołując przerwanie o określonym numerze: int [wartość] |
Instrukcje dzielą się między innymi na instrukcje:
• przeniesienia (mov, push, pop),
• arytmetyczne (add, sub, inc, neg, mul, div),
• logiczne (and, or, xor, not),
• sterujące (jmp, call, int, ret),
• operujące na bitach, bajtach i łańcuchach znaków (shl, shr, rol, ror),
• wejścia/wyjścia (in, out),
• kontroli flag.