Table of contents Introdução Conteúdo Como usar este livro A base Noção geral da arquitetura Modos de operação Sintaxe Registradores de propósito geral Endereçamento Pilha Saltos Procedimentos Seções e símbolos Instruções assembly x86 Instruções do NASM Pré-processador do NASM Syscall no Linux Olá mundo no Linux Revisão Aprofundando em Assembly Registradores de segmento CALL e RET Position-independent executable Atributos Prefixos Flags do processador Instruções condicionais Programando no MS-DOS Interrupções de software e exceções Procedimentos do BIOS Usando instruções da FPU Entendendo SSE Instruções de movimentação de dados Instruções aritméticas Instruções lógicas e de comparação Instruções com inteiros 128-bit Instruções de conversão Programando junto com C Sintaxe do GAS Convenção de chamada da System V ABI Convenções de chamada no Windows Variáveis em C Funções em C Ambiente hosted Ambiente freestanding Inline Assembly no GCC Instruções intrínsecas Depuração de código Entendendo os depuradores Depurando com o GDB Apêndices Código de máquina Formato das instruções Atributos e prefixos Immediate Displacement ModR/M e SIB Opcode Prefixo REX Codificação dos registradores Metadados TO DO Referências