Microprocessador Intel 8086

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

Download "Microprocessador Intel 8086"

Transcrição

1 Pontifícia Universidade Católica do Rio Grande do Sul Microprocessador Intel 8086 Disciplina: Arquitetura de Computadores I Professor: Eduardo Augusto Bezerra Alunos: Fabiano Klein Franklin Mota Amormino Rodrigo Belagamba de Moraes Tiago Scapin Porto Alegre, 28 de maio de 2009.

2 Índice ÍNDICE... 2 ARQUITETURA DO MICROPROCESSADOR INTEL INTRODUÇÃO DESCRIÇÃO GERAL DA ARQUITETURA DO PROCESSADOR REGISTRADORES REGISTRADORES DE SINALIZADORES (FLAGS) ENDEREÇO FÍSICO DE MEMÓRIA E SEGMENTAÇÃO EXEMPLO DE ENDEREÇAMENTO MODOS DE ENDEREÇAMENTO CONJUNTOS DE INSTRUÇÕES TRANSFERÊNCIA ARITMÉTICAS LÓGICAS DIVERSOS SALTOS (GERAIS) SALTOS SEM SINAL SALTOS COM SINAL (INTEIRO) DESCRIÇÃO GERAL DO NETWIDE ASSEMBLER (NASM) ESCRITA DE PROGRAMAS COMPILANDO COM O NASM ESTRUTURA DE UM PROGRAMA NASM CARACTERÍSTICAS PRINCIPAIS DO NASM

3 Arquitetura do microprocessador Intel 8086 Introdução Neste trabalho iremos fazer uma breve descrição do processador Intel 8086 que surgiu em 1978, vindo de uma linha de desenvolvimento da qual se destaca os processadores 8080 e 8085, datados de 1974, e com os quais o 8086 procurou manter uma certa compatibilidade. Iremos abordar importantes tópicos referentes a arquitetura do 8086, entre eles: registradores, endereçamento físico de memória, modos de endereçamento e o conjunto instruções usadas pelo

4 1 Descrição Geral da Arquitetura do processador 8086 O microprocessador 8086 da Intel é um microprocessador de 16 bits, de forma que sua unidade lógica e aritmética, os seus registradores internos, e a maior parte das suas instruções foram projetados para trabalhar com palavras de 16 bits. Além disso, o 8086 tem um barramento de dados de largura 16 bits, ou seja, pode ler e escrever na memória ou nos portos de E/S utilizando 16 bits de uma só vez. O barramento de endereços é de 20 bits, de forma que o 8086 pode endereçar 1MB (2² ) posições de memória. Cada uma destas posições de memória é ocupada por um Byte. A arquitetura do 8086 pode ser organizada em duas unidades distintas: a BIU (Bus Interface Unit) e a EU (Execution Unit). A BIU envia endereços para o barramento de endereços, lê instruções da memória, lê e escreve dados nas portas e na memória. Assim, a BIU é a unidade responsável por todas as transferências de dados e endereços através dos barramentos. Por sua vez, a EU diz á BIU onde é que há de ir buscar instruções ou dados, decodifica e executa as instruções. O processador 8086 de 16 bits foi lançado em junho de 1978 e operava a 4,77MHz. Para o seu primeiro microcomputador, a IBM resolveu usar o 8088 por dois motivos: manter os custos do PC reduzidos e manter a compatibilidade com chips periféricos. é que o 8088 aceitava um barramento interno de 16 bits (como o 8086), mas seu barramento externo era de 8 bits. O processador 8088 foi implementado com transistores e compactado num pacote de 40 pinos. O estudo da arquitetura do 8086 permite entender a arquitetura dos processadores mais modernos. O modelo de programação básico é muito similar aos processadores mais modernos e todos os recursos em nível de aplicativos, como registradores, tipos de dados e modo de endereçamento, são extensões do conjunto de recursos do 8086 original. No diagrama de blocos da figura abaixo estão ilustrados os componentes principais do microprocessador 8086: registradores, unidade lógica e aritmética e os barramentos. Destaca-se também a interface com a memória, com sua unidade somadora e o sistema de controle de execução. 4

5 5

6 2 Registradores O 8086 possui 1 registrador de flags, 4 registradores de endereço, 4 registradores de segmento 4 registradores de dados, todos de 16 bits.os registradores de dados são compostos de dois registradores de 8 bits, os quais correspondem a parte baixa L e a parte alta H do registrador 16 bits que é representado pela letra X. Classificação dos registradores: Registradores de Dados Ax Registrador Acumulador Bx Registrador Base Cx Registrador Contador Dx Registrador de Dados Al Acumulador de 8 bits Ah Parte alta do registrador Ax Bl Parte baixa do registrador Bx Bh Parte alta do registrador Bx Cl Contador de 8 bits Ch Parte alta do registrador Cx DL Parte baixa do registrador Dx Dh Parte alta do registrador Dx Registradores de Segmentos DS Registrador de Segmento de dados ES Registrador de Segmento extra SS Registrador de Segmento de pilha CS Registrador de Segmento de código Registradores de índice SI Registrador índice fonte DI Registrador de índice destino Registradores Apontadores BP Registrador apontador da base IP Registrador Apontador de Instrução SP Registrador Apontador de Pilha Registradores Sinalizadores F Registrador de flags 6

7 2.1 Registradores de sinalizadores (Flags) Indica o estado processador em cada instrução, onde cada bit representa uma informação individualmente. No total existem 9 flags, 6 de sinal de estado, 3 de controle, e os outros sete restantes não tem função alguma. Flags de estados Carry Flag CF Indicador de "vai-um" Parity Flag PF Indicador de número PAR de 1's no byte inferior Auxiliary Carry AF Indicador de "vai-um" para operações em BCD Zero Flag ZF Indicador de "zero" na última operação Sign Flag SF Indicador de resultado negativo Overflow Flag OF Indicador de erro de transbordamento Flag de controle Trap flag TF Quando TF=1 após uma interrupção TF=0 Interruption Flag IF Habilita o uso de interrupções Direction Flag DF Decremento do endereço de memória 3 Endereço físico de memória e Segmentação A memória do 8086 possui 20 bits de endereçamento na memória, ou seja 1MByte de posições endereçáveis, porém o 8086 opera apenas com registradores de 16 bits, para que seja possível endereçar 20 bits com 16, surge a idéia da segmentação. Segmento é um bloco de memórias com 64Kbytes de posições consecutivas. O endereço físico de memória de 20 bits é o resultado da soma de um registrador de segmento (deslocado de 4 bits para a esquerda) com um deslocamento de 16 bits. O registrador de segmento e a maneira como o deslocamento é calculado dependem do tipo de referência à memória utilizado. Uma posição de memória é dada pelo endereço do segmento mais um deslocamento (offset), o cálculo feito é mostrado abaixo: 3.1 Exemplo de endereçamento Dado o endereço lógico: 8350:0420h reconhece-se: o endereço físico vale: Outro exemplo: segmento nº. 8350h deslocamento 0420h 83500h -> desloca-se uma casa hexa (4 casas binárias) h -> soma-se o deslocamento 83920h -> endereço físico resultante (20 bits) 7

8 CS (base) <- endereço lógico Bits IP (offset) <- endereço físico para a memória Modos de endereçamento Os modos de endereçamento, juntamente com os seus respectivos significados : Modo Imediato: Registrador: Direto: Registrador indireto: Indexado (ou base): Base e indexado com deslocamento: Significado Operando na instrução Operando em registrador Operando na memória, endereçado por deslocamento contido na instrução Operando na memória, endereçado por deslocamento contido em registrador Operando na memória, endereçado pela soma do conteúdo do registrador de índice (ou base) com o deslocamento contido na instrução Operando na memória, endereçado pela soma do conteúdo do registrador base e com o deslocamento contido na instrução O endereço final de um operando é formado pela soma do registrador de segmento com o endereço efetivo fornecido pelo modo de endereçamento. Exemplo de modo de e Endereçamento usando a instrução ADD: Imediato: ADD CH,5F Registrador: ADD BX,DX Direto: ADD WVAR,BX (WVAR é uma referência a memória) Registrador indireto: ADD CX,[BX] Indexado (ou base): ADD [SI+6],AL Base e indexado com deslocamento: ADD [BX+DI+5],DX O endereço do operando em negrito corresponde ao modo de endereçamento referenciado. Os modos de endereçamento não podem ser usados livremente combinados a qualquer instrução do processador. A maior parte das instruções só aceita alguns dos modos apresentados acima. Deve ser verificado cuidadosamente quais modos são válidos para uma dada instrução. As instruções podem ter zero, um ou dois operandos, e a maioria opera a tanto byte como a word. Dados imediatos podem ser usados como operandos fontes e são permitidos somente em algumas instruções. 8

9 5 Conjuntos de Instruções 5.1 Transferência Nome Comentário Sintaxe MOV Mover (copiar) MOV Dest,Source XCHG Troca XCHG Op1,Op2 STC Seta Carry STC CLC Limpa Carry CLC CMC Complementa Carry CMC STD Seta Direção STD CLD Limpa Direção CLD STI Seta Interrupção STI CLI Clear Interrupção CLI PUSH Empilha na pilha PUSH Source PUSHF Empilha flags PUSHF PUSHA Empilha os registradores gerais PUSHA POP Desempilha da pilha POP Dest POPF Desempilha flags POPF POPA Desempilha os registradores gerais POPA CBW Converte byte para Word CBW CWD Converte word para Double CWD CWDE Conv word para extended double CWDE IN Input IN Dest, Port OUT Output OUT Port, Source 5.2 Aritméticas Nome Comentário Sintaxe ADD Adiciona ADD Dest,Source ADC Adiciona com Carry ADC Dest,Source SUB Subtrai SUB Dest,Source SBB Subtrai com borrow SBB Dest,Source DIV Divisão (sem sinal) DIV Op IDIV Divisão inteira com sinal IDIV Op MUL Multiplicação (sem sinal) MUL Op IMUL Multiplicação inteira com sinal IMUL Op INC Incrementa INC Op DEC Decrementa DEC Op CMP Compara CMP Op1,Op2 SAL Deslocamento aritimético para esquerda SAL Op,Quantity SAR Deslocamento aritimético para direita SAR Op,Quantity RCL Girar para esquerda com Carry RCL Op,Quantity RCR Girar para direita com Carry RCR Op,Quantity ROL Girar para esquerda ROL Op,Quantity ROR Girar para direita ROR Op,Quantity 9

10 5.3 Lógicas Nome Comentário Sintaxe NEG Negação (complemento de 2) NEG Op NOT Inverte cada bit NOT Op AND and lógico AND Dest,Source OR or lógico OR Dest,Source XOR or exclusivo lógico XOR Dest,Source SHL Deslocamento lógico para esquerda SHL Op,Quantity SHR Deslocamento lógico para direita SHR Op,Quantity 5.4 Diversos Nome Comentário Sintaxe NOP Sem operação NOP LEA Carrega o endereço efetivo LEA Dest,Source INT Interrupção INT Nr 5.5 Saltos (gerais) Nome Comentário Sintaxe CALL Chama sub-rotina CALL Proc JMP Salta JMP Dest JE Salta se Igual JE Dest JZ Salta se Zero JZ Dest JCXZ Salta se CX for Zero JCXZ Dest JP Salta se há paridade par JP Dest JPE Salta se há paridade par JPE Dest RET Return para sub-rotina RET JNE Salta se não é Igual JNE Dest JNZ Salta se não é Zero JNZ Dest JECXZ Salta se ECX for Zero JECXZ Dest JNP Salta se não há paridade JNP Dest JPO Salta se há paridade impar JPO Dest 5.6 Saltos sem sinal JÁ Salta se maior JA Dest JAE Salta se maior ou igual JAE Dest JB Salta se menor JB Dest JBE Salta se menor ou igual JBE Dest JNA Salta se não é maior JNA Dest JNAE Salta se não é maior ou igual JNAE Dest JNB Salta se não é menor JNB Dest JNBE Salta se não é menor ou igual JNBE Dest JC Salta se há Carry JC Dest JNC Salta se não há Carry JNC Dest 10

11 5.7 Saltos com sinal (Inteiro) JG Salta se maior JG Dest JGE Salta se maior ou igual JGE Dest JL Salta se menor JL Dest JLE Salta se menor ou igual JLE Dest JNG Salta se não é maior JNG Dest JNGE Salta se não é maior ou igual JNGE Dest JNL Salta se não é menor JNL Dest JNLE Salta se não é menor ou igual JNLE Dest JO Salta se há Overflow JO Dest JNO Salta se não há Overflow JNO Dest JS Salta se há sinal (= negativo) JS Dest JNS Salta se não há Sign (= positivo) JNS Dest 6 Descrição geral do Netwide Assembler (NASM) A partir daqui iremos abordar os principais aspectos e funcionalidades do NASM, um montador (assembler) 80x86 feito para portabilidade e modularidade. Suporta uma grande variedade de arquivos objeto incluindo Linux e NetBSD/FreeBSD a.out, ELF, COFF, Microsoft 16-bit.obj e Win32. Também gera arquivos binários simples. Sua sintaxe foi desenvolvida para ser simples e de fácil compreensão, similar ao da Intel, porém menos complexa. Suporta Pentium, P6, MMX, 3DNow!, SSE e SSE2 opcodes, e tem um forte apoio para macros. O NASM possui também um disassembler. 6.1 Escrita de Programas O processo de escrita de programas típico é constituído por um conjunto de passos (edição, assemblagem e execução), que se esquematizam a seguir. Este conjunto de passos é sempre executado para qualquer programa que se pretenda criar. 1º Passo: criar o programa fonte, usando um editor de texto.o ficheiro deverá ter extensão asm. 2º Passo: converter o programa fonte para código-máquina usando o NASM. Verificar se há erros indicados pelo NASM, se houver, corrigi-los. (ver Compilando com o NASM) 3º Passo: executar o programa; verificar se o resultado é o esperado, caso contrário o programa ainda contém erros que devem ser corrigidos. 6.2 Compilando com o NASM nasm -f <formato> <nome_do_arquivo> [-o <saída>] Por exemplo, suponhamos que nós temos um arquivo chamado Exemplo.asm e queremos que ele seja compilado com o NASM utilizando o formato ELF (padrão do 11

12 Linux), o comando seria: nasm -f elf Exemplo.asm o objeto de saída seria Exemplo.o, é neste caso que vale o -o, podemos definir o nome do arquivo de saída, por exemplo: nasm -f elf Exemplo.asm -o Exemplo.com Caso queiramos que o NASM retorne em um arquivo os códigos hexadecimais gerados, seria utilizando então o '-l', por exemplo: nasm -f coff Exemplo.asm -l Exemplo.lst Temos também a possibilidade de gerar dentro de nossos códigos "pistas" para que possamos debbugar um código após estar compilado, assim utilizamos o '-g' para tal propósito, veja o exemplo: nasm -f elf Exemplo.asm -o Exemplo.com -g Pronto, o código executável gerado possui nossas pistas para DEBUG. Uma utilidade muito legal é podermos, quando criamos nossos códigos cheios de erros, de fazer com que o NASM envie a saída de erros do console para um arquivo específico. Veja o exemplo abaixo em que os erros do programa Exemp01.asm são enviados para o arquivo QuantosErros.err: nasm -E QuantosErros.err -f obj Exemp01.asm Se ao invés de '-E' usássemos '-s' teríamos a saída na STDOUT, a saída padrão. Como em C/C++ e o no GCC, temos a possibilidade de que o NASM nos mostre Warnings, ou seja, códigos ou variáveis que talvez tenham sido utilizadas de forma equivocada (no caso do gcc o parametro é -Wall), para isso utilizamos o '-w' para que esses "Warning's" sejam gerados. 6.3 Estrutura de um programa NASM Os programas executáveis serão do tipo.com, ficheiros em binário puro, os quais devem ser carregados e executados a partir do endereço 100h. Para o efeito, os programas devem começar com a directiva org 100, seguidos de três secções (text, data e bss) segundo o esquema abaixo: ficheiro fonte: teste.asm 12

13 Estas secções podem ser colocadas por outra ordem (ao criar o programa executável, o NASM acaba sempre por colocar a section.text no início). As secções são opcionais: um programa pode conter apenas algumas delas se um programa não precisar de dados inicializados a section.data será omitida; se não precisar de dados não inicializados, então a section.bss não existirá. No entanto, não faz muito sentido que não exista a section.text, pois nesse caso o programa não fará nada. 6.4 Características principais do NASM Comentários: começam por ; e tudo o que lhe seguir é ignorado pelo assembler. Podem ser aplicados a uma linha inteira ou apenas a parte. É importante comentar as partes do programa cujo significado seja menos evidente, como sejam os algoritmos utilizados, significado das variáveis, etc. Maiúsculas/minúsculas: o NASM é case-sensitive, ou seja, distingue entre elementos escritos em maiúsculas ou minúsculas. Esta regra não é universal, aplicandose a nomes (constantes, variáveis), mas não a instruções, diretivas ou comentários. Por exemplo, a instrução mov pode ser escrita Mov ou MOV, pois é uma palavra reservada da linguagem, mas uma variável que tenha sido declarada com o nome foo não pode ser referenciada por FOO, caso contrário o NASM indica que a variável não existe. Linha de código: uma linha típica de código em NASM tem a forma: <label>: <instrução>, <operandos> ;comentário em que todos os elementos são opcionais i.e., uma linha de código pode não conter alguns deste elementos: <label>: indica um local para onde uma instrução de salto pode saltar Obs.: a utilização dos dois pontos é opcional, mas é mais seguro utilizá-los. Se não forem usados o NASM pode considerar que uma instrução que foi escrita por engano é uma label, não indicando erro, mas fazendo com que o programa não trabalhe corretamente (ex. se numa linha com uma única instrução, escrever por engano lodab em vez da instrução carreta lodsb, o NASM considera lodab uma label e não dá qualquer erro) <instrução> uma das instruções (mnemônicas) do NASM (ex: mov, add, jmp) 13

14 <operandos> constantes, variáveis, registros, etc, a que a instrução faz referência Exemplo: mov al, 5 ;coloca o valor inteiro 5 no registro al cont: dec al ;define a label cont e decrementa de uma unidade o valor do registro al jnz cont ;salta (jump) para a linha anterior (aonde foi definida a label cont ) se não ;resultou zero da última operação aritmética realizada (que foi dec al ) 14

x86 arquitetura e instruções básicas

x86 arquitetura e instruções básicas x86 arquitetura e instruções básicas 1 Família x86 Data CPU Palavra Endereço (bits) 1978 8086, 8088 1982 80186, 80188 1985 80386 1989 80486 1993 Pentium, Pentium MMX 1995 Pentium Pro 1997 Pentium II/III,

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Microprocessadores. Família x86 - Programação do i8086

Microprocessadores. Família x86 - Programação do i8086 Família x86 - António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Estudo Genérico de Microprocessador Microprocessadores i8086 1. Modelo de Programação; 2. Espaço de

Leia mais

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

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

Leia mais

Arquitectura de Computadores 3º Teste. Instruções do x86

Arquitectura de Computadores 3º Teste. Instruções do x86 Arquitectura de Computadores 3º Teste Ano Lectivo: 2009/2010 Data: 19 de Dezembro de 2009 Duração: 2h00 INFORMAÇÕES GERAIS 1. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta).

Leia mais

Operadores lógicos (bit a bit)

Operadores lógicos (bit a bit) Operadores lógicos (bit a bit) Instrução AND Instruções: AND OR XOR NOT Os operandos destas instruções podem ser de 8 ou 16 bits 10010011

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

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Organização de Computadoresres Dr. Jorge Luiz e Silva Cap 3 Estrutura da Unidade de Processamento 8086/8088 14 Registradores.PC Contador de programa.sp Ponteiro de Pilha.SP Índice

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Exemplos de Microprogramação (12.3); Família Intel x86 José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

EEL Microprocessadores

EEL Microprocessadores EEL7030 - Microprocessadores 8086 Primeiro (1980) da família do Pentium (80x86). Componente com arquitetura similar (8088) utilizado no primeiro IBM PC. Cada descendente executa código dos antepassados

Leia mais

Arquitetura do 8086/8088

Arquitetura do 8086/8088 Arquitetura do 8086/8088 Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução

Leia mais

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

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

Leia mais

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

Sistemas de Computação

Sistemas de Computação Sistemas de Computação Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/30 Assembly

Leia mais

Migrando para o NASM

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

Leia mais

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly Sistemas de Computação para Controle e Automação CIC132 Décima quarta aula: Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo

Leia mais

Arquitetura de Um Processador I

Arquitetura de Um Processador I Arquitetura de Um Processador I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-08 José Costa (DEI/IST) Arquitetura de

Leia mais

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09

Leia mais

Organização Funcional

Organização Funcional Organização Funcional Modelo de Arquitectura de Von Neuman 26 Organização Funcional Modelo de Arquitectura de Von Neuman CPU Unidade Central de processamento (central process unit) Onde tudo se passa ;

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

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02 MÓDULO M 02 Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação OBJETIVOS Compreender o significado dos bits de estado no registrador de flags do 8086/88; Conhecer as representações

Leia mais

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador

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

Arquitetura e Organização de Computadores

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

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

Leia mais

INSTRUÇÕES DE TRANSFERÊNCIA

INSTRUÇÕES DE TRANSFERÊNCIA INSTRUÇÕES DE TRANSFERÊNCIA Transferência de dados MOV destino, fonte move fonte para destino (byte, word ou double word) PUSH fonte coloca fonte na pilha (word ou double word) POP destino retira topo

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

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

José Augusto Fabri. Assembly Básico

José Augusto Fabri. Assembly Básico José Augusto Fabri Assembly Básico Aritmética em Modo Hexadecimal Operações da adição e subtração em hexadecimal (comando H) Número negativos: Que número representa o FFFF? Aritmética em Modo Hexadecimal

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

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

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

Leia mais

Solução Lista de Exercícios Processadores

Solução Lista de Exercícios Processadores Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

Organização de Computadores 1

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

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 15: Título: ; Arquitecturas de processadores em pipeline Sumário: (registos, bits de estado, memória,

Leia mais

Assembly. Prof. Jorge Cavalcanti. Prof. Sérgio Faustino.

Assembly. Prof. Jorge Cavalcanti. Prof. Sérgio Faustino. F A C A P E FACULDADE DE CIÊNCIAS APLICADAS E SOCIAIS DE PETROLINA CIÊNCIA DA COMPUTAÇÃO Assembly MANUAL DE REFERÊNCIA Prof. Jorge Cavalcanti jorge.cavalcanti@uol.com.br Prof. Sérgio Faustino sergiofaustino@hotmail.com

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

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho Linguagem de Montagem e Assembly André Luiz da Costa Carvalho Linguagem de Montagem Todo programa para ser executado precisar ser convertido de linguagem fonte (alto nível) para um programa equivalente

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

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

Prova de Arquitectura de Computadores (21010) Data: 23 de Junho de 2009

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

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

Leia mais

Introdução. Programando em Assembly. Primeiro Exemplo (2) Primeiro Exemplo (1) Linguagem Assembly do 8086/8088

Introdução. Programando em Assembly. Primeiro Exemplo (2) Primeiro Exemplo (1) Linguagem Assembly do 8086/8088 Introdução Programando em Assembly (Aula 16) Linguagem Assembly do 8086/8088 Para construirmos os programas em Assembly, devemos estruturar o fonte da seguinte forma (usando TASM como montador) Define

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

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3 Aula Teórica 3 Sumário: Descrição das arquitecturas 8086, 80286, 80386, 80486 e família Pentium. Leitura Recomendada: Capítulos 2, 3, 4, 5, 8, 10, 12, 13 e 14 - Hans-Peter Messmer, The Indispensable PC

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS PROF. PIERRE VILAR DANTAS AULA 10 01/11/2017 TURMA: 0040- A HORÁRIO: 4N PIERREDANTASBLOG.WORDPRESS.COM 1/43 Objetivos da Aula Conhecer conceitos de processadores

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

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

Aula 10 Processadores de Propósito Geral

Aula 10 Processadores de Propósito Geral Aula 10 Processadores de Propósito Geral Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 O que é um microprocessador? Máquina

Leia mais

Prova de Arquitectura de Computadores (21010) Data: 18 de Junho de 2010

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

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

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

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

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly: FATEC-SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem

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

2º Estudo Dirigido CAP 3

2º Estudo Dirigido CAP 3 2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e

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

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

Arquitectura de Computadores 3º TESTE

Arquitectura de Computadores 3º TESTE Arquitectura de Computadores 3º TESTE Ano Lectivo: 2008/2009 Data: 6 de Janeiro de 2008 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta (azul ou preta).

Leia mais

A linguagem ASSEMBLY

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

Leia mais

8. Instruções de multiplicação e divisão

8. Instruções de multiplicação e divisão Cap8.1 8. Instruções de multiplicação e divisão 8.1 Instruções de multiplicação MUL fonte IMUL fonte MUL (multiply) -> usada com números em representação não-sinalizada IMUL (integer multiply) -> usada

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Capítulo 1 1. UNIDADE DE INTERFACE DE BARRAMENTO

Capítulo 1 1. UNIDADE DE INTERFACE DE BARRAMENTO Capítulo 1 8086 O 8086 possui dois microprocessadores no mesmo chip, que se denominam respectivamente Unidade de Execução e Unidade de Interface de Barramento. Cada um possui os seus próprios registos

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

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 16: Título: ; Arquitecturas de processadores em pipeline Sumário: (registos, bits de estado, memória,

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

Introdução a Engenharia Reversa

Introdução a Engenharia Reversa Introdução a Engenharia Reversa Por Maycon Maia Vitali a.k.a. 0ut0fBound maycon@consysonline.com.br http://outofbound.host.sk Conceito Resumo História da Engenharia Reversa - WWII Engenharia Reversa de

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

Intel x AT&T - recapitulação

Intel x AT&T - recapitulação ASSEMBLY aula 2 Intel x AT&T - recapitulação mov mov int mov mov mov mov add lea sub Intel Code eax,1 ebx,0ffh 80h ebx, eax eax,[ecx] eax,[ebx&plus;3] eax,[ebx+20h] eax,[ebx+ecx*2h] eax,[ebx+ecx] eax,[ebx+ecx*4h-20h]

Leia mais

Endereçamento e Formato de Instruções

Endereçamento e Formato de Instruções Endereçamento e Formato de Instruções S W Song MAC 412 - Organização de Computadores Endereçamento e Formato de Instruções Veremos: Espaço de endereçamento Formato de instruções Códigos de operação (opcodes)

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

Primeiro Trabalho de POO Emulador para o Processador Winter

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

Leia mais

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

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o

Leia mais

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda

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

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são:

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: Linguagem Assembly Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: INSTRUÇÕES DE TRANSFERÊNCIA DE DADOS - Movem dados entre Registradores, Registradores e Memória e Valores Fixos para

Leia mais

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

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

Leia mais

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m Instruções funcionamento em 6 bits 0 a bytes Mov BYTE PTR [BX], 06h 00 0W Mod 000 r/m 0000 00 0 0 0 8A 07 06 3 bytes 00 8B 07 06 00 4 bytes 00 0W Mod 000 r/m 000 00 0000 0000 Mov WORD PTR [BX], 06h Instruções

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 5 de Fevereiro de 27 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 3 minutos de tolerância. O estudante

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

Instruções Assembly x Código de máquina Microprocessador Didático

Instruções Assembly x Código de máquina Microprocessador Didático Instruções Assembly x Código de máquina Microprocessador Didático Professor Afonso Ferreira Miguel (afmiguel@rla01.pucpr.br) Disciplina de Projetos Lógicos e Microprocessadores Curitiba, 1 de junho de

Leia mais

7. Instruções lógicas, de deslocamento e de rotação

7. Instruções lógicas, de deslocamento e de rotação 7. Instruções lógicas, de deslocamento e de rotação São instruções que permitem mudar o padrão de bits num byte (8 bits) ou numa palavra (16 bits). Linguagens de alto nível (exceto C) não permitem manipular

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

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

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

Linguagem de Montagem Assembly

Linguagem de Montagem Assembly Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 26 de julho de 2013 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 30 minutos de tolerância. O estudante

Leia mais

Revisão: Modo Real, pt 2 Interrupções

Revisão: Modo Real, pt 2 Interrupções Revisão: Modo Real, pt 2 Interrupções Interrupção Evento (interno ou externo) que faz o processador parar o programa em execução para tratar a interrupção Ex: ler o teclado, comunicação com os dispositivos

Leia mais

SimuS. Gabriel P. Silva. José Antonio Borges. Um Simulador Didático para o Ensino de Arquitetura de Computadores DCC-IM/UFRJ NCE/UFRJ

SimuS. Gabriel P. Silva. José Antonio Borges. Um Simulador Didático para o Ensino de Arquitetura de Computadores DCC-IM/UFRJ NCE/UFRJ SimuS Um Simulador Didático para o Ensino de Arquitetura de Computadores José Antonio Borges NCE/UFRJ Gabriel P. Silva DCC-IM/UFRJ SimuS Simulador de código aberto, grátis expansível Arquitetura simples

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 MICROPROCESSADORES E MICROCONTROLADORES PROVA 1 1. A expressão a seguir pode ser usada para avaliar o desempenho de um microprocessador. Comente cada um dos termos dessa expressão. Valor: 2,5 Tempo de

Leia mais

Assembly x86. Hugo Bessa - hrba Paulo Serra Filho ptvsf

Assembly x86. Hugo Bessa - hrba Paulo Serra Filho ptvsf Assembly x86 Hugo Bessa - hrba Paulo Serra Filho ptvsf Roteiro Assembly Assemblers Sections Registradores Registradores de Segmentos Principais Operações do NASM Funcões e Macros Interrupções Compilando

Leia mais

Fluxo de Execução em Assembly

Fluxo de Execução em Assembly Fluxo de Execução em Assembly A forma natural de execução de um programa é sequencial: CPU busca instruções na memória em endereços sequenciais Instruções de desvio de assembly servem para quebrar a execução

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

MATA49 Programação de Software Básico

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

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

OTermo Assembly significa montagem, ou seja, linguagem

OTermo Assembly significa montagem, ou seja, linguagem Linguagem Assembly Roteiro N o 01 Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia - DEE Curso de Bacharelado em Engenharia Elétrica - Disciplina de

Leia mais

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a

Leia mais

****************************************************************************

**************************************************************************** **************************************************************************** T U T O R I A L D E L I N G U A G E M A S S E M B L Y --------------- --- ----------------- --------------- Conteúdo: 1.Introdução

Leia mais