Buscar

aula_07_assembly

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Microprocessadores
Prof. Julio Cesar Ceballos Aya Microprocessadores 2
• Assembly é uma linguagem de baixo nível, chamada
frequentemente de “linguagem de montagem”.
• É uma linguagem considerada difícil, principalmente porque
o programador precisa conhecer a estrutura da máquina
para usá-la .
Prof. Julio Cesar Ceballos Aya Microprocessadores 3
• A linguagem Assembly é atrelada à arquitetura de uma certa CPU, ou seja,
ela depende completamente do hardware, do conjunto de instruções da
CPU.
• Por essa razão Assembly não é uma linguagem portável, ao contrário da
maioria das linguagens de alto nível.
Prof. Julio Cesar Ceballos Aya Microprocessadores 4
Assembly x Assembler
• A linguagem Assembly é de baixo nível, porém ainda precisa ser
transformada na linguagem que a máquina entende.
• Quem faz isso é o Assembler. O Assembler é um utilitário que traduz o
código Assembly para a máquina.
Exemplo Antes -> mov al, 061h (x86/IA-32)
Depois -> 10110000 01100001
Prof. Julio Cesar Ceballos Aya Microprocessadores 5
Abstração simbólica da linguagem de máquina
• Traduzida pelo programa assembler
• Mapeada diretamente em instruções de máquina
• Pseudo-instruções e macros auxiliares
• Mnemônicos facilitam codificação
• Símbolos e rótulos simplificam endereçamento
Geralmente uma instrução de em Assembly consiste em quatros campos:
[label:] Mnemonic [operands] [;comment]
Prof. Julio Cesar Ceballos Aya Microprocessadores 6
Cada linha do programa consiste :
▪ Uma instrução 
▪ operandos
▪ comentários
Espaços em branco (entre símbolos) são ignorados.
Comentários (entre “;””) também são ignorados.
A linha de programação segue o seguinte formato:
LABEL OPCODE OPERANDS ; COMMENTS
opcional obrigatória
Prof. Julio Cesar Ceballos Aya Microprocessadores 7
LABEL
• Usado para atribuir um nome simbólico para uma variável ou 
endereço (para desvio)
• Campo opcional
• Formato
• Posição fixa ou separador
• Tamanho fixo (6-8 caracteres) ou variável
PAR EQU 500 ;"PAR" IS A SYMBOL WHICH
;REPRESENTS THE VALUE 500
START: MOV A, #0FFH ;"START" IS A LABEL WHICH
;REPRESENTS THE ADDRESS OF
;THE MOV INSTRUCTION
Prof. Julio Cesar Ceballos Aya Microprocessadores 8
OPCODE “CAMPO DE OPERAÇÂO”
• Representações simbólicas das instruções do hardware (CPU), 
conjunto de instruções do microcontrolador
Critério do fabricante copiar registros
• MOVWF PIC
• MOV 8051
• MOV ARDUINO
Prof. Julio Cesar Ceballos Aya Microprocessadores 9
OPERANDS
Especifica os alvos das operações 
• Endereços: instruções de desvio 
• Variáveis 
• posição de memória sendo acessada 
• Constantes 
• valores para operações aritméticas (endereçamento imediato) 
• Registradores 
• variáveis locais do processador
Prof. Julio Cesar Ceballos Aya Microprocessadores 10
COMMENTS
Usado para acrescentar informações relevantes ao programa 
• Facilitar a compreensão do mesmo 
• Programa assembly é praticamente incompreensível sem comentários 
Formato geral 
• Indicador de início (; ou !)
• Até o final da linha
Prof. Julio Cesar Ceballos Aya Microprocessadores 21
Modo Imediato
• O valor do operando é especificado diretamente na instrução
R1,#4ADD R1  R1+4
V: Nenhum acesso à memória (economia de tempo)
D: O tamanho do operando é limitado pelo tamanho do campo de 
endereço da instrução
(100),R1ADD R1 M[100]+R1
Prof. Julio Cesar Ceballos Aya Microprocessadores 22
Modo Direto
• O campo de endereço da instrução contém o endereço do operando na 
memória
V: Simplicidade 
D: Espaço de endereçamento limitado
Prof. Julio Cesar Ceballos Aya Microprocessadores 23
Modo indireto
• O campo de endereço da instrução contém um endereço da memória cujo 
conteúdo é o endereço do operando na memória
V: Espaço de endereçamento grande
D: Acessos múltiplos à memória
(R1),R1ADD R1 M[R1]+R1
Prof. Julio Cesar Ceballos Aya Microprocessadores 24
Modo Registrador
• Semelhante ao endereçamento direto
V: Nenhum acesso à memória
D: Espaço de endereçamento limitado
R1,R2ADD R2 R1+R2
Prof. Julio Cesar Ceballos Aya Microprocessadores 25
Modo Indireto via Registrador
• Semelhante ao endereçamento indireto
A,(R1)MOV A M[R1]
V: Espaço de endereçamento grande
D: Acesso extra à memória
Prof. Julio Cesar Ceballos Aya Microprocessadores 26
Modo Deslocamento
• É uma combinação dos modos Direto e Indireto via Registrador
V: Flexibilidade
D: Complexo
Prof. Julio Cesar Ceballos Aya Microprocessadores 27
Modo Deslocamento/Relativo
• Explora o conceito de localidade, economizando bits no campo de endereço 
da instrução
V: Flexibilidade
D: Complexo
100(R1),R2ADD R2 M[100+R1]+R2
Prof. Julio Cesar Ceballos Aya Microprocessadores 29
Modo Deslocamento/Indexação
• Interpretação oposta ao do Endereçamento via Registrador Base
V: Flexibilidade, Útil em operações iterativas
D: Complexo
(R1+R2),R3ADD R3 M[R1+R2]+R3
Prof. Julio Cesar Ceballos Aya Microprocessadores 30
ORG 0
INICIO: MOV A,#0
REPETIR: INC A
CJNE A,#99,REPETIR
END
Contador 0 99 hex
Prof. Julio Cesar Ceballos Aya Microprocessadores 31
ORG 0
INICIO: MOV A,#0
REPETIR: ADD A,#1
DA A
CJNE A,#99,REPETIR
END
Contador 0 99 BCD
Prof. Julio Cesar Ceballos Aya Microprocessadores 32
Prof. Julio Cesar Ceballos Aya Microprocessadores 33
Prof. Julio Cesar Ceballos Aya Microprocessadores 34

Continue navegando