Context:
Learning GAS assembly on 64 bit linux. Many tutorials are for 32-bit assembly.
Difficult to bushwhack through x86_64 assembly.
Question:
When I compile a c program with gcc, I still see some %eax
and movl
.
I mostly play with int32_t
.
But I thought that one had to use the 64 bits instructions on x86_64
(like rax
,rbx
and so on).
I don't understand very well. Shouldn't they be %rax
and movq
?
In my assembly programs, I should use movq
, right ? even for 32 bits integers ?
I am a lost beginner.
Thanks