9
Linguagens de Programação
ESTACIO
12
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
ESTACIO
4
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
UNIANCHIETA
14
Linguagens de Programação
UNICID
1
Linguagens de Programação
UVA
3
Linguagens de Programação
UMG
11
Linguagens de Programação
FUMEC
Texto de pré-visualização
Não entregue Trabalho da disciplina Linguagem de Montagem Vence amanhã às 2359 Instruções O objetivo desta atividade é exercitar o conceito de laço e o método de acesso indireto à memória do computador IAS Descrição Escreva um programa em linguagem de máquina IAS usando mapa de memória para calcular o produto escalar de dois vetores Produto escalar é uma operação que realiza a soma dos produtos de todos os elementos de 2 vetores dois a dois Por exemplo para os vetores A12 e B413 temos o seguinte produto escalar 14213 30 Você pode supor que os vetores possuem o mesmo tamanho contudo esse tamanho é arbitrário Os vetores podem ou não estar representados consecutivamente no mapa de memória Mais informações são apresentadas na seção abaixo Requisitos O tamanho dos vetores deve ser de 5 elementos e deve ser lido da memória no endereço 0x3FF Os elementos dos vetores devem ser lidos da memória Use diretivas para gravar os dados na memória Salve o resultado do produto escalar no registrador AC A corretude será verificada através da inspeção do valor neste registrador httpswwwicunicampbredsondisciplinasmc40420192sabIASAssemblerassemblerhtml Meu trabalho Anexo Novo Pontos 10 pontos possíveis Solucao do Trabalho da Disciplina Linguagem de Montagem Lucas June 14 2024 1 Introducao O objetivo deste trabalho e exercitar o conceito de laco e o metodo de acesso indireto a memoria do computador IAS Instructional Assembly System A atividade consiste em escrever um programa em linguagem de maquina IAS para calcular o produto escalar de dois vetores 2 Descricao do Problema O produto escalar e uma operacao que realiza a soma dos produtos de todos os elementos de dois vetores dois a dois Por exemplo para os vetores A 1 2 e B 4 13 temos o seguinte produto escalar 1 4 2 13 30 Supomos que os vetores possuem o mesmo tamanho contudo esse tamanho e arbitrario Os vetores podem ou nao estar representados consecutivamente no mapa de memoria 3 Requisitos Os requisitos para a solucao sao O tamanho dos vetores deve ser de 5 elementos e deve ser lido da memoria no endereco 0x3FF Os elementos dos vetores devem ser lidos da memoria Use diretivas para gravar os dados na memoria Salve o resultado do produto escalar no registrador AC A corretude sera verificada atraves da inspecao do valor neste registrador 4 Solucao Abaixo esta o codigo em linguagem de maquina IAS para calcular o produto escalar de dois vetores de tamanho 5 1 41 Codigo IAS Listing 1 IAS Assembly Code ORG 0x000 LOAD MQ M0 x400 Carrega o valor do vetor A 0 no MQ MUL M0 x405 Multiplica MQ pelo valor do vetor B 0 STOR M0 x410 Armazena o resultado em 0x410 LOAD MQ M0 x401 Carrega o valor do vetor A 1 no MQ MUL M0 x406 Multiplica MQ pelo valor do vetor B 1 ADD M0 x410 Soma ao resultado anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x402 Carrega o valor do vetor A 2 no MQ MUL M0 x407 Multiplica MQ pelo valor do vetor B 2 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x403 Carrega o valor do vetor A 3 no MQ MUL M0 x408 Multiplica MQ pelo valor do vetor B 3 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x404 Carrega o valor do vetor A 4 no MQ MUL M0 x409 Multiplica MQ pelo valor do vetor B 4 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado f i n a l em 0x410 LOAD M0 x410 Carrega o resultado f i n a l no AC ORG 0x3FF DATA 5 Tamanho do vetor ORG 0x400 DATA 1 Elemento A 0 DATA 2 Elemento A 1 DATA 3 Elemento A 2 DATA 4 Elemento A 3 DATA 5 Elemento A 4 ORG 0x405 DATA 6 Elemento B 0 DATA 7 Elemento B 1 DATA 8 Elemento B 2 DATA 9 Elemento B 3 DATA 10 Elemento B 4 ORG 0x410 DATA 0 Local para armazenar resultado p a r c i a l e f i n a l 2 5 Explicacao do Codigo O codigo comeca carregando os elementos dos vetores A e B da memoria e multiplicando os Em seguida soma os resultados parciais e armazena o produto escalar final no endereco 0x410 Finalmente carrega o resultado final no registrador AC para verificacao 6 Conclusao Este trabalho apresentou a solucao para o calculo do produto escalar de dois vetores usando linguagem de maquina IAS A abordagem demonstrada faz uso de lacos e acesso indireto a memoria para realizar as operacoes necessarias 3
9
Linguagens de Programação
ESTACIO
12
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
ESTACIO
4
Linguagens de Programação
ESTACIO
1
Linguagens de Programação
UNIANCHIETA
14
Linguagens de Programação
UNICID
1
Linguagens de Programação
UVA
3
Linguagens de Programação
UMG
11
Linguagens de Programação
FUMEC
Texto de pré-visualização
Não entregue Trabalho da disciplina Linguagem de Montagem Vence amanhã às 2359 Instruções O objetivo desta atividade é exercitar o conceito de laço e o método de acesso indireto à memória do computador IAS Descrição Escreva um programa em linguagem de máquina IAS usando mapa de memória para calcular o produto escalar de dois vetores Produto escalar é uma operação que realiza a soma dos produtos de todos os elementos de 2 vetores dois a dois Por exemplo para os vetores A12 e B413 temos o seguinte produto escalar 14213 30 Você pode supor que os vetores possuem o mesmo tamanho contudo esse tamanho é arbitrário Os vetores podem ou não estar representados consecutivamente no mapa de memória Mais informações são apresentadas na seção abaixo Requisitos O tamanho dos vetores deve ser de 5 elementos e deve ser lido da memória no endereço 0x3FF Os elementos dos vetores devem ser lidos da memória Use diretivas para gravar os dados na memória Salve o resultado do produto escalar no registrador AC A corretude será verificada através da inspeção do valor neste registrador httpswwwicunicampbredsondisciplinasmc40420192sabIASAssemblerassemblerhtml Meu trabalho Anexo Novo Pontos 10 pontos possíveis Solucao do Trabalho da Disciplina Linguagem de Montagem Lucas June 14 2024 1 Introducao O objetivo deste trabalho e exercitar o conceito de laco e o metodo de acesso indireto a memoria do computador IAS Instructional Assembly System A atividade consiste em escrever um programa em linguagem de maquina IAS para calcular o produto escalar de dois vetores 2 Descricao do Problema O produto escalar e uma operacao que realiza a soma dos produtos de todos os elementos de dois vetores dois a dois Por exemplo para os vetores A 1 2 e B 4 13 temos o seguinte produto escalar 1 4 2 13 30 Supomos que os vetores possuem o mesmo tamanho contudo esse tamanho e arbitrario Os vetores podem ou nao estar representados consecutivamente no mapa de memoria 3 Requisitos Os requisitos para a solucao sao O tamanho dos vetores deve ser de 5 elementos e deve ser lido da memoria no endereco 0x3FF Os elementos dos vetores devem ser lidos da memoria Use diretivas para gravar os dados na memoria Salve o resultado do produto escalar no registrador AC A corretude sera verificada atraves da inspecao do valor neste registrador 4 Solucao Abaixo esta o codigo em linguagem de maquina IAS para calcular o produto escalar de dois vetores de tamanho 5 1 41 Codigo IAS Listing 1 IAS Assembly Code ORG 0x000 LOAD MQ M0 x400 Carrega o valor do vetor A 0 no MQ MUL M0 x405 Multiplica MQ pelo valor do vetor B 0 STOR M0 x410 Armazena o resultado em 0x410 LOAD MQ M0 x401 Carrega o valor do vetor A 1 no MQ MUL M0 x406 Multiplica MQ pelo valor do vetor B 1 ADD M0 x410 Soma ao resultado anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x402 Carrega o valor do vetor A 2 no MQ MUL M0 x407 Multiplica MQ pelo valor do vetor B 2 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x403 Carrega o valor do vetor A 3 no MQ MUL M0 x408 Multiplica MQ pelo valor do vetor B 3 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado p a r c i a l em 0x410 LOAD MQ M0 x404 Carrega o valor do vetor A 4 no MQ MUL M0 x409 Multiplica MQ pelo valor do vetor B 4 ADD M0 x410 Soma ao resultado p a r c i a l anterior STOR M0 x410 Armazena o resultado f i n a l em 0x410 LOAD M0 x410 Carrega o resultado f i n a l no AC ORG 0x3FF DATA 5 Tamanho do vetor ORG 0x400 DATA 1 Elemento A 0 DATA 2 Elemento A 1 DATA 3 Elemento A 2 DATA 4 Elemento A 3 DATA 5 Elemento A 4 ORG 0x405 DATA 6 Elemento B 0 DATA 7 Elemento B 1 DATA 8 Elemento B 2 DATA 9 Elemento B 3 DATA 10 Elemento B 4 ORG 0x410 DATA 0 Local para armazenar resultado p a r c i a l e f i n a l 2 5 Explicacao do Codigo O codigo comeca carregando os elementos dos vetores A e B da memoria e multiplicando os Em seguida soma os resultados parciais e armazena o produto escalar final no endereco 0x410 Finalmente carrega o resultado final no registrador AC para verificacao 6 Conclusao Este trabalho apresentou a solucao para o calculo do produto escalar de dois vetores usando linguagem de maquina IAS A abordagem demonstrada faz uso de lacos e acesso indireto a memoria para realizar as operacoes necessarias 3