Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira
|
|
- Matheus Henrique Amaral
- 4 Há anos
- Visualizações:
Transcrição
1 x86
2 Data types In C: char short int/long double/long long 2
3 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712 0x7F32 Cresce nesta direcção 0xFF88 3
4 Push PUSH Insere um valor no Stack Podemos fazer push de uma constante (immediate) ou do valor de um registo A instrução push decrementa automaticamente o de 2 nos processadores de 16 bits 4 nos processadores de 32 bits 4
5 Registers antes ax 0x0003 0xFF8C Push exemplo push ax Registers depois ax 0x0003 0xFF88 Stack antes Stack depois 0xFF90 0x0001 0x0001 e 0xFF8E 0xFF8C 0x0002 e 0x0002 0x0003 0xFF8A 0xFF88 5
6 Pop POP- Retira o último valor do Stack Retira uma WORD do stack, grava-a num registo, e incrementa 2 ao 4 no processador de 32 bits 6
7 Pop exemplo Registers antes eax 0xFFFF e 0xFF88 Stack Antes pop ax Registers depois eax 0x0003 e 0xFF8C Stack Depois e 0xFF90 0xFF8E 0xFF8C 0x0001 0x0002 0x0003 e 0x0001 0x0002 (0x0003) 0xFF8A 0xFF88 7
8 Intruções As instruções representam-se em memória por uma série de opcode bytes. Variação do número de bits do opcode significa que o disassembly depende da posição: position ecific Maioria das instruções tem zero, um ou dois argumentos: menemónica destino, origem exemplo: add ax, bx ;equivalente a ax = ax + bx 8
9 MOV FLAGS: Não muda as flags FORMATO: mov dest, source Funcionalidade: Copia uma WORD ou um BYTE de um registo, memória ou valor constante para um registo ou para a memória. Não podem ser ambos endereços de memória. Exemplos: MOV CL, 55H MOV DL, CL MOV AH, DL MOV AX, DH ; error MOV AX, 45FFH; error 9
10 MOV Exemplos com endereços de memória: MOV AX, [2400] ; copia o conteúdo do endereço de memória 2400H. ; Ou seja AX = 0xDEAF MOV [23FF], BX ; copia BX para o endereço de memória 23FFH. 0x2402 0x2401 0x2400 0x23FF 0x23FE 0xFE 0x0F02 0xDEAF 0xFADE 0xD00D 10
11 MOV Modo de endereçamento indirecto Utilizar um registo para guardar o endereço de memória Só funciona com os registos SI, DI e BX Exemplos: MOV CL, [SI] ; copia o conteúdo do endereço de memória gravado em SI. Se SI = 0x2402, depois da instrução ser executada CL = 0xFE MOV [DI], AH ; copia AH para o endereço de memória gravado em DI. 0x2402 0x2401 0x2400 0x23FF 0x23FE 0xFE 0x0F02 0xDEAF 0xFADE 0xD00D 11
12 MOV Modo de endereçamento relativo Só funciona com os registos BX e BP Endereço efectivo: [BX] + di ou [BP]+di Exemplos: MOV CX, [BX]+10 ; copia o [BX]+10 e [BX]+10+1 para CX MOV AL, [BP]+5 12
13 ADD FLAGS: OF, SF, ZF, PF, AF, CF FORMATO: add dest, source Funcionalidade: adiciona o source ao dest e grava no dest. (dest = dest + source). Apenas um pode estar em memória. Exemplos: ADD AL, BL ADD DH, 35H ADD BX, [190F] ADD [3FA0], AX 13
14 Controlo do fluxo 14
15 Controlo do fluxo 15
16 Controlo do fluxo 16
17 Loop 17
18 CALL CALL procedure Instrução CALL transfere o controlo para uma função de forma que o controlo possa voltar ao local onde estava antes de ser transferido. 1. push do endereço da próxima instrução para o stack Para saber para onde volta 2. Muda o IP para o endereço passado na instrução 18
19 RET Return from procedure Faz Pop do topo do stack para o IP (recordar que o pop incrementa o stack pointer) Nesta forma a instrução é escrita apenas como ret 19
20 Exemplo
21 Exemplo Neste exemplo gravamos apenas () e o return address (ip). int sub() { return 0xbeef; } int main() { sub(); return 0xf00d; } sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 21
22 Exemplo ax 0x35C0 0xFF6C ip 0x1010 sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret Pertence ao código que ocorreu antes da chamada ao main instrução executada valor alterado valor inicial 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 22
23 Exemplo ax 0x35C0 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1011 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 23
24 Exemplo ax 0x35C0 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1013 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 24
25 Exemplo ax 0x35C0 0xFF68 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1000 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 0x
26 Exemplo ax 0x35C0 0xFF66 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1001 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 0x
27 Exemplo ax 0x35C0 0xFF66 0xFF66 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1003 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 0x
28 Exemplo ax 0xBEEF 0xFF66 0xFF66 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1008 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 0x
29 Exemplo ax 0xBEEF 0xFF68 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1009 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 0x
30 Exemplo ax 0xBEEF ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x1018 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 30
31 Exemplo ax 0xF00D 0xFF68 0xFF68 ip sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0x101D 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 31
32 Exemplo ax 0xF00D 0xFF6C ip 0x101E sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 0x12E8 32
33 Exemplo ax 0xF00D 0xFF6E ip 0x12E8 sub: 1000 push 1001 mov, 1003 mov ax, BEEFh 1008 pop 1009 ret main: 1010 push 1011 mov, 1013 call sub (1000h) 1018 mov ax, F00Dh 101D pop 101E ret Execução continua no valor retirado do stack IP = 0x12E8 0xFF6E 0xFF6C 0xFF68 0xFF66 0xFF64 0xE009 0xABBA 33
34 Exemplo 2 Repita o exemplo para o seguinte código int sub(){ char b = 10; char c = 20; return a+c; } int main(){ sub(); return 0xf00d; } Usar por exemplo os registos bx, cx. Atenção é preciso fazer push dos registos no stack no inicio da rotina e fazer pop no final para garantir que quando o controlo voltar ao main, os valores de bx e cx tém os valores que tinham antes da subrotina ser chamada 34
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 maisCPU. 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 mais7. 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 maisEEL 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 maisTó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 maisProfessor: 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 maisNo. 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 maisPilha de execução Volnys Borges Bernal Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP
2005-2015 Volnys Bernal 1 Pilha de execução Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP 2005-2015 Volnys Bernal 2 Agenda Os desafios da execução
Leia maisArquitetura 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 maisRevisã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 maisMicroprocessadores 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 maisA 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 maisExecução detalhada de instruções
LEI Sistemas de Computação 2014/15 Execução detalhada de instruções TPC3 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
Leia maisEEL Microprocessadores. Parâmetros e Variáveis Locais 4/5/2010. Capítulo 7 Livro Ziller. Prof. Raimes Moraes GpqCom EEL UFSC
EEL7030 - Microprocessadores Parâmetros e Variáveis Locais Capítulo 7 Livro Ziller Prof. Raimes Moraes GpqCom EEL UFSC Macro-Assembler Subrotina Near MSG1 DB JÁ VOU$' CODIGO SEGMENT INICIO:... AX,DADOS
Leia maisOrganizaçã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 maisExecução detalhada de instruções
MIEI Sistemas de Computação 2015/16 Execução detalhada de instruções TPC4 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
Leia maisx86 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 maisLaborató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 maisSistemas 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 maisMICROPROCESSADORES II (EMA911915) SUB-ROTINAS E PILHA 2 O SEMESTRE / 2018
MICROPROCESSADORES II (EMA911915) SUB-ROTINAS E PILHA 2 O SEMESTRE / 2018 MATERIAL DIDÁTICO Harris & Harris 6.4.6 Procedure Calls Patterson & Hennessy (4a edição) 2.8 Supporting Procedures in Computer
Leia maisLinguagem 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 maisHow to write Shellcodes por Luiz Fernando Camargo
How to write Shellcodes por Luiz Fernando Camargo 1. Introdução Shellcode é um grupo de instruções assembler em formato de opcode para realizar diversas funções como chamar uma shell, ou escutar em uma
Leia maisCapí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 maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:
Leia maisEstrutura 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
Leia maisSistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Electrónica e Telecomunicações e de Computadores
Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia de Electrónica e Telecomunicações
Leia maisOrganizaçã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 maisJosé 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 maisAULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 05: Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto
Leia maisAssembly 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 maisProgramação ao nível da máquina
Programação ao nível da máquina Ponto de vista do programador O nível Assembly Modelo de programação Assembler (processo de compilação da linguagem C) Que assembly para AC? Introdução ao assembly NASM
Leia maisOrganizaçã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
Leia maisOrganizaçã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 maisSEL 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 maisAssembly IA32 Procedimentos
1 Procedimentos Assembly IA32 Procedimentos Uma chamada a um procedimento implica a transferência de dados (na forma de parâmetros do procedimento e na forma de valores retornados pelo procedimento) e
Leia maisArquitectura de Computadores 2007/2008 2º Semestre 1º Teste (A) - 30/04/2008. Folha de Respostas
Arquitectura de Computadores 00/00 º Semestre º Teste (A) - 0/0/00 Número: Nome: INSTRUÇÕES: - A duração da prova é de, horas. - Responda apenas nesta Folha de Respostas ; nada mais será recebido. - Identifique
Leia maisArquitectura 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 maisNível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo
Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle
Leia maisMICROPROCESSADORES E MICROCONTROLADORES. PROVA 1 - Solução da Versão 1
MICROPROCESSDORES E MICROCONTROLDORES PROV 1 - Solução da Versão 1 (o final são apresentadas as soluções da questão 4 das versões 2 e 3) 1. Na comparação entre as arquiteturas CISC e RISC, faça comentários
Leia maisSistemas Operacionais. Pilha de execução Volnys B. Bernal 1. Agenda. Pilha de execução. Os problemas. Os problemas.
25-215 Volns Bernal 1 25-215 Volns Bernal 2 Agenda Volns Borges Bernal volns@lsi.u.br Os problemas Controle do endereço de retorno da função Controle do quadro da pilha de Departamento de Sistemas Eletrônicos
Leia maisAJProenç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 maisEstrutura 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
Leia maisProgramaçã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 maisNível Máquina Formatos de Instruções
Nível Máquina Formatos de Instruções IA32 e MIPS AC1 11ª aula Formatos de Instruções 1 Stored Program Concept As instruções são números, armazenados em memória, que são descodificados pela Unidade de Controlo
Leia mais2º 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 maisMicroprocessadores. 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 maisPerifé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 maisUniversidade 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 maisArquitetura 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 maisSistemas 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 maisAula 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
Leia maisSistemas 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 mais8. 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 maisSistemas Lógicos II. Aula 10
Sistemas Lógicos II Aula 10 1 2 rbh rbl wbh wbl Arquitectura Corrente + IPC Increment Program Counter Transfer from PC - TPC Transfer from IR - TIRH Transfer from IR - TIRL Transfer from C - TC rch rcl
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização
Leia maisOrdem 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
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisRegistradores. 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 maisEEC2104 Microprocessadores
EEC2104 Microprocessadores Edição 2005/2006 Arquitectura de um microprocessador básico (Qual o hardware necessário para executar instruções e poder chamar subrotinas?) Uso da memória Guardar instruções
Leia maisPeriféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 6
Aula Teórica 6 Sumário: A stack. O DMA. O software ROM-BIOS. O sistema operativo, a BIOS e a organização da memória. Instruções para a programação de periféricos e interfaces na linguagem C. Leitura Recomendada:
Leia maisCONCURSO PETROBRAS DRAFT. Microprocessadores, CLPs e Arquiteturas Computacionais. Questões Resolvidas
CONCURSO PETROBRAS ENGENHEIRO(A) DE EQUIPAMENTOS JÚNIOR - ELETRÔNICA ENGENHEIRO(A) JÚNIOR - ÁREA: AUTOMAÇÃO Microprocessadores, CLPs e Arquiteturas Computacionais Questões Resolvidas QUESTÕES RETIRADAS
Leia maisMicroarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1
Microarquitetura IJVM mic-1 Datapath mic-1 Este é mais um exemplo de datapath para microarquitetura IJVM desenvolvida por Andew Tanenbaum Parte da CPU que contém a ALU, suas entradas e saídas 2 Função
Leia maisLinguagem 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 maisUniversidade de São Paulo
Universidade de São Paulo Organização de Computadores Dr. Jorge Luiz e Silva Cap 8 Subrotinas e Parâmetros Seqüência de instruções repetitivas. Na chamada existe o DESVIO para a rotina No retorno existe
Leia maisSistemas Lógicos II. Aula 11
Sistemas Lógicos II Aula 11 1 2 Arquitectura Corrente ++ Read from PC - RPC Increment PC - IPC Write from PC - RPC Transfer from SP - TSP Transfer from PC - TPC Transfer from IR - TIRH Transfer from IR
Leia maisInstruçõ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 maisEXEMPLO 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 maisLic. Ciências da Computação
Arquitectura de Computadores Análise do Instruction Set Architecture (1) Lic. Ciências da Computação 1º ano 2007/08 A.J.Proença Tema Estrutura do tema ISA do IA32 1. Desenvolvimento de programas no IA32
Leia maisArquitectura 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 maisUniversidade de São Paulo
Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.
Leia maisOrganização e Projeto de Computadores
Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída
Leia maisPara 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 maisMicroprocessadores 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 maisA Necessidade de reusar soluções
A Necessidade de reusar soluções Conceito de módulo Módulo é todo elemento construtivo de um dispositivo, mecanismo ou máquina que pode possui uma interface bem definida de uso e que pode ser reutilizado
Leia maisIntroduçã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 maisProcedimentos Chamada de Funções e Parâmetros
Procedimentos Chamada de Funções e Parâmetros Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Durante a execução de um programa, o SO precisa alocar memória principal para:
Leia maisx86 Assembly Mini-Course
x86 Assembly Mini-Course Part 1 Bruno P. Evangelista bpevangelista@gmail.com Introdução Assembly é uma linguagem de programação de baixo nível em formato mnemonico Ela possibilita trabalhar diretamente
Leia maisArquitectura 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 maisINSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Arquitectura de Computadores (ACom) LEIC-A, MEIC-A Acetatos das Aulas Teóricas Versão 1.0 - Português Aula
Leia maisMinistério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski
Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem
Leia maisProcedimentos Chamada de Funções e Parâmetros
Procedimentos Chamada de Funções e Parâmetros Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Durante a execução de um programa, o SO precisa alocar memória principal para:
Leia maisEstruturas 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 maisUniversidade de São Paulo
Universidade de São Paulo Organização de Computadores Dr. Jorge Luiz e Silva Cap 4 Generalizar Problema - G1 Fazer um programa que calcule o complemento para dois de uma posição de memória e coloque o
Leia maisOTermo 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 maisExercí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 maisArquitetura 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 maisInfraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento
Infraestrutura de Hardware Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de
Leia maisO 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 maisAssembly 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 maisProf. 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 maisLinguagem de Montagem
Linguagem de Montagem Procedimentos e a Pilha Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 O que é a pilha? A pilha é uma estrutura
Leia maisMICROPROCESSADORES 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 maisAula 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 maisNí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á
Leia maisProgramando 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)
Leia maisProcedimentos. Sistemas de Computação
Procedimentos Chamada de Procedimentos Utilização de procedimentos: Facilitar entendimento do programa Reutilização de código Passos necessários para execução de um procedimento: Os parâmetros a serem
Leia mais