Ejemplo 3.7

Se interesa atender el siguiente problema:

Dado cuatro valores: a, b, c, y d;
se desea computar 'y = ( a - b ) / ( c + d )'

Con los conocimientos adquiridos hasta este punto podemos inferir la siguiente secuencia lógica de pasos:

  • leer a
  • leer b
  • leer c
  • leer d
  • mover a al ALU
  • restar b
  • mover ALU a e
  • mover c al ALU
  • sumar d
  • mover ALU a f
  • mover e al ALU
  • dividir entre f
  • mover ALU a y
  • escribir y
  • terminar

Para codificar un programa en una computadora debemos escoger arbitrariamente las células consecutivas que utilizaremos para las instrucciones y cuales utilizaremos para los valores.  Digamos que utilizaremos las células 21, 22, 23, 24, 25, 26, y 27 para a, b, c, d, e, f, y y.  Para las instrucciones utilizaremos las células consecutivas comenzando con la 0.

Programa:

célulainstruccióncodificación
00000000leer a 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1
00000001leer b 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0
00000010leer c 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1
00000011mover a al ALU 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1
00000100multiplicar por b0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0
00000101sumar c 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1
00000110mover del ALU a y0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0
00000111escribir y 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0
00001000terminar 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0




Última modificación : Viernes 25 de julio de 1997

©Derechos Reservados - 1991 - Prof. H. D. A. Cabassa