Baixe o app para aproveitar ainda mais
Prévia do material em texto
LINGUAGEM DE MONTAGEM – CCT0674-1001 Aula 00: Apresentação da ementa Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoLINGUAGEM DE MONTAGEM Disciplina ❑Turnos Manhã : - LINGUAGEM DE MONTAGEM ❑ Cargo Horária: - 80 horas. ❑ Professor da Disciplina - Hilson Barbosa da Silva. ❑ Semestre - 1º do ano de 2021. Horários 3 Segunda feira Manhã: 08:40 às Manhã: 11:10 LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoLINGUAGEM DE MONTAGEM Ementa da Disciplina LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Contextualização No processamento de um programa, o computador necessita que lhe instruam com ações bem específicas, ações estas que devem ser passadas numa linguagem que ele possa entender, a linguagem de máquina. Composta somente por números binários, representando as operações e os operandos (dados) que serão usados no processamento, a linguagem de máquina é dificílima de compreender. Assim, existe uma linguagem representada por comandos, mas que reproduz as tarefas que serão executadas dentro do computador, a linguagem de montagem (assembly). LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Objetivos • Desenvolver no estudante a capacidade de entender e descrever a arquitetura de um microprocessador ou microcontrolador. • Desenvolver a habilidade de programação em linguagem de baixo nível (assembly). LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Objetivos • Compreender o hardware de um sistema computacional e os vários módulos que o compõe. • Desenvolver uma visão crítica sobre os requisitos de desempenho associados a um sistema computacional. • Conhecer a arquitetura x86 e seu conjunto de instruções. • Aprender a utilizar um interpretador da linguagem de montagem para computadores x86. • Conhecer as técnicas de programação em assembly. • Aplicar a linguagem assembly em microcontroladores. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Ementa • Organização e arquitetura básica de computadores. • Arquitetura x86 e seu conjunto de instruções. • Desenvolvimento em assembly para x86. • Desenvolvimento em Assembly para arquiteturas de microcontroladores. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Unidade I - Arquitetura básica de computadores 1.1 - A evolução da arquitetura de computadores e seu modo de funcionamento. 1.2 - Componentes básicos de um sistema computacional pela arquitetura Von Neumann. 1.3 - Barramentos. 1.4 - Representação de dados e sistemas de numeração. 1.5 - Conceitos de lógica digital e circuitos combinacionais. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Unidade II Memórias e elementos armazenadores 2.1 - Hierarquia de memórias. 2.2 - Flip-Flops e circuitos sequenciais. 2.3 - Registradores. 2.4 - Contadores e diagramas de estados. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Unidade III Introdução à linguagem de montagem 3.1 - UCP hipotética e a execução de um programa. 3.2 - Ciclo de execução de uma instrução. 3.3 - Classes de instruções mais comuns: movimentação de dados, aritméticas e lógicas,manipulação de pilha e controle de fluxo de execução 3.4 - Busca da instrução na memória. 3.5 - Exemplos de execução das instruções. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Tópico IV Arquitetura x86 e conjunto de instruções 4.1 - Histórico da arquitetura. 4.2 - Organização básica da arquitetura. 4.3 - Introdução ao programa montador (assembler) FASM - Flat Assembler. 4.4 - Primeir LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Tópico V Desenvolvimento em assembly para x86 com o programa montador. 5.1 - Instruções de desvio. 5.2 - Instruções de salto. 5.3 - Registradores de Flags. 5.4 - Instruções de desvio condicional. 5.5 - Operações bit a bit. 5.6 - Manipulação de memória e estruturas. 5.7 - Strings e subrotinas. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Tópico VI Assembly para microcontroladores 8051 6.1 - Diferenças entre microcontroladores e microprocessadores. 6.2 - Arquitetura do microcontrolador 8051. 6.3 - Simulador de assembly para 8051 - EDSIM. 6.4 - Exemplos de uso do assembly no 8051. LINGUAGEM DE MONTAGEM Introdução à Programação AULA 01: Introdução à Lógica de Programação Procedimentos de Ensino LINGUAGEM DE MONTAGEM • Aulas teórico-práticas no laboratório (VDI); • Demonstrações e realização de exercícios sob a supervisão do docente. • Exemplos práticos Introdução à Programação AULA 01: Introdução à Lógica de Programação Recursos LINGUAGEM DE MONTAGEM Os seguintes recursos serão utilizados ao longo da disciplina: • Laboratório de informática remoto (VDI); • Software para linguagem de programação Assembly • Editor Assembly ( da sua preferência) Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia Básica LINGUAGEM DE MONTAGEM GIMENEZ, Salvador Pinillos. Microcontroladores 8051: Teoria do hardware e do Software/Aplicações em controle digital/Laboratório e simulação [BV:PE]. 1 ed. São Paulo: Pearson Education do Brasil, 2002. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/471 MONTEIRO, Mario A. Introdução à organização de computadores [BV:MB]. 5 ed. Rio de Janeiro: LTC, 2017. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/978-85-216-1973- 4/recent STALLINGS, William. Arquitetura e Organização de Computadores: projeto para o desempenho [BV:PE]. 10 ed. São Paulo: Prentice-Hall, 2017. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/151479 Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia Complementar LINGUAGEM DE MONTAGEM ASCENCIO, A. F. G; CAMPOS, E. A. V. FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES: Algoritmos , Pascal, C/C++ e Java [BV:PE]. 2 ed. São Paulo: Prentice-hall, 2007. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/417 BALIEIRO. Sistemas Operacionais [BV:RE]. 1 ed. Rio de Janeiro: SESES, 2015. Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/80fea820-1cb5- 4982-863f-25f09adbdd0c GUIMARÃES, Carlos Henrique. Sistemas de Numeração - Aplicação em Computadores Digitais [BV:PE]. 1 ed. Rio de Janeiro: Interciência, 2014. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/37688 POLLI, Marco F.Organização de Computadores [BV:RE]. 1 ed. Rio de Janeiro: SESES, 2014. Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/e96bc69e-73ca- 4147-997d-14b601acb8d5 TANENBAUM, A.S.; AUSTIN, T.Organização Estruturada de Computadores [BV:PE]. 6 ed. São Paulo: Pearson, 2013. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/3825
Compartilhar