Hello World на ассемблере. Как много в этом звуке. Для начала, вот, что мы будем лопатить в асме, классика:
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
return 0;
}
На GNU assembly это будет примерно так:
######### 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
Вот мой видос на тему:
