Online: 0x03C (60)
haker.info  — Etyczny hacking_
Spreading knowledge like a virus.

 haker.info Baza wiedzy

Asembler x86/x64 » Instrukcje logiczne
XOR
Sk艂adnia rozkazu:
XOR A, B

Instrukcja wykonuje sum臋 modulo 2 (alternatyw臋 wykluczaj膮c膮) operand贸w A i B. Wynik umieszcza w operandzie A.

A B A xor B
1 1 0
1 0 1
0 1 1
0 0 0
Pseudokod:
A = A xor B

Wp艂yw instrukcji na rejestr znacznik贸w (flag):

  • Flagi PF, SF i ZF s膮 ustawiane zgodnie z wynikiem operacji. Flagi CF i OF s膮 zerowane. Flaga AF nieokre艣lona.

Przyk艂adowy kod MASM64 (ml64.exe):

extrn ExitProcess : proc .data var1 dq 03h .code Main proc mov rax, 07h ;RAX = 07h = 00111b mov rcx, 14h ;RCX = 14h = 10100b xor rax, rcx ;RAX = 13h = 10011b mov rax, 05h ;RAX = 05h = 00101b mov rcx, var1 ;RCX = 03h = 00011b xor rax, rcx ;RAX = 06h = 00110b mov rax, 0FFFFFFFFFFFFFFFFh mov rcx, 000000000000000FFh xor rax, rcx ;RAX = 0FFFFFFFFFFFFFF00h ;XOR na dw贸ch takich samych warto艣ciach daje zawsze zero mov rax, 07h ;RAX = 7 mov rcx, 07h ;RCX = 7 xor rax, rcx ;RAX = 0 mov rax, 03h ;RAX = 3 mov rcx, var1 ;RCX = 3 xor rax, rcx ;RAX = 0 _exit: 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

Wykaz literatury (bibliografia)

  • Advanced Micro Devices Inc., 2017 鈥 AMD64 Architecture Programmer's Manual
  • Intel Corporation, 2019 鈥 Intel 64 and IA-32 Architectures Software Developer's Manual
  • Microsoft Corporation, 2019 鈥 https://docs.microsoft.com/pl-pl/cpp/assembler/masm/masm-for-x64-ml64-exe (dost臋p: 28-07-2020)
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 oraz polityk臋 prywatno艣ci.