Buscar

Materia de arquitetura e organização de computadores Considere um computador com o trecho de memória RAM em que, nas posições de “a” a “d”, estão ...

Materia de arquitetura e organização de computadores Considere um computador com o trecho de memória RAM em que, nas posições de “a” a “d”, estão armazenados números inteiros quaisquer. Na posição 91, está armazenado o número 1, e as demais posições, de 0 a 100, por exemplo, estão livres para serem usadas. posição 17, valor a posição 28, valor b posição 53, valor c posição 66, valor d posição 70, valor e posição 81, valor 1 Considere ainda que o processador deste computador tem dois registradores de uso geral, chamados de R1 e R2, e ainda tem os registradores especiais de zero (Z) e negativo (N). Considere também que o conjunto de instruções do processador é composto pelas seguintes instruções e seus resultados: X e Y nas instruções são os registradores, #pos é a posição da memória e #inst é a linha do programa. STR X #pos; Armazena X em #pos LOAD X #pos; Carrega pos para X INC(X); Incrementa X em uma unidade DEC(X); Decrementa X em uma unidade ADD X Y; X recebe o valor dele somado com o valor o valor de Y SUB X Y; X recebe o valor dele subtraído com o de Y MUL X Y; X recebe o valor dele multiplicador pelo valor de Y DIV X Y; X recebe o valor dele dividido pelo valor de Y SQRT X; X recebe o valor da raiz quadrada de X INV X; X recebe o valor de X com o sinal contrário JZ #inst; Pula para a instrução inst se ZERO JNZ #inst; Pula para a instrução inst se NOT ZERO JN #inst; Pula para a instrução inst se NEGATIVE JNN #inst; Pula para a instrução inst se NOT NEGATIVE NOP; No operation, pode ser utilizado para finalizar um programa JMP #inst; Pula para a instrução inst Faça o trecho de programa com as instruções que calculam a seguinte fórmula: e = (a*c)-b / (a*b)+d

💡 1 Resposta

User badge image

Ed Verified user icon

Para calcular a fórmula e = (a*c)-b / (a*b)+d, podemos utilizar as seguintes instruções: 1. LOAD R1 #17; Carrega o valor de "a" para o registrador R1 2. LOAD R2 #53; Carrega o valor de "c" para o registrador R2 3. MUL R1 R2; Multiplica o valor de "a" pelo valor de "c" e armazena em R1 4. LOAD R2 #28; Carrega o valor de "b" para o registrador R2 5. SUB R1 R2; Subtrai o valor de "b" do valor de "a*c" e armazena em R1 6. LOAD R2 #17; Carrega o valor de "a" para o registrador R2 7. LOAD R1 #70; Carrega o valor de "e" para o registrador R1 8. DIV R2 R1; Divide o valor de "a" pelo valor de "e" e armazena em R2 9. LOAD R1 #66; Carrega o valor de "d" para o registrador R1 10. LOAD R1 #17; Carrega o valor de "a" para o registrador R1 11. MUL R1 R2; Multiplica o valor de "a" pelo valor de "(a*c)-b/(a*b)+d" e armazena em R1 12. ADD R1 R2; Soma o valor de "d" ao valor de "(a*c)-b/(a*b)+d" e armazena em R1 Assim, o trecho de programa com as instruções que calculam a fórmula e = (a*c)-b / (a*b)+d é: 1. LOAD R1 #17 2. LOAD R2 #53 3. MUL R1 R2 4. LOAD R2 #28 5. SUB R1 R2 6. LOAD R2 #17 7. LOAD R1 #70 8. DIV R2 R1 9. LOAD R1 #66 10. LOAD R1 #17 11. MUL R1 R2 12. ADD R1 R2

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais