Introdução aos Sistemas Computacionais 2008/09

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Introdução aos Sistemas Computacionais 2008/09"

Transcrição

1 Introdução aos Sistemas Computacionais 2008/09 Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa Fascículo ASM1 Introdução ao Assembly 1. Introdução ao Tema O processador de um computador é o componente encarregado de executar instruções. Em última instância, o processador não faz mais do que executar sequencialmente instruções que não são mais do que ordens codificadas em números binários. A linguagem em que os programas são especificados para poderem ser executados por um processador denomina-se de linguagem máquina. Como para um ser humano é difícil interpretar sequências de números, nunca se programa em linguagem máquina mas em linguagens de nível ligeiramente superior denominadas assembly. Todo o processador tem a sua linguagem máquina e o seu assembly. As instruções assembly são geralmente chamadas de mnemónicas dado poderem ser entendidas como algo que nos ajuda a decorar as instruções em linguagem máquina. A tradução de um programa em assembly para linguagem máquina é feita por um programa denominado assembler. Nesta disciplina vamos considerar o Gnu ASsembler (GAS). As instruções em assembly fazem operações muito elementares, tornando a programação nessa linguagem algo difícil, mas imprescindível em certas circunstâncias. Em última análise, qualquer instrução assembly limita-se a manipular dados armazenados em três possíveis locais: num conjunto de variáveis internas ao processador denominadas registos, em memória, em dispositivos de entrada/saída (E/S). Nesta disciplina vão-nos interessar sobretudo os dois primeiros locais de armazenamento (registos e memória), já que os dados dos dispositivos de E/S são geralmente geridos pelo sistema operativo. A memória é uma parte importante do computador, que aparece de forma conspícua nos programas em assembly. Podemos considerá-la simplesmente como uma grande tabela com células de 8 bits (1 byte). Essas células são numeradas através de endereços, começando em 0, 1, 2, 3,, podendo chegar a 1 ou 2GiB numa configuração típica nos PCs actuais. Um processador tem sempre um número limitado de registos. Os nomes desses registos tipicamente são acrónimos curtos, designando aquilo para que são usados. No caso da arquitectura de processadores que vamos usar como referência, a arquitectura IA-32 da Intel (que engloba os processadores Intel 80386, e as diferentes gerações de Pentium), existem quatro registos de uso geral denominados eax, ebx, ecx e edx. Existem ainda outros que iremos introduzindo à medida que forem necessários. Esses quatro registos têm 32 bits que é o comprimento dos dados geralmente manipulado pelo reportório de instruções dos processadores incluídos na arquitectura IA-32 da Intel. Por isso, diz-se que estes processadores são de 32 bits. No entanto, estes processadores foram precedidos por outros membros da mesma família, como o e o 8088, que eram processadores de 16 bits. Por isso, para continuar a poder executar programas escritos para esses processadores, por vezes esses registos são manipulados como se tivessem apenas 16 ou 8 bits. Assim, considerando por exemplo o registo eax, os 16 bits menos significativos (ou seja, com menos peso) deste registo podem ser manipulados sob o nome de ax. O byte menos significativo do ax pode por sua vez ser manipulado sob o nome de al (low) e o mais significativo sob o nome de ah (high). O mesmo se aplica para os outros três registos, podendo ser manipulados como bx, bl, bh, etc. Todos os registos em assembly (ou mais precisamente, no GAS) são antecedidos por %, por exemplo, %eax, %dh, %cx. Daqui em diante vamos abreviar assembly da arquitectura IA-32 ou assembly dos processadores Intel simplesmente para assembly. Em assembly podem-se usar variáveis em memória, que são designadas por um nome (por ex., VAR1). Na realidade esse nome não é traduzido para linguagem máquina, sendo substituído pelo endereço de memória correspondente. O processador não reconhece algo tão simples como um nome de variável! Apenas registos e endereços de memória. A declaração de uma variável através do seu nome reserva o espaço de memória necessário para armazenar o tipo de dados ISC-LEI/FCUL 1

2 declarados para a variável. A tabela seguinte enumera as palavras chave usadas para declarar cada tipo de dados em assembly: Dimensão 1 byte.byte Palavra Chave (Directiva) 2 byte.word,.hword,.short 4 byte.int,.long 8 byte.quad 16 byte.octa A declaração de variáveis é realizada no interior de um bloco que se inicia com a palavra chave e tem o seguinte formato geral: nome_variável: declaração_dimensão valor_inicial Em breve iremos aprender como se declaram variáveis para as quais não é necessário definir um valor inicial. Em assembly podem-se também usar valores imediatos como operandos das instruções, que são assim chamados por serem colocados na memória imediatamente a seguir à instrução em linguagem máquina que os utiliza (por exemplo, $4, $0x10; $VAR1 denomina o endereço da variável VAR1). Em assembly as instruções levam um sufixo que indica o tamanho dos dados a transferir: b indica byte (8 bits), w indica word ou palavra (16 bits) e l indica longo/inteiro (32 bits). A instrução assembly mais simples é a nop que muito simplesmente não faz nada. Por vezes é útil como forma simples de tapar outras instruções, já que em linguagem máquina é a instrução 0 (zero). Em seguida, em termos de simplicidade, temos a instrução mov (de move) que copia um dado de um registo para outro ou para memória (ou vice-versa). Na realidade não existe uma única instrução mov mas inúmeras variantes da instrução mov. Por exemplo: movl %eax, %ebx # copia o valor no registo %eax para o registo %ebx movl %ebx, %eax movw imediato, %dx movb %dh, endereço O valor do primeiro operando é copiado para o segundo, sobrepondo o valor que estava colocado no registo ou célula de memória. Os operandos podem ser os registos de uso geral, endereços de memória e valores imediatos. Há no entanto algumas restrições: o tamanho dos dois operandos tem de ser sempre idêntico (8, 16 ou 32 bits); só um dos operandos pode ser um valor imediato ou endereço; o segundo operando não pode ser um valor imediato. O carácter # indica que tudo o que está na mesma linha à sua direita é um comentário que não deve ser interpretado pelo assembler. Uma instrução semelhante é a xchg (de exchange) que não apenas copia o primeiro operando para o segundo, mas também o segundo para o primeiro, ou seja, troca os valores dos dois parâmetros. As restrições são semelhantes às do mov, excepto que nenhum operando pode ser um valor imediato (pense porquê, é óbvio). Exemplos: xchgl %eax, %ebx xchgb %ah, VAR_B A especificação do bloco de um programa destinado a instruções inicia-se com a palavra chave (directiva).text e deve conter pelo menos um rótulo associado ao programa principal (main). ISC-LEI/FCUL 2

3 2. Exercícios Fundamentais 1. Declare, no espaço reservado à declaração de variáveis, o seguinte conjunto de variáveis. a) uma variável de 32 bits, de nome ac e cujo valor inicial seja 125. b) uma variável de 32 bits, de nome tp e valor inicial Escreva um excerto de um programa assembly que execute as seguintes acções: a) copie o conteúdo da variável ac declarada na questão anterior para o registo eax. b) copie o conteúdo do registo eax para o registo ebx. c) copie o conteúdo da variável tp declarada na questão anterior para o registo eax.text.globl main main: ret 3. Considere o seguinte programa escrito em linguagem assembly, para a família de µp80x86, especificado segundo a notação usada nos compiladores da GNU. ac:.long 125 #variável ac de 32 bits com o valor inicial 125 tp:.long 32 #variável tp de 32 bits com o valor inicial 32.text.globl main main: movl ac,%eax movl %eax,%ebx movl tp,%eax nop movl $65535,%edx xchg %eax,%edx ret Indique, nos espaços reservados abaixo, qual o conteúdo de cada um dos registos da CPU aí indicados, no instante imediatamente antes da execução da instrução ret. Utilize a palavrachave indeterminado para indicar um valor desconhecido. Registo EAX 10 Registo EBX 10 Registo ECX 10 Registo EDX 10 ISC-LEI/FCUL 3

4 4. Escreva um pequeno excerto de um programa assembly que coloque em %eax o conteúdo da célula de memória com endereço 0x Escreva um pequeno excerto de um programa assembly que copie o valor da variável VAR1 para a variável VAR2, ambas de 8 bits. 6. Das seguintes instruções assembly da família de µp80x86, especificadas segundo a notação usada no GAS, indique qual a única inválida. movl %eax,%ebx movw %ax,%bx movl %ebx,%eax movw %ax,%ebx 7. Considere o seguinte programa escrito em linguagem assembly, para a família de µp80x86, especificado segundo a notação usada nos compiladores da GNU. ac:.long 9876 tp:.long text.globl main main: xchgl ac,%eax movl %ecx,%ebx movl %edx, %ecx movl %eax, %ecx movl tp,%edx movl $65535,%eax xchg %eax,%edx ret Indique, nos espaços reservados abaixo, qual o conteúdo de cada uma das variáveis e de cada um dos registos da CPU aí indicados, no instante imediatamente antes da execução da instrução ret. Utilize a palavra-chave indeterminado para indicar um valor desconhecido. Registo EAX 10 Registo EBX 10 Registo ECX 10 Registo EDX 10 Variável ac 10 Variável tp 10 ISC-LEI/FCUL 4

5 8. Considere o seguinte programa escrito em linguagem assembly, para a família de µp80x86, especificado segundo a notação usada nos compiladores da GNU. ac:.long 128 #variável ac de 32 bits com o valor inicial 128 tp:.long 32 #variável tp de 32 bits com o valor inicial 32.text.globl main main: movl ac,%eax movl tp,%ebx movl $512,%ecx movl $64,%edx nop xchg %ebx,%ecx xchg %ecx,%edx ret Indique, de entre as opções indicadas abaixo, qual a instrução que deve substituir a instrução nop, para que o conteúdo de cada um dos registos da CPU, no instante imediatamente antes da execução da instrução ret, seja o seguinte: EAX = EBX= ECX=64 10 EDX = movl %ebx,%eax xchgw %eax,%ebx movl $128,%edx xchgl %eax,%ebx xchgl %eax,%edx 9. Explique qual a diferença, subtil na sintaxe, mas enorme nos resultados produzidos, entre as instruções: movl tp,%ebx movl $tp,%ebx ISC-LEI/FCUL 5

6 10. Explique qual a diferença, subtil na sintaxe, mas enorme nos resultados produzidos, entre as instruções: movl $512,%ecx movl 512,%ecx 11. Explique qual a diferença na memória reservada pelas seguintes declarações de variáveis, em três programas diferentes. Como as classificaria segundo a sua correcção? ig: ik:.long 24 ig:.long ik:.long 24 ig:.long 16 ik:.long Das seguintes instruções assembly da família de µp80x86, especificadas segundo a notação usada no GAS, indique qual a única instrução válida, sabendo que ac e tp são os nomes de duas variáveis de 32 bits. xchgw ac,tp xchgl ac,tp xchgl %ebx,%eax xchgw %ax,%ebx xchgl %ax,%ebx ISC-LEI/FCUL 6

7 13. Das seguintes instruções assembly da família de µp80x86, especificadas segundo a notação usada no GAS, indique qual a única que produz um resultado diferente das restantes. movl $65535,%eax movl $0xFFFF,%eax movl $ ,%eax movl $177777,%eax 14. Das seguintes instruções assembly da família de µp80x86, especificadas segundo a notação usada no GAS, indique qual a única inválida. movl $65535,%eax movl $0xFFFF,%eax movl $ ,%eax movl %eax,0xffff 15. Das seguintes instruções assembly da família de µp80x86, especificadas segundo a notação usada no GAS, indique qual a única inválida. movl $65535,%eax movl $0xFFFF,%eax movl $ ,%eax movl %eax,$0xffff ISC-LEI/FCUL 7

8 3. Material de Apoio Obrigatório GNU Assembler for and higher, Roger Jegerlehner, , formulário de referência rápida disponível na página da disciplina. 4. Exercícios Adicionais Recomendados Caderno de Exercícios de ISC (5ªedição) (GU-ISC-05-10), exercícios OB1 e OB2. Documento disponível na página da disciplina. 5. Bibliografia Gas-Gnu ASsembler e Arquitectura Intel x86 (GU-ISC-03-12): slides 1-8. Assembly para o Assemblador da GNU, Arquitectura Intel IA-32 (TA-ISC-05-10): cap. 1, 2, 3 (até pag. 30) e 4 (até pag. 45) Caderno de Exercícios de ISC (5ªedição), Teresa Chambel, Dulce Domingos, et.al, DI-FCUL, Outubro de 2005 (GU-ISC-05-10). Disponível na página da disciplina. ISC-LEI/FCUL 8

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código

Leia mais

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento

Leia mais

Programando em Assembly

Programando em Assembly Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

A linguagem ASSEMBLY

A linguagem ASSEMBLY A linguagem ASSEMBLY Assembly é uma linguagem de baixo nível, chamada freqüentemente de linguagem de montagem É uma linguagem considerada difícil, principalmente porque o programador precisa conhecer a

Leia mais

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina Níveis de Abstracção Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Aplicação Programa de Alto Nível Programa em Assembly Programa em Máquina Micro-programa em de Transferência de Registos Sistema Digital

Leia mais

Compiladores. Introdução à Compiladores

Compiladores. Introdução à Compiladores Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 1ª Parte Prof. Sandra Pais Soares Linguagens de Programação Linguagens de Programação Uma

Leia mais

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte. Memória Função: armazenamento de dados e instruções Estrutura Lógica: Endereço Conteúdo 0000 0000 h 1010 0010 0256 0A20 h 1101 1100 0D63 52E2 h 0011 1111 0D63 52E3 h 0110 1001 FFFF FFFE h 0111 0101 FFFF

Leia mais

Linguagem de Montagem

Linguagem de Montagem Linguagem de Montagem Organização do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 Processador Pentium Lançado em 1993 Versão melhorada

Leia mais

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA Informática Aplicada 2009.2 Campus Angicos LISTA DE EXERCÍCIOS 01 Professor: Araken de Medeiros Santos INTRODUÇÃO À INFORMÁTICA 1. Cite alguns problemas que o uso de válvulas provocava nos computadores

Leia mais

CONCEITOS DE ALGORITMOS

CONCEITOS DE ALGORITMOS CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são

Leia mais

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Linguagem C. Eliane Pozzebon

Linguagem C. Eliane Pozzebon Linguagem C Eliane Pozzebon Material de Apoio de C Site da disciplina: http://www.univasf.edu.br/~eliane.pozzebon Slides de aulas Exercícios Dev-C++: um ambiente de programação interativo e gratuito para

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Estrutura e Função do Processador Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Organização

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Compiladores e Computabilidade

Compiladores e Computabilidade Compiladores e Computabilidade Prof. Leandro C. Fernandes UNIP Universidade Paulista, 2013 GERAÇÃO DE CÓDIGO INTERMEDIÁRIO Geração de Código Intermediário Corresponde a 1ª etapa do processo de Síntese

Leia mais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Introdução a Computação

Introdução a Computação O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 05: Memória Principal MEMÓRIA PRINCIPAL Elementos de uma memória principal (célula, bloco, tamanho total); Cálculo dos elementos de memória (tamanho dos barramentos de

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Procedimentos Chamada de Funções e Parâmetros

Procedimentos Chamada de Funções e Parâmetros Procedimentos Chamada de Funções e Parâmetros Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Durante a execução de um programa, o SO precisa alocar memória principal para:

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Gestão dos Dados em Memória

Gestão dos Dados em Memória 2 Gestão dos Dados em Memória "The struggle of man against power is the struggle of memory against forgetting." Milan Kundera O primeiro passo para o desenvolvimento de programas em Assembly consiste em

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #VARIÁVEIS #TIPOS DE DADOS E L I EZ I O S O A R ES E L I EZ

Leia mais

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Os computadores ditigais podem ser classificados em 5 grupos distintos: Informática A informática engloba toda atividade relacionada ao uso dos computadores, permitindo aprimorar e automatizar tarefas em qualquer área de atuação da sociedade. Informática é a "Ciência do tratamento

Leia mais

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras para

Leia mais

Prof. Adriano Maranhão COMPILADORES

Prof. Adriano Maranhão COMPILADORES Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então

Leia mais

Arquitectura e Organização de Computadores

Arquitectura e Organização de Computadores Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Introdução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem

Introdução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização.

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 1. Um programa P foi compilado com um compilador

Leia mais

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados 3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção

Leia mais

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Organização e Arquitetura de Computadores. Leslier S. Corrêa Organização e Arquitetura de Computadores Leslier S. Corrêa O nome refere-se ao matemático John Von Neumann, que foi considerado o criador dos computadores da forma como são projetados até hoje. Entretanto,

Leia mais

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Calculo da área de um triângulo Algoritmo Área Var base,

Leia mais

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores

Leia mais

Fundamentos de Algoritmos (5175/31)

Fundamentos de Algoritmos (5175/31) UEM/CTC Departamento de Informática Curso: Ciência da Computação Professor: Flávio Rogério Uber Fundamentos de Algoritmos (5175/31) Material Original: Prof. Yandre Maldonado e Gomes da Costa (UEM/DIN)

Leia mais

Linguagem de Montagem do NeanderX

Linguagem de Montagem do NeanderX Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação

Leia mais

Introdução à Programação 2006/07. Algoritmos

Introdução à Programação 2006/07. Algoritmos Introdução à Programação 2006/07 Algoritmos Objectivos da Aula Algoritmos e suas características Técnicas de Descrição de Algoritmos Linguagem Natural Pseudocódigo Fluxogramas Especificação do problema

Leia mais

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções

Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções Antes de deixarmos o hardware (1) Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA 8 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos:

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADASS

ATIVIDADES PRÁTICAS SUPERVISIONADASS A ATIVIDADES PRÁTICAS SUPERVISIONADASS Ciência da Computação 1ª. Série Introdução à Organização de Computadores A atividade prática supervisionada (ATPS) é um método de ensino- de atividades aprendizagem

Leia mais

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

AGT0001 Algoritmos Aula 01 O Computador

AGT0001 Algoritmos Aula 01 O Computador AGT0001 Algoritmos Aula 01 O Computador Karina Girardi Roggia karina.roggia@udesc.br Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Apresentação Teóricas Prof. Helder Daniel Gab: 2.66 hdaniel@ualg.pt Práticas Prof. Amine Berquia Gab: 2.?? hdaniel@ualg.pt AA2011/2012 ArqC - DEEI - UAlg 2 / Programa Práticas

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Linguagens de Programação Aula 3

Linguagens de Programação Aula 3 Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...

Leia mais

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada Célula, Palavra, Ciclo de Instruções e Lógica Temporizada IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 20 e 21/30 Prof.

Leia mais

Introdução a linguagem C. Introdução à Programação 06/07

Introdução a linguagem C. Introdução à Programação 06/07 Introdução a linguagem C Introdução à Programação 06/07 A LINGUAGEM DE PROGRAMAÇÃO C A linguagem C foi criada, na década de setenta, por Dennis M. Ritchie; Apesar de se considerar uma linguagem de alto

Leia mais

Gestão de memória - Memory Management Unit (MMU)

Gestão de memória - Memory Management Unit (MMU) Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS ALGORITMO Professor: RODRIGO GOBBI As instruções são os comandos que identificarão a máquina qual deverá ser a ação executada; Os dados são números, medidas, valores relacionados ao problema em que se

Leia mais

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Lista de Exercícios 2 Prof. Daniel Caetano Solução

Lista de Exercícios 2 Prof. Daniel Caetano Solução Unidade 4 Lista de Exercícios 2 Prof. Daniel Caetano Solução 4.1) Converta os seguintes números decimais para hexadecimal: 145, 226, 1043, 3456 91h, E2h, 413h, D80h 4.2) Sem converter as bases, faça as

Leia mais

Função Fundamental do SO

Função Fundamental do SO Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

Estrutura de Programas e Tipos de Dados Simples

Estrutura de Programas e Tipos de Dados Simples SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estrutura de Programas e Tipos de Dados Simples Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

Noções de Algoritmos

Noções de Algoritmos Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Noções de Algoritmos DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula Algoritmos

Leia mais

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas

Leia mais

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Classes e Objetos. Prof. Leonardo Barreto Campos 1 Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma

Leia mais

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01 Sistemas Operacionais II Prof. Gleison Batista de Sousa Aula 01 Sistemas Operacionais Livres Prof. Gleison Batista de Sousa Aula 01 Objetivos - Ter conhecimento sobre os diversos módulos que compõem um

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Organização Básica de computadores e linguagem de montagem

Organização Básica de computadores e linguagem de montagem Organização Básica de computadores e linguagem de montagem Prof. Edson Borin 1 o Semestre de 2012 Regras do Curso http://www.ic.unicamp.br/~edson/disciplinas/mc404/2012-1s/ Porque Aprender Linguagem de

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções.

Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções. ESTRUTURAÇÃO DOS MÓDULOS DE UM ALGORITMO Uma subrotina é um algoritmo hierarquicamente subordinado a um outro algoritmo geralmente chamado de módulo principal. Da mesma forma, uma subrotina pode conter

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações Bit, Caractere, Byte e Palavra Conceito de Arquivos e Registros Medidas de desempenho http://www.ic.uff.br/~debora/fac! 1 2

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

3 Introdução às chamadas ao sistema

3 Introdução às chamadas ao sistema 3 Introdução às chamadas ao sistema 3.1 Chamadas ao sistema e à BIOS As chamadas ao sistema ou System Calls consistem nos serviços disponibilizados pelo núcleo do sistema operativo. O principio é semelhante

Leia mais

Sistemas Digitais Representação Digital de Informação

Sistemas Digitais Representação Digital de Informação Sistemas Digitais Representação Digital de Informação João Paulo Baptista de Carvalho (Prof. Auxiliar do IST) joao.carvalho@inesc-id.pt Representação de números em Base b Base 10: 435 10 = 4 x 100 + 3

Leia mais

Simulador de Processador de Computador com propósito didático

Simulador de Processador de Computador com propósito didático Simulador de Processador de Computador com propósito didático Galileu Santos de Jesus, Edward David Moreno, Marco Tulio Chella Departamento de Computação - Universidade Federal de Sergipe São Cristóvão,

Leia mais

Introdução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16

Introdução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16 Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece

Leia mais

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, A palavra ALGORITMO teve origem com um Matemático Persa, al Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, ou a ciência das Equações que, em última análise suscitaram o desenvolvimento

Leia mais

Infra-Estrutura de Hardware

Infra-Estrutura de Hardware Infra-Estrutura de Hardware Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1 Semestre/2012 Conjunto de Instruções Conteúdo Operações do Hardware do Computador Representando Instruções

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização de arquivos Operações de E/S Estrutura de diretórios Gerência de espaço livre Gerência de alocação de espaços

Leia mais

T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA

T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA T1: T2: T3: T4: T5: T6: T7: T: P: Arquitectura de Computadores I - 2002/03 TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma

Leia mais

<identificador>[<tamanho>]: <tipo>;

<identificador>[<tamanho>]: <tipo>; Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma

Leia mais

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é:

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é: Linguagem C-Funções Objetivos No primeiro capítulo foi dito que um programa em C pode ser composto de uma ou mais funções, sendo que a única obrigatória é main (). Agora, estudaremos como utilizar outras

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1). É uma linguagem de comunicação

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 9

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 9 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 9 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Paralelismo - II... 3 1.2 Memória Primária... 4 1.2.1. Bits, bytes e terabytes...

Leia mais