Вы находитесь на странице: 1из 4

PROGRAMAS PROPUESTOS

Instrucciones orientadas a Registros

1.1 Idear un programa que transfiera el contenido del Registro 0x20 al Registro 0x21.

1.2 Idear un programa que intercambie el contenido del Registro 0x22 al Registro 0x23.

1.3 Diseñar un programa que sume sin acarreo el contenido de:


(0x20) + (0x21) = (0x22)

1.4 Diseñar un programa que separe en 2 nibles los 8 bits del Registro 0x20 colocando el nible de mayor peso en el nible
de menor peso de la registro 0x21y el de menor peso en el nible de menor peso Registro 0x22.

Antes 0x20 3F
0x21 XX
0x22 YY

Después 0x20 3F
0x21 03
0x22 0F

1.5 Diseñar un programa que intercambie los nibles del Registro 0x23.
Ejemplo:
Antes 0x23 37

Después 0x23 73

1.6 Diseñar un programa que efectúe las siguientes operaciones lógicas entre los registros 0x20 y 0x21. Colocar los
resultados en los siguientes registros:

0x22 = (0x20) AND (0x21)


0x22 = (0x20) OR (0x21)
0x22 = (0x20) EX.OR (0x21)
0x22 = (0x20) NAND (0x21)
0x22 = (0x20) NOR (0x21)
0x22 = (0x20) EX.NOR (0x21)

1.7 Diseñar un programa que efectúe la multiplicación por 4 del contenido del registro 0x20. Pruebe el programa con un
valor tal que no se genere acarreo.

1.8 Diseñar un programa que efectúe la multiplicación por 9 del contenido del registro 0x20. Pruebe el programa con un
valor tal que no se genere acarreo.

1.9- Diseñar un programa que sume con acarreo el contenido de


(0x20)+(0x21)=(0x22)(0x23).

1.10- Diseñar un programa que sume en decimal (BCD) con acarreo el


contenido de (0x20)+(0x21)=(0x22)(0x23)

1.11.- Diseñar un programa que seleccione la palabra numéricamente mayor (valor absoluto) del contenido del registro
0x20 y 0x21 y coloque el resultado en el registro 0x22.

1.12.- Diseñar un programa que seleccione la palabra positiva del contenido del registro 0x20 y 0x21 y coloque el
resultado en el registro 0x22.

2.- programas tipo lazo


.
2.1.- Contar los bit con valor uno que contiene el registro 0x20, depositar el
resultado en el registro 0x21.

2.2 Diseñar un programa que escriba unos en el registro (0x20) a partir del LSB de acuerdo al número contenido en el
registro (0x21).
Ejemplo:
Antes Después
(0x20) = yyyy yyyy(binario) (0x20) = 0011 1111
(0x21) = 06 (0x21) = xx

3.- manejo de tablas

3.1.- Diseñar un programa que transfiera a la dirección 0x70, una tabla de datos que inicia en la 0x60 y termina en la
0x6F.
3.2.- Diseñar un programa que efectué la suma de los datos contenidos en una tabla de datos que inicia en la 0x20 y
termina en la 0x2F, el resultado depositarlo en la Dirección 0X30, comprobar con valores cuyo resultado de la suma no
exceda de 1 byte.

3.3.- Diseñar un programa que efectué la suma de los datos contenidos en una tabla de datos que inicia en la 0x20 y
termina en la 0x2F, el resultado depositarlo en el registro 0X30 y 0x31, comprobar con valores cuyo resultado de la
suma no exceda de 1 byte.

3.3.- Diseñar un programa que inserte un dato en una tabla de cualquier longitud y
en cualquier dirección de registros de propósito general.

3.4.- Por medio de una tabla diseñar un programa que convierta de binario a
código BCD.

3.5.- Por medio de la tabla diseñar un programa que convierta de BCD a código 7
segmentos (lógica afirmada)

4.- serie de números


4.1- De una serie de números que inician en la dirección 0x22 y cuya longitud se
encuentra en el registro 0x20, separar el número mayor (valor absoluto) y colocarlo en registro 0x21.

4.2 De una serie de números que inician en la dirección 0x22 y cuya longitud se
encuentra en el registro 0x20, contar la cantidad de números positivos que contiene la serie y colocar el resultado
en el registro 0x21.

4.3.- De una serie de números que inician en la dirección 0x24 y cuya longitud se
encuentra en el registro 0x20, contar la cantidad de números positivos, negativos, cero y poner el
resultado en 0x21, 0x22, 0x23, respectivamente.

4.4.- De una serie de números que inician en la dirección 0x21 y cuya longitud se
encuentra en el registro 0x20, ordenar de menor a mayor (valor absoluto).

4.5.- Diseñar un programa que escriba ceros en una tabla cuya dirección de inicio
y final se indica en 0x20 y 0x21 respectivamente.

4.6.- Diseñar un programa que escriba una tabla ascendente en hexadecimal.


4.7.- Diseñar un programa que escriba una tabla ascendente en BCD.

4.8.- Diseñar un programa que escriba una tabla descendente en BCD.

5 .- lazos de tiempo

5.1.- Diseñar un programa que genere un retardo de 1 mseg.

5.2.- Diseñar un programa que genere un retardo de 25 mseg.

5.3.- Diseñar un programa que genere un retardo de 1 seg.

5.4.- Diseñar un programa que genere un retardo de tantos segundos sea el valor
del registro 0x20.