- x86 64 - Why is the %rax register used in the assembly for this . . .
@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 map %rax not to the return value, but to just another scratch reg
- How to read registers: RAX, RBX, RCX, RDX, RSP. RBP, RSI, RDI in C or . . .
@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 %rax,%eax?
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, reads a 32-bit value from that memory address, and stores it in the eax register Because the memory address being dereferenced is stored in rax, it can be a 64-bit address, which is necessary when running on a
- assembly - How is rax different from eax? - Stack Overflow
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 Intel and is often known by the more neutral name x86-64 Essentially all x86 chips released in the last decade from AMD and Intel support this ISA Registers like eax, ebx, etc are the 32-bit registers
- x86_64 registers rax eax ax al overwriting full register contents
As it is widely advertised, modern x86_64 processors have 64-bit registers that can be used in backward-compatible fashion as 32-bit registers, 16-bit registers and even 8-bit registers, for exampl
- assembly - What does callq * (%rax) mean? - Stack Overflow
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)? I'm having trouble googling *( assembly syntax This is x64 assembly generated from GCC 4 8 compiling C++ code
- x86 - What do these assembly lines mean? - Stack Overflow
I am struggling on a homework because I do not understand what these lines are supposed to mean ? mov rax, qword ptr [rbp - 0x28] mov rax, qword ptr [rax] mov eax, dword ptr [rax] mov dword ptr [rb
- assembly - How can I use MOV in asm? - Stack Overflow
Either do lea rax, [rel a] or as an optimization in executables that are known to be linked into the low 32 bits of address space (like non-PIE on Linux), mov eax, a Still, mov rax, a does work inefficiently, and Linux dynamic linking does support runtime fixups (text relocations) on 64-bit absolutes in shared objects such as PIE executables
|