Algumas referências/tutoriais do ASM x86?[fechado]
Pergunta
Estou tentando encontrar algumas referências em relação às linguagens Assembly x86.Tutoriais/Exemplos para ajudar na minha compreensão.-Obrigado
Solução
- Programação desde o início (Livro gratuito, altamente recomendado)
- Montagem x86 (Wikibooks.org)
- Recursos essenciais para programadores x86
Outras dicas
Eu recomendo Lição tutorial de montagem de PC de Roby.Também está disponível para download.Ele contém diagramas e exemplos.
"Esta lição de montagem é específica para x86, ou seja,para Intel 8088, 80286, 80386, etc.Sim, é compatível com seu Pentium ou Pentium III.Os usuários da AMD também podem usar este tutorial porque eu abordo apenas o básico.Presumo que você tenha algum conhecimento de alguma linguagem de programação como Pascal, C ou C++.Não quero repassar os conceitos básicos de programação novamente."
- Lição preliminar - Conceitos básicos de baixo nível
Fala sobre registradores, sinalizadores, memória, pilhas e interrupções.Não se preocupe muito com isso.Você pode estar confuso com tantos conceitos.No entanto, à medida que você segue a lição, acho que todos os conceitos devem ficar suficientemente claros. - Capítulo 1 - Estrutura do programa COM
Comece sua jornada na montagem observando a estrutura mais simples do programa. - Capítulo 2 – Variáveis em Assembly
Descubra o conceito único de variáveis em linguagem assembly.A noção é muito diferente daquela da linguagem de programação normal de alto nível.Também explico como funciona a instrução mov. - Capítulo 3 - Instruções Aritméticas
Como podemos realizar alguma aritmética em montagem? - Capítulo 4 - Lógica Bit a Bit, parte 1
Usando e, ou e xor para executar várias tarefas lógicas, incluindo mascaramento e inversão de bits. - Capítulo 5 - Lógica Bit a Bit, parte 2
O deslocamento e a rolagem de bits podem ser úteis para ajudar no mascaramento de bits apresentado no próximo capítulo. - Capítulo 6 - Ramificação
A filial é essencial para todos os programas.Vamos tentar algumas instruções de ramificação em assembly para melhorar a lógica de nossos programas. - Capítulo 7 - Laço
A instrução de loop em assembly pode ser útil para se assemelhar à construção de uma linguagem de programação de nível superior. - Capítulo 8 – Fundamentos da Interrupção
Usando serviços comuns de interrupção do sistema para gerar saída de tela e receber entrada. - Capítulo 9 - PilhasUsando push e pop e sabendo como a pilha se comporta.Alguns detalhes sobre o modo de memória minúscula são explicados aqui.
- Capítulo 10 - Criando Subrotinas
Usando sub-rotinas para imitar a abordagem de programação estruturada. - Capítulo 11 - Macros
Usando macros. - Capítulo 12 – Acesso ao array
Veja como o assembly fornece instruções de acesso ao array muito rudimentares. - Capítulo 13 - Instrução Básica de Stringsé
Usando várias instruções de string:movs, lods, cmps, scas e stos. - Capítulo 14 - Estruturas
Usando estruturas como as de linguagens de alto nível.A estrutura em assembly é equivalente a struct em C/C++ e record em Pascal. - Capítulo 15 - Um pouco de teoria
Modos de endereçamento e modos de memória explicados, além de Arquitetura de Computador 101.
A melhor e mais abrangente fonte de montagem que eu vi é o "Art of Assembly Language"livro. É um download gratuito, em várias versões.
Para referência, o Manuais de referência Intel IA-32 são a fonte definitiva.
eu acho que Linguagem de montagem profissional para ser um bom começo.