Asembler x86/Instrukcje/Różne
|
Asembler X86 Instrukcje | ||||
bswap
[edytuj]działanie: rozkaz ten powoduje zamianę kolejności bajtów z little-endian na big-endian i odwrotnie.(bajty sa zapisywane w odwrotnej kolejności)
A: 32-bitowy rejestr ogólnego przenaczenia.
przykład: bswap edx
int
[edytuj]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
lea
[edytuj]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]
nop
[edytuj]działanie: instrukcja nie wywołuje żadnych działań procesora poza standardowym dla każdej instrukcji zwiększeniem wartości rejestru EIP.
przykład: nop
EAX
[edytuj]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
EBX
[edytuj]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
ECX
[edytuj]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
EDX
[edytuj]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