Arquitetura ARM Subrotinas.  Implementar uma sub-rotina requer dois passos: 1.Armazenar o endereço de retorno. 2.Desviar a execução para o endereço da.

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Parte 1: Organização de Computadores
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
WebDesign Redes de Computadores Aula 05
WebDesign Redes de Computadores Aula 07
O Sistema de Computação
Arquitetura e organização de computadores
Arquitetura e organização de computadores
Execução de Programas Partes de um programa: ‣ Dados
Linguagem de Montagem Visão geral.
Arquitetura de Computadores
A Arquitetura: conjunto de instruções
Assembly MAC-1 Implementação de ciclos Ciclo ‘while’ // Em Java : ...
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Software Básico Silvio Fernandes
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Arquitetura dos Microprocessadores 8086 e 8088
Conteúdo: - Modularização.
EEL Microprocessadores
REPRESENTAÇÃO DE INSTRUÇÕES
Modos de endereçamento
Arquitetura de Computadores
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Autor: Fernando de Mesentier Silva
Passos na elaboração de um Programa
Sistemas Operacionais I
PROGRAMAÇÃO I UNIDADE 1.
Unidade Central de Processamento
Unidade Central de Processamento
Linguagem de Montagem.
Representação de Instruções
Classes de Arquiteturas Tipos de operação Codificação das operações
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
ORGANIZAÇÃO DE COMPUTADORES
Arquitetura de computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Modos de Endereçamento.
Processamento de dados na UCP e memória UCP
SISTEMAS OPERACIONAIS I
Geração de Código aula-12-geração-de-código.pdf.
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Capítulo VIII Ambientes de Execução
Unidade Central De Processamento: Processador
Arquitetura de Computadores
A Linguagem de Máquina – Desvios e Laços
8088 Assembly Software Básico Mitsuo Takaki.
Registradores.
Arquitetura de Computadores 2009 Infra-estrutura Hardware
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Tudo sobre o Processador
Introdução à Computação Componentes Básicos dos Computadores
O que devem fazer os Microprocessadores ?
Afonso Ferreira Miguel
Arquitetura de Microcomputadores
Arquitetura de computadores
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
O Stack e Subrotinas Permitem reusar o código Escreva e depure o código uma vez, use-o quantas vezes for preciso Uma Subrotina deve ser chamada Uma Subrotina.
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Linguagem de Programação
ARM – Movimentação de Dados
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Modos de Endereçamento da família MC8051
EA869 Interrupção Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
EA869 Subrotinas Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Arquitetura ARM Registradores e Endereçamento.
PSI3441 – Arquitetura de Sistemas Embarcados
PSI3441 – Arquitetura de Sistemas Embarcados
Transcrição da apresentação:

Arquitetura ARM Subrotinas

 Implementar uma sub-rotina requer dois passos: 1.Armazenar o endereço de retorno. 2.Desviar a execução para o endereço da sub-rotina.  Quem executa esses dois passos: instrução BL label Armazena endereço de retorno em LR (R14). A execução é desviada para a posição de memória identificada por “label”.  O retorno da sub-rotina se dá pela instrução BX LR, a qual carrega no registrador PC o conteúdo de LR. Problema! Onde?

Subrotinas ENDEREÇO DE RETORNO DA SUBROTINA! 11MOV R1,R2 12BL SUB SUB1:... 21BL SUB BX LR 40SUB2: BX LR R14(LR) Como solucionar? Por exemplo, uso da Pilha!

Subrotinas Passagem de Parâmetros Por Registradores Por Pilha Por valor Por Referência Como os dados são enviados para a subrotina? Não altera o conteúdo da memória Altera o conteúdo da memória

Subrotinas São instruções simbólicas, não executáveis, que auxiliam o montador a determinar o conteúdo da memória ao instalar o programa assembly. x:.word 5000 LDR R2, =x LDR R1,[R2] Para que a passagem de parâmetros efetivamente ocorra, é possível recorrer a pseudoinstruções. Pseudoinstruções Cria uma palavra na memória cujo conteúdo é 5000 Armazena o endereço da palavra “x” em R2 Armazena o valor de x em R1

Subrotinas - É passado o endereço de memória que contém o dado. x:.word 5000 LDR R2, =x Por valor Passagem de Parâmetros Por Referência - É passado o dado da memória. x:.word 5000 LDR R2, =x LDR R3, [R2]

Subrotinas Passagem de Parâmetros x:.word 5000 y:.word 0 LDR R0, =x LDR R1, =y LDR R0, [R0] BL SOMA STR R0, [R1] Por Registrador SOMA: ADD R0, R0, #1 BX LR Exemplo: Subrotina que faz uma soma

Subrotinas Passagem de Parâmetros Por Pilha Dados são passados do programa para sub-rotina e vice-versa através da pilha Mas como é a pilha no ARM? Desafio