Fluxo de Execução em Assembly
|
|
|
- Benedita Sarah Gama Quintão
- 8 Há anos
- Visualizações:
Transcrição
1 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 sequencial (i.e. pular para outro ponto do código, como em um goto ) O ponto é marcado com um rótulo (label) Existem desvios condicionais e incondicionais ( jump no Pentium, ou branch ) Como implementar essas estruturas de controle? if (a==b) c=d; d=a+c; if (a>=b) { c=(a-b); else { c=(b-a); while (a<=b) {... a++; d=a+c for (i=0; i< 10; i++){ Sum+=sum+i;
2 Jump Condicional addl%eax, %ebx jne label # se %ebx!= 0 vai para label A condição se refere sempre ao resultado da instrução anterior No Pentium, a maioria das instruções registram características de seus resultados nos bits/flags de EFLAGS Os desvios condicionais operam sobre o valor destes flags cmpl %eax, %ebx jle label Obs: note a inversão dos operandos! # compara %ebx com %eax # se %ebx <= %eax vai para label Flags de Condição (1/2) CF Carry Flag SF Sign Flag ZF Zero Flag OF Overflow Flag PF Parity Flag Setados implicitamente por operadores aritméticos, p.ex. addl f, d Equivale: d = f + d ant CF=1 se houver carry do bit mais significativo(overflow de unsigned): exemplo jc label ZF=1 se d == 0 exemplo jz label SF=1 se d < 0 exemplo js label OF=1 se houver overflow em compl.-2 (f>0 && d ant >0 && d<0) (f<0 && d ant <0 && d>=0) usado em jg, jl, jge,
3 Flags de condição (2/2) Instrução de comparação: cmpl b,a equivale a a-b sem atribuição do resultado CF=1 se carry do bit mais significativo Para comparação de unsigned ZF=1 se a == b exemplo jz label SF=1 se (a-b) < 0 exemplo e po js label OF=1 se houver overflow em complemento a dois (com sinal) (a>0 && b<0 && (a-b)<0) (a<0 && b>0 && (a-b)>0) Todos os Desvios Instruções tipo: jx label Jump dependendo dos flags de condição jx condição Descrição jmp 1 Unconditional je ZF Equal / Zero jne ~ZF Not Equal / Not Zero js SF Negative jns ~SF Nonnegative jg ~(SF^OF)&~ZF Greater (Signed) jge ~(SF^OF) Greater or Equal (Signed) jl (SF^OF) Less (Signed) jle (SF^OF) ZF Less or Equal (Signed) ja ~CF&~ZF Above (unsigned) jb CF Below (unsigned)
4 Traduzindo if-else if (test-expr) then-statement; else else-statement; Esquema geral t= test-expr; if (t) goto true; else-statementstatement true: then-statement d = 16; a = 10; if (d < a) c= a d; else c = d a; Caso Específico movl $0x10, %edx movl $0xA, %eax cmpl %eax, %edx jl.l3 subl %eax, %edx movl %edx, %ecx jmp.l5.l3: /* true */ subl %edx, %eax movl %edx, %ecx.l5: /* done*/ Traduzindo if puro Quando não há parte else, deve-se negar a condição de teste. if (test-expr) then-statement; if (a==b) { c= d; d = a+c; Esquema geral t= test-expr; if (!t) then-statement.l5: Caso Específico cmpl %eax, %ebx jne.l5 movl %edx, %ecx /* done*/ movl %eax, %edx addl %ecx, %edx
5 Traduzindo loops do-while Código C int fat (int x) { int result = 1; do { result *= x; x = x-1; while (x > 1); return result; int fat_goto (int x) { int result = 1; result *= x; x = x-1; if (x > 1) goto loop; return result; Faça desvio para trás para continuar iterando (enquanto condição do while é satisfeita) Traduzindo loops do-while int fat_goto (int x) { int result = 1; result *= x; x = x-1; if (x > 1) goto loop; return result; _fat_goto: pushl %ebp # Setup movl %esp,%ebp # Setup movl $1,%eax # eax = 1 movl 8(%ebp),%edx # edx = x L11: imull %edx,%eax # result *= x decl %edx # x-- cmpl $1,%edx # Compare x : 1 jg L11 # if > goto loop movl %ebp,%esp popl %ebp ret # Finish # Finish # Finish Obs: O valor de retorno é o último valor armazenado em %eax antes de ret.
6 Diferenças do-while X while Código C do while (Test); if (Test) goto loop Código C while (Test ){ If (!Test) goto after goto loop after: Tradução do while : um exemplo while (a<=b ){ a++; d=a+c; cmpl %ebx, %eax jg depois /* se a>b */ incl %eax jmp loop depois: movl %ecx, %edx addl %eax, %edx
7 Convertendo while como do-while while (Test) Outro esquema geral para implementar while Versão do-while if (!Test) do while(test); Versão c/ goto if (!Test) if (Test) goto loop; Traduzindo o for for (Init; Test; Update ) Versão do-while Init; if (!Test) do { Update ; while (Test) Versão while Init; while (Test ) { Update ; Init; if (!Test) Update ; if (Test) goto loop;
8 Avaliando condições complexas A condição test pode conter operadores lógicos Exemplo: ((c>a) (a ==1) && (d < b) )) Expressão é avaliada da esquerda p/ direita Em C, e outras linguagens de alto nível, a avaliação é interrompida assim que o resultado é conhecido ( curto circuito ) (x y) se x resulta em true, não executa y (x && y) se x resulta em false, não executa y Isto é refletido no código Assembly gerado if ((a==b) (c<d)) { a = c; //L1 c = d; //Lfim cmp %ebx, %eax je L1 cmp %edx, %ecx jge Lfim L1: movl %ecx, %eax Lfim: movl %edx, %ecx Desvios indiretos É possível também fazer um desvio para o endereço contido em um registrador, ou na memória (sintaxe: prefixo * ) jmp *%ebx destino: conteúdo de ebx jmp *(%ebx) destino: conteúdo de M[ebx] jmp *.tab(%ebx)destino: de M[tab+ebx] Isto é usado na tradução do switch de C, onde monta-se uma tabela de jump, contendo os endereços dos desvios.
9 Uso da Tabela Jump para switch Switch Tabela jump Blocos & endereços switch(op) { case val_0: Block 0 case val_1: Block 1 case val_n-1: Block n 1 jtab: Tradução: op vira o índice na tabela target = jtab[op]; goto *target; movl op, %ebx jmp *.jtab(%ebx) Targ0 Targ1 Targ2 Targn-1 Targ0: Targ1: Targ2: Targn-1: Code Block 0 Code Block 1 Code Block 2 Code Block n 1
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
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
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)
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
Introdução a Engenharia Reversa
Introdução a Engenharia Reversa Por Maycon Maia Vitali a.k.a. 0ut0fBound [email protected] http://outofbound.host.sk Conceito Resumo História da Engenharia Reversa - WWII Engenharia Reversa de
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
Introdução ao Assembly
Introdução ao Assembly Movimentação de Dados Operações Aritméticas e Lógicas Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Representação de Programas O compilador gera o código
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
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
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)
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
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
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
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
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
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
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
Assembly 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
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
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 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
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,
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
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
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
Revisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
Estruturas de Controle
Estruturas de Controle Mário Meireles eixeira UMA DEIN ópicos Estruturas de Controle condicionais repetição Expressões Lógicas operadores relacionais operadores lógicos Estruturas de Controle 2 1 Introdução
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Programando em Assembly
Programando em Assembly (Aula 16) Linguagem Assembly do 8086/8088 Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Para construirmos os programas em Assembly,
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
Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações
Representação de Inteiros
Representação de Inteiros Com n bits, podemos ter 2 n valores distintos Considerando só inteiros não-negativos (unsigned)a faixa de valores é [0, 2 n -1] Considerando inteiros quaisquer (i =0),
Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo
Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Estruturas de Controle - Seleção Prof. César Melo Estruturas de Controle: Condicional Estruturas: Simples Composta Múltipla escolha Estrutura Condicional
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
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
Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Revisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
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
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
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
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
CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1
CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição
Introdução à Linguagem C++
Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado
CI064 - Software Básico. Bruno Müller Junior
CI064 - Software Básico Bruno Müller Junior 12 de Março de 2012 2 Prefácio Como professor do departamento de informática da UFPR, ministrei várias disciplinas na área de sistemas, como Construção de Compiladores,
Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos
+ Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,
Computador Cleópatra
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Assembly Alexandre Amory Edson Moreno 2 / 36 Na Aula Anterior Vimos a máquina de estados da Cleo 3 / 36 Arquitetura Cleópatra - Von Neumann
Programação Orientada a Objetos
Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Exceções no Fluxo de Execução: Interrupções e Traps
Exceções no Fluxo de Execução: Interrupções e Traps 1 Fluxo de Controle Fluxo de controle de um programa: a 0 a 1 a 2 a n sequência de endereços I 0 I 1 I 2 I n sequência de instruções O fluxo mais simples
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos
Introdução a JAVA Variaveis, tipos, expressões, comandos e blocos Roteiro Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,
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
Computador Cleópatra
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno 2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais
Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente
5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
1. Instruções de Desvio
1. Instruções de Desvio Def.: Estas instruções permitem que, de forma condicional ou não, seja feito um desvio na seqüência de uma programa. O desvio é efetuado fazendo com que o valor carregado no PC
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Conhecida pelo PROCESSADOR Conhecida pelo Usuário COMPILADOR LINGUAGEM DE ALTO NÍVEL LINGUAGEM ASSEMBLY 2 INSTRUÇÕES EM ASSEMBLY Para programar
Conjunto de Instruções. Prof. Leonardo Barreto Campos 1
Conjunto de Instruções Prof. Leonardo Barreto Campos 1 Sumário Introdução; CISC; RISC; MIPS; Representação de Instruções; SPIM; Prof. Leonardo Barreto Campos 2/58 Sumário Operações Lógicas; Instruções
Sistemas de Computação. Instruções de Linguagem de Máquina
Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de
Programação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
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
ARQUITETURA DE COMPUTADORES INTRODUÇÃO
CURSO TÉCNICO DE REDES DE COMPUTADORES Disciplina de Arquitetura de Computadores Juliana Cristina dos Santos ARQUITETURA DE COMPUTADORES INTRODUÇÃO Processamento de Dados Computador máquina capaz de coletar,
Ní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
