Hello World in assembly language. How much fun is in that! For starters, here’s what we’re going to dig into in asm, the classics:
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
return 0;
}
On GNU assembly it would be something like this:
######### write(1, message, 13) -> exit(0)
.data
msg:
.ascii "Hello, world\n"
.text
.global _start
_start: # entry point
mov $1, %eax # syscall 1 (write)
mov $1, %edi # file handle 1 (stdout)
mov $msg, %esi # string address
mov $13, %edx # size in bytes
syscall # OS syscall
mov $60, %eax # syscall 60 (exit)
xor %edi, %edi # return 0
syscall # OS syscall
My vid about it: