Assembly NASM
- Introdução
- Fundamentos
- A Instrução mov e a Cópia de Dados
- Operações Aritméticas Básicas: add, sub, inc e dec
- Controle de Fluxo: Instrução jmp
- Flags e Saltos Condicionais
- Comparação de Dados: Instrução cmp
- Cópia de Dados Condicional: Instruções cmov
- Criação de Laços: Instruções loop e jrcxz
- Multiplicação de Inteiros: Instruções mul e imul
- Divisão de Inteiros: Instruções div e idiv
- Operações Lógicas Bit a Bit: AND, OR, XOR, NOT e NEG
- Deslocamento e Rotação de Bits: SHL, SHR, SAR, ROL e ROR
- Manipulação de Dados e Memória
- Funções
- Chamadas de Sistema
- Interação entre Código Assembly e C/C++
- SIMD (Single Instruction, Multiple Data)
- Números de Ponto Flutuante
- Extensões SSE e AVX/AVX2
- Cópia de Dados com Instruções SIMD
- Conversão entre Números de Ponto Flutuante e Inteiros
- Aritmética com Números de Ponto Flutuante
- Comparação de Números de Ponto Flutuante
- Operações de Deslocamento (Shift) em SSE e AVX
- Operações Lógicas com SSE e AVX
- Adição Vetorial com Instruções SSE e AVX
- Subtração Vetorial com Instruções SSE e AVX
- Multiplicação Vetorial com Instruções SSE e AVX
- Funções Matemáticas Vetoriais com SSE e AVX
- Comparação Vetorial de Inteiros com SSE e AVX
- Operações Aritméticas Vetoriais com Ponto Flutuante em SSE e AVX
- Como Salvar e Restaurar Registradores SSE/AVX
- Pré-processador
- Bibliotecas Compartilhadas em Linux
- Tópicos Avançados