Why does this memory address %fs:0x28 ( fs[0x28] ) have a random value??

I've written a piece of C code and I've disassembled it as well as read the registers to understand how the program ...

What is the difference between retq and ret??

Let's consider the following program, which computes an unsigned square of the argument: .global foo .text foo: ...

What is callq instruction??

I have some gnu assembler code for the x86_64 architecture generated by a tool and there are these instructions: mo...

movq assembly function?

I was reading some code and was not sure what this line does: movq (%rsp), %rsp ...

What is the purpose of the RBP register in x86_64 assembler??

So I'm trying to learn a little bit of assembly, because I need it for Computer Architecture class. I wrote a few pr...