haker.info  — Etyczny hacking_

 haker.info Baza wiedzy

Asembler x86/x64 » Instrukcje transferu danych
XCHG
Składnia rozkazu:
XCHG A, B

Instrukcja zamienia wartościami operand A z operandem B.

Pseudokod:
temp = A
A = B
B = temp

Wpływ instrukcji na rejestr znaczników (flag):

  • brak

Przykładowy kod MASM64 (ml64.exe):

extrn ExitProcess : proc .data var1 dq 09h var2 dq 03h .code Main proc ;do rejestru RAX wpisz wartość 05h mov rax, 05h ;do rejestru RCX wpisz wartość 08h mov rcx, 08h ;RAX = 08h ;RCX = 05h xchg rax, rcx ;BŁĄD: ;xchg var1, var2 ;RAX = 09h ;var1 = 08h xchg var1, rax ;zakończ program sub rsp, 8h xor rcx, rcx call ExitProcess Main endp end

Kompilacja przykładowego kodu źródłowego:

ml64.exe prog1.asm /link /entry:Main /subsystem:windows /defaultlib:"kernel32.Lib" /LARGEADDRESSAWARE:NO

Dawid Farbaniec

Wszystkie treści umieszczone na tej witrynie są chronione prawem autorskim. Surowo zabronione jest kopiowanie i rozpowszechnianie zawartości tej witryny bez zgody autora. Wszelkie opublikowane tutaj treści (w tym kody źródłowe i inne) służą wyłącznie celom informacyjnym oraz edukacyjnym. Właściciele tej witryny nie ponoszą odpowiedzialności za ewentualne niezgodne z prawem wykorzystanie zasobów dostępnych w witrynie. Użytkownik tej witryny oświadcza, że z zamieszczonych tutaj danych korzysta na własną odpowiedzialność. Wszelkie znaki towarowe i nazwy zastrzeżone zostały użyte jedynie w celach informacyjnych i należą wyłącznie do ich prawnych właścicieli. Korzystając z zasobów witryny haker.info oświadczasz, że akceptujesz powyższe warunki.