A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem de Montagem Vetores.

Apresentações semelhantes


Apresentação em tema: "Linguagem de Montagem Vetores."— Transcrição da apresentação:

1 Linguagem de Montagem Vetores

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

3 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.

4 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

5 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

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

7 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)

8 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

9 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

10 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.

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

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

13 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

14 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.


Carregar ppt "Linguagem de Montagem Vetores."

Apresentações semelhantes


Anúncios Google