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

 haker.info Baza wiedzy

Asembler x86/x64 » Instrukcje transferu danych
CQO
Składnia rozkazu:
CQO

Instrukcja wpisuje do pary rejestr├│w RDX:RAX warto┼Ť─ç z rejestru RAX z powielonym bitem znaku na pozosta┼ée bity (warto┼Ť─ç rozszerzona z zachowaniem znaku — sign extended value).

Pseudokod:
RDX:RAX = SignExtend(RAX)

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

  • brak

Przykładowy kod MASM64 (ml64.exe):

extrn ExitProcess : proc .code Main proc ;RAX = 0FFFFFFFFFFFFFF98h mov rax, -104 ;RDX:RAX = 0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98h = -104 cqo ;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.