Escolar Documentos
Profissional Documentos
Cultura Documentos
degas@uesc.br
http://alvarodegas.cjb.net/
Introduo
Provocao
Voc j se perguntou como
que os programas que voc
escreve so traduzidos em
instrues executveis pelas
estruturas elementares em
uma Arquitetura de Von
Neumann?
Objetivo do curso
Nvel de Linguagem de
Montagem e de Mquina
Ideia Geral
Hierarquia de Abstraes
A linguagem de montagem
(assembly language)
mapeamento da linguagem de
mquina
Com simplificaes.
Uso de mnemnicos
Cada linha do cdigo fonte
possui apenas uma instruo
para o processador (CPU)
Assembly X Assembler
Sufixo ER em ingls
Programa assembly: usa o sistema operacional
(por exemplo para E/S)
Um montador ou assembler traduz: assembly
linguagem de mquina
Ns queremos: lidar com aspectos da
programao assembly e linguagem de
mquina.
Gerao de um Executvel
necessrio traduzir
o programa para
linguagem de mquina
Isto feito em 4 etapas
Gerao de um Executvel
necessrio traduzir
o programa para
linguagem de mquina
Isto feito em 4 etapas
A propsito:
usaremos o
compilador GCC do
Linux neste curso!
1. Pr-Processamento
#include <stdio.h>
2. Compilao
3. Montagem
Programa objeto
Extenso: .o
4. Ligao
Otimizao de cdigo
Erros de ligao
Cientista
Representao de dados,
mecanismos de controle,
funes, pilha,
variveis locais
Representao de dados,
mecanismos de controle,
funes, pilha,
variveis locais
Linguagem de
montagem
Representao de dados,
mecanismos de controle,
funes, pilha,
variveis locais
Linguagem de
montagem
Interrupes
Interao com
SO
Representao de dados,
mecanismos de controle,
funes, pilha,
variveis locais
Linguagem de
montagem
Ligao
Interrupes
Interao com
SO
Executando um programa
>./hello
>hello,word
>
O programa binrio (executvel) possui
instrues em cdigo de mquina
O shell do SO l o contedo para a memria e
dispara (run) a execuo
Isso depende do HW
Um programa na Anatomia da
Mquina
Unidade de Controle
Unidade Aritmtica e Lgica (ALU)
Conjunto de registradores
Fetch-Decode-Execute
Decodifica instruo
Executa instruo
Memria
Memria Virtual
Mapeada em um espao
na memria real
Pode extrapolar a
memria RAM e usar
parte do disco
Responsabilidade do SO
Um programa na Anatomia da
Mquina
Hello, word \n
Cdigo de hello
Um programa na Anatomia da
Mquina
Hello, word \n
Cdigo de hello
Hello word
Chamada de procedimentos
Introduo