Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Linguagens de Montagem DEMAC – Departamento de Estatística Matemática Aplicada e Computação UNESP – Rio Claro Prof. Daniel Carlos Guimarães Pedronette 1 Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Aula 3. Alocação e Instruções de Transferências de Memória 2 Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Definição de constantes: – São alocadas de forma contígua: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Abreviações: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Abreviações: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Abreviações: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Inicializações Múltiplas: – Diretiva TIMES permite múltiplas inicializações do mesmo valor: – Útil para definir/inicializar arrays Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Tabela de Símbolos ● Alocações são realizadas de maneira contígua: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Definição de constantes numéricas – Diretiva EQU: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Definição de constantes numéricas que podem ser redefinidas – Diretiva %assign: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Mais Alocação de Memória ● Definição de constantes numéricas e strings (também suporta redefinição) – Diretiva %define: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Transferências de Memória ● Instrução MOV (move) – Conteúdo inicial de “destination” destruído – Conteúdo de “source” preservado Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOV: Formas de Endereçamento ● Registradores: – Tamanho em bits compatível: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOV: Formas de Endereçamento ● Immediate: – Tamanho em bits compatível: mov EAX, 45h mov EAX, 0x45 Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOV: Formas de Endereçamento ● Endereçamento Indireto de Memória: – Sintaxe: [] indicam valor Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOV: Formas de Endereçamento ● Endereçamento Direto de Memória: – Labels indicam enderços de memória ● Exemplo: – table1 é uma array (definido utilizando TIMES e DD) Copia valor da primeira posição de table1 para EBX Copia endereço da primeira posição de table1 para EBX Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOV: Formas de Endereçamento ● Exemplos: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação MOVes Ambíguos ● Podemos especificar o tipo do operando em algumas situações: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação LEA: Load Effective Address ● Carrega endereço de memória em um registrador: ● Flexibilidade: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Instrução XCHG ● Como podemos trocar os valores de dois registradores (EAX e EDX, por exemplo)? ● Instrução eXCHanGe ! Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Instrução XCHG ● Exemplos: Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Transferências de Memória ● Para lembrar: – Não há instruções de transferências de memória que operem diretamente com dois endereços de memória. Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Exemplos Vamos ● Codificar, ● Montar, ● Linkar e ● Testar! Linguagens de Montagem: Prof. Daniel Carlos Guimarães Pedronette DEMAC - Departamento de Estatística, Matemática Aplicada e Computação Exercícios Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24
Compartilhar