Arquitetura e organização de computadores

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Parte 1: Organização de Computadores
Capitulo 6: Entrada e Saída
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Arquitetura de Computadores
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Programas e Microprogramas
Arquitetura e organização de computadores
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Arquitetura e organização de computadores
Arquitetura de Computadores
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
Sistemas Operacionais
Introdução a Informática
Ferramentas Programação
Estruturas de Controle
Linguagens de Programação
Delphi Disciplina de Programação Visual 2/Linguagem de Banco de dados – QI – Aula2 Prof. Luciano Monteiro.
Threads.
Processadores – Aula 3 Professor: André Luis Meneses Silva
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
Introdução à Programação
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Linguagem de Montagem.
Sistemas Operacionais
Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)
PCI- Introdução à Computação
Algoritmos e Programação de Computadores
PROGRAMAÇÃO PROCEDIMENTAL
Sistemas Operacionais I
Organização e Arquitetura de Computadores
Interface entre as linguagens C e Assembly 8085
Organização e Arquitetura de Computadores
Algoritmos e Estruturas de Dados I – Ponteiros
Geração de Código aula-12-geração-de-código.pdf.
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
3. Introdução à Linguagem C
Organização e Arquitetura de Computadores
Arquitetura de Computadores
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Memória de Dados EEPROM Jadsonlee da Silva Sá
Sistemas Operacionais
8088 Assembly Software Básico Mitsuo Takaki.
MatLab (Matrix Laboratory)
Registradores.
Ciro Ceissler / ASSEMBLY Ciro Ceissler /
Lucas Aranha ASSEMBLY Lucas Aranha
Algoritmos e Programação MC102
Processador MAC-1 Arquitectura.
Programação Computacional Aula 2: Introdução -Algoritmos
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Existem 8 registos principais de 32 bits no processador (existem mais como %EIP): %EAX %EBX %ECX %EDX %ESI %EDI %EBP %ESP Os registos são armazenados em.
PROGRAMAÇÃO II – PARTE 1 Profa. Maria Augusta Constante Puget.
Sistemas operacionais Prof. Dr. Francisco Prosdocimi.
Arquitetura de Microcomputadores
Introdução à Programação
Profº Cláudio Barbosa VBScript Introdução  Visual Basic - Linguagem de uso geral da Microsoft.  VBScript (Visual Basic.
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
ARQUITETURA DE VON NEUMANN
Computador Simplificado
Linguagem de Programação
EA869 Interrupção Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
EA869 Subrotinas Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
EA869 Modos de Endereçamento Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Transcrição da apresentação:

Arquitetura e organização de computadores Programação em linguagem assembly continuação Aula 18 Prof. Diovani Milhorim

Linguagem assembly Os componentes da linguagem Assembly Os componentes da linguagem Assembly são basicamente as instruções para o processador. os componentes da linguagem Assembly podem ser divididos nas seguintes categorias: Instruções de registradores Instruções de pilha Instruções de execução Instruções de memória Instruções de flag Declarações de memória Diretivas para o assembler Comentários Instruções para o sistema operacional (Windows)

Linguagem assembly Instruções de registradores Estas instruções transferem dados ou realizam cálculos utilizando os registradores de 32 bits da CPU. Existem seis registradores de uso geral chamados de EAX, EBX, ECX, EDX, ESI e EDI. Exemplos deste tipo de instrução são:

Linguagem assembly Instruções de pilha A pilha é uma área de memória reservada pelo sistema operacional como área de arquivamento temporário para cada programa que estiver rodando. São exemplos deste tipo de instrução:

Linguagem assembly Instruções de execução Estas instruções desviam o processador para que execute código a partir de um ponto que não seja a próxima linha de execução. São exemplos:

Linguagem assembly Instruções de memória Estas instruções lêem ou escrevem em áreas de memória que não sejam da pilha. Normalmente estas áreas estão na seção de dados do próprio executável ou podem ser alocadas pelo sistema operacional em tempo de execução. São exemplos:

Linguagem assembly Instruções de flag As principais flags usadas são a Z (flag zero), C (flag carry), S (flag de sinal) e D (flag de direção). A maioria das instruções alteram as flags automaticamente para mostrarem o resultado da instrução. Existem determinadas instruções que podem ser usadas para alterar o valor das flags manualmente:

Linguagem assembly Declarações de memória O sistema operacional reserva memória para o executável quando ele é executado. Declarações são feitas para reservar memória na seção de dados ou na seção de constantes se os dados devem ser inicializados, isto é, devem receber um valor. Se forem dados não inicializados, a área de dados pode ficar reservada na seção de dados não inicializados. Isto não toma espaço algum no arquivo executável, por que um espaço de memória é alocado para este tipo de dado quando o executável é iniciado pela primeira vez.

Linguagem assembly Declarações de memória Seguem exemplos de como a memória é declarada, o que pode variar de acordo com o assembler utilizado:

Linguagem assembly Diretivas para o assembler São instruções que orientam onde o Assembler deve colocar o código fonte que as segue. O Assembler marca a seção de código como apenas para leitura e executável; as seções de dados definidos e indefinidos como leitura/escrita. Veja alguns exemplos (que podem variar de acordo com o assembler):

Linguagem assembly Comentários Após ponto e vírgula, o texto é ignorado até a próxima quebra de linha. Desta forma é possível associar descrições e explicações ao código fonte, as quais serão ignoradas pelo assembler.