I am looking into assembly code generated by GCC. But I don\'t understand:
movl $0x2d, 0x4(%esp)
In the second operand, what does 0x4
GCC assembly operands follow a byte (b), word (w), long (l) and so on such as :
movb movw movl
Registers are prefixed with a percentage sign (%).
Constants are prefixed with a dollar sign ($).
In the above example in your question that means the 4th offset from the stack pointer (esp).
Hope this helps, Best regards, Tom.