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
Вот мой видос на тему: