Você está na página 1de 3

PONTIFCIA UNIVERSIDADE CATLICA DE GOIS

PR-REITORIA DE GRADUAO
DEPARTAMENTO DE COMPUTAO

PLANO DE ENSINO
Disciplina: Linguagens de Montagem Curso: Engenharia de Computao/ Cincia da computao Professor/Responsvel: Cdigo N de Crditos Pr-requisitos: CMP1130 04
EMENTA

C-requesito

Estudo e desenvolvimento de programas em linguagem de mquina e de montagem.


OBJETIVOS GERAIS

Analisar os fundamentos de linguagens de montagem e relacion-los aos da estrutura interna de um computador.


OBJETIVOS ESPECFICOS

Conhecer a linguagem de execuo de programas em processadores (Linguagem de Mquina); Conhecer os princpios da sintaxe de Linguagens de Montagem; Conhecer o processo de criao de um arquivo executvel; Conhecer o lxico e a sintaxe de uma Linguagem de Montagem e de diretivas de um Montador exemplos; Conhecer o uso do hardware durante a execuo de um executvel; Programar, utilizando estruturas de dados bsicas, utilizando Linguagem de Montagem.
CONTEDO PROGRAMTICO

Estruturas primitivas de representao de dados; Noes bsicas de arquitetura de computadores; Caractersticas do sistema operacional, chamadas ao sistema; Requisitos de linguagem de montagem: identificadores; diretivas e declaraes; definio de dados. Montagem, ligao e execuo de programas: montagem de um programa fonte, ligao de objetos. Modos de endereamento; Conjunto de instrues; Processamento de E/S; Processamento de arranjos unidimensionais; Processamento de tabelas e matrizes; Representao e manipulao de nmeros reais; Representao Intel estendida e IEEE 754, instrues para ponto flutuante; Manipulao de arquivos: principais chamadas ao sistema, funes da biblioteca glib (linux/GNU) acesso seqencial e aleatrio a registros. Macros: definio de macros, arquivos de incluso; Modularizao de programas; Ligao com programas em linguagens de alto nvel

METODOLOGIA

Aulas expositivas; Exerccios prticos de programao; Estudo dirigido com resoluo de exerccios em classe.
AVALIAO

A nota final, NF, da disciplina ser resultante da mdia ponderada de dois conjuntos de notas, N1 e N2, conforme a expresso NF = 0,4.N1+ 0,6. N2, sendo que a N1 ser composta por duas notas resultantes de avaliaes individuais, P1 e P2, conforme a expresso N1 = 0,5.P1 + 0,5.P2 resultantes de duas avaliaes individuais com todo o contedo do perodo correspondente. A N2 ser composta por duas notas resultantes de avaliaes individuais, P3 e P4, conforme a expresso AVAL = 0,5.P3 + 0,5.P4 com todo o contedo do perodo correspondente mais o resultado da AI (Avaliao Interdisciplinar) conforme a expresso N2 = AI + 0,9.(AVAL). A freqncia ser computada em cada encontro ou atravs de chamada feita durante as aulas. Ser considerado aprovado na disciplina o aluno que obtiver a freqncia mnima de 75% e Nota Final igual ou superior a cinco.
ATIVIDADE EXTERNA DISCIPLINA

Implementao de uma aplicao de mdia complexidade que contemple: modos de endereamento, chamadas a subrotinas, uso de funes implementadas na biblioteca libc, estruturao em mdulos (mltiplos arquivos fonte), incluindo arquivos com macros. No primeiro bimestre ser avaliada a Interface Humano Mquina (4 aulas). No segundo bimestre ser avaliada a aplicao completa (4 aulas).
ATIVIDADE EXTERNA DISCIPLINA BIBLIOGRAFIA BSICA

1. S. P. Dandamudi. Introduction to Assembly Language Programming for Pentium and RISC Processors. IE-SPRING-VERLAG, 2 edio, 2004. 2. D. Piva Junior. Organizao Bsica de Computadores e Linguagem de Montagem. Elsevier-Campus,
2012.

3. K. R. Irvine. Assembly Language for x86 Processors. Prentice Hall, 6 edio, 2010.
BIBLIOGRAFIA COMPLEMENTAR 1. J. A. Manzano. Fundamentos em Programao Assembly. rica, 2004. 2. R. Hyde. The Art of Assembly Language. No Starch Press, 2 edio, 2010. 3. R. C. Detmer. Introduction to 80x86 Assembly Language and Computer Architecture.

Johnes & Bartlett Publishers, 2 edio, 2009.


4. HENNESSY, John L.; PATTERSON, D. A. Organizao e projeto de computadores: A

Interface hardware/software. 3. ed. Rio de Janeiro: Campus, 2005.


5. J. Duntemann. Assembly Language Step-by-Step: Programming with Linux. Wiley, 3 edio, 2009. CRONOGRAMA

01 Apresentao da disciplina: calendrio e mtodos avaliativos. Introduo. (01/02/2012) 02 Sistemas digitais eletrnicos binrios. Sistemas de numerao posicionais. (05/02/2012)

03 Sistema de numerao decimal e binrios. Converses de base. (08/02/2012) 04 Sistemas de numerao hexadecimal e octal. Converses de base. (15/02/2012) 05 Aritmtica binria com nmeros no sinalizados. Formas de representao. (19/02/2012) 06 Aritmtica binria com nmeros sinalizados. (22/02/2012) 07 Resoluo de exerccios e reviso. (26/02/2012) 08 Primeira Avaliao de N1 (P1). (01/03/2012) 09 Operaes lgicas e aritmticas com processadores intel IA32. (05/03/2012) 10 Operaes lgicas e aritmticas com processadores intel IA32. (08/03/2012) 11 Noes de Arquitetura de Computadores e Sistemas Operacionais. Traduo e Interpretao. Montadores. (12/03/2012) 12 Sintaxe de linguagem de montagem nasm. Diretivas e instrues. (15/03/2012) 13 Definio e reserva de espao em memria. (19/03/2012) 14 Estrutura de um programa em LM. Estruturas de controle. (22/03/2012) 15 Estruturas de controle. (26/03/2012) 16 Resoluo de exerccios e reviso (02/04/2012) 17 Segunda Avaliao de N2 (P2). (05/04/2012) 18 Modos de endereamento. Funcionamento da pilha do processador. (09/04/2012) 19 Funcionamento da pilha do processador. Subrotinas. (12/04/2012) 20 Subrotinas. Passagem de argumentos. Efeitos do uso de subrotinas na pilha. (16/04/2012) 21 Conveno de chamada a subrotinas (19/04/2012) 22 Macros. Modularizao. (23/04/2012) 23 Modularizao. Processamento de arranjos. (26/04/2012) 24 Processamento de arranjos. (30/04/2012) 25 Resoluo de exerccios e reviso (03/05/2012) 26 Primeira Avaliao de N2 (P3). (07/05/2012) 27 Chamadas ao sistema. Ligao com cdigo em alto nvel. (10/05/2012) 28 Processamento de entrada/sada. (14/05/2012) 29 Manipulao de arquivos. (17/05/2012) 30 Manipulao de arquivos. (21/05/2012) 31 Representao de nmeros em ponto flutuante. (28/05/2012) 32 Processamento em ponto flutuante. (04/06/2012) 33 Processamento em ponto flutuante. (07/06/2012) 34 Processamento em ponto flutuante. (11/06/2012) 35 Segunda Avaliao de N2 (P4).36 (18/06/2012) 37 Entrega e discusso de notas. (21/06/2012) 38 Aula reservada para ajuste de calendrio. (25/06/2012) 39 Aula reservada para ajuste de calendrio. (28/06/2012)
MATERIAL DE APOIO

Hardware: Computadores equipados com plataforma Linux 32 ou 64 bits. Software: NASM The Netwide Assembler verso igual ou superior a 2.08; GCC The GNU Compiler Collection verso igual ou superior a 4.6.3. Textos Adicionais: 1. P. Carter. PC Assembly Language, edio pblica, 23 de julho de 2006. Disponvel em http://www.drpaulcarter.com/pcasm/ 2. Intel Corporation. Intel 64 and IA-32 Architectures Software Developers Manual Combined Volumes:1, 2A, 2B, 2C, 3A, 3B, and 3C. Intel Corporation, 2013. Disponvel em http://download.intel.com/products/processor/manual/325462.pdf

Você também pode gostar