Logo Passei Direto
Buscar
páginas com resultados encontrados.
páginas com resultados encontrados.

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