Aprendendo Assembly
Doar para o autor
  • 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
    • Depurando com o Dosbox
  • 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
Powered by GitBook
On this page
  • Bibliografia
  • Arquiteturas x86 e x86-64
  • Convenções de chamada
  • Depuradores
  • Ferramentas
  • Instruções intrínsecas
  • Linguagem C
  • Linux
  • Sistemas Operacionais
  • Códigos consultados
  • glibc

Was this helpful?

Export as PDF
  1. Metadados

Referências

PreviousTO DO

Last updated 3 years ago

Was this helpful?

Bibliografia

Arquiteturas x86 e x86-64

Convenções de chamada

Depuradores

Ferramentas

Instruções intrínsecas

  1. Intel® 64 and IA-32 Architectures Software Developer Manuals - Volume 2, Appendix C

Linguagem C

Linux

  1. Linux Programmer's Manual

Sistemas Operacionais

  1. Andrew S. Tanenbaum. Sistemas Operacionais Modernos. 4° Edição. ISBN: 978-8543005676

Códigos consultados

Alguns trechos do livro foram baseados em conhecimento que obtive lendo diretamente o código-fonte de alguns projetos. Abaixo eu listo cada arquivo consultado para fins de referência. O * (caractere curinga) indica que consultei todos os arquivos de um determinado diretório.

Frederico Lamberti Pissarra.

Daniel P. Bovet, Marco Cesati.

Intel® 64 and IA-32 Architectures Software Developer Manuals
x86 and amd64 instruction reference - Félix Cloutier
X86 Opcode and Instruction Reference
AT&T Assembly Syntax
System V Application Binary Interface Intel386 Architecture Processor Supplement - Version 1.0
System V Application Binary Interface AMD64 Architecture Processor Supplement - Draft Version 0.99.7
Calling Conventions | Microsoft Docs
x86 calling conventions | Wikipedia
GDB Internals - Breakpoint Handling
Using as | Documentation for binutils 2.37
GAS syntax - Wikibooks
NASM version 2.15.05 documentation
Using the GNU Compiler Collection (GCC) | GNU Project
GNU Compiler Collection (GCC) Internals
Debugging with GDB
Intrinsics | Intel® C++ Compiler Classic Developer Guide and Reference
Intel® Intrinsics Guide
An Introduction to GCC Compiler Intrinsics in Vector Processing
C11 Standard - ISO/IEC 9899:201x draft n1570
The GNU C Reference Manual
Dicas - C e Assembly para arquitetura x86-64
Linux System Call Table for x86 64
Lazy binding
The .init and .fini Sections
ptrace(2) — Linux manual page
ld.so(8) — Linux manual page
Understanding the Linux Kernel, 3rd Edition - 4.5 Exception Handling
Escalonamento de processos | Wikipédia
Troca de contexto | Wikipédia
Sinal (ciência da computação) | Wikipédia
glibc
/csu/*
/sysdeps/x86_64/start.S
/sysdeps/x86_64/crti.S
/sysdeps/x86_64/crtn.S