20 Livros pra você aprender Assembly de forma fácil

📚 10 deles são em Português. E um com menções honrosas!


20 Livros pra você aprender Assembly de forma fácil


A programação em baixo nível assusta muita gente, mas não precisa ser assim.

Este artigo reúne 20 livros que explicam assembly de forma direta, didática e acessível, indo do básico absoluto até tópicos avançados.

A seleção cobre diferentes arquiteturas, estilos de escrita e níveis de profundidade, sempre priorizando materiais que ajudam você a entender como o hardware realmente funciona. Se a ideia é ganhar domínio sobre registradores, instruções, pilha e memória sem se perder em tecnicalidades desnecessárias, aqui está o ponto de partida.


01. Programação de sistemas: Criação de aplicações em Assembler

01

O manual aborda as questões de programação em linguagem assembly para computadores, tendo em conta vários microprocessadores.

A base deste livro é o material que faz parte da programação de sistemas. A construção de projectos na plataforma Assembler caracteriza-se pela sua relevância. Para atingir este objetivo, foi estudada a literatura sobre microcontroladores de computadores, linguagens de programação de baixo nível.

O livro será útil para estudantes universitários, programadores e todos aqueles que queiram aprender a linguagem Assembler.

Quando o leitor estuda este livro, tudo é explorado com suficiente pormenor e claramente explicado a um nível prático.

Clique aqui para adquirir esse livro


02. O Guia Prático da Linguagem Mips Assembly

02

Você quer trabalhar nas maiores empresas de tecnologia do mundo? Você quer aprender como programar em baixo nível?

Muitas empresas nacionais e internacionais precisam de programadores Assembly para seu recurso humano. Atualmente, com os smartphone, temos o uso massivo da arquitetura RISC (Reduzed Instructions Set Computer) e a necessidade de programadores para estes dispositivos vem aumentando com a evolução da Internet das Coisas.

Seja um destes programadores TOPS, que conseguiram adquirir mais conhecimento na linguagem de programação MIPS Assembly e conseguiram abrir novas portas de trabalho no mercado mundial. Te convido a aprender do zero e de uma forma bem didática o Assembly RISC. Em pouquíssimo tempo estarás programando.

Clique aqui para adquirir esse livro


03. Linguagens de Montagem

03

Este livro procura apresentar linguagens de montagem com a perspectiva de que elas são um ótimo meio de iniciar o estudo de arquitetura de processadores, e iniciar o estudo de como funcionam linguagens de alto nível.

O projeto apresenta diversos exemplos de como construções de linguagens de mais alto nível são implementadas em linguagem de montagem (comandos repetitivos, comandos de seleção como IF ou SWITCH, passagem de parâmetros, recursão, etc).

Um outro ponto é o conteúdo através de dois processadores: um fictício e mais simples, que permite entender como o processador funciona (codificação de instruções trivial, conjunto simples de instruções); e um processador comercial muito utilizado atualmente (ARM), que é no entanto muito difícil de apresentar sem uma introdução sobre funcionamento de processadores e codificação, pois sua arquitetura é muito especializada e otimizada.

É também o processador mais utilizado em tablets e celulares como o iPhone.

Clique aqui para adquirir esse livro


04. HiguitaSO: Um sistema operacional em assembly para fins didáticos

04

Sistemas operacionais é uma categoria importante de software, pois ele ajuda a operacionalizar o computador.

Sem eles o uso das máquinas seria desnecessariamente complexo. A função principal de um sistema operacional é ocultar os detalhes do hardware do programador, e por consequência do usuário comum, facilitando o processo de criação e uso de novos programas.

HiguitaSO é um sistema operacional desenvolvido para fins acadêmicos, que mostra na prática como esse tipo de software oculta os detalhes do hardware subjantece. É desejável que o leitor tenha conhecimento prévio em Organização e Arquitetura de Computadores, bem como de Linguagem Assembly.

Clique aqui para adquirir esse livro


05. Programacao Em Assembly Para O Dsc Dspic30 Volume I

05

A Proposta desta literatura é apresentar a programação em assembly para o digital signal controller(dsc) da linha Dspic30. Parte do set de instruções deste processador é apresentada realizando a simulação através do Mplab X.

Clique aqui para adquirir esse livro


06. Microprocessador e linguagem Assembly para iniciantes usando DOS

06

Microprocessador e linguagem Assembly. Um microprocessador (por vezes abreviado µP) é um componente eletrónico digital com transístores num único circuito integrado semicondutor (IC).

Uma unidade central de processamento (CPU) num sistema informático ou num dispositivo portátil é constituída por um ou mais microprocessadores. O termo “micro” significa extremamente pequeno e “processador” significa o elemento que acelera as tarefas.

Existem várias linguagens de montagem diferentes, mas todas elas têm algumas coisas em comum. Todas elas mapeiam diretamente para os conjuntos de instruções da CPU de hardware subjacente. é um conjunto de código/instruções binárias que a CPU compreende. … Por exemplo, ‘MOV’ pode ser usado para mover instruções.

Clique aqui para adquirir esse livro


07. Introdução ao Assembly x86

07

Gostaria de aprender linguagem assembly para processadores x86 e não sabe por onde começar? Este material é para você. Você verá as instruções elementares com exemplos de código que o ajudarão na sua jornada de aprendizado.

Clique aqui para adquirir esse livro


08. Programacao Em Assembly Para O Microprocessador 6502 Volume I

08

A proposta desta literatura é apresentar a programação em assembly para o processador da linha 6502. A maior parte do set de instruções deste processador é apresentada realizando a simulação através do 6502 Simulator.

Clique aqui para adquirir esse livro


09. Programação em Baixo Nível: C, Assembly e execução de programas na arquitetura Intel 64

09

Programação em baixo nível explica a arquitetura do Intel 64 como resultado da evolução da arquitetura de von Neumann. O livro o ensina a usar a versão mais recente da linguagem C (C11) e a linguagem Assembly desde o básico. Todo o caminho, do código-fonte à execução do programa, incluindo a geração de arquivos-objeto ELF, além das ligações estática e dinâmica, será discutido. Há exemplos de código e exercícios, junto com as melhores práticas de programação. Os recursos de otimização e os limites dos compiladores modernos serão analisados, permitindo-lhe promover um equilíbrio entre a legibilidade do programa e o desempenho.

O uso de diversas técnicas para ganho de desempenho, por exemplo, instruções SSE e pre-fetching, será demonstrado. Assuntos relevantes em ciência da computação, como os modelos de computação e as gramáticas formais, também serão tratados, explicando-se sua importância prática.

Programação em baixo nível ensina os programadores a:

  • escrever livremente em linguagem Assembly;
  • compreender o modelo de programação do Intel 64;
  • escrever um código robusto e fácil de manter em C11;
  • acompanhar o processo de compilação e decifrar as listagens em Assembly;
  • depurar erros em código Assembly compilado;
  • usar modelos de computação apropriados para reduzir drasticamente a complexidade dos programas;
  • escrever códigos críticos quanto ao desempenho;
  • compreender o impacto de um modelo de memória fraco em aplicações com várias threads.

Clique aqui para adquirir esse livro


10. Programação em Linguagem Assembly com o MICROCONTROLADOR 8051

10

Este livro foi concebido para estudantes de licenciatura para estabelecer uma base para a programação em linguagem de montagem com o microcontrolador 8051.

Contém os princípios básicos, a descrição dos pinos, o formato dos registos de funções especiais, o conjunto de instruções e a sua classificação. O principal objetivo deste livro é inculcar o interesse pela programação em linguagem de montagem.

É utilizada uma abordagem sistemática, passo a passo, para compreender a programação em linguagem de montagem. Este livro contém seis capítulos e dois apêndices, cada capítulo inclui programas (escritos em linguagem assembly), questões de revisão e questões de exercício.

Clique aqui para adquirir esse livro


11. Assembly Language for X86 Processors

11

Linguagem Assembly para processadores x86, 7e destina-se ao uso em cursos de graduação em programação em linguagem assembly e cursos introdutórios em sistemas de computadores e arquitetura de computadores.

Este título também é adequado para programadores e engenheiros de sistemas embarcados, especialistas em comunicação, programadores de jogos e programadores gráficos.

Recomenda-se proficiência em outra linguagem de programação, de preferência Java, C ou C++. Escrito especificamente para a plataforma Intel/Windows de 32 e 64 bits, este estudo completo e totalmente atualizado da linguagem assembly ensina os alunos a escrever e depurar programas no nível da máquina.

Este texto simplifica e desmistifica conceitos que os alunos precisam compreender antes de prosseguirem para cursos mais avançados de arquitetura de computadores e sistemas operacionais.

Os alunos colocam a teoria em prática escrevendo software no nível da máquina, criando uma experiência memorável que lhes dá a confiança necessária para trabalhar em qualquer ambiente orientado a sistema operacional/máquina.

Clique aqui para adquirir esse livro


12. Programming from the Ground Up

12

A programação desde o início usa a linguagem assembly do Linux para ensinar aos novos programadores os conceitos mais importantes da programação.

Ele leva você passo a passo através destes conceitos:

  • Como o processador vê a memória
  • Como o processador opera
  • Como os programas interagem com o sistema operacional
  • Como os computadores representam os dados internamente
  • Como fazer otimização de baixo e alto nível A maioria dos livros de programação para iniciantes tenta proteger o leitor de como seu computador realmente funciona.

A programação desde o início começa ensinando como o computador funciona nos bastidores, para que o programador tenha experiência suficiente para ter sucesso em todas as áreas da programação. Este livro está sendo usado pela Universidade de Princeton em seu curso COS 217 “Introdução a Sistemas de Programação”.

Clique aqui para adquirir esse livro


13. X64 Assembly Language Step-By-Step: Programming with Linux

13

Na quarta edição recentemente revisada de x64 Assembly Language Step-by-Step: Programming with Linux, o autor Jeff Duntemann oferece uma introdução extensivamente reescrita à linguagem assembly com um forte foco no assembler Linux de modo longo de 64 bits.

O livro oferece uma abordagem alegre, robusta e acessível para uma disciplina técnica desafiadora, fornecendo um caminho passo a passo para aprender código assembly que seja envolvente e fácil de ler.

x64 Assembly Language Step-by-Step faz um trabalho rápido de conceitos básicos de computação programável, os conceitos de sistemas numéricos binários e hexadecimais, a arquitetura de computador Intel x86/x64 e o processo de desenvolvimento de software Linux para se aprofundar no conjunto de instruções x64, endereçamento de memória, procedimentos, macros e interface para as bibliotecas de código da linguagem C nas quais o Linux é construído.

Clique aqui para adquirir esse livro


14. The Art of 64-Bit Assembly, Volume 2

14

A Arte da Linguagem Assembly de 64 bits, Volume 2, mergulha em técnicas avançadas de programação em linguagem assembly para desenvolvedores experientes, explorando tópicos frequentemente esquecidos em textos introdutórios.

Projetado como uma continuação do Volume 1 e como uma referência independente, o livro conduz os leitores através de uma abordagem moderna para resolver desafios complexos de programação em montagem, com trechos de código detalhados, módulos independentes e listagens completas de programas – todos disponíveis on-line – para aprendizado prático e fácil aplicação.

Clique aqui para adquirir esse livro


15. Assembly Language for x86 Processors, Global Edition

15

Escrito especificamente para a plataforma Intel/Windows de 32 e 64 bits, este estudo completo e totalmente atualizado da linguagem assembly ensina os alunos a escrever e depurar programas no nível da máquina.

Este texto simplifica e desmistifica conceitos que os alunos precisam compreender antes de prosseguirem para cursos mais avançados de arquitetura de computadores e sistemas operacionais.

Os alunos colocam a teoria em prática escrevendo software no nível da máquina, criando uma experiência memorável que lhes dá a confiança necessária para trabalhar em qualquer ambiente orientado a sistema operacional/máquina.

Clique aqui para adquirir esse livro


16. Mastering the Art of x86 Assembly Programming: Unlocking the Secrets of Expert-Level Skills

16

Desbloqueie todo o potencial de sua experiência em programação com “Dominando a arte da programação em assembly x86: desvendando os segredos das habilidades de nível especializado”.

Este guia abrangente foi projetado para desenvolvedores experientes que buscam refinar seu domínio da linguagem assembly x86 e aproveitar ao máximo seus recursos. Mergulhe em discussões aprofundadas sobre estruturas de dados avançadas, otimização de algoritmos e técnicas complexas de gerenciamento de memória que permitem aprimorar o desempenho no nível mais baixo de computação.

Clique aqui para adquirir esse livro


17. Blue Fox: Arm Assembly Internals and Reverse Engineering

17

Encontrar e mitigar vulnerabilidades de segurança em dispositivos Arm é a próxima fronteira crítica de segurança na Internet – os processadores Arm já estão em uso por mais de 90% de todos os dispositivos móveis, bilhões de dispositivos de Internet das Coisas (IoT) e um número crescente de laptops atuais de empresas como Microsoft, Lenovo e Apple.

Escrito por um especialista líder em segurança Arm, Blue Fox: Arm Assembly Internals and Reverse Engineering apresenta aos leitores os modernos conjuntos de instruções Armv8-A e o processo de engenharia reversa de binários Arm para pesquisa de segurança e fins defensivos.

Clique aqui para adquirir esse livro


18. Assembly Lines: The Complete Book

18

Esse livro contém todas as correções de maio de 2017, bem como uma contracapa atualizada.

Os artigos de Linhas de montagem de Roger Wagner apareceram originalmente na revista Softalk de outubro de 1980 a junho de 1983. Os primeiros quinze artigos foram reimpressos em 1982 em Linhas de montagem: o livro.

Agora, pela primeira vez, todos os trinta e três artigos estão disponíveis num volume completo. Esta edição também contém todos os apêndices do livro original, bem como novos apêndices sobre o 65C02, uso de memória de zero páginas e um guia para iniciantes no uso do Merlin Assembler.

O livro foi projetado para estudantes de todas as idades: o programador nostálgico que aprecia a revolução retro, o recém-chegado interessado em aprender codificação assembly de baixo nível ou o desenvolvedor de sistemas embarcados que usa os mais recentes chips 65C02 do Western Design Center.

“Roger Wagner não apenas leu o primeiro livro sobre programação do computador Apple – ele o escreveu.”

-Steve Wozniak

Clique aqui para adquirir esse livro


19. X86 Software Reverse-Engineering, Cracking, and Counter-Measures

19

Engenharia reversa, cracking e contramedidas de software x86 estão centradas no mundo da desmontagem de software.

Ele começará com os fundamentos da linguagem assembly x86 e avançará para como esse conhecimento permite que você faça engenharia reversa e contorne as proteções de software. Nenhum conhecimento de montagem, engenharia reversa ou cracking de software é necessário.

Clique aqui para adquirir esse livro


20. Assembly Language Reimagined: Programming the Intel X64 Microprocessor in Linux

20

O autor John Schwartzman dá uma nova olhada na programação de baixo nível e explora como escrever programas usando BIOS e glibc.

Este livro baseado em laboratório auxilia na escrita de programas estruturados de alto nível, mostrando o que o processador pode ou não fazer e como ele o faz. Você desmontará C/C++ estruturado de alto nível e mostrará o que a CPU está fazendo em cada estágio do programa.

O livro apresenta programas e atividades durante todo o processo de desenvolvimento, fornecendo código de exemplo, makefiles e scripts de shell para cada programa de exemplo. Com a ajuda do Assembly Language Reimagined, você se tornará um engenheiro de computação mais capaz e versátil.

Clique aqui para adquirir esse livro


BÔNUS com Menções Honrosas

Assembly Language for the P. D. P.-11 Computer

21 - Bônus

Este livro é um guia técnico aprofundado para programadores que desejam dominar a linguagem assembly no clássico computador PDP-11. Escrito por Charles A. Kapps e Robert L. Stafford, a obra oferece uma abordagem sistemática da arquitetura do PDP-11, cobrindo seus registradores, modos de endereçamento, instruções e técnicas de otimização.

Com 300 páginas, o texto explora desde os fundamentos (como mover dados e realizar operações aritméticas) até conceitos mais avançados, como interrupções, tratamento de I/O e estrutura de programas em assembly. Além disso, apresenta exemplos práticos que ajudam o leitor a consolidar o aprendizado e entender como a linguagem de máquina se traduz em comportamento real no hardware.

Ideal para estudantes de ciência da computação, engenheiros de sistema e entusiastas de computação retrô, este livro combina teoria e prática, permitindo não apenas entender o PDP-11, mas desenvolver programas eficientes em baixo nível.

Clique aqui para adquirir esse livro


Acompanhe a série #QueroLer aqui no blog onde haverão indicações de outros livros de Programação e Tecnologia!

Veja Também


livros asm nasm as


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!