Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.professorferlin.blogspot.com 1 1Prof. Edson Pedro Ferlin Arquitetura de Computadores Linguagem de Montagem (Assembler) Prof. Edson Pedro Ferlin 2 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Linguagens de Programação •Linguagens de Alto Nível – Pascal, Lisp, Prolog, ... •Linguagens de Nível Médio – C •Linguagens de Baixo Nível – Assembler (Assembly) www.professorferlin.blogspot.com 2 3 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Processo de Compilação Editor de Texto(ASCII) .PAS.C .ASM Compilador Montador Linker .OBJ.OBJ .EXE.COM Código Fonte Código Objeto Código Executável 4 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Compilação www.professorferlin.blogspot.com 3 5 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Linkedição 6 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Linguagen de Montagem Linguagem de montagem é essencialmente uma representação simbólica para uma linguagem numérica de máquina. O que é uma linguagem de montagem?• É uma linguagem em que cada comando (mnemônico) produzexatamente uma instrução de máquina.• É fácil de programar (linguagem de máquina).• O programador tem acesso a todos os recursos e instruções disponíveisna máquina. www.professorferlin.blogspot.com 4 7 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Formato da Linguagen de Montagem mov a,#1d ; a recebe 1 decimal mov b,#2d ; b recebe 2 decimal Loop: add a,b ; a := a + b inc b ; incrementa b sjmp Loop ; Loop infinito Comentários Operando(s) Mnemônico Label 8 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Processo de Montagem Montadores de Dois Passos: •Passo 1 – Criação das tabelas (símbolos e de instruções) •Passo 2 – Gerar o código objeto e as informações para o linker Erros – Símbolo indefinido, duplicação de símbolos, operação não válida www.professorferlin.blogspot.com 5 9 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Módulo Objeto Identificação Tabela de Entry Points (símbolos internos) Tabela de Referência Externas (Símbolos externos) Instruções de Máquina e Constantes Dicionário de Relocação Fim do Módulo 10 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Ligação e Carga www.professorferlin.blogspot.com 6 11 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Exemplo de Compilação PRINTF ("a"); 1011-1010-0100-0001-0000-00001011-0100-0000-00101100-1101-0010-0001 BA 41 00B4 02CD 21 MOV DX,#41hMOV AH, #2hINT 21h 12 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Afinação de Programas www.professorferlin.blogspot.com 7 13 Linguagem de MontagemAssembler Prof. Edson Pedro Ferlin Arquitetura de Computadores Compilador Sugestões para escolher um Compilador Fornecidas pela Intel (Capítulo 6 – Suggestions for Choosing a Compiler) • Important Features for a Compiler • Compiler Switches Recommendation
Compartilhar