SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: tongas321 en Lunes 22 de Julio de 2013, 20:23

Título: Pido una mano con dos problemas de un final de Programacion
Publicado por: tongas321 en Lunes 22 de Julio de 2013, 20:23
Hola, buen dia, disculpen las molestias, estuve viendo en el foro pero no logro solucionar mi problema (soy bastante duro para esto), les comento, fui a rendir un final de Tecnicas Digitales II, de mi carrera ing. en telecomunicaciones y me tomo dos problemas que tenian que ver con programacion, y en el examen me fue mal, pero me quede con la sangre en el ojo por saber como eran, si alguien tiene tiempo o quiere practicar me podria dar una mano en resolverlos

Problema 1):

Realizar un juego de luces (8bits del puerto B) cuya secuencia dependerá de unos interruptores conectados en el puerto A (5 bits del puerto A) que realicen las siguiente acciones:

Si A es 00001 la secuencia de luces del puerto B sera 8 leds parpadeantes
Si A es 00010 los leds realizaran un recorrido de derecha a izquierda
Si A es 00100 los leds realizara un recorrido de izquierda a derecha


Problema 2):

De la siguiente rutina:
a) explicar que hace y agregar explicaciones
b)Dar valores de los registros antes de entrar al bucle
c) dar valores de los registros cuando termina el bucle


contA            equ  0x10
dato              equ  0x11
resul             equ  0x12
auxi              equ  0x13

Rutina
                  movlw   D'08'
                  movwf   contA
                  clrf        resul
                  movf     dato,0
                  movwf   auxi
vol              rlf         auxi,1
                  btfsc     status,0
                  incf       resul,1
                  decf      contA,1
                  btfss     status,2
                  goto      vol
                  return

eso son los dos problemas, el 2) creo que lo hice medianamente bien, pero el 1) todo mal jaja, si alguien me da una mano lo agradezco muchisimo, que tengan un buen dia y gracias de antemano