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

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

Produto Interno entre Arrays

Apresentações semelhantes


Apresentação em tema: "Produto Interno entre Arrays"— Transcrição da apresentação:

1 Produto Interno entre Arrays
Bruno Edson Ítalo Sivini Patrícia Roseane Plínio Tadeu

2 Produto Interno entre Arrays
Problema Solução Fluxograma Código Alto Nível Código Híbrido Código em Assembly Memória Código em Hexadecimal e Binário Conclusões

3 Problema Realizar o produto interno entre dois arrays (A e B – tamanho 1000), ou seja, elemento a elemento do array. Armazenar em outro array (C), da forma big endian, a parte mais significativa primeiro e a menos significativa depois. Como o produto tem o dobro do tamanho, o array C ocupará o dobro do espaço (2000 words).

4 Solução Realizar procedimento repetitivo:
Laço (quantidade de vezes conhecida ) Leitura dos Dados na Memória Multiplicação Escrita do Resultado na Memória Atualização de Ponteiros Teste

5 Fluxograma Fluxo do Programa:

6 Código Alto Nível Um comando em um laço:
for (i = 1000, i > 0, i = i - 1){ C(i) = A(i) * B(i); } Início => i = 1000 Lê no AC ou MQ => A(i) ... B(i) Multiplica com MQ => ... * ... Escreve a partir do AC => C(i) = ... Atualiza => i = i - 1 Testa => i > 0

7 Código Híbrido for(i = 1000, i > 0, i = i – 1){
MQ = A(i); // LOAD MQ, A(i) [AC MQ] = B(i) * MQ; // MUL B(i) C(i+) = AC; // STOR C(i+) AC = MQ; // LOAD MQ C(i-) = AC; // STOR C(i-) }

8 Código em Assembly ... 0000: JUMP M(INI, 0:19); X 0001: A(1)
1000: A(1000) 1001: B(1) 2000: B(1000) 2001: C(1+) 2002: C(1-) ... 3999: C(1000+) 4000: C(1000-)

9 Código em Assembly (cont.)
D1: h // Decrementa os arrays A e B D2: h // Decrementa 2 do array C D3: STOR C(1-); LOAD INI; // Verifica Fim INI: LOAD MQ, A(1000); MUL B(1000); //Lê A(i), * B(i) STOR C(1000+); LOAD MQ; // Escreve C(i+) e STOR C(1000-); LOAD INI; // C(i-) SUB D1; STOR INI; // Atualiza A(i), B(i) LOAD INI+1; SUB D2; // Atualiza C(i+) STOR INI+1; LOAD INI+2;// e... SUB D2; STOR INI+2; // C(i-) SUB D3; JUMP +M(INI, 0:19) // Testa e Repete FIM: ...

10 Memória ...

11 Memória (cont.)

12 Código em Hexadecimal e Binário

13 Conclusões Conhecer o funcionamento da máquina IAS
Aprender a trabalhar com instruções de mais baixo nível Implementar algoritmos simples, como no caso laços.


Carregar ppt "Produto Interno entre Arrays"

Apresentações semelhantes


Anúncios Google