Asembler X86/Instrukcje/Różne

Z Wikibooks, biblioteki wolnych podręczników.

Spis treści

[edytuj] bswap

działanie: rozkaz ten powoduje zamianę miejscami pierwszego i czwartego bajta danego rejestru 32-bitowego.
A: 32-bitowy rejestr ogólnego przenaczenia.
przykład: bswap edx

[edytuj] int

działanie: wywołuje podprogram obsługi przerwania o numerze podanym w A. Parametry dla podprogramu przekazuje się w odpowiednich rejestrach. Dokładny opis przerwań w rozdziale Przerwania. Dodatkowo instrukcja int umieszcza rejestr EFLAGS na szczycie stosu.
A: konkretna wartość.
modyfikowane flagi: IF, TF, NT, AC, RF i VM mogą zostać wyzerowane..
przykład: int 21h

[edytuj] lea

działanie: wczytuje efektywny adres B do A.
A: rejestr ogólnego przeznaczenia lub rejestr segmentowy.
B: adres w pamięci.
przykład: lea eax, [ebp-4]

[edytuj] nop

działanie: instrukcja nie wywołuje żadnych działań procesora poza standardowym dla każdej instrukcji zwiększeniem wartości rejestru EIP. Używana do spowolnienia procesora.
przykład: nop

[edytuj] EAX

budowa: rejestr EAX dzieli się na E , AX z kolei AX dzieli się na AH i AL
przykład:

  E      AX
 ============
 |0012|34|56|
 ============
       AH AL

[edytuj] EBX

budowa: rejestr EBX dzieli się na E , BX z kolei BX dzieli się na BH i BL
przykład:

  E      BX
 ============
 |0012|34|56|
 ============
       BH BL

[edytuj] ECX

budowa: rejestr ECX dzieli się na E , CX z kolei CX dzieli się na CH i CL
przykład:

  E      CX
 ============
 |0012|34|56|
 ============
       CH CL

[edytuj] EDX

budowa: rejestr EDX dzieli się na E , DX z kolei DX dzieli się na DH i DL
przykład:

  E      DX
 ============
 |0012|34|56|
 ============
       DH DL