Introdução ao Assembly
|
|
|
- Laís Gameiro Zagalo
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução ao Assembly Movimentação de Dados Operações Aritméticas e Lógicas Noemi Rodriguez Ana Lúcia de Moura
2 Representação de Programas O compilador gera o código de um programa conforme o conjunto de instruções da máquina alvo as regras estabelecidas pela linguagem de programação (C) as convenções seguidas pelo sistema operacional
3 Visão do Programador Assembly CPU registradores A L U endereços dados Memória código dados instruções FLAGS RIP pilha (stack) RIP: endereço da próxima instrução Registradores: valores inteiros, endereços FLAGS: status da última operação overflow? zero? resultado < 0?
4 Linguagem de Montagem Instruções executam operações simples operações aritméticas/lógicas transferência de dados controle do fluxo de execução (desvios, chamadas de função)
5 Linguagem de Montagem Instruções executam operações simples operações aritméticas/lógicas transferência de dados controle do fluxo de execução (desvios, chamadas de função) Tipos de dados básicos valores inteiros (1,2,4,8 bytes) endereços de memória valores em ponto flutuante
6 Programa em assembly dados globais código labels.data nums:.int 10, -21, -30, 45.text.globl main main: movl $0, %ebx /* i */ movq $nums, %r12 /* p */ L1: cmpl $4, %ebx /* if (i == 4) */ je L2 /* goto L2 */ movl (%r12), %eax /* eax = *p */ addl $1, %ebx /* i++ */ addq $4, %r12 /* p++ */ jmp L1 L2: ret int nums[] = {10, -21, -30, 45}; int main() { int i, *p; for (i = 0, p = nums; i!= 4; i++, p++) printf("%d\n", *p); return 0; }
7 Registradores Armazenam valores inteiros e endereços (ponteiros) podem ser acessados como valores de 64, 32, 16 e 8 bits %rbp e %rsp são usados como ponteiros para a pilha
8 Movimentação de Dados mov fonte, destino Constante Registrador Reg Mem Reg Mem Memória Memória Reg Mem
9 Movimentação de Dados mov[b w l q] fonte, destino o sufixo especifica o tamanho dos operandos movl movq movl movq movl movl movb $0x4050,%eax $nums,%r12 %ebx,%ecx %r12,%r13 %edx,(%rbx) (%r12),%eax (%r12),%al Constante Registrador Memória Memória Reg Mem Reg Mem Reg Mem
10 Constantes e Registradores Constantes (imediatos) são escritas com um $ seguido por valor inteiro em notação C Registradores são especificados pelo nome
11 Constantes e Registradores Constantes (imediatos) são escritas com um $ seguido por valor inteiro em notação C Registradores são especificados pelo nome movl $1024, %eax movabsq $ 1, %rax /* para constantes de 64 bits */ movl $0xFF, %ebx movb $0, %al movl %ebx, %ecx movq %r12, %r13
12 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses
13 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses %rbx 0x7fff526a897c
14 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses %rbx 0x7fff526a897c movl $1, (%rbx)
15 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses %rbx 0x7fff526a897c memória movl $1, (%rbx) 0x7fff526a897c 1
16 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses %rbx 0x7fff526a897c memória movl $1, (%rbx) 0x7fff526a897c 1 movl (%rbx), %eax
17 Valores em Memória: modo indireto O endereço de memória está em um registrador o nome do registrador é escrito entre parênteses %rbx 0x7fff526a897c memória movl $1, (%rbx) 0x7fff526a897c 1 movl (%rbx), %eax %eax 1
18 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento
19 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento %rbx 0x7fff526a8970
20 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento %rbx 0x7fff526a8970 movl $1, 4(%rbx)
21 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento %rbx 0x7fff526a8970 memória movl $1, 4(%rbx) 0x7fff526a8974 1
22 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento %rbx 0x7fff526a8970 memória movl $1, 4(%rbx) 0x7fff526a movl 4(%rbx), %eax
23 Valores em Memória: base-deslocamento Um registrador tem um endereço de memória ao endereço é somado um deslocamento %rbx 0x7fff526a8970 memória movl $1, 4(%rbx) 0x7fff526a movl 4(%rbx), %eax %eax 1
24 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!
25 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10
26 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10 movl x, %eax
27 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10 movl x, %eax %eax 10
28 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10 movl x, %eax %eax 10 $x é uma constante (é o endereço associado a x)
29 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10 movl x, %eax %eax 10 $x é uma constante (endereço associado a x) movq $x, %rbx
30 Valores em Memória: modo absoluto O endereço de memória é especificado por uma constante ou rótulo (label) não existe o conceito de variável!.data x:.int 10 memória 0x7fff526a897c 10 movl x, %eax %eax 10 $x é uma constante (endereço associado a x) movq $x, %rbx %rbx 0x7fff526a897c
31 Valores em memória: movimentação Movimento de dados sempre CPU memória Nunca dois operandos em memória!!!
32 Valores em memória: movimentação Movimento de dados sempre CPU memória Nunca dois operandos em memória!!! movl (%rcx), (%rax) movl 8(%rbx), (%rcx) movl x, (%rax) movl 4(%rcx), x
33 Movimentação com Extensão Extensão com sinal (movs) ou com zeros (movz) movs[bw][bl][bq][wl][wq][lq] movz[bw][bl][bq][wl][wq] não existe movzlq!
34 Movimentação com Extensão Extensão com sinal (movs) ou com zeros (movz) movs[bw][bl][bq][wl][wq][lq] movz[bw][bl][bq][wl][wq] não existe movzlq! movsbl (%r12), %eax movzbl %al, %ebx movslq %ebx,%rcx
35 Movimentação com Extensão Extensão com sinal (movs) ou com zeros (movz) movs[bw][bl][bq][wl][wq][lq] movz[bw][bl][bq][wl][wq] não existe movzlq! movsbl (%r12), %eax movzbl %al, %ebx movslq %ebx,%rcx Instruções que escrevem um valor em registrador de 32 bits zeram a parte alta do registrador de 64 bits correspondente...
36 Operações Aritméticas: um operando inc <dest> dec <dest> registrador ou memória neg <dest>
37 Operações Aritméticas: um operando inc <dest> dec <dest> registrador ou memória neg <dest> incl %eax /* %eax = %eax + 1 */ incl (%rdx) /* (%rdx) = (%rdx) + 1 */ decl %eax /* %eax = %eax 1 */ negl %ebx /* %ebx = -%ebx */
38 Operações Aritméticas: dois operandos add <s>,<d> sub <s>,<d> imul <s>,<d> d = d [ + - * ] s nunca memória com memória!
39 Operações Aritméticas: dois operandos add <s>,<d> sub <s>,<d> imul <s>,<d> d = d [ + - * ] s nunca memória com memória! addl %ebx, %eax /* %eax = %eax + %ebx */ addq $4, %rbx /* %rbx = %rbx + 4 */ addl 4(%r12), %eax /* %eax = %eax + 4(%r12) */ subl %ebx, %eax /* %eax = %eax - %ebx */ imull %ebx, %eax /* %eax = %eax * %ebx */
40 Operações Lógicas (bit a bit) and <s>,<d> or <s>,<d> xor <s>,<d> d = d [ & ^ ] s nunca memória com memória!
41 Operações Lógicas (bit a bit) and <s>,<d> or <s>,<d> xor <s>,<d> d = d [ & ^ ] s nunca memória com memória! andl $0x7FFFFFFF,%eax /* %eax = %eax & 0x7FFFFFFF */ andl %ebx,%eax /* %eax = %eax & %ebx */ orl (%rcx),%eax /* %eax = %eax (%rcx) */ xorl %eax,%ebx /* %ebx = %ebx ^ %eax */
42 Deslocamento (shift) shl <i>,<d> shr<i>,<d> sar <i>,<d> d = d << i d = d >> i (lógico) d = d >> i (aritmético)
43 Deslocamento (shift) shl <i>,<d> shr<i>,<d> sar <i>,<d> d = d << i d = d >> i (lógico) d = d >> i (aritmético) shll $2,%eax /* %eax = %eax << 2 */ shrl $16,%eax /* %eax = %eax >> 16 (lógico) */ sarl $3,%ebx /* %ebx = %ebx >> 3 (aritmético) */
Programando em Assembly
Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)
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
Estrutura do tema ISA do IA-32
Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos
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
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
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
Assembly do IA-32 em ambiente Linux
MIEI: Sistemas de Computação 2015/16 Assembly do IA-32 em ambiente Linux Trabalho para Casa: TPC6 Alberto José Proença Objectivo A lista de exercícios propostos em TPC6 para resolução antes e durante a
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
Ordem de Bytes: Big Endian e Little Endian
Ordem de Bytes: Big Endian e Little Endian Dependendo da máquina que se usa, tem de se considerar a ordem pela qual os números constituídos por múltiplos bytes estão armazenados. As ordem são duas: big
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
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 [email protected] Conceitos básicos Linguagem/código
Interrupções, Exceções e Chamadas ao SO
Interrupções, Exceções e Chamadas ao SO Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Fluxo de Controle Fluxo de controle de um programa a 0 a 1 a 2 a n sequência de endereços i
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
Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/ pontos
Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/2015-100 pontos Nome: GABARITO (revisado) Questão 1 (20 pontos) Preencha os pontilhados do código C com variável
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
Unidade Central de Processamento 2. Registradores
Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades
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
Representação de Dados (inteiros não negativos)
Representação de Dados (inteiros não negativos) Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Pode ser vista como um array de bytes, identificados por seus "índices" (endereços)
Instruções. Maicon A. Sartin
Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis
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
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 [email protected] Baseado nos slides do capítulo
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
Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético
Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético 4.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
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
Introdução aos Sistemas Computacionais 2008/09
Introdução aos Sistemas Computacionais 2008/09 Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa Fascículo ASM1 Introdução ao Assembly 1. Introdução ao Tema O processador de
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
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
Arquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
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
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
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
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
Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski
Aula 2 Cibele Lemos Freire Viginoski Registradores R0-R7: disponíveis para todas as instruções R8-R15: disponíveis para algumas instruções R13: SP (Stack Pointer) Pilha obrigatoriamente LIFO decrescente
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
Arquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas
Arquitectura de Computadores 00/00 º Semestre º Teste (A) - 0/0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido. - Identifique
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 [email protected] Colegiado de Engenharia
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:...
Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1
Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins [email protected] SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento
T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA
T1: T2: T3: T4: T5: T6: T7: T: P: Arquitectura de Computadores I - 2002/03 TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma
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
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
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
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
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 11 Conjuntos de instruções: Modos de endereçamento e formatos slide 1 Diagrama do endereçamento imediato Instrução Opcode
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
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
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)
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
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
Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin
1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma
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
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
Arquitectura e Organização de Computadores
Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU
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
Sistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
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 [email protected] Material do prof. Sílvio Fernandes - UFERSA
Microprocessadores. Arquitectura Geral de Microprocessador
Arquitectura Geral de Microprocessador António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal [email protected] Modelo de von Neuman Barramento de Endereços µprocessador Memória Entrada/Saída
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:...
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
Testando o Teorema de De Morgan
Pedro Garcia http://www.sawp.com.br 04 de Fevereiro de 2010 Assembly Working Party Laboratório de Cálculos Científicos, Instituto de Física, Universidade de Brasília, Brasil O Teorema Teorema de De Morgan
Organização de computadores. Aula 05
Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes
Nível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura
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
