Assembly Saltos e Subrotinas

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

Download "Assembly Saltos e Subrotinas"

Transcrição

1 Aula 6 Assembly Saltos e Subrotinas 6.1 Objectivos Introdução Ciclos e outras estruturas de controlo Ciclos Estruturas if then else Escolha múltipla Subrotinas Escolha automática de instruções Utilização de segmentos recolocáveis Problemas Objectivos Consolidação de conhecimentos sobre a linguagem assembly da família 51. Familiarização com as instruções de salto e chamada de subrotinas. Utilização da pilha (stack) e respectivo apontador (stack pointer). 6.2 Introdução Conclui-se com este guião uma breve introdução à linguagem assembly da família 51. Apresentam-se aqui diversos problemas que obrigam à utilização de instruções de salto e à organização do código em subrotinas. Estude com cuidado os exemplos apresentados e as considerações que os acompanham e depois tente resolver em casa, antes da aula, todos os problemas propostos. Poderá tirar as dúvidas que lhe surgirem na aula teórico-prática. 1

2 2 AULA 6. ASSEMBLY SALTOS E SUBROTINAS 6.3 Ciclos e outras estruturas de controlo A linguagem assembly não dispõe de nenhum mecanismo que leve a programar de modo estruturado. Assim, a estrutura de um programa é mais uma das responsabilidades que o programador deve assumir. Felizmente é fácil implementar algumas estruturas de controlo existentes em linguagens de alto nível recorrendo a instruções de salto Ciclos A maneira mais fácil de controlar a execução de determinado grupo de instruções um número constante de vezes é utilizando a instrução DJNZ (decrement and jump if not zero) que admite como operando um registo ou um endereço de memória de dados interna: LOC OBJ LINE SOURCE 1 ;============================================== 2 ; Inicializaç~ao de um vector em memória 3 ; for(i=0;i<16;i++) { 4 ; temp[i]=0 5 ; } 6 ; jpsousa@fe.up.pt 7 ;============================================== SIZE equ 16 ; Tamanho do vector dseg at 40h temp: ds SIZE cseg at mov r0,#temp ; Endereço inicial 0002 E4 16 clr a F10 17 mov r7,#size ; Tamanho 0005 F6 18 next: ; Inicializa posiç~ao inc r DFFC 20 djnz r7,next end Repare-se, a propósito deste exemplo, na utilização da constante numérica SIZE definida na linha 9 e utilizada nas linhas 12 e 17. É também importante perceber o modo como se pode aceder de forma indirecta a uma variável: o apontador é inicializado (linha 15) e mais tarde (linha 18) utilizado para aceder às sucessivas posições que a variável ocupa. Um ciclo pode também ser do tipo enquanto ou do tipo repetir. O primeiro caracteriza-se por ter o teste de controlo logo no início o que faz com que o conjunto de instruções nele incluído possa nunca ser executado; o segundo caracteriza-se por ter o teste de controlo no fim pelo que o conjunto de instruções nele incluído é executado pelo menos uma vez: LOC OBJ LINE SOURCE 1 ;======================================= 2 ; Ciclo do tipo enquanto...

3 6.3. CICLOS E OUTRAS ESTRUTURAS DE CONTROLO 3 3 ; unsigned char x; 4 ; unsigned int y; 5 ; 6 ; while (x!=0) { 7 ; y=2*y; 8 ; x--; 9 ; } 10 ; jpsousa@fe.up.pt 11 ;======================================= dseg at 40h y: ds x: ds cseg at E tst: mov a,x ; Testa em A F 19 jz done ; Acaba se A= ; Multiplica por 2 um número de 16 bits 0004 C3 22 clr c 0005 E mov a,y+1 ; Processa LSB rlc a 0008 F mov y+1,a 000A E mov a,y ; Processa MSB 000C rlc a 000D F mov y,a F dec x ED 31 sjmp tst done: ;======================================= 38 ; Ciclo do tipo repetir ; unsigned char x; 40 ; unsigned int y; 41 ; 42 ; do { 43 ; y=2*y; 44 ; x--; 45 ; } while (x!=0); 46 ; jpsousa@fe.up.pt 47 ;======================================= cseg at 0100h E next: mov a,y+1 ; Processa LSB E0 52 add a,acc 0104 F mov y+1,a 0106 E mov a,y ; Processa MSB rlc a 0109 F mov y,a B D542F2 58 djnz x,next end Repare-se que o teste que determina o fim do ciclo (linha 19) é específico do acumulador pelo que não chega decrementar a variável de controlo (linha 30) mas é necessário copiá-la para o acumulador (linha 18). Já no segundo caso (linha 58) o teste é efectuado directamente sobre a variável de controlo.

4 4 AULA 6. ASSEMBLY SALTOS E SUBROTINAS Estruturas if then else As instruções de salto permitem uma implementação confortável deste tipo de estruturas de controlo nos programas escritos em assembly: LOC OBJ LINE SOURCE 1 ;======================================= 2 ; Teste de valores 3 ; #define MAXCNT ; unsigned int cont,val; 5 ; unsigned char state; 6 ; if(val==0) { 7 ; state++; 8 ; cont=maxcnt; 9 ; } else { 10 ; if(state==12) 11 ; state--; 12 ; } jpsousa@fe.up.pt 13 ;======================================= 14 3A98 15 MAXCNT equ dseg at 50h cont: ds val: ds state: ds cseg at 0h 0000 E mov a,val orl a,val A 25 jnz nzero inc state mov cont,#low(maxcnt) ; LSB 000B 75513A 28 mov cont+1,#high(maxcnt) ; MSB 000E sjmp done C 30 nzero: mov a,# B cjne a,state,done dec state done: 34 Algumas considerações sobre o exemplo apresentado: 1. Uma vez que a variável val (linha 18) ocupa 2 bytes o teste efectuado (linhas 22, 23 e 24) deve incluir ambos. 2. Nas linhas 26 e 27 foram utilizados dois operadores suportados pelo assemblador (low e high) que calculam, respectivamente, a metade menos significativa e mais significativa de um valor de 16 bits. 3. Repare-se finalmente nos códigos das instruções de salto utilizadas neste exemplo (linhas 24, 28 e 30) o último byte de cada instrução representa a distância entre o endereço da próxima instrução e o endereço destino do salto; respectivamente 10, 7 e 2 bytes. Nem todas as instruções de salto são relativas, algumas indicam de modo absoluto o endereço destino.

5 6.4. SUBROTINAS Escolha múltipla A instrução de comparação CJNE permite também implementar estruturas de escolha múltipla semelhantes às que existem em linguagens de alto nível: LOC OBJ LINE SOURCE 1 ;======================================= 2 ; Escolha múltipla 3 ; unsigned char op,pin; 4 ; switch (op) { 5 ; case 0: pin=100;break; 6 ; case 9: pin=200;break; 7 ; default: pin=0; 8 ; } 9 ; jpsousa@fe.up.pt 10 ;======================================= dseg at 50h op: ds pin: ds cseg at 100h 0100 E mov a,op 0102 B cjne a,#0,not0 ; A = 0? mov a,# sjmp Done 0109 B Not0: cjne a,#9,not9 ; A = 9? 010C 74C8 22 mov a,# E sjmp Done 0110 E4 24 Not9: clr a ; default F Done: mov pin,a end Algumas considerações sobre o exemplo apresentado: 1. A comparação (linhas 18 e 21) não estraga o acumulador pelo que basta carregá-lo uma vez (linha 17). 2. Novamente se nota nos códigos da instrução de comparação e salto (linhas 18 e 21) a distância entre o endereço da próxima instrução e o endereço destino do salto, 4 bytes nos dois casos deste exemplo. 3. A instrução MOV (linha 25) completa a execução. É sempre executada qualquer que seja a escolha feita. 6.4 Subrotinas As instruções de chamada de subrotinas 1 contribuem decisivamente para a estrutura dos programas ao permitirem dividir uma tarefa complexa em tarefas mais simples, cada uma executada por uma rotina que em devido tempo será chamada. 1 Os termos rotina e subrotina serão usados indistintamente para especificar um conjunto de instruções que executam uma tarefa específica no contexto da resolução de um problema mais abrangente.

6 6 AULA 6. ASSEMBLY SALTOS E SUBROTINAS LOC OBJ LINE SOURCE 1 ;======================================= 2 ; Atraso configurável 3 ; 4 ; delay(n) { 5 ; for(i=n;i>0;i--); 6 ; } 7 ; delay(50); 8 ; delay(100); 9 ; jpsousa@fe.up.pt 10 ;======================================= cseg at F32 13 mov r7,# lcall delay F64 15 mov r7,# D acall delay FE 17 stop: sjmp stop cseg at 0680h delay: nop ; Par^ametro de entrada em r nop 0682 DFFC 22 djnz r7,delay ; Repete R7 vezes ret end Algumas considerações sobre o exemplo apresentado: 1. A codificação manual da instrução LCALL (linha 14) é bastante mais simples e directa do que a da instrução ACALL (linha 16). Naquela aparece de forma evidente o endereço destino enquanto nesta parte do endereço é incorporada no código da instrução [1, páginas 17 e 36]. 2. A instrução de salto é necessária para encravar o programa, caso contrário depois de executada a instrução da linha 16 o programa executaria novamente a subrotina e corromperia a stack ao executar um RET sem ter executado primeiro o ACALL ou LCALL correspondente. 6.5 Escolha automática de instruções A escolha de uma entre as três instruções de salto incondicional que esta família suporta (ljmp, ajmp e sjmp) faz-se em função do tamanho do salto que se pretende dar. A maior parte dos assembladores actualmente existentes permite fazer essa escolha de uma forma automática: basta indicar como instrução a mnemónica genérica jmp que o próprio assemblador escolherá a instrução mais indicada das três. O mesmo se passa relativamente à chamada de subrotinas: basta utilizar a mnemónica genérica call que o assemblador escolherá a instrução lcall ou acall dependendo da distância a que estiver a rotina que se pretende chamar.

7 6.6. UTILIZAÇÃO DE SEGMENTOS RECOLOCÁVEIS Utilização de segmentos recolocáveis A utilização de segmentos absolutos, já abordada anteriormente [3], tem a grande desvantagem obrigar a um grande cuidado na sua utilização para garantir a inexistência de sobreposições entre segmentos do mesmo tipo. Para evitar esse trabalho e facilitar a reutilização de código é recomendável trabalhar sempre com segmentos recolocáveis. Ao contrário de um segmento absoluto, um segmento recolocável é aquele do qual não se sabe, a priori, o endereço inicial pois ele é definido pelo linker, isto é, depois da compilação. A figura 6.1 ilustra as fases necessárias à criação de um ficheiro executável. Os segmentos recolocáveis definidos no código fonte ainda não estão definidos nos ficheiros objecto, estando por isso incompleta a codificação das instruções. O processo de codificação é completado pelo linker antes da geração do ficheiro executável. Assemblador / Compilador Assemblador / Compilador Linker Ficheiro executável Ficheiros fonte Assemblador / Compilador Ficheiros objecto Figura 6.1: Processo de geração de um ficheiro executável A definição de um segmento recolocável faz-se com o comando segment e a sua activação com o comando rseg. O exemplo ilustra a sintaxe: rotinas segment code mensagens segment code vars segment data vars2 segment xdata ; Segmento recolocável em MP ; Segmento recolocável em MP ; Segmento recolocável em MDI ; Segmento recolocável em MDE rseg vars ; Activa o segmento de dados total: DS 2 ; Reserva dois bytes em MDI contador: DS 1 ; Reserva um byte em MDI rseg vars2 ; Activa o segmento de dados dados: DS 400 ; Reserva 400 bytes em MDE ; === Programa principal =============================================== cseg at 0000h ; Segmento absoluto em MP. ; Início do programa sempre no endereço 0.. ; --- Rotinas de E/S rseg rotinas ; Activa o segmento rotinas... ; === Mensagens do sistema ============================================= rseg mensagens ; Activa o segmento mensagens pin_msg: DB "Introduza o PIN: " ; Preenche 7 bytes algures em MP

8 8 AULA 6. ASSEMBLY SALTOS E SUBROTINAS No exemplo apresentado, a única conclusão que se pode tirar quanto a endereços é que o programa principal começa no endereço 0000h da memória de programas pois é o único segmento absoluto existente. Os endereços dos segmentos recolocáveis são definidos mais tarde, automaticamente, durante o processo de geração do código máquina. 6.7 Problemas Apresentam-se de seguida alguns problemas que requerem a utilização de instruções de salto e/ou de chamada de subrotinas. 1. Escreva um programa que calcule t = 19 i=0 y[i] supondo que: (a) os elementos do vector são todos inferiores a 13, (b) os elementos do vector são todos inferiores a 256. Declare as variáveis num segmento de dados absoluto com início em 30h. 2. Escreva um programa que implemente na variável Cont definida num segmento de dados recolocável um contador cíclico de 24 bits. Considere dois casos: (a) contagem crescente: 0, 1, 2,..., , 0, 1,..., (b) contagem decrescente. 3. Suponha um vector v com 50 elementos de um byte cada representados em complemento para 2. Escreva um programa que conte quantos elementos negativos, nulos e positivos existem no vector. As contagens devem ser guardadas nas variáveis nn, nz e np respectivamente. Declare todas as variáveis num segmento recolocável em MDI. Repita considerando agora que v está declarado num segmento recolocável em MDE. 4. Traduza para código máquina as soluções do problema anterior. 5. Escreva um programa que calcule a soma de controlo simples (soma efectuada sem considerar eventuais transportes) de uma zona de 256 bytes de memória com início apontado pelo registo R0. No fim: R0 fica a apontar para um endereço 256 posições acima do seu valor inicial e o resultado da soma deve ficar no acumulador. 6. Escreva uma rotina que calcule o valor mínimo de uma zona de memória de dados externa com início apontado pelo registo DPTR e comprimento indicado no registo R7. No fim, o mínimo deve ficar em R7. 7. Suponha já existente a rotina Upcase que converte para maiúscula a letra minúscula cujo código ASCII está no acumulador, devolvendo o resultado da conversão também no acumulador.

9 6.7. PROBLEMAS 9 (a) Escreva um programa que, recorrendo a essa rotina, converta para maiúsculas um texto em MDI com início apontado por R0 e cujo fim é indicado pelo código 0. (b) Escreva a rotina Upcase. 8. Suponha já existente a rotina CountBits que conta o número de bits a um do acumulador, devolvendo o resultado também no acumulador. (a) Escreva um programa que, recorrendo a essa rotina, conte o número de bits a um de uma zona de memória da dados interna com início apontado pelo registo R0 e comprimento indicado no registo R7. O resultado deve ficar em R7. (b) Escreva a rotina CountBits.

10 10 AULA 6. ASSEMBLY SALTOS E SUBROTINAS

11 Referências [1] Philips semiconductors; 80C51 family programmer s guide and instruction set; Setembro de [2] Ferreira, José Manuel; Resumo das instruções do 80C51 ; FEUP, Setembro de [3] Sousa, João Paulo; Assembly: Primeiros passos; FEUP, Setembro de [4] Atmel Wireless and Microcontrollers; 89C51 data sheet; Setembro de [5] Ferreira, José Manuel; Introdução ao Projecto com Sistemas Digitais e Microcontroladores; FEUP Edições, 1998, ISBM

Programação em Linguagem Assembly (Saltos e Subrotinas)

Programação em Linguagem Assembly (Saltos e Subrotinas) Programação em Linguagem Assembly (Saltos e Subrotinas) João Paulo Sousa jpsousa@fe.up.pt Setembro 2005 Conteúdo 1 Objectivos 2 2 Introdução 2 3 Ciclos e estruturas de controlo 2 3.1 Ciclos for()............................................

Leia mais

5 Programação modular em Linguagem Assembly

5 Programação modular em Linguagem Assembly 5 Programação modular em Linguagem Assembly (Família 51) jpsousa@fe.up.pt Conteúdo 1 Objectivos 1 2 Introdução 1 Nomes externos 2 4 Problemas 4 5 Soluções 6 1 Objectivos Consolidação de conhecimentos sobre

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

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova 7. PROGRAMANDO O MICROCONTROLADOR 1 7. PROGRAMANDO O MICROCONTROLADOR: Hardware parte física do circuito eletrônico CPU onde está localizado o microcontrolador. Dentro do microcontrolador existe um conjunto

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

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

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Como conhecer/estudar um Microprocessador/Microcontrolador As 5 partes fundamentais Programação de Microprocessadores Prof: Evandro L. L. Rodrigues Arquitetura

Leia mais

Tempos de execução, programação modular e processamento de interrupções

Tempos de execução, programação modular e processamento de interrupções Tempos de execução, programação modular e processamento de interrupções jpsousa@feuppt Conteúdo 1 Objectivos 2 2 Introdução 2 3 Ciclos-máquina 2 31 Cálculo do tempo de execução 3 32 Ajuste do tempo de

Leia mais

Contador crescente e decrescente...

Contador crescente e decrescente... Contador crescente e decrescente... Hardware Quatro LEDS (P1.7 a P1.4) Um interruptor (P1.0) LEDS e interruptor activos a zero f x = 12MHz P1 VCC Problema Visualizar nos LEDs uma contagem cíclica entre

Leia mais

Assembly Primeiros Passos

Assembly Primeiros Passos Aula 5 Assembly Primeiros Passos 5.1 Objectivos......................... 1 5.2 Introdução........................ 2 5.3 Programação em linguagem assembly........ 3 5.4 Modelo de programação................

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

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados Podem ser referentes tanto à RAM interna (0 7F) como ao espaço

Leia mais

1. Instruções de Desvio

1. Instruções de Desvio 1. Instruções de Desvio Def.: Estas instruções permitem que, de forma condicional ou não, seja feito um desvio na seqüência de uma programa. O desvio é efetuado fazendo com que o valor carregado no PC

Leia mais

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do 805 satoutfpredubr Sobre o material Essas transparências foram baseadas em materiais elaborados

Leia mais

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

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

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

Microcontroladores. Conjunto de Instruções do Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores. Conjunto de Instruções do Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão Microcontroladores do 805 Prof. Guilherme Peron Prof. Heitor Lopes Prof. Ronnier Rohrich Prof. Rubão Introdução Os microcontroladores: Têm instruções limitadas Precisam tratar os dados da forma correta

Leia mais

Sistemas Microprocessados

Sistemas Microprocessados Sistemas Microprocessados satoutfpredubr http://pessoal.utfpr.edu.br/sato/ Assembly do ATmega8 satoutfpredubr Sobre o material Essas transparências foram baseadas no manual

Leia mais

Porta série no dscope...

Porta série no dscope... Porta série no dscope... Interface série - 22 Comunicação multiprocessador Porta série nos modos 2 ou 3 Bit 8 utilizado para distinguir dois tipos de tramas (0=dados, 1=endereços) Funcionamento de SM2

Leia mais

Estudar os passos que devem ser feitos (ponto de partida até o objetivo)

Estudar os passos que devem ser feitos (ponto de partida até o objetivo) Erros básicos Falta de conhecimento sobre o microcontrolador e assembly Falta de planejamento na hora de desenvolver o programa Estudar os passos que devem ser feitos (ponto de partida até o objetivo)

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Motor de Passo e Display LCD Alunos: Matrícula:

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Sistemas de interrupções Interrupção... Acontecimento assíncrono, inesperado para um processador Resulta na invocação automática de uma subrotina desencadeada

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

Lic. Engenharia de Sistemas e Informática

Lic. Engenharia de Sistemas e Informática Conceitos de Sistemas Informáticos Lic. Engenharia de Sistemas e Informática 1º ano 2004/05 Luís Paulo Santos Módulo Arquitectura de Computadores Execução de Programas LPSantos, CSI: Arquitectura de Computadores,

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

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Arquitectura de um microprocessador básico (Qual o hardware necessário para executar instruções e poder chamar subrotinas?) Uso da memória Guardar instruções

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 3: Temporizadores e Display LCD Alunos: Matrícula:

Leia mais

EXERCÍCIOS RESOLVIDOS

EXERCÍCIOS RESOLVIDOS EXERCÍCIOS RESOLVIDOS Modos de endereçamento direto ; inclui no programa assembly o arquivo (REG51.inc) ORG 0000H ; o programa inicia na linha 0000H da EPROM MOV A,#01010101B ; carrego no ACC por binário

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

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

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

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

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1 --------------------------------------------------------------- Programa: primeiro.asm Move dado da acumulador para o registro B e vice-versa. Autor: Vargas Data:16:52 16/02/01 ---------------------------------------------------------------

Leia mais

Família 8051 (introdução) 2011/1

Família 8051 (introdução) 2011/1 Família 8051 (introdução) 2011/1 Refresh Microprocessador vs. microcontrolador. Periféricos built-in. Single-chip computer 2 Objetivos Histórico Modelos da família original Principais características Diagrama

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador: Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!! MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Aluno: Matrícula: UMA SOLUÇÃO POSSÍVEL Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!! 1. Escreva um pequeno, em assembly do

Leia mais

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

TASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO 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

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

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

7. A pilha e subrotinas

7. A pilha e subrotinas Cap7.1 7. A pilha e subrotinas 7.1 Organização da Pilha (stack) Stack: estrutura de dados de uma dimensão organizada em algum trecho (segmento) da Memória; o primeiro item adicionado é o último a ser removido

Leia mais

Memória de dados interna

Memória de dados interna Memória de dados interna A MD interna na família 51 proporciona 128 bytes ou 256 bytes de MD interna (conforme a versão do componente) Os endereços 0 a 7FH incluem os bancos de registos R0 a R7, posições

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

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

Laboratório de Microprocessadores e Microcontroladores. Experimento 6:

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

Programação ao nível da máquina

Programação ao nível da máquina Programação ao nível da máquina Ponto de vista do programador O nível Assembly Modelo de programação Assembler (processo de compilação da linguagem C) Que assembly para AC? Introdução ao assembly NASM

Leia mais

Ex.: Rotinas de tempo

Ex.: Rotinas de tempo Ex.: Rotinas de tempo ORG 0000h PORTA EQU P1 VBASE EQU 0800h Inicio: mov a,# 0ffh volta: mov PORTA,a cpl a ljmp volta end Microcontroladores - Prof: Demantova 1 Ex.: Rotinas de tempo ORG 0000h PORTA EQU

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES Introdução à Arquitetura de Computadores Tutorial do P3 Referência 2014 / 2015 INSTITUTO SUPERIOR TÉCNICO Paulo Lopes, José Costa 2014/2015 2 1.

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

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

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

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

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

Sumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits.

Sumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits. Sumário Aula Anterior Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits Aula 12 1 Sumário Nesta Aula Esclarecimento de dúvidas para o Exame Resolução

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

Informática I. Aula 9. Aula 9-17/05/2006 1

Informática I. Aula 9.  Aula 9-17/05/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Laboratório de Programação II

Laboratório de Programação II Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;

Leia mais

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES SEL 0415 Aula 11 Microcontrolador 8051 Parte 3 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 415 INTERRUPÇÃO Estrutura de Interrupção do 8051 n 5 Fontes [ 2 Externas

Leia mais

Tipos Primitivos, estruturas de iteração e decisão.

Tipos Primitivos, estruturas de iteração e decisão. Tipos Primitivos, estruturas de iteração e decisão. André Luis Meneses Silva andreluis.ms@gmail.com http://br.geocities.com/programacao2ufs/ Agenda Tipos Primitivos de Dados Variáveis e Constantes es Comandos

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Geração do Código Objecto (10.7 e 10.8) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior

Leia mais

Computador Cleópatra

Computador Cleópatra ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Assembly Alexandre Amory Edson Moreno 2 / 36 Na Aula Anterior Vimos a máquina de estados da Cleo 3 / 36 Arquitetura Cleópatra - Von Neumann

Leia mais

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-5 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

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

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso Temporização Interrupções Prof: Evandro L. L. Rodrigues Rotinas de Atraso Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Contadores / Temporizadores Contadores/temporizadores em geral... Hardware para contagem de impulsos Externos Internos (derivados do relógio interno) Contagem

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA III Março 2014 Índice Instruction Set Revisões Procedimentos Stack Comunicar com pessoas ASCII Programar em MIPS estrutura, input e output Programar em MIPS

Leia mais

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012

Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012 Arquitectura de Computadores 2011/2012 2º Semestre 1º Teste - Repescagem - 27/06/2012 Número: Nome: INSTRUÇÕES: - A duração da prova é de 2 horas. - Preencha imediatamente o seu número e nome de forma

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 2: Teclado e Rotação de LEDs Alunos: Matrícula:

Leia mais

Grupo I (5 valores) CD AB

Grupo I (5 valores) CD AB Grupo I (5 valores) Ministério da Ciência, Tecnologia e Ensino Superior 1. [2] Considere o seguinte mapa de Karnaugh da função F(A,B,C,D). Simplifique a função de modo a obter uma soma de produtos, e um

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Laboratório de Microprocessadores e Microcontroladores. Experimento 7: Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 7: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas

Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas Arquitectura de Computadores 00/00 º Semestre º Teste (A) - 0/0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido. - Identifique

Leia mais

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência

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

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

Professor: Dr. Rogério Rodrigues de Vargas.

Professor: Dr. Rogério Rodrigues de Vargas. UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)

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

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Leia mais

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos

Leia mais

INSTITUTO SUPERIOR TÉCNICO

INSTITUTO SUPERIOR TÉCNICO INSTITUTO SUPERIOR TÉCNICO Arquitectura de Computadores 2 o Semestre (2010/2011) LEIC-A, MEIC-A Departamento de Engenharia Informática 1 o Teste (A) - 7 de Abril de 2011 Duração: 1h30 + 0h30 Regras: O

Leia mais

Conjunto de Instruções (ISA) II

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

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

Informática I. Aula 9. Aula 9-27/09/2006 1

Informática I. Aula 9.   Aula 9-27/09/2006 1 Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-27/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Legibilidade do código fonte

Legibilidade do código fonte Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere

Leia mais

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica 13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010

Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Arquitectura de Computadores (21010) Data: 12 de Fevereiro de 2010 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Leia mais

Aula 10 Microcontrolador Intel 8051 Parte 2

Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 Aula 10 Microcontrolador Intel 8051 Parte 2 SEL 0415 INTROD À ORGANIZAÇÃO DE COMPUTADORES Prof Dr Marcelo A C Vieira SEL 415 Mapeamento das memórias internas Memória de dados interna (RAM) n 8051

Leia mais

Estrutura do programa e programação Assembly com 8051. O que entende por linguagem assembly?

Estrutura do programa e programação Assembly com 8051. O que entende por linguagem assembly? O que entende por linguagem assembly? i. Apresenta um nível de abstração intermédia entre os dois extremos: linguagem máquina e linguagem alto-nível ii. Facilita a programação pela substituição do código

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

LINGUAGEM C PARA O 8051

LINGUAGEM C PARA O 8051 LINGUAGEM C PARA O 8051 Disciplina de Microcontroladores Prof. Rubão VARIÁVEIS E TIPOS DE DADOS SIMPLES Char 8 bits Short e int 16 bits Long 32 bits Float 32 bits Unsigned int 16 bits Unsigned long 32

Leia mais

Organização e Projeto de Computadores

Organização e Projeto de Computadores Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída

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