This is the 32bit version of the famous: "hello, world" program written in assembly language for a Linux system. Instead of using as and ld to link and compile, here we'll make use of the GNU C compiler (gcc) to compile the executable. The only read difference here is that we need to change the start label from _start to main as this is what gcc is looking for.
.section .data
msg: .ascii "Hello, world\n"
.set len, . - msg
.section .text
.global main
main:
movl $4, %eax
movl $1, %ebx
movl $msg, %ecx
movl $len, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
Assuming the file is called hellogcc.s, use the following command, to compile and link it with gcc:
gcc -o hellogcc hellogcc.s
And run it with:
./hellogcc