UTNianos

Versión completa: Necesito ayuda con esto
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
hola gente necesito ayuda con esto, si alguien me puede ayudar yo le pagaría

1) Un sistema secuencial tiene tres pulsadores de entrada A, B y C y dos salidas para manejar 2 motores M1 y M2.
El motor M1 se activará si se presionan en secuencia los pulsadores A-C y el motor M2 lo hará solo si se presiona el pulsador B. En ambos casos el sistema volverá al estado inicial si se activa la secuencia A-A.
1) Armar el diagrama de estados.
2) Escribir las ecuaciones de funcionamiento con Flip-Flop D (método del decodificador). No es necesario implementar el circuito.

después esto:

Dada una lista de caracteres ASCII contenida a partir de la dirección de memoria 2000 siendo que su longitud se especifica en la dirección 1500 realizar un programa en lenguaje assembly que cuente la cantidad de caracteres “A” (Hex 41) y “a” (Hex 61) se encuentran en el texto, guarde resultado en la posición 1600.

EJEMPLO:
El siguiente ejemplo muestra lo que se espera que realice el programa.
En “ANTES” se ve una tabla que comienza en la posición de memoria 2000 y que para este caso particular, su longitud es de 6 valores (especificado en la dirección 1500).
El programa, después de ejecutarse, vemos que recorrió la lista y encontró cuatro letras “a” (entre mayúsculas y minúsculas) y almacenó ese valor en la dirección de memoria 1600.







ANTES DESPUÉS
1500 06
: : :
1600 00

1500 06
: : :
1600 04



: : : : : :

2000 42
2001 41
2002 61
2003 41
2004 20
2005 61
2000 42
2001 41
2002 61
2003 41
2004 20
2005 61













Nota: busque (internet) y estudie la instrucción CPM (compare) y utilícela en este problema.

Ejemplo: CMP AL,41 (compara el contenido del registro AL con dato a la derecha, en este caso 41)
Para esto la instrucción hace la resta de AL-41 y de acuerdo el resultado sea positivo, negativo o cero se puede a continuación colocar la instrucción de salto correspondiente mayor JG, menor JL o igual JZ.

Veamos otro ejemplo:

Supongamos que en AL está el valor 45

100 CMP AL, 41 hace 45-41 y le da positivo (+4)
102 JL 130 (salto si es menor a la dirección 130)…. Por lo tanto, no salta y sigue
104 INC SI  con la instrucción que está en la 104
106…
:
:
:
:
130 MOV… en cambio, si le hubiera dado negativo, saltaría aquí a la 130 donde hace otra cosa.


Saltos útiles para este problema; JZ (salto si es igual) o JNZ (salto si no es igual). Use el que más le convenga.

CPM realiza la resta pero no modifica el contenido de los registros involucrados. Los registros no se alteran.




saludos, gustavo
necesito ayuda
URLs de referencia