Hello, dear programmers.
Now I master the assembler (and the AT & T syntax is under the Ubuntu 10.10 system), and I have a question, why does this code work?
.data msg: .string "Hello, world!\n" .text .globl main main: pushl $msg #вот здесь-то у меня и возникает вопрос call printf addl $4, %esp
So, the question is, why am I pushing a stack of 4 bytes at a time when my message takes up more bytes?