
x86 64 - Why is the %rax register used in the assembly for this ...
Dec 9, 2020 · @RossRidge given %rax is the go-to register for storing return values, seeing it used in another way is surprising to me. It means that reading the disassembled code requires us to mentally …
How to read registers: RAX, RBX, RCX, RDX, RSP. RBP, RSI, RDI in C or ...
Dec 13, 2013 · @DavidHeffernan: I just want to read values that are currently in those registers: RAX, RBX, RCX, RDX, RSP. RBP, RSI, RDI and print them out, thats it.
What is the difference between "mov (%rax),%eax" and "mov …
Dec 20, 2016 · In AT&T syntax, the instruction: mov (%rax), %eax # AT&T syntax or, equivalently in Intel syntax: mov eax, DWORD PTR [rax] ; Intel syntax dereferences the memory address stored in rax, …
assembly - How is "rax" different from "eax"? - Stack Overflow
Jul 7, 2017 · The registers starting with r as in rax, rbx, etc, are the 64-bit registers introduced with the AMD64 extension to the existing 32-bit x86 ISA. That ISA extension was subsequently adopted by …
assembly - What does 'callq * (%rax)' mean? - Stack Overflow
Jul 10, 2019 · Thus (%rax) means to get the value of the pointer currently stored in %rax. What does the star decoration do on that? Does that further dereference that value (thus (%rax) is itself a pointer)? …
What does call * (%rax, %rcx,8) mean in a loop? Why do RAX and RCX ...
Dec 11, 2022 · RAX and RCX are call-clobbered so it's normal they don't keep their value; notice how their values before call come from an LEA and a load from a local on the stack. (What registers are …
Why "mov rcx, rax" is required when calling printf in x64 assembler?
Aug 29, 2017 · At the beginning I called printf without "mov rcx, rax", which ended up with access violation. Getting all frustrated I just wrote in C++ a call to printf and looked in the disassembler. …
What does the R stand for in RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP?
• RDX:RAX register pair representing a 128-bit operand See the question and answer for x86_64 registers rax/eax/ax/al overwriting full register contents as well as Why do most x64 instructions zero …
assembly - How do AX, AH, AL map onto EAX? - Stack Overflow
RAX is the full 64-bit value, with EAX and its sub-components mapped to the lower 32 bits. The upper half of 64-bit registers is only accessible in 64-bit mode, unlike 32-bit registers which can be used in …
What are the names of the new X86_64 processors registers?
Nov 18, 2009 · The old 32-bit registers have been extended to 64 bits, the r registers (rax, rbx, rsp and so on). In addition, there's some extra general purpose registers r8 through r15 which can also be …