Está en la página 1de 1

Ejercicios sobre subrutinas

Para proponer en clase o yo resolver en clase



1. Escribir un programa que efecte la suma de dos nmeros de 40 bits almacenados en
memoria RAM. El primer nmero comienza en la direccin $100 (byte ms
significativo primero), y el segundo en la direccin $105 (byte ms significativo
primero). El resultado se graba en el lugar del primer nmero.


2.
a) Con relacin al problema 1, cmo definira una subrutina que haga esa tarea?
Escrbala. (Debera incluir la cabecera respectiva).
b) Cmo definira una subrutina que haga lo de parte a) pero que la direccin de inicio
de cada nmero es variable?. Escriba un programa que haga uso de esa subrutina y
que sume dos nmeros que estn almacenados a partir de direcciones $100 y $105 y
dos nmeros que estn almacenados a partir de direcciones $120 y $125, y el
resultado se almacena a partir de direcciones $100 y $120 respectivamente.
c) Cmo definira una subrutina que haga lo de parte b) pero adems sume nmeros
de longitud variable (pero ambos de la misma longitud y que sta sea mltiplo de
8)? Por ejemplo: que pueda sumar dos nmeros de 8 bits, o dos nmeros de 16 bits o
dos nmeros de 64 bits. Escriba la subrutina y un programa que sume dos nmeros
de 16 bits almacenados a partir de direcciones $120 y $122, otros dos de 40 bits
almacenados a partir de direcciones $150 y $155, y el resultado se grabe a partir de
direcciones $120 y $150.
d). Cmo definira una subrutina que haga lo de la parte c) pero la direccin a partir de
la cual graba el resultado sea variable (byte ms significativo primero). Por ejemplo:
se pueden sumar dos nmeros de 16 bits que comienzan en direcciones $124 y $126
y que el resultado se grabe a partir de direccin $200; o que se sumen dos nmeros
de 40 bits que comienzan a partir de direcciones $100 y $125 y que el resultado se
grabe a partir de direccin $6F. Escriba la subrutina y el programa que haga las dos
sumas indicadas en los ejemplos.

3. Repita el problema 1 pero considerando que los nmeros estn grabados en la
memoria Flash y el resultado se graba a partir de direccin $100 de la memoria
RAM.

4. Repita el problema 2, pero considerando que los nmeros estn grabados en la
memoria Flash. Para las partes a), b) y c) el resultado se graba a partir de direccin
$100 del espacio de datos.

También podría gustarte