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

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

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

Transcrição

1 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 Ciclos for() Ciclos enquanto() Ciclos repetir() Estruturas if then else Estruturas de escolha múltipla Chamada e retorno de subrotinas 6 5 Problemas 7 1

2 1 Objectivos Consolidação de conhecimentos sobre programação em linguagem assembly da família 51. Familiarização com as instruções de salto e chamada de subrotinas. Utilização da stack e do stack pointer. 2 Introdução Ao contrário do que se passa nas linguagens de alto nível, a linguagem assembly não dispõe mecanismos próprios que conduzam a programar de modo estruturado. Felizmente é fácil implementar algumas estruturas de controlo existentes em linguagens de alto nível recorrendo a instruções de salto. Estude com cuidado os exemplos apresentados e as considerações que os acompanham bem como um dos livros recomendados [2, secção 2.4] e depois resolva os problemas propostos. 3 Ciclos e estruturas de controlo 3.1 Ciclos for() A maneira mais fácil de controlar a execução de determinado grupo de instruções um número de vezes conhecido é utilizar a instrução DJNZ (decrement and jump if not zero) que admite como operando um registo (djnz Rn,rel8) ou uma variável definida em memória (djnz direct,rel8). Repare-se no seguinte exemplo: 2 ; Inicializaç~ao de variáveis em memória 4 ; for(i=0;i<20;i++) { 5 ; temp[i]=0 6 ; } 7 ; tmed=0; 8 ;==================================================================== SIZE equ 20 ; Tamanho do vector dseg at 40h ; Segmento (absoluto) de dados temp: ds SIZE ; Vector temperaturas tmed: ds 1 ; Temperatura média cseg at 0000h ; Segmento (absoluto) de código mov r0,#temp ; Endereço inicial do vector 0002 E4 18 clr a F10 19 mov r7,#size ; Tamanho do vector 0005 F6 20 next: ; Inicializa (limpa) posiç~ao apontada inc r0 ; Aponta posiç~ao seguinte 0007 DFFC 22 djnz r7,next ; Salta se R7 for diferente de zero 0009 F6 23 ; Inicializa (limpa) tmed end 1. O segmento de dados começa no endereço 40h (linha 12) e a variável temp ocupa 20 (14h) bytes (linhas 13 e 10), logo é lógico que o endereço da variável tmed (linha 14) seja 54h. 2. O registo R0 funciona como apontador para o vector temp e deve ser inicialmente carregado com o endereço da primeira posição do vector (linha 17). 3. O inicio do ciclo de limpeza do vector temp é assinalado com a etiqueta next (linha 20). Fora do ciclo (linha 19) o registo R7, que funciona como contador, é inicializado com o número de posições do vector. 2

3 4. A instrução djnz, de decremento, comparação e salto, é codificada em dois bytes: no primeiro está o código da instrução e no segundo a distância entre o endereço da próxima instrução e o endereço destino, neste caso, quatro bytes para trás. Esta distância, que pode tomar valores de 128 a +127, é expressa num byte em complemento para dois, o que justifica a representação FCh (= 4) que se pode constatar na listagem. 5. No fim do ciclo o apontador aponta uma posição além da última do vector temp, ou seja, aponta justamente para a variável tmed pelo que (linha 23) basta escrever lá o valor zero. 3.2 Ciclos enquanto() Um ciclo deste tipo caracteriza-se por ter o teste de controlo logo no início pelo que o conjunto de instruções que encerra pode nunca ser executado. O exemplo seguinte introduz a instrução de salto condicional jz (jump if accumulator is zero) e o salto incondicional jmp: 2 ; Ciclo enquanto 4 ; while(cont!=0) { 5 ; cont-- 6 ; } 7 ; cont=100; 8 ;==================================================================== dseg at 40h ; Segmento (absoluto) de dados cont: ds 1 ; Contador cseg at 0000h ; Segmento (absoluto) de código E next: mov a,cont ; Teste da jz done ; condiç~ao de fecho do ciclo dec cont F8 18 jmp next ; Volta ao início do ciclo done: mov cont,#100 ; Atribuiç~ao final end 1. O teste de controlo do ciclo é feito no início de cada iteração (linhas 15 e 16) de modo que se inicialmente a variável cont for nula, o ciclo não se realiza nenhuma vez. 2. O salto na linha 18 é essencial para garantir a repetição do teste no início de cada iteração. A propósito deste salto convém esclarecer que jmp não é uma instrução no sentido estrito da palavra, mas sim uma instrução virtual, própria do assemblador da Keil, que este transforma automaticamente numa de três instruções reais: sjmp (short jump), ajmp (absolute jump) ou ljmp (long jump) consoante a distância ao destino especificada no salto em questão. Aqui, a codificação resultante (80h, linha 18) corresponde, como seria de esperar atendendo à distância, à da instrução sjmp. 3. Mais uma vez a codificação das instruções de salto utilizadas neste exemplo é feita em dois bytes: o primeiro corresponde ao código da instrução propriamente dita e o segundo à distância entre o endereço da próxima instrução e o endereço destino. No primeiro salto (linha 16) essa distância é de quatro bytes para a frente e no segundo é de oito bytes para trás (a que corresponde, em complemento para dois, a representação F8h). 3.3 Ciclos repetir() Um ciclo deste tipo caracteriza-se por ter o teste de controlo no fim de cada iteração pelo que o conjunto de instruções que encerra é sempre executado pelo menos uma vez. Repare-se no seguinte exemplo que 3

4 introduz a instrução jnz (jump if accumulator is not zero): 2 ; Ciclo repetir 4 ; do { 5 ; cont-- 6 ; } while(cont!=0); 7 ; cont=100; 8 ;==================================================================== dseg at 40h ; Segmento (absoluto) de dados cont: ds 1 ; Contador cseg at 0000h ; Segmento (absoluto) de código next1: dec cont 0002 E mov a,cont ; Teste da FA 17 jnz next1 ; condiç~ao de fecho do ciclo mov cont,#100 ; Atribuiç~ao final ; ou ent~ao, de forma ainda mais resumida D540FD 23 next2: djnz cont,next2 ; Decrementa, testa e repete 000C mov cont,#100 ; Atribuiç~ao final end 1. O teste de controlo do ciclo é feito no fim de cada iteração (linhas 16 e 17) por isso, ainda que a variável cont seja inicialmente nula, realiza-se sempre pelo menos uma iteração do ciclo. Neste exemplo concreto esse caso particular daria até origem a que se efectuassem 256 iterações já que, após a primeira, a variável cont passaria de zero para 255 e o ciclo só pararia quando cont voltasse a zero novamente. 2. A instrução djnz (linha 23) permite, neste caso particular, uma codificação alternativa muito eficiente. 3.4 Estruturas if then else As instruções de salto permitem uma implementação confortável deste tipo de estruturas nos programas escritos em assembly. O exemplo seguinte introduz as instruções ljmp (long jump) e cjne (compare and jump if not equal). 2 ; Teste de valores de 16 bits e de valores n~ao nulos 4 ; if(val==0) { 5 ; state++; 6 ; cont=maxcont; 7 ; } 8 ; else { 9 ; if(state==12) 10 ; state--; 11 ; } 12 ;==================================================================== 13 3A98 14 MAXCONT equ dseg at 40h val: ds 2 ; Ocupa 2 bytes cont: ds 2 ; Ocupa 2 bytes state: ds 1 ; Ocupa apenas 1 byte cseg at 0000h 0000 E mov a,val ; Pega no MSB e 4

5 orl a,val+1 ; conjuga com o LSB A 24 jz zero ; Salta se LSB=MSB= C 26 mov a,# B5440D 27 cjne a,state,done ; Compara state com 12, salta se diferente 000B dec state ; Faz state-- 000D ljmp done zero: inc state ; Faz state A 32 mov cont,#high(maxcont) ; Guarda MSB de MAXCONT mov cont+1,#low(maxcont) ; Guarda LSB de MAXCONT done: end 1. Repare-se na declaração da variável val (linha 17): uma vez que ocupa dois bytes o teste efectuado (linhas 22, 23 e 24) deve incluir ambos. 2. Nas linhas 32 e 33 foram utilizados dois operadores suportados pelo assemblador da Keil (high e low) que calculam, respectivamente, a metade mais significativa e menos significativa de um valor de 16 bits. 3. A instrução de salto incondicional ljmp (linha 29) não era aqui estritamente necessária pois, atendendo ao endereço destino do salto, bastaria utilizar a instrução sjmp. Ela está aqui por causa da sua tradução em código máquina: dos três bytes gerados o primeiro (02h) é o código da instrução propriamente dita enquanto que os dois seguintes (0018h) representam o endereço destino e não a distância do salto. Poderia ter sido utilizada a instrução virtual genérica jmp que teria neste caso como tradução os códigos da instrução sjmp. 3.5 Estruturas de 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. Repare-se no exemplo seguinte: 1 ;=============================================================== 2 ; Escolha múltipla 4 ; switch (op) { 5 ; case 1: pin=10;break; 6 ; case 2: pin=50;break; 7 ; case 3: pin=250;break; 8 ; default: pin=0; 9 ; } 10 ;=============================================================== dseg at 40h op: ds pin: ds cseg at 0000h 0000 E mov a,op 0002 B cjne a,#1,not1 ; Compara com A 19 mov a,# F 20 sjmp done 0009 B Not1: cjne a,#2,not2 ; Compara com 2 000C mov a,#50 000E sjmp done 0010 B Not2: cjne a,#3,not Compara com FA 25 mov a,# sjmp done 0017 E4 27 Not3: clr a ; Default F done: mov pin,a end 5

6 1. A comparação (linhas 18, 21 e 24) não estraga o registo acumulador pelo que (linha 17) basta carregá-lo uma vez. 2. Novamente se nota nos códigos da instrução de comparação e salto (linhas 18, 21 e 24) a distância entre o endereço da próxima instrução e o endereço destino do salto, quatro bytes nos três casos deste exemplo. 3. A instrução mov final (linha 28) completa a execução. É sempre executada qualquer que seja a escolha feita. 4 Chamada e retorno de subrotinas As instruções de chamada de subrotinas 1 contribuem decisivamente para garantir uma boa 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. O exemplo seguinte apresenta as instruções de chamada lcall e acall, a instrução de retorno ret e a instrução nop (no operation). 2 ; Atraso configurável 4 ; delay(n) { 5 ; for(i=n;i<0;i--); 6 ; } 7 ; 8 ; delay(50); 9 ; delay(100); 10 ;==================================================================== cseg at 0000h F32 13 mov r7,# lcall delay ; delay(50) F64 15 mov r7,# acall delay ; delay(100) FE 17 stop: sjmp stop cseg at 0080h delay: nop ; N~ao faz nada nop ; a n~ao ser gastar algum tempo 0082 DFFC 22 djnz r7,delay ; Repete R7 vezes ret end 1. A codificação 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. Poderia ter sido utilizada a instrução virtual genérica call para substituir as instruções lcall e acall. Atendendo à proximidade da rotina, a instrução virtual seria traduzida, em ambos os casos, como se tratasse de uma instrução acall. 3. A instrução de salto (linha 17) é necessária para encravar o programa, caso contrário depois de executada a instrução da linha 16, a subrotina seria novamente executada mas no fim a stack ficaria corrompida por ter sido executado um ret sem previamente ter sido executado um acall ou lcall. 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

7 5 Problemas Apresentam-se de seguida alguns problemas que requerem a utilização de instruções de salto e chamada de subrotinas. 1. Escreva um programa que calcule t = (a) são todos inferiores a 13, (b) são todos inferiores a i=0 y[i] supondo que os elementos do vector: Declare as variáveis num segmento de dados absoluto com início em 40h. 2. Traduza à mão, para código máquina, as duas soluções do problema anterior. 3. Escreva uma rotina que calcule a soma (efectuada sem considerar eventuais transportes) dos conteúdos de uma zona de memória com 32 bytes de comprimento e início apontado pelo registo R0. O resultado deve ficar no acumulador. Escreva um programa que chame essa rotina para somar os conteúdos da zona de memória com início no endereço 30h. 4. Escreva uma rotina que calcule o valor mínimo de uma zona de memória com início apontado pelo registo R0 e comprimento indicado no registo R7. No fim o mínimo deve ficar em R7. 5. Escreva a rotina testval que testa se o valor contido no acumulador é positivo, nulo ou negativo e incrementa, respectivamente, as variáveis np, nz e nn. 6. Considere o vector vv[ ], com 50 elementos de um byte cada, representados em complemento para dois. Com base na rotina desenvolvida no problema anterior escreva um programa que comece por fazer np = nz = nn = 0 e de seguida conte quantos elementos positivos, nulos e negativos existem no vector. Declare o vector e as variáveis num segmento de dados absoluto com início em 60h. 7. Escreva um programa que implemente na variável cont definida num segmento de dados absoluto com início em 30h um contador BCD (binary coded decimal) de dois dígitos. Considere os seguintes casos: (a) contagem crescente: 0, 1, 2,..., 99, 0, 1,..., (b) contagem decrescente: 99, 98,..., 2, 1, 0, 99, 98,.... Sugestão: consulte o manual de programação [1, página 27] para perceber como funciona a instrução da (decimal adjust) e utilize-a. 8. Suponha já existente a rotina upcase que converte para maiúscula a letra minúscula contida no acumulador devolvendo o resultado da conversão também no acumulador. (a) Escreva um programa que, recorrendo a essa rotina, converta para maiúsculas um texto com início apontado por R0 e cujo fim é indicado pelo código 0. (b) Escreva a rotina upcase. 9. Apresente duas rotinas diferentes (cjne, movc) para converter o valor contido no acumulador de acordo com a tabela 1. O resultado deve vir no acumulador. O valor É convertido em Tabela 1: Conversão de valores 7

8 10. Suponha já existente a rotina countbits que conta o número de bits a um da posição de memória apontada por R0, devolvendo o resultado 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 com início apontado pelo registo R0 e comprimento indicado no registo R7. O resultado deve ficar na variável nbits, declarada num segmento de dados absoluto. (b) Escreva a rotina countbits. Referências [1] Philips semiconductors; 80C51 family programmer s guide and instruction set; Setembro de [2] Yeralan, Senser and Ahluwalia, Ashutosh; Programming and Interfacing the 8051 Microcontroller; Addison Wesley, 1995; ISBN

Assembly Saltos e Subrotinas

Assembly Saltos e Subrotinas Aula 6 Assembly Saltos e Subrotinas 6.1 Objectivos......................... 1 6.2 Introdução........................ 1 6.3 Ciclos e outras estruturas de controlo........ 2 6.3.1 Ciclos..........................

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura

Leia mais

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET

Tópicos: 1 - Modos de endereçamento do Pilha e instruções de Pilha. 3 - Instruções que usam pilha: - instrução CALL - instrução RET Tópicos: 1 - Modos de endereçamento do 8051 2 - Pilha e instruções de Pilha 3 - Instruções que usam pilha: - instrução CALL - instrução RET 4 - Interrupção 1 - Modos de Endereçamento do 8051 Os modos de

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

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

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

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

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

SEBENTA INTRODUÇÃO Á ALGORITMIA

SEBENTA INTRODUÇÃO Á ALGORITMIA SEBENTA INTRODUÇÃO Á ALGORITMIA O desenvolvimento de programas para computador está sempre baseado na tarefa de programar um computador para seja resolvido um problema ou executada uma função e assim dar

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

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

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

Programação I Estruturas de Repetição

Programação I Estruturas de Repetição Programação I Estruturas de Repetição Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões compactas Frequentemente existe a necessidade de escrever expressões da forma:

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

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

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

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e

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: Interrupções Externas e Relés Alunos: Matrícula:

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

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

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

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

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

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

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

Estruturas de controlo do C if-else statement

Estruturas de controlo do C if-else statement Análise do Instruction Set Architecture (3) Alteração do fluxo de execução de instruções Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações

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

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

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

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

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

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma Jogo de Memória (Memorex v. 3.0) José Wilson Lima Nerys Universidade Federal de Goiás jwlnerys@gmail.com Abstract No presente projeto uma sequência de Leds é criada pelo microcontrolador, e deve ser repetida

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

Esta pseudomáquina foi criada em homenagem ao homem de Neandertal, o antecessor do homo sapiens.

Esta pseudomáquina foi criada em homenagem ao homem de Neandertal, o antecessor do homo sapiens. Documentação Neander C O Neander C O computador hipotético Neander Características Modos de endereçamento Conjunto de instruções Obtendo o Neander C Compilando o Neander C Executando o Neander C Programando

Leia mais

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

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 à 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

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

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

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA 1. Escreva as instruções para as configurações pedidas. Valor: 2,0 a) Habilita as interrupções externas zero e um e a interrupção do

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

Prova de Arquitectura de Computadores (21010) Data: 5 de Fevereiro de 2009

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

Leia mais

Introdução da memória de programa

Introdução da memória de programa Introdução da memória de programa clock dados load_ir instrução IR CE 1xx 001 0 emória RO endereco Contém instruções (2 bytes) Q enable Contador de Programa (PC) inc_pc Unidade de Controlo OPR B FLGS R

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

Introdução ao Fortran 90-4

Introdução ao Fortran 90-4 Introdução ao Fortran 90-4 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da

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

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicaçã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

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias 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 Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em

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

CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES

CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES CAPÍTULO 4 CONJUNTO DE INSTRUÇÕES 4.1. INTRODUÇÃO Todos os membros da família MCS-51 executam o mesmo conjunto de instruções. As instruções são otimizadas para aplicações de controle de 8 bits. Elas permitem

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

Engenharia Electrotécnica/ Engenharia Informática Microprocessadores e Aplicações

Engenharia Electrotécnica/ Engenharia Informática Microprocessadores e Aplicações Conversão de Binário para BCD A conversão de um número binário para BCD depende do valor a ser convertido: caso a: 0 a 99 (2 algarismos BCD) caso b: 0 a 255 (1 byte) caso c: 0 a 999 (3 algarismos BCD)

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

NEANDERWIN - Resumo operacional

NEANDERWIN - Resumo operacional NEANDERWIN - Resumo operacional Sumário Listagem geral das instruções... 2 NOP... 2 LDI imed... 2 STA ender... 2 LDA ender... 3 ADD ender... 3 SUB ender... 3 OR ender... 4 AND ender... 4 NOT... 4 JMP ender...

Leia mais

Introdução ao Fortran 90-3

Introdução ao Fortran 90-3 Introdução ao Fortran 90-3 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ano Lectivo de 2008/2009 2 o Semestre 1 o Teste 20 de Abril de 2009 Duração: 1h30+0h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

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

NOTAS DE AULA 06 MICROCONTROLADOR 8051

NOTAS DE AULA 06 MICROCONTROLADOR 8051 NOTAS DE AULA 06 MICROCONTROLADOR 8051 SUMÁRIO DO VOLUME NOTAS DE AULA 06 1 INTRODUÇÃO AOS MICROCONTROLADORES 2 PROGRAMANDO EM LINGUAGEM ASSEMBLY - 8051 3 INSTRUÇÕES: JUMPS, LOOPS E CALL 4 DESCRIÇÃO DOS

Leia mais

K&R: Capitulo 2 IAED, 2012/2013

K&R: Capitulo 2 IAED, 2012/2013 Elementos da Linguagem C K&R: Capitulo 2 Elementos da Linguagem C Identificadores Tipos Constantes Declarações Operadores aritméticos, lógicos e relacionais Conversões de tipos Operadores de incremento

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

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

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

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais