Linguagem Assembly

Propaganda
Níveis de Abstracção
Nível 5
Aplicação
Programador
Nível 4
Programa Linguagem de Alto Nível
Compilador
Nível 3
Programa em Linguagem Assembly
“Assembler”
Nível 2
Nível 1
Nível 0
Programa em Linguagem Máquina
Micro-programa em Linguagem de
Transferência de Registos
Sistema Digital (CPU)
Projectistas do
Processador
Projectistas de
Sistemas Digitais
1
Níveis de Abstracção
¾
Cada nível de abstracção permite que sejam
realizadas
acções
mais
complexas
e
especializadas
¾
Os diferentes níveis de abstracção criados sobre o
CPU tornam os computadores mais poderosos e
simples de usar
¾
O nível de abstracção mais baixo a considerar é o
da linguagem máquina, que é constituída por um
conjunto de bits, directamente interpretável pelo
processador
2
Linguagens
¾
O computador utiliza normalmente dois níveis de
linguagem:
• Linguagem máquina
Utilizada para transmitir instruções à máquina
(hardware) de modo a desempenhar as
funções básicas do CPU;
• Linguagens criadas sobre a linguagem
máquina
Linguagens que têm capacidades
características particulares.
e
3
Linguagens
¾
A programação directamente em linguagem
máquina exige dos programadores um esforço muito
grande de memorização e de consulta de
documentação, revelando-se muito ineficiente em
termos de tempo investido.
¾
A programação de um computador pode e deve ser
feita utilizando níveis de abstracção superiores
usando linguagens de alto nível (Pascal, C, Java).
Os programas escritos nestas linguagens têm de
ser posteriormente traduzidos para linguagem
assembly e daí para linguagem máquina, antes de
serem executados pelo processador.
4
Compiladores e Interpretadores
¾
Os compiladores e os interpretadores permitem
ao computador entender programas escritos
em linguagens de programação de alto nível
¾
Compiladores (tradutores)
Traduzem as linguagens de programação para a
linguagem máquina
¾
Interpretadores (simuladores)
Simulam a execução dos programas de modo a
produzir o efeito desejado
5
Compiladores e Interpretadores
¾
Os compiladores e os interpretadores
programas escritos na linguagem máquina
são
Linguagem
Programação
Alto-nível
Compilador
Linguagem
Máquina
Linguagem
Programação
Alto-nível
Interpretador
Resultado
6
Porquê Assembly ?
Permite analisar muitos aspectos da arquitectura e da
organização de um computador que estão escondidos
do programador de uma linguagem de alto nível:
¾
Mostra como os programas interagem com o sistema
operativo, processador e BIOS;
¾
Mostra como a informação é representada e armazenada
na memória ou em componentes externos;
¾
Clarifica a forma como o processador recebe e executa
instruções e como estas instruções, por sua vez, acedem
e processam dados;
¾
Clarifica como um programa acede a componentes
externos;
7
“Assemblers”
O “Assembler” é um programa tradutor que recebe um
ficheiro de dados .ASM (ficheiro em texto simples com
o código fonte em Linguagem “Assembly” ou Simbólica)
e traduz o mesmo para um ficheiro executável .COM ou
.EXE (em Linguagem Máquina).
“Assembly”
Programa
fonte
Linguagem
Máquina
“Assembler”
Programa
objecto
Dados Resultados
8
Falha vs Erro
O erro (error) pode ser definido como algo que se
encontra mal no código fonte, em termos de sintaxe ou
semântica, e que impede o “assembler” de completar a
tradução do código.
A falha (bug) é uma incorrecção na estrutura do
programa, que não é detectada pelo “assembler”, mas
com que o programador se depara na execução do
programa quando este gera um resultado imprevisto.
Ambos devem ser corrigidos no código fonte.
Uma vez que as falhas (bugs) são mais difíceis de
detectar, existem programas específicos para a sua
detecção e correcção.
9
“Debbugers”
O “debbuger” (depurador) é um programa destinado
a auxiliar o programador a localizar e corrigir as falhas
dos programas.
Permitem que o programador visualize no ecrã a
execução das instruções do programa, uma a uma, e
os seus efeitos nos diversos componentes que
compõem a estrutura base do computador.
Do ponto de vista do utilizador os “debbugers” são mais
complexos que os “assemblers”, pois permitem que se
façam inúmeras operações.
10
Download