Escreva um conjunto de instruções para fazer o Computador Simplificado (CS) somar dois valores (contidos em dois cartões) e subtrair de um terceiro valor (contido num terceiro cartão) e imprimir o resultado. Lembre-se que para executar as instruções é preciso atribuir valores aos cartões que estão na bandeja.

Passo 1

Beleza, o enunciado pede pra gente criar um “programinha” pro nosso Computador Simplificado (CS) que faça isso: pegue dois valores de dois cartões, some eles, depois subtraia de um terceiro cartão e, por fim, imprima o resultado. Isso entra na matéria de Arquitetura de Computadores (versão simplificada) – a gente vai usar instruções básicas estilo LDA (load), ADD (add), SUB (subtract) e OUT (output). Também precisamos saber como “carregar” valores nos cartões que ficam na bandeja, porque o CS vai ler esses endereços de memória.

Passo 2

Primeiro, coloque na bandeja três cartões com os valores que você quer trabalhar. Vamos chamar de:
• Cartão 1 (endereço 1): valor
• Cartão 2 (endereço 2): valor
• Cartão 3 (endereço 3): valor
Por exemplo, se quiser calcular , coloca 7 no cartão 1, 5 no cartão 2 e 3 no cartão 3. Esses cartões são como células de memória numeradas: endereço 1, 2 e 3.

Passo 3

Agora o programa vai fazer exatamente a expressão
Acumulador ;=; C1 ;+; C2 ;-; C3
A gente usa o registrador “acumulador” do CS, que é onde rolam as contas passo a passo:
  1. LDA 1 → carrega no acumulador o valor de endereço 1 ( ).
  2. ADD 2 → soma ao acumulador o valor de endereço 2 ( ).
  3. SUB 3 → subtrai do acumulador o valor de endereço 3 ( ).
  4. OUT → imprime o que estiver no acumulador.
Teoria rápida:
  • LDA (Load Accumulator): traz um valor da memória pra nossa “caixinha” do acumulador.
  • ADD (Add Memory): faz acumulador ← acumulador + (memória).
  • SUB (Subtract Memory): faz acumulador ← acumulador – (memória).
  • OUT (Output): manda imprimir o conteúdo do acumulador.

Resposta

Coloque na bandeja:
Endereço 1 ←
Endereço 2 ←
Endereço 3 ←
Programa do CS:
      LDA 1    ; acumulador = C1
      ADD 2    ; acumulador = C1 + C2
      SUB 3    ; acumulador = C1 + C2 - C3
      OUT      ; imprime o resultado

Exercícios relacionados