TASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO

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

Download "TASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO"

Transcrição

1 TASM O TASM (Telemark Assembler) é um assemblador baseado em tabelas de conversão que corre em MS-DOS ou Linux. Código Assembly escrito de acordo com uma determinada sintaxe pode ser compilado usando o TASM, sendo possível, à posteriori, transferir o código objecto gerado para o microprocessador alvo. No caso do nosso trabalho, a linguagem PL define um conjunto de comandos ( tipo Assembly ) que serão utilizados na definição de percursos. Do ponto de vista do TASM, a sequência de comandos utilizada para a definição de um percurso representa o código fonte que terá que ser convertido em código objecto (ou código máquina). O TASM interpretará os comandos presentes no código fonte, recorrendo a uma tabela de conversão que terá que ser definida por nós, e retornará como resultado o respectivo código objecto, que pode ser depois transferido para a Memória de Dados Interna (MDI) do 80C51, usando a porta série. Neste documento é apresentado o procedimento a seguir para a definição de uma tabela de conversão, a sintaxe a utilizar na escrita do código fonte e a sintaxe associada ao código objecto gerado pelo TASM. DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO O TASM define uma sintaxe simples para a definição de tabelas de conversão. No nosso caso teremos que criar uma tabela de conversão correspondente à linguagem PL, que vamos utilizar para a programação de percursos. O nome do ficheiro que contém a tabela de conversão a utilizar é determinado pela opção numérica que indicamos ao invocar o TASM na linha de comandos. Esse valor numérico é acrescentado à string TASM, sendo depois adicionada a extensão.tab, para completar o nome do ficheiro. Assim, se for indicado o comando: tasm -51 test.asm o TASM utilizará o ficheiro TASM51.TAB para ler a tabela de conversão a utilizar na interpretação do código fonte. Deste modo, no nosso caso, a tabela de conversão para a linguagem PL pode ser definida, por exemplo, no ficheiro TASM99.TAB, sendo o TASM invocado com a opção -99. RLC Utilização do TASM para geração de código objecto Pág. 1

2 Na Tabela 1 estão indicados os principais campos de uma tabela de conversão (os campos adicionais que poderão fazer parte de uma tabela de conversão estão descritos no manual que acompanha o software [2]). A separação dos campos na tabela de conversão é feita através de espaços em branco (espaços ou tabulações). Na definição da tabela, o carácter * é usado para indicar qualquer valor de 8 bits, as aspas são usadas para indicar ausência de operandos e o carácter, é utilizado para separar operandos pertencentes à mesma instrução (o exemplo apresentado abaixo ajuda a compreender a utilização deste caracteres). Tabela 1. Principais campos de uma tabela de conversão. NOME DESCRIÇÃO INSTRUCTION Mnemónica da instrução ARGS Operandos OPCODE Código hexadecimal da instrução que indica a respectiva instrução no código objecto gerado pelo TASM NBYTES Número de bytes ocupados RULE Determina se é necessária alguma operação especial relativamente ao código gerado para esta instrução (no nosso caso, será NOTOUCH ou NOP, dado que queremos simplesmente converter o código fonte em código objecto, de acordo com a tabela de conversão) CLASS Especifica se uma instrução faz parte do conjunto de instruções standard ou se faz parte de um conjunto de instruções de extensão (no nosso caso, devemos especificar o valor 1) RLC Utilização do TASM para geração de código objecto Pág. 2

3 Exemplo de uma tabela de conversão: ============================================================= mnem. args. opcode bytes modop. class ============================================================= COMMAND1 * NOTOUCH 1 COMMAND2 * NOTOUCH 1 COMMAND3 * NOTOUCH 1 COMMAND4 "" NOTOUCH 1 COMMAND5 "" NOTOUCH 1 COMMAND6 "" NOTOUCH 1 COMMAND7 R,* NOTOUCH 1 JP * NOTOUCH 1 HALT "" NOTOUCH 1 EOP "" 454F50 03 NOTOUCH 1 Considerações relativamente ao exemplo apresentado: os comandos apresentados são apenas ilustrativos e não fazem parte de nenhuma linguagem específica os opcodes usados são também ilustrativos. No caso dos comandos PL, tal como está indicado no guião do trabalho integrador, sugere-se que se utilizem os códigos ASCII da primeira letra do comando, ou no caso de haver sobreposições, uma letra que seja elucidativa DEFINIÇÃO DO CÓDIGO FONTE Nesta secção apenas se apresentam os aspectos mais relevantes para a criação de um ficheiro.asm com o código fonte. Para mais detalhes consulte o manual que acompanha o software [1]. O código fonte no ficheiro.asm deve ser definido de acordo com o formato seguinte (excepto as directivas do assemblador): etiqueta instrução operando comentário Todos os campos são opcionais sob as circunstâncias apropriadas; por exemplo, se uma determinada instrução não define qualquer operando, então o campo operando pode ser omitido. Um número arbitrário de espaços ou tabulações pode ser usado para separar os campos, desde que o número máximo de caracteres por RLC Utilização do TASM para geração de código objecto Pág. 3

4 linha não exceda 255. Cada um dos campos mencionados é descrito em detalhe abaixo. etiqueta se o primeiro carácter da linha for alfabético é assumido que isso indica o início de uma etiqueta. Os caracteres subsequentes são aceites como parte da etiqueta até que um espaço, tab ou o carácter : seja encontrado. O TASM atribui um valor à etiqueta que corresponde ao valor do contador de localização, inicializado a 0. uma etiqueta pode ter no máximo 32 caracteres e ser composta por maiúsculas e/ou minúsculas, dígitos, underscores ou pontos, sendo que o primeiro carácter terá sempre que ser alfabético. as etiquetas são case sensitive a etiqueta START é diferente de start a menos que a opção i (ignore case) seja indicada aquando da invocação do TASM na linha de comandos instrução o campo instrução contém uma mnemónica correspondente a uma instrução que especifica a acção a executar pelo microprocessador alvo quando esta instrução é interpretada a interpretação de cada mnemónica é dependente do microprocessador alvo e ocorre de acordo com a tabela de conversão indicada aquando da invocação do TASM o campo instrução poderá começar em qualquer coluna (excepto na primeira) e é case insensitive operando o campo operando especifica os dados que serão usados pela instrução em causa pode incluir expressões e/ou símbolos especiais que descrevem o modo de endereçamento a ser usado o real formato depende da tabela de conversão indicada aquando da invocação do TASM podem ser incluídos mais do que um operando (separados por vírgulas) comentário o campo comentário começa sempre pelo carácter ; RLC Utilização do TASM para geração de código objecto Pág. 4

5 o que resta da linha é ignorado aquando da geração do código objecto o campo comentário deve ser o último campo numa linha, mas poderá ser o único campo definido numa linha, iniciando, se desejado, na primeira coluna O código fonte definido num ficheiro.asm deve sempre terminar com a directiva.end. SINTAXE DO CÓDIGO OBJECTO GERADO PELO TASM O TASM é capaz de gerar código objecto em vários formatos. Nesta secção descrevese apenas o formato por omissão; para a descrição dos restantes formatos consulte o manual que acompanha o software [1]. Formato Intel Hex Object O formato Intel Hex Object é orientado à linha e utiliza apenas caracteres ASCII, excepto para o carriage return/line feed no fim de cada linha. O formato pode ser simbolicamente representado da seguinte forma: :NN AAAA RR HH CC CRLF A Tabela 2 indica o significado de cada um destes símbolos. Tabela 2. Tabela de símbolos relativos ao formato Intel Hex object. SÍMBOLO DESCRIÇÃO : Carácter de início de registo NN Número de bytes (2 dígitos hexadecimais) AAAA Endereço do primeiro byte (4 dígitos hexadecimais) RR Tipo de registo (00 excepto o último que é 01) HH Data bytes (par de dígitos hexadecimais para cada byte de dados no registo); por exemplo, uma instrução será representada por 2 dígitos hexadecimais. CC Checksum (2 dígitos hexadecimais) CRLF Terminação de linha RLC Utilização do TASM para geração de código objecto Pág. 5

6 A última linha do ficheiro com o código objecto segue o formato indicado na Tabela 2 com NN=0. CRIAÇÃO DA TABELA DE CONVERSÃO PARA A LINGUAGEM PL E RESPECTIVO TESTE A criação da tabela de conversão correspondente à linguagem PL poderá basear-se no exemplo apresentado neste documento. Depois de criada a tabela de conversão, deverá testar-se a geração do código objecto, a partir de um código fonte exemplo. Para tal, poderá ser usado o código fonte exemplo apresentado no guião do trabalho integrador. Devemos então criar um ficheiro.asm com o código fonte (por exemplo, teste.asm ), usando a sintaxe apresentada neste documento. De seguida, invocamos o TASM, indicando na linha de comandos o número que identifica a tabela de conversão que deverá ser usada na conversão do código fonte (ficheiro teste.asm) no respectivo código objecto (ficheiro teste.obj). Finalmente, devemos analisar cuidadosamente o código objecto gerado pelo TASM, a fim de compreender com detalhe a sintaxe do ficheiro teste.obj. Este é um aspecto importante, uma vez que o conjunto de bytes incluídos neste ficheiro constituirá o conteúdo que será carregado para a MDI do 80C51 e que terá que ser interpretado pelo código Assembly a desenvolver. O diagrama abaixo resume os passos a efectuar neste pequeno teste: Criar tabela de Criar ficheiro.asm Invocar o TASM, Análise do ficheiro conversão para a com código fonte indicando a tabela.obj linguagem PL de conversão (tasm XX nome.asm) REFERÊNCIAS [1] Thomas N. Anderson, The Telemark Assembler (TASM) User Manual, v. 3.2, Sep [2] Thomas N. Anderson, TASM table syntax description, Sep RLC Utilização do TASM para geração de código objecto Pág. 6

Utilização do montador Daedalus. O montador e os simuladores Formatos de instruções

Utilização do montador Daedalus. O montador e os simuladores Formatos de instruções Utilização do montador Daedalus O montador e os simuladores Formatos de instruções 1 O montador Daedulus! Desenvolvido para os simuladores Ahmes, Ramses e Cesar! Simuladores possuem arquiteturas distintas!

Leia mais

Porque usar um montador? Formato de uma linha de código fonte:

Porque usar um montador? Formato de uma linha de código fonte: Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

FORMATO DO PROGRAMA FONTE

FORMATO DO PROGRAMA FONTE FORMATO DO PROGRAMA FONTE As declarações do programa fonte são constituídas pelos seguintes campos: 1) Campo do Rótulo: o primeiro caractere deve ser alfabético

Leia mais

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula teórica 7. Preparado por eng.tatiana Kovalenko Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções LEI Sistemas de Computação 2014/15 Execução detalhada de instruções TPC3 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções MIEI Sistemas de Computação 2015/16 Execução detalhada de instruções TPC4 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

MATA49 Programação de Software Básico

MATA49 Programação de Software Básico MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Introdução a linguagem de montagem com Nasm PROF. LEANDRO ANDRADE 2 Sintaxe básica Não é sensível

Leia mais

Familiarização com o ambiente de desenvolvimento da Keil Software. (uvision 51 e dscope 51)

Familiarização com o ambiente de desenvolvimento da Keil Software. (uvision 51 e dscope 51) Familiarização com o ambiente de desenvolvimento da Keil Software (uvision 51 e dscope 51) jpsousa@fe.up.pt Setembro 2005 Conteúdo 1 Objectivos 2 2 Introdução 2 3 O ambiente de desenvolvimento da Keil

Leia mais

PROGRAMAÇÃO DE PERCURSOS PARA UM

PROGRAMAÇÃO DE PERCURSOS PARA UM PROGRAMAÇÃO DE PERCURSOS PARA UM CARRO CONTROLADO POR MOTORES DC Especificação do trabalho integrador para a avaliação distribuída da edição de 2003 / 04 da disciplina EEC2104 (Microprocessadores) Resumo

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

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

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

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks

Leia mais

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) Ø LP Java. Estrutura de um programa em Java. Ø Conjunto de caracteres utilizado. Ø Identificadores. Ø Variáveis e constantes. Ø Tipos

Leia mais

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem

Leia mais

11 - Estrutura de um programa em C

11 - Estrutura de um programa em C 11 - Estrutura de um programa em C directivas para o compilador { main ( ) declarações instruções } -É possível utilizar comentários, exemplo: /* Comentário */ que não são traduzidos pelo compilador, pois

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas

Leia mais

A linguagem algorítmica utiliza o português para a definição dos comandos e tem as seguintes característica:

A linguagem algorítmica utiliza o português para a definição dos comandos e tem as seguintes característica: 1 de 16 08/02/2012 14:08 Linguagem Linguagem Algorítmica A linguagem algorítmica utiliza o português para a definição dos comandos e tem as seguintes característica: 1 - A linguagem não á sensível á capitulação

Leia mais

Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores

Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores Objetivo: Estruturar uma sequencia de comandos em Linguagem C Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Modificadores de Tipos Os tipos de dados básicos em C podem estar acompanhados por modificadores na declaração de variáveis. Tais modificadores

Leia mais

9. Software de Sistema - Montadores (capítulo 9 do livro texto)

9. Software de Sistema - Montadores (capítulo 9 do livro texto) 9. Software de Sistema - Montadores (capítulo 9 do livro texto) Compiladores Programas de Aplicação Depuradores Usuário Processador de Macro Montador Programas Utilitários Ligadores Carregadores Sistema

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Noçõ ções básicas b da linguagem Java Profs. Marcel Hugo e Jomi Fred Hübner Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Introduçã ção Origem Funcionamento Vantagens Linguagem

Leia mais

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Informática para Engenharia 1 Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem Python. Bibliografia:

Leia mais

Faculdade de Engenharia. Microprocessadores. Apoio às Aulas Práticas

Faculdade de Engenharia. Microprocessadores. Apoio às Aulas Práticas Faculdade de Engenharia Microprocessadores Apoio às Aulas Práticas 4 a Edição, Setembro 2005 Departamento de Engenharia Electrotécnica e de Computadores Primeiros Passos na Programação em Linguagem Assembly

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

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

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados

Leia mais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v CIRCUITOS SEQUENCIAIS ESTRUTURA GERAL Varáveis de entrada Variáveis de saída Variáveis de estado Circ. combinatório Memória Circuito Combinatório Memória Actual Seguinte CIRCUITOS SEQUENCIAIS Exemplo :

Leia mais

TUTORIAL. Trabalhando com a base de dados no QGIS: Operações com Texto QGIS.

TUTORIAL. Trabalhando com a base de dados no QGIS: Operações com Texto QGIS. TUTORIAL Trabalhando com a base de dados no QGIS: Operações com Texto QGIS www.processamentodigital.com.br O Processamento Digital é um Canal de Conteúdo GEO oferecido pela HEX Tecnologias Geoespaciais

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

Aula 03: Introdução a C

Aula 03: Introdução a C Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Linguagem C Entrada/Saída (console)

Linguagem C Entrada/Saída (console) Linguagem C Entrada/Saída (console) Objetivos Nos artigos anteriores foram utilizadas as funções scanf() e printf(), porém não entramos em maiores detalhes. Agora estudaremos essas e outras funções de

Leia mais

Migrando para o NASM

Migrando para o NASM Migrando para o NASM Este documento é GPL e é atualmente mantido por Brivaldo Junior O NASM é um Assembler LGPL para a Arquitetura x86 e compatíveis criado por Julian e Simon Copyleft 2004 - Documentações

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Engenharia Civil. Representação da Informação. Introdução à Computação

Engenharia Civil. Representação da Informação. Introdução à Computação Engenharia Civil Representação da Informação Introdução à Computação Sumário Retomada... Representação de informação Bit, byte Conversão numérica Exercício Referência link na página 2.2.1 O bit, o byte,

Leia mais

Símbolos e abreviaturas utilizadas na descrição das instruções

Símbolos e abreviaturas utilizadas na descrição das instruções Símbolos e abreviaturas utilizadas na descrição das instruções acumulador registo A addr endereço de 16 bits data quantidade de 8 bits data 16 quantidade de 16 bits byte 2 segundo byte da instrução byte

Leia mais

modificador h instrui a função printf( ) a exibir um short int. Portanto, %hu indica que o dado é do tipo short unsigned int.

modificador h instrui a função printf( ) a exibir um short int. Portanto, %hu indica que o dado é do tipo short unsigned int. modificador h instrui a função printf( ) a exibir um short int. Portanto, %hu indica que o dado é do tipo short unsigned int. O modificador l também pode prefixar os comandos em ponto flutuante de e, f

Leia mais

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários armazenados em memória. Prof. Adilson Gonzaga 1 As ordens ou comandos

Leia mais

Automação Industrial Parte 6

Automação Industrial Parte 6 Automação Industrial Parte 6 Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html Definições básicas -É um meio de transmissão de informações entre dois ou mais elementos com

Leia mais

Escrever scripts de PHP com HTML

Escrever scripts de PHP com HTML Escrever scripts de PHP com HTML PHP é uma linguagem de programação de scripts para serem interpretados no lado dos servidores. Numa fase inicial (1995), PHP surgiu com o significado de Personal Home Pages

Leia mais

ARQUITETURA DE COMPUTADORES 21010

ARQUITETURA DE COMPUTADORES 21010 ARQUITETURA DE COMPUTADORES 21010 Considere o seguinte conjunto de dados que correspondem ao nome de estudante e à nota por este obtida num determinado trabalho: Nome Nota ALICE 16 JOÃO 10 LIA 12 PAULA

Leia mais

Sumário. Sistemas Operativos 1

Sumário. Sistemas Operativos 1 Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32

Leia mais

Infraestrutura de Hardware. Funcionamento de um Computador

Infraestrutura de Hardware. Funcionamento de um Computador Infraestrutura de Hardware Funcionamento de um Computador Computador: Hardware + Software Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é

Leia mais

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom) UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Arquitectura de Computadores (ACom) LEIC-A, MEIC-A Acetatos das Aulas Teóricas Versão 1.0 - Português Aula

Leia mais

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Introdução a Linguagem C GE4 Bio GE4Bio Grupo de Estudos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída

Leia mais

Linguagem de Maquina II. Visão Geral

Linguagem de Maquina II. Visão Geral Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de

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

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 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode

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

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Compilador de LP3 para C3E e P3

Compilador de LP3 para C3E e P3 Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem

Leia mais

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída

Leia mais

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas C# - Elementos básicos Daniela da Cruz 2010 Elementos Básicos Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas Linguagens de Programação - Daniela

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

Sistemas de Numeração. Tiago Alves de Oliveira

Sistemas de Numeração. Tiago Alves de Oliveira Sistemas de Numeração Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Representação Interna de Caracteres Sistemas Numéricos Sistemas numéricos Sistemas de notação usados para

Leia mais

Representação em nível de máquina

Representação em nível de máquina Universidade Federal de Uberlândia Faculdade de Computação Representação em nível de máquina Prof. Renato Pimentel 1 Endereçamento de memória 2 Localização de instruções e dados na memória Como a unidade

Leia mais

Introdução ao fortran 90 - Aula 1

Introdução ao fortran 90 - Aula 1 Introdução ao fortran 90 - Aula 1 Departamento de Física UFPel 1954-1957: The IBM Mathematical Formula Translating System John W. Backus da IBM: Fortran I: alternativa à linguagem assembler para a programação

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Princípios de Desenvolvimento de Algoritmos MAC122

Princípios de Desenvolvimento de Algoritmos MAC122 Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória

Leia mais

Primeiro Trabalho de POO Emulador para o Processador Winter

Primeiro Trabalho de POO Emulador para o Processador Winter Primeiro Trabalho de POO Emulador para o Processador Winter Prof. Pedro Carlos da Silva Lara Entrega: 21/10/2014 1 Informações Gerais Winter é um processador hipotético especificado com fim puramente acadêmico.

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

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

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

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 10 http://www.ic.uff.br/~bianca/introinfo/ Aula 10-05/10/2007 1 Ementa Conceitos Básicos de Computação (Hardware, Software e Internet) Softwares Aplicativos Tutorial: Word

Leia mais

Linguagem Técnica I. Prof. Jonatas Bastos

Linguagem Técnica I. Prof. Jonatas Bastos Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Informática I. Aula 6. Aula 6-18/09/2006 1

Informática I. Aula 6.  Aula 6-18/09/2006 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-18/09/2006 1 Sobre o Trabalho 1 O trabalho deverá ser feito em grupos de 2 ou 3 alunos. Cada grupo deverá escolher um dos temas listados

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários

Leia mais

Programação em Linguagem Assembly

Programação em Linguagem Assembly Página 1 de 14 Microcontroladores PIC on-line GRÁTIS! Indice Sistema de desenvolvimento Contacte-nos Introdução Exemplo de como se escreve um programa Directivas de controle 4.1 define 4.2 include 4.3

Leia mais

Conjunto de Instruções (ISA) I

Conjunto de Instruções (ISA) I Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Introdução e Conceitos

Introdução e Conceitos Introdução e Conceitos Aula 1 11/08/2017 diegoquirino@gmail.com 1 Agenda 1. Motivações: porque estudar linguagens de programação? 2. Breve Histórico sobre as Linguagens de Programação 3. Processos de Tradução

Leia mais

Representação de Dados (inteiros não negativos)

Representação de Dados (inteiros não negativos) Representação de Dados (inteiros não negativos) 1 Memória Armazena instruções e dados durante a execução de um programa A memória principal pode ser vista como um array de bytes, cada um com seu endereço

Leia mais

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131 Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Norma IEC 61131 Heitor Medeiros Florencio Norma IEC 61131 A norma IEC (International Electrotechnical

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo

Leia mais

Representação das Informações

Representação das Informações Representação das Informações Prof. Adriano Mauro Cansian UNESP - São José do Rio Preto Linguagem Computacional Neste tópico veremos: A representação da informação. Lógica binária e informação digital.

Leia mais

Sistemas de Numeração

Sistemas de Numeração Sistemas de Numeração Objetivos Conhecer representações numéricas para inteiros positivos (naturais) nas bases binária, hexadecimal e octal. Generalizar representações para qualquer base. Manipular fluentemente

Leia mais

Programação de Computadores I

Programação de Computadores I Programação de Computadores I Comandos de Entrada e Saída printf() / scanf() / getchar() Gil Eduardo de Andrade Introdução Os comandos de entrada e saída permitem ao programador interagir com o usuário;

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Introdução à Organização de Computadores. Aula 8

Introdução à Organização de Computadores. Aula 8 SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo

Leia mais

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos MCG114 Programação de Computadores I Profa. Ambiente de Programação, rastreamento e entrada de dados 1 2 Ambiente Python para Programação Ambiente Python para Programação Até agora... Comandos e funções

Leia mais

Introdução ao Fortran 90-1

Introdução ao Fortran 90-1 Introdução ao Fortran 90-1 Departamento de Física UFPel Definição de Programa em Fortran 90 Programa ou Código-fonte Programa ou código-fonte é um conjunto de instruções, também chamadas de comandos, escritas

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais