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élula | instrucción | codificación |
00000000 | leer a | 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 |
00000001 | leer b | 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 |
00000010 | leer c | 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 |
00000011 | mover a al ALU | 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 |
00000100 | multiplicar por b | 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 |
00000101 | sumar c | 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 1 |
00000110 | mover del ALU a y | 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 |
00000111 | escribir y | 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 |
00001000 | terminar | 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 |
©Derechos Reservados - 1991 - Prof. H. D. A. Cabassa