SlideShare uma empresa Scribd logo
Cristiano	
  Pires	
  Martins

           EXECUÇÃO	
  DE	
  PROGRAMAS



segunda-feira, 30 de maio de 2011          1
Linguagem	
  de	
  Programação	
  (LP)

            § Linguagem	
  criada	
  para	
  instruir	
  um	
  
               computador	
  a	
  realizar	
  suas	
  tarefas;
            § Programa	
  completo	
  escrito	
  em	
  LP:	
  código;
            § Codificar	
  algoritmo:	
  converter	
  para	
  instrução	
  
               específica	
  de	
  uma	
  LP;
            § Tipo	
  mais	
  primitivo	
  de	
  LP:	
  linguagem	
  de	
  
               máquina;



segunda-feira, 30 de maio de 2011                                              2
Linguagem	
  de	
  máquina

            § Para	
  criar	
  um	
  código	
  é	
  necessário:	
  
                 ú Conhecer	
  	
  todas	
  as	
  instruções	
  (códigos	
  de	
  
                    operação	
  e	
  formato);
                 ú Registradores;
                 ú Endereços	
  das	
  células	
  de	
  memória	
  de	
  instruções	
  e	
  
                    de	
  dados;




segunda-feira, 30 de maio de 2011                                                               3
Linguagem	
  de	
  Montagem

            § Para	
  tentar	
  minimizar	
  a	
  dificuldade	
  de	
  
               entendimento	
  da	
  Ling.	
  Máquina;
            § Para	
  usar	
  precisa	
  ter	
  um	
  conversor	
  de	
  
               símbolos	
  alfabéticos	
  para	
  código	
  de	
  máquina;
            § O	
  processo	
  de	
  conversão	
  (montagem):	
  
               montador	
  (assembler);
            § Montador	
  lê	
  cada	
  instrução	
  em	
  ling.	
  de	
  
               montagem	
  e	
  cria	
  uma	
  instrução	
  equivalente	
  
               em	
  ling.	
  de	
  máquina.

segunda-feira, 30 de maio de 2011                                             4
Linguagens	
  de	
  Alto	
  Nível

            § Nível	
  afastado	
  da	
  máquina;
            § Não	
  se	
  preocupa	
  com	
  o	
  tipo	
  de	
  CPU	
  ou	
  de	
  
               memória;
            § Linguagem	
  orientada	
  ao	
  problema,	
  permite	
  que	
  o	
  
               programador	
  especifique	
  	
  de	
  ações	
  com	
  menos	
  
               instruções.
               Exemplos:
                  FORTRAN;                                 PASCAL;
                  ALGOL;                                   C;
                  COBOL;                                   ADA;
                  LISP;                                    DELPHI
                  BASIC;                                   JAVA.

segunda-feira, 30 de maio de 2011                                                       5
Montagem

            § Tradução	
  mais	
  rápida	
  e	
  simples	
  que	
  existe;
            § Traduz	
  de	
  linguagem	
  de	
  montagem	
  para	
  
                 linguagem	
  de	
  binária	
  (máquina),	
  executável;




segunda-feira, 30 de maio de 2011                                             6
Funções	
  de	
  um	
  Montador

            § Substituir	
  códigos	
  de	
  operações	
  por	
  valores	
  
                 numéricos;
            §   Substituir	
  nomes	
  simbólicos	
  de	
  endereços	
  por	
  
                 valores	
  numéricos	
  dos	
  endereços;
            §   Reservar	
  espaço	
  de	
  memória	
  para	
  dados	
  e	
  
                 instruções;
            §   Converter	
  constantes	
  em	
  binário;
            §   Examinar	
  a	
  correção	
  de	
  cada	
  instrução.


segunda-feira, 30 de maio de 2011                                                  7
Exemplo	
  de	
  um	
  programa	
  em	
  
           linguagem	
  de	
  montagem
            § NOTA:	
  ;	
  ‚	
  usado	
  para	
  fazer	
  comentários	
  em	
  programas	
  assembly	
  
            § .MODEL	
  SMALL	
  ;modelo	
  de	
  memória	
  
            § .STACK	
  ;espaço	
  de	
  memória	
  para	
  instruções	
  do	
  programa	
  na	
  pilha	
  
            § .CODE	
  ;as	
  linhas	
  seguintes	
  são	
  instruções	
  do	
  programa	
  mov	
  ah,
                 01h	
  ;move	
  o	
  valor	
  01h	
  para	
  o	
  registrador	
  ah	
  
            § mov	
  cx,07h	
  ;move	
  o	
  valor	
  07h	
  para	
  o	
  registrador	
  cx	
  
            § int	
  10h	
  ;interrupção	
  10h	
  
            § mov	
  ah,4ch	
  ;move	
  o	
  valor	
  4ch	
  para	
  o	
  registrador	
  ah	
  
            § int	
  21h	
  ;interrupção	
  21h	
  
            § END	
  ;finaliza	
  o	
  código	
  do	
  programa




segunda-feira, 30 de maio de 2011                                                                              8
Compilação

            § Processo	
  de	
  análise	
  de	
  um	
  programa	
  escrito	
  
               em	
  linguagem	
  de	
  alto	
  nível	
  (código-­‐fonte)	
  	
  e	
  
               sua	
  conversão	
  em	
  um	
  programa	
  equivalente	
  
               em	
  linguagem	
  binária	
  de	
  máquina	
  (programa-­‐
               objeto);
            § Usa-­‐se	
  o	
  compilador;
            § É	
  semelhante	
  ao	
  de	
  montagem,	
  porém	
  mais	
  
               complexo	
  e	
  demorado;


segunda-feira, 30 de maio de 2011                                                        9
Fluxograma	
  de	
  Compilação




segunda-feira, 30 de maio de 2011           10
Processo

            § 1º	
  análise	
  do	
  código-­‐fonte	
  (pelo	
  front-­‐end);
                 ú Análise	
  Léxica:
                 ú Análise	
  Sintática:
                 ú Análise	
  Semântica:
            § 2º	
  Gera-­‐se	
  um	
  código	
  intermediário	
  de	
  
               constrói-­‐se	
  vária	
  tabelas	
  (ex.	
  tabela	
  de	
  
               símbolos);
            § 3º	
  Aloca	
  memória	
  para	
  variáveis,	
  atribuição	
  
               dos	
  registradores	
  e	
  geração	
  do	
  código-­‐objeto	
  
               final.

segunda-feira, 30 de maio de 2011                                                  11
Análise	
  Léxica

            § Decompõe	
  o	
  programa-­‐fonte	
  em:	
  comandos,	
  
               operadores,	
  variáveis	
  etc.
            § Verifica	
  de	
  acordo	
  com	
  as	
  regras	
  da	
  
               linguagem;
            § Gera	
  mensagem	
  de	
  erro	
  se	
  encontrar	
  erro;
            § Ex.:	
  Sinal	
  de	
  atribuição	
  em	
  pascal	
  “:=”	
  e	
  não	
  só	
  
               “=”.



segunda-feira, 30 de maio de 2011                                                                12
Análise	
  Sintática

            § Criação	
  da	
  estrutura	
  de	
  cada	
  comando;
            § A	
  partir	
  de	
  cada	
  elemento	
  obtido	
  da	
  análise	
  
                 léxica,	
  monta	
  uma	
  estrutura	
  apropriada	
  de	
  
                 acordo	
  com	
  as	
  regras	
  gramaticais	
  da	
  
                 linguagem;




segunda-feira, 30 de maio de 2011                                                     13
Análise	
  Semântica

            § Verifica	
  as	
  regras	
  semânticas	
  estáticas	
  da	
  
               linguagem;
            § São	
  a	
  necessidade	
  de	
  integridade	
  de	
  um	
  tipo	
  
               de	
  dado	
  em	
  uma	
  expressão	
  ;




segunda-feira, 30 de maio de 2011                                                     14
Ligação	
  ou	
  Linkedição




segunda-feira, 30 de maio de 2011        15
Interpretação

            § Realiza	
  a	
  compilação,	
  ligação	
  e	
  execução	
  
               comando	
  a	
  comando,	
  do	
  programa-­‐fonte;
            § O	
  programa-­‐fonte	
  é	
  diretamente	
  executado	
  
               (interpretado)	
  por	
  um	
  outro	
  programa	
  (o	
  
               interpretador)	
  e	
  produz	
  o	
  resultado;
            § Cada	
  comando	
  é	
  lido	
  pelo	
  interpretador,	
  
               convertido	
  em	
  código	
  executável	
  e	
  
               imediatamente	
  executado,	
  antes	
  que	
  o	
  
               próximo	
  comando	
  seja	
  lido.

segunda-feira, 30 de maio de 2011                                            16

Mais conteúdo relacionado

PPTX
Introdução a Linguagem de Programação
PPTX
Linguágens de programação
PPT
Linguagem de programação
PDF
Linguagens de programação
PPTX
Linguagens de programação
PDF
Linguagens de programação 03-12-09
PDF
Linguagens de programação
PDF
Conceitos Iniciais de Linguagens de Programação
Introdução a Linguagem de Programação
Linguágens de programação
Linguagem de programação
Linguagens de programação
Linguagens de programação
Linguagens de programação 03-12-09
Linguagens de programação
Conceitos Iniciais de Linguagens de Programação

Mais procurados (18)

PDF
DOCX
Linguagem de programação
PPTX
Linguagens de Programação
PPT
Gerador de Código-Objeto - Compiladores
PPTX
Programação de Microprocessadores
PDF
Paradigmas de Linguagens de Programação - Classificações
PDF
Linguagem assembly
PDF
Linguagem c
PDF
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
PPT
Paradigmas De Linguagem De Programação.
PPTX
Linguagem da programação
PPT
Int. sistemas de informação iii
PDF
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
PDF
Material iae aula 2
PDF
Introdução ao paradigma imperativo
PPTX
Linguagens de Programação
PDF
Manual robotec
PDF
Apontamentos teóricos de Fundamentos de Programação (para 1º Teste)
Linguagem de programação
Linguagens de Programação
Gerador de Código-Objeto - Compiladores
Programação de Microprocessadores
Paradigmas de Linguagens de Programação - Classificações
Linguagem assembly
Linguagem c
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas De Linguagem De Programação.
Linguagem da programação
Int. sistemas de informação iii
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Material iae aula 2
Introdução ao paradigma imperativo
Linguagens de Programação
Manual robotec
Apontamentos teóricos de Fundamentos de Programação (para 1º Teste)
Anúncio

Destaque (20)

PDF
Aula 01-introducao-ao-so
PDF
Aula 05-entrada e-saida
PDF
Aula 01-oac-introducao-a-oac
PDF
Aula 02-oac-historia-da-computacao-part2
PDF
Aula 03-deadlock
PDF
Aula 04-gerenciamento-basico-de-memoria
PDF
Aula 10-oac-arquitetura-risc
PDF
Aula 06 textos na web
PDF
Aula 07 - lista linear
PDF
Aula 06-sistemas de-arquivo
PDF
Aula 07 acessibilidade
PDF
Java script aula 07 - eventos
PDF
Java script aula 06 - dom
PDF
Java script aula 10 - angularjs
PDF
Java script aula 05 - funções
PDF
Aula 03-oac-componentes-de-um-sistema-de-computacao
PDF
Aula 08 - árvores
PDF
OAC Aula 09 - Entrada e Saída
PDF
Java script aula 04 - objeto array
PDF
Java script aula 08 - formulários
Aula 01-introducao-ao-so
Aula 05-entrada e-saida
Aula 01-oac-introducao-a-oac
Aula 02-oac-historia-da-computacao-part2
Aula 03-deadlock
Aula 04-gerenciamento-basico-de-memoria
Aula 10-oac-arquitetura-risc
Aula 06 textos na web
Aula 07 - lista linear
Aula 06-sistemas de-arquivo
Aula 07 acessibilidade
Java script aula 07 - eventos
Java script aula 06 - dom
Java script aula 10 - angularjs
Java script aula 05 - funções
Aula 03-oac-componentes-de-um-sistema-de-computacao
Aula 08 - árvores
OAC Aula 09 - Entrada e Saída
Java script aula 04 - objeto array
Java script aula 08 - formulários
Anúncio

Semelhante a Aula 08-oac-execucao-de-programas (20)

PDF
05 - linguagemAssemblyIntrodução-Linguagem de maquina
PDF
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
PDF
Curso Gratuito de Shell Script
ODP
Linguagens de programação
PPTX
Isc aula 7
PDF
Aula 03 - Interpretador [mr_@@@@@].pdf
PDF
Programação C - Aula 1
PDF
Aula 02 - Introdução ao PHP
PPTX
Pho Aula 02
PDF
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
PDF
Linguagens de programação 03-12-09
PPT
Técnicas_Implementação
PDF
The Language VolcanX - ABMSL
PDF
53392229 apostila-de-algoritmo-2009
PDF
COMO FUNCIONA Aula 02 - Linguagem de Script.pdf
PPTX
Code Masters
PPTX
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
PDF
Introdução à Programação
PDF
Engenharia Reversa no Linux
05 - linguagemAssemblyIntrodução-Linguagem de maquina
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
Curso Gratuito de Shell Script
Linguagens de programação
Isc aula 7
Aula 03 - Interpretador [mr_@@@@@].pdf
Programação C - Aula 1
Aula 02 - Introdução ao PHP
Pho Aula 02
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Linguagens de programação 03-12-09
Técnicas_Implementação
The Language VolcanX - ABMSL
53392229 apostila-de-algoritmo-2009
COMO FUNCIONA Aula 02 - Linguagem de Script.pdf
Code Masters
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Introdução à Programação
Engenharia Reversa no Linux

Mais de Cristiano Pires Martins (14)

PDF
Aula 08 - árvores
PDF
Java script - funções
PDF
Java script aula 09 - JQuery
PDF
Aula 05 layout e composição do site
PDF
Aula 04 layout e composição do site
PDF
Aula 02 semiótica e cores
PDF
Aula 01 introdução
PDF
Aula 03 esquema de cores
PDF
WDI - aula 07 - css com html
PDF
Java script aula 07 - j-query
PDF
Aula 07-oac-processadores
PDF
Aula 06-oac-memoria-principal
PDF
Aula 05-oac-conceitos-de-logica-digital
PDF
Aula 02-oac-historia-da-computacao-part1
Aula 08 - árvores
Java script - funções
Java script aula 09 - JQuery
Aula 05 layout e composição do site
Aula 04 layout e composição do site
Aula 02 semiótica e cores
Aula 01 introdução
Aula 03 esquema de cores
WDI - aula 07 - css com html
Java script aula 07 - j-query
Aula 07-oac-processadores
Aula 06-oac-memoria-principal
Aula 05-oac-conceitos-de-logica-digital
Aula 02-oac-historia-da-computacao-part1

Último (19)

PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula04-Academia Heri- Tecnologia Geral 2025
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
COBITxITIL-Entenda as diferença em uso governança TI
Apple Pippin Uma breve introdução. - David Glotz
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26

Aula 08-oac-execucao-de-programas

  • 1. Cristiano  Pires  Martins EXECUÇÃO  DE  PROGRAMAS segunda-feira, 30 de maio de 2011 1
  • 2. Linguagem  de  Programação  (LP) § Linguagem  criada  para  instruir  um   computador  a  realizar  suas  tarefas; § Programa  completo  escrito  em  LP:  código; § Codificar  algoritmo:  converter  para  instrução   específica  de  uma  LP; § Tipo  mais  primitivo  de  LP:  linguagem  de   máquina; segunda-feira, 30 de maio de 2011 2
  • 3. Linguagem  de  máquina § Para  criar  um  código  é  necessário:   ú Conhecer    todas  as  instruções  (códigos  de   operação  e  formato); ú Registradores; ú Endereços  das  células  de  memória  de  instruções  e   de  dados; segunda-feira, 30 de maio de 2011 3
  • 4. Linguagem  de  Montagem § Para  tentar  minimizar  a  dificuldade  de   entendimento  da  Ling.  Máquina; § Para  usar  precisa  ter  um  conversor  de   símbolos  alfabéticos  para  código  de  máquina; § O  processo  de  conversão  (montagem):   montador  (assembler); § Montador  lê  cada  instrução  em  ling.  de   montagem  e  cria  uma  instrução  equivalente   em  ling.  de  máquina. segunda-feira, 30 de maio de 2011 4
  • 5. Linguagens  de  Alto  Nível § Nível  afastado  da  máquina; § Não  se  preocupa  com  o  tipo  de  CPU  ou  de   memória; § Linguagem  orientada  ao  problema,  permite  que  o   programador  especifique    de  ações  com  menos   instruções. Exemplos: FORTRAN; PASCAL; ALGOL; C; COBOL; ADA; LISP; DELPHI BASIC; JAVA. segunda-feira, 30 de maio de 2011 5
  • 6. Montagem § Tradução  mais  rápida  e  simples  que  existe; § Traduz  de  linguagem  de  montagem  para   linguagem  de  binária  (máquina),  executável; segunda-feira, 30 de maio de 2011 6
  • 7. Funções  de  um  Montador § Substituir  códigos  de  operações  por  valores   numéricos; § Substituir  nomes  simbólicos  de  endereços  por   valores  numéricos  dos  endereços; § Reservar  espaço  de  memória  para  dados  e   instruções; § Converter  constantes  em  binário; § Examinar  a  correção  de  cada  instrução. segunda-feira, 30 de maio de 2011 7
  • 8. Exemplo  de  um  programa  em   linguagem  de  montagem § NOTA:  ;  ‚  usado  para  fazer  comentários  em  programas  assembly   § .MODEL  SMALL  ;modelo  de  memória   § .STACK  ;espaço  de  memória  para  instruções  do  programa  na  pilha   § .CODE  ;as  linhas  seguintes  são  instruções  do  programa  mov  ah, 01h  ;move  o  valor  01h  para  o  registrador  ah   § mov  cx,07h  ;move  o  valor  07h  para  o  registrador  cx   § int  10h  ;interrupção  10h   § mov  ah,4ch  ;move  o  valor  4ch  para  o  registrador  ah   § int  21h  ;interrupção  21h   § END  ;finaliza  o  código  do  programa segunda-feira, 30 de maio de 2011 8
  • 9. Compilação § Processo  de  análise  de  um  programa  escrito   em  linguagem  de  alto  nível  (código-­‐fonte)    e   sua  conversão  em  um  programa  equivalente   em  linguagem  binária  de  máquina  (programa-­‐ objeto); § Usa-­‐se  o  compilador; § É  semelhante  ao  de  montagem,  porém  mais   complexo  e  demorado; segunda-feira, 30 de maio de 2011 9
  • 11. Processo § 1º  análise  do  código-­‐fonte  (pelo  front-­‐end); ú Análise  Léxica: ú Análise  Sintática: ú Análise  Semântica: § 2º  Gera-­‐se  um  código  intermediário  de   constrói-­‐se  vária  tabelas  (ex.  tabela  de   símbolos); § 3º  Aloca  memória  para  variáveis,  atribuição   dos  registradores  e  geração  do  código-­‐objeto   final. segunda-feira, 30 de maio de 2011 11
  • 12. Análise  Léxica § Decompõe  o  programa-­‐fonte  em:  comandos,   operadores,  variáveis  etc. § Verifica  de  acordo  com  as  regras  da   linguagem; § Gera  mensagem  de  erro  se  encontrar  erro; § Ex.:  Sinal  de  atribuição  em  pascal  “:=”  e  não  só   “=”. segunda-feira, 30 de maio de 2011 12
  • 13. Análise  Sintática § Criação  da  estrutura  de  cada  comando; § A  partir  de  cada  elemento  obtido  da  análise   léxica,  monta  uma  estrutura  apropriada  de   acordo  com  as  regras  gramaticais  da   linguagem; segunda-feira, 30 de maio de 2011 13
  • 14. Análise  Semântica § Verifica  as  regras  semânticas  estáticas  da   linguagem; § São  a  necessidade  de  integridade  de  um  tipo   de  dado  em  uma  expressão  ; segunda-feira, 30 de maio de 2011 14
  • 16. Interpretação § Realiza  a  compilação,  ligação  e  execução   comando  a  comando,  do  programa-­‐fonte; § O  programa-­‐fonte  é  diretamente  executado   (interpretado)  por  um  outro  programa  (o   interpretador)  e  produz  o  resultado; § Cada  comando  é  lido  pelo  interpretador,   convertido  em  código  executável  e   imediatamente  executado,  antes  que  o   próximo  comando  seja  lido. segunda-feira, 30 de maio de 2011 16