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

 haker.info Baza wiedzy

Asembler x86/x64 » Instrukcje transferu danych
MOV
Sk艂adnia rozkazu:
MOV A, B

Instrukcja kopiuje warto艣膰 operandu B do operandu A.

Pseudokod:
A = B

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

  • brak

Przyk艂adowy kod MASM64 (ml64.exe):

extrn ExitProcess : proc .data ;zmienna o nazwie var1, rozmiarze poczw贸rnego s艂owa (qword) i warto艣ci 07h var1 dq 07h ;zmienna o nazwie var2, rozmiarze poczw贸rnego s艂owa (qword) i warto艣ci 03h var2 dq 03h ;ci膮g bajt贸w (napis) zako艅czony zerem var3 db "Hello!", 0 ;ci膮g (tablica) czterech podw贸jnych s艂贸w (dword) o nadanych warto艣ciach var4 dd 01h, 02h, 00h, 04h .code Main proc ;do rejestru RAX wpisz warto艣膰 natychmiastow膮 02h mov rax, 02h ;do rejestru RCX wpisz warto艣膰 z rejestru RAX mov rcx, rax ;do zmiennej o nazwie var1 wpisz warto艣膰 z rejestru RCX mov var1, rcx ;B艁膭D: ;mov var2, var1 ;do rejestru RAX wpisz warto艣膰 zmiennej o nazwie var1 mov rax, var1 ;do zmiennej o nazwie var2 wpisz warto艣膰 z rejestru RAX mov var2, rax ;od艂贸偶 warto艣膰 z rejestru RAX na stos push rax ;zdejmij warto艣膰 ze stosu i umie艣膰 w zmiennej o nazwie var2 pop var2 ;do rejestru RBX wpisz adres napisu var3 mov rbx, offset var3 ;podmie艅 drugi znak (bajt) w napisie na liter臋 "a" (var3 = "Hallo!") mov byte ptr [rbx + 1], "a" ;do rejestru RBX wpisz adres tablicy var4 mov rbx, offset var4 ;podmie艅 warto艣膰 trzeciego elementu tablicy na 03h (var4 = 01h, 02h, 03h, 04h) mov dword ptr [rbx + 2], 03h ;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

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.