• Document: MATA49 Programação de Software Básico
  • Size: 193.38 KB
  • Uploaded: 2019-07-21 08:20:44
  • Status: Successfully converted


Some snippets from your converted document:

MATA49 Programação de Software Básico Leandro Andrade leandrojsa<at>dcc.ufba.br CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 1 Planejamento ● Avaliação – Uma prova – Dois trabalhos práticos – Média Final = (P1 + T1 + T2) / 3 – Provável datas definirei em breve ● Aulas de reposição – Sugestão: Sábados de manhã CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 2 Metodologia ● Aulas expositivas ● Exercícios práticos ● Aulas em laboratório – Avaliar devido o grande número de alunos na turma Programação se aprende programando! CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 3 Referências Bibliográficas ● Paul A. Carter, PC Assembly Language ● Andrew S. Tanenbaum, Organização Estruturada de Computadores, 4ª edição, Prentice-Hall do Brasil, 2001 ● Manual oficial do Nasm ● Hugo Perez Perez. Tutorial de linguagem Assembly. Information Systems General Coordination. University of Guadalajara. Traduzido para o português por Jeferson Amaral. 1995 ● IA-32 Intel Architecture Software Developer’s Manual volume1: Basic architecture. Intel Corporation. 2003 CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 4 Objetivo ● Programação em linguagem de montagem; ● Recursos de arquitetura para técnicas de programação; – Arquitetura Intel ● Conceitos de implementação de baixo nível; CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 5 O que é uma linguagem de montagem? Qual a diferença entre assembly e assembler? CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 6 Antes, alguns conceitos... ● Tradutores: – Programas que convertem um programa escrito em uma linguagem para outra – Linguagem fonte → Linguagem Alvo – Geração do programa objeto ● Interpretação: – Execução de programa fonte original – Em certos caso geração de um código intermediário (Ex: Java) CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 7 Então... ● Os tradutores são divididos em dois tipos: – Assembler (Montador): Quando a linguagem fonte é uma representação simbólica da linguagem de máquina ● Neste caso a linguagem fonte é chamada de linguagem de montagem (assembly language) – Compilador: Quando a linguagem fonte é uma linguagem de alto nível e a alvo é uma linguagem de máquina numérica ou uma representação simbólica CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 8 Desse modo... ● Assembler é o programa que transforma a representação simbólica da linguagem de máquina em programa objeto (executável) ● Assembly é a linguagem fonte de representação simbólica da linguagem de máquina CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 9 Vejamos: CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 10 Linguagem de montagem ● Cada declaração produz uma instrução de máquina ● Facilita o processo de programação – Acredite! Pior seria usar somente binários e hexadecimais ● Diretamente ligado a arquitetura do processador – Dificulta o reuso para outras arquiteturas CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 11 Linguagem de montagem Linguagem de máquina Linguagem de montagem BA0B01 mov dx,msg B409 mov ah,9 B44C mov ah,4Ch CD21 int 21h 48656C6C6F2C20576F msg db 'Hello, World!',0Dh,0Ah,'$' CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 12 Linguagem de montagem ● Existência de linguagens híbridas – São constituídas por instruções de alto nível – Porém permitem a execução de instruções de máquina – Exemplo: Linguagem C ● Por isso é considerada por muitos autores como uma linguagem de “médio” nível CIÊNCIA DA COMPUTAÇÃO - UFBA PROF. LEANDRO ANDRADE 13 Programação em linguagem de montagem

Recently converted files (publicly available):