Assembly x86-64

Introdução ao assembly, escrita por mim, em inglês: https://gitlab.com/luamfb/intro_x86-64

Sobre

O que é assembly? O que é x86-64? Por que aprender isso?

Todas essas perguntas estão respondidas no README.

0 - Básico

Este arquivo explica o básico de assembly.

1 - I/O

Este arquivo explica como funciona I/O (input/output) em assembly.

2 - Endereçamento de memória

Este arquivo explica como funcionam acessos a memória em assembly.

3 - Jumps

Este arquivo explica como funcinam jumps (desvios) condicionais e incondicionais, e como eles implementam loops (como while) e branches (if-else).

4 - Funções folha

Este arquivo explica as funções folha: funções que não chamam nenhuma outra função.

5 - Funções não-folha

Este arquivo explica as funções não-folha (que chamam outras funções) e por que elas são diferentes das funções folha.

6 - libc

Este arquivo explica como chamar funções da biblioteca padrão de C (e por extensão, de qualquer biblioteca escrita em C).

7 - Ponto Flutuante

Este arquivo explica como lidar com ponto flutuante em assembly usando diferentes precisões (float, double e long double).