Hello World на ассемблере


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

Вот мой видос на тему:

 


Запись опубликована в рубрике Assembler. Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.