Linguagem de Montagem Visão geral.

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Advertisements

Algoritmo e Programação
Introdução a Algoritmos
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Introdução à Ciência da Computação Linguagens de Programação.
Programas e Microprogramas
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Paradigmas de Linguagens Conceitos Básicos
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
Seminários de Compiladores
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Introdução a Informática
Teoria da Computação BCC 244
Lógica de Programação Módulo II
INTRODUÇÃO À PROGRAMAÇÃO
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Lex e Yacc.
Linguagem de Prog. e Programas
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
Arquitetura de Computadores
Linguagens de Programação
Prof. Msc. Raul Paradeda Aula 2 Introdução
JAVA: Conceitos Iniciais
PROGRAMAÇÃO I UNIDADE 1.
Informática Teórica Engenharia da Computação
Representação de Instruções
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 02: Introdução.
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Gramáticas Livres de Contexto
Aula 1 - Introdução ao C Ameliara Freire.
Algoritmos e Programação de Computadores
PCI- Introdução à Computação
Introdução a Programação
Algoritmos e Programação de Computadores
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Laboratório I Mateus Raeder Material baseado nos originais da
Teoria e Implementação de Linguagens Computacionais – IF688
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Inteligência Artificial
Organização e Arquitetura de Computadores
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Geração de Código aula-12-geração-de-código.pdf.
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Execução de programas Cap. VIII.
Técnicas de Programação - TPR
Fundamentos de Arquitetura da Computação
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Linguagens de Programação
Compiladores Prof. Claudio Benossi.
Back-End Compilação aula-11-back-end.pdf.
Linguagens de Programação
Programação Lógica com Prolog
Algoritmos e Programação I
Registradores.
Fundamentos de linguagens de programação
Software Básico Introdução à Organização de Computadores Capítulo 1 Mitsuo Takaki
Algoritmos e Programação MC102
Métodos Formais Juan Andrés Mussini.
Linguagens de Programação
Algoritmos e Programação I
SISTEMAS DE INFORMAÇÃO
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Linguagem de Programação I PARTE i
Paradigmas de Programação
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Influencias sobre o Projeto da Linguagem
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Módulo I – Softwares: Linguagens de Programação Prof.: Rogério Morais.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Transcrição da apresentação:

Linguagem de Montagem Visão geral

Introdução Para executar uma tarefa qualquer, um computador precisa receber instruções precisas sobre o que fazer Esse conjunto de instruções chamamos de algoritmo Isso constitui num PROGRAMA de computador?

Algoritmo vs. Programa Def-1: Um algoritmo é uma seqüência não ambígua de instruções que é executada até que determinada condição se verifique. Def-2: Um programa de computador é uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador.

Algoritmo vs. Programa Um algoritmo não representa, necessariamente, um programa de computador, Ele representa os passos necessários para realizar uma tarefa Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano.

Algoritmo vs. Programa Programa é a formalização de um algoritmo em qualquer linguagem capaz de ser transformada em instruções que serão executadas por um computador gerando os resultados esperados O Programa é uma referência ao código fonte, escrito em alguma linguagem de programação

Linguagem de Programação Método padronizado para expressar instruções para um computador Conjunto de regras sintáticas e semânticas usadas para definir um programa de computador Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar

Linguagem de Programação A primeira e mais primitiva linguagem de computador é a própria linguagem de máquina Aquela que o computador entende diretamente e pode ser diretamente executada pelos circuitos do processador (pelo hardware) Formada por 0 e 1 Imagine então um programa extenso escrito apenas usando 1's e 0's

Linguagem de Programação Cada família de computadores possui sua própria linguagem de máquina. Um programa em linguagem de máquina é dependente do computador Somente poderá ser executado em computadores da mesma família Ou seja para cada computador o programa devia mudar

Linguagem de Montagem A primeira tentativa bem-sucedida para resolver o problema acima descrito foi a criação de uma linguagem em que os códigos numéricos foram substituídos por mnemônicos LOAD = carregar ADD = somar MOVE = mover dados entre os registradores

Linguagem de Montagem Essa linguagem simbólica recebeu o nome de Assembly Language (Linguagem de Montagem) O programador não precisava decorar os códigos numéricos que representavam as diferentes instruções e os endereços reais de armazenamento Ele deveria decorar mnemônicos para as instruções e definir nomes para as referências dos endereços

Linguagem de Montagem O processo de tradução da linguagem de montagem para a linguagem de máquina (chamado de montagem) é realizado por um programa chamado Assembler (Montador) O programa Assembler lê cada instrução escrita em linguagem Assembly e a converte em uma instrução equivalente em linguagem de máquina

FIM

Teoria da Computação Computação pode ser definida como: A solução de um problema formalmente O cálculo de uma função, através de um algoritmo Teoria da Computação Área da computação que busca determinar quais problemas podem ser computados em um dado modelo de computação

Autômato É definido como sendo um modelo matemático de uma máquina de estados finitos. Um autômato funciona como um reconhecedor de uma determinada linguagem Serve para modelar uma máquina Um Computador Simples Uma Televisão

Autômato Exemplos

Autômato Tipos: Finitos A pilha Maquina de Turig Reconhecedores de Linguagens regulares A pilha Reconhecedores de Linguagens Livres de Contexto Maquina de Turig Reconhecedores de Linguagens recursivas

Maquina de Estados Finitos É uma modelagem de um comportamento, composto por estados, transições e ações

Linguagens Formais São mecanismos formais para representação e especificação de linguagens, baseados na chamada "Teoria da Computação". As representações podem ser feitas por reconhecedores e geradores. Os reconhecedores são dispositivos que verificam se uma sentença pertence ou não à determinada linguagemos  autômatos