do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
![]() ASEMBLER 80x86
Informacje ogólne
Operacje arytmetyczne: add, sub, inc, dec, mul/imul, div/idiv,Operacje logiczne: and, bt, btr, bts, not, or, rol, ror, shl, shr,Operacje sterujące: cmp, loop, skoki (rozgałęzienia), call, ret,Operacje przesyłania danych: lea, mov,Operacje na stosie: push, pop, pusha, popa,Pojęcia: EtykietyProcedury (podprogramy) Rejestry procesora Stos Zmienne - deklaracja zmiennych (db,dw,dd,rb) ostatnia aktualizacja: 15.04.2005 MUL (MULTIPLY - MNOŻENIE)
Instrukcja powoduje pomnożenie zawartości rejestru EAX przez podaną daną.
Dopuszczalna postać instrukcji: mul pamięć; Przyklady zastosowania: mul ebx; - pomnożenie zawartości rejestru EAX przez zawartość rejestru EBX, wynik mnożenia zostanie zapisany w EAX mul dword [dana]; - pomnożenie zawartości EAX przez 32 bitową liczbę zapisaną pod adresem wskazywanym przez etykietę dana, wynik mnożenia zostanie zapisany w rejestrze EAX Przykład: mov ecx,10; mov eax,15; mul ecx; - wynik mnożenia zapisany zostanie w EAX, rejestr EDX zostanie wyzerowany, ECX nie ulegnie zmianie Uwaga! Przy 32 bitowym mnożeniu zmianie ulega także rejestr EDX, jeżeli wynikiem mnożenia jest liczba mieszcząca się w zakresie 32-bitów wtedy rejestr EDX jest zerowany (EDX=0) natomiast gdy wynikiem mnożenia jest liczba większa (nie mieszcząca się w 32 bitach) to jej starsza część jest zapisana w rejestrze EDX a młodsza w EAX. Wszystkie powyższe informacje odnoszą się również do instrukcji IMUL z tym, że w przypadku IMUL wymnażane liczby są traktowane jako liczby "ze znakiem" - po prostu rozróżniane są liczby dodatnie i ujemne. Przy zwykłym MUL każda liczba jest traktowana jako liczba dodatnia. |
|






