Linguagem de Montagem Vetores.

Slides:



Advertisements
Apresentações semelhantes
Continuidade: sem interrupções
Advertisements

Programação em Java Prof. Maurício Braga
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
CINEMÁTICA MOVIMENTOS.
Marco Antonio Montebello Júnior
03/08/2011 Professor Leomir J. Borba- –
Désiré NGuessan Programação II Estruturas de Dados
SOFTWARE BÁSICO.
Arquitetura dos Microprocessadores 8086 e 8088
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
PROCEDIMENTOS COM RECURSIVIDADE
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
FACENS – Engenharia da Computação Lógica Computacional II
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
PROGRAMAÇÃO ou LINGUAGEM C?
Assembly x86.
Ponteiros em Linguagem C
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Fundamentos de Programação 1
Exercícios de php Dia 04/03/2011.
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.
Revisão da Linguagem C.
O Portal do Estudante de Computação
Programação I Caderno de Exercícios Nome.
Listas e algoritmos (em Scratch)
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Vetores e Matrizes Laboratório de ICCN Marco Antonio Montebello Júnior
Introdução a Computação e Cálculo Numérico
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Linguagem de Montagem.
GERADORES DE ESPAÇOS VETORIAIS.
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
João Ferreira, Dez 2003STRINGS, 1/6 Definição de String String (sentido lato) -> um string é um conjunto de valores (não necessariamente interpretáveis.
Introdução a Programação
Aula prática 6 Vetores e Matrizes
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Linguagem de Montagem PROVA 4 – 3/12.
Prof. Ricardo Santos PONTEIROS
Estrutura de dados - Vetores
Fundamentos de Programação
Vetores e Matrizes Ameliara Freire
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Oficinas de Desenvolvimento de Software
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
De acordo com o texto sobre a suposição feita pelos gregos, é correto afirmar que eles acreditavam que o tempo em queda livre de um corpo é função.
Arquitetura de Computadores
Algoritmos - exercícios
8088 Assembly Software Básico Mitsuo Takaki.
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.
Procedimentos Registro de Ativação e Variáveis Locais 11 1.
Linguagem de Programação II Parte VI Professora: Flávia Balbino da Costa.
Programação de Computadores I – Ponteiros Profa. Mercedes Gonzales Márquez.
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.
Algoritmos e Programação I
Afonso Ferreira Miguel
Estruturas Homogêneas – Vetores e Matrizes
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
Aula Prática 6 Vetores e Matrizes Monitoria
Linguagem de Programação
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.
Estruturas Homogêneas - Vetores
Transcrição da apresentação:

Linguagem de Montagem Vetores

Conteúdo Correção Exercícios Vetores Exercício Prova 03/12

Exercício 1 Escreva um procedimento chamado MAX que receba três inteiros do programa principal e retorne o máximo dos três em AX. O programa principal deve pedir ao usuário que entre os três inteiros e mostrar na tela o maior deles utilizando para isso o procedimento MAX.

Procedimento MAX segment .bbs x resw 1 MAX: ;entrada AX, BX, CX y resw 1 z resw 1 segment .text ;ler x,y,z mov AX,x mov BX,y mov CX,z call MAX ;escrever AX MAX: ;entrada AX, BX, CX ;saída maior em AX cmp AX, BX jge prox xchg AX,BX prox: cmp AX,CX jge fim xchg AX,CX fim: ret

Procedimento MAX segment .bbs x resw 1 y resw 1 z resw 1 segment .text ;ler x,y,z push [x] push [y] push [z] call MAX add ESP,6 ;escrever AX prox: cmp AX,CX jge fim xchg AX,CX fim: pop EBP ret MAX: push EBP mov EBP, ESP mov AX,[EBP+12] mov BX,[EBP+10] mov CX,[EBP+8] cmp AX, BX jge prox xchg AX,BX

Vetores Usamos vetores quando utilizamos a representação de strings. Matrizes unidimensionais Vetor em C: int nota[10]; nota[0] ... nota[9]

Vetores Atributos dos vetores em linguagem de alto nível: Nome do vetor (nota) Número de elementos (10) Tamanho de cada elemento (4 bytes) Tipo do elemento (inteiro) Intervalo de índices (0 a 9)

Vetores Através destas informações a quantidade de espaço de armazenamento necessário para o vetor pode ser calculado da seguinte forma: espaço de armazenamento = número de elementos x tamanho do elemento em bytes = 10 x 4 = 40 bytes

Vetores Na linguagem assembly vetores são implementados através da alocação do espaço de armazenamento necessário nota resd 10 Um nome para o vetor pode ser determinado para o espaço de armazenamento, mas isso será tudo que será possível na linguagem Assembly

Vetores Você precisa saber como o vetor será armazenado para acessar os elementos deste. Para vetores, sua representação na memória é direta. Os elementos do vetor são armazenados linearmente. Para acessar um elemento precisamos saber o valor do deslocamento em bytes desde o inicio do vetor.

Vetores Sabemos o tamanho em bytes de cada elemento. deslocamento = número do elemento x tamanho do elemento em bytes.

Vetores Exemplo: Nota do sexto estudante Elemento 5 de nota Deslocamento = 5 x 4 = 20

Exemplo segment .data nota dd 40,50,70,94,81 segment .text mov AX,0 ;soma das notas mov CX,5 ;contador mov ESI,0 ;indice repete: add AX,[nota+ESI*4] inc ESI loop repete

Exercícios Utilize o programa anterior para mostrar o maior e o menor dos três inteiros reescrevendo o procedimento e renomeando este para MINMAX. Escreva um programa em Assembly que leia um vetor com 20 números inteiros em uma ordem qualquer e chame um procedimento ORDENA que ordena este vetor em ordem crescente.