dividir y multiplicar en asembler

Páginas: 2 (346 palabras) Publicado: 15 de agosto de 2013
1. ;****** Debemos declarar las variables primero, estas son:
2. ;***************************************************
3. ;****** Factor_A
4. ;****** Factor_B
5. ;****** Result_H
6. ;******Result_L
7. ;****** Dividendo_H
8. ;****** Dividendo_L
9. ;****** Divisor
10. ;****** Cociente_H
11. ;****** Cociente_L
12. ;***************************************************
13.
14. ;Secargan Previamente en Factor_A y Factor_B los valores a multiplicar
15. ;El resultado quedará almacenado en Result_H y Result_L
16.
17. Multiplicar
18. clrf Result_L ;borramos parainicializar
19. clrf Result_H
20. movf Factor_B,F ;Si es cero...
21. btfsc STATUS,Z ;En Caso que el Factor "B" Sea Cero
22. return ;volver con resultado= 0
23. movf Factor_A,W;cargamos el Factor "A"
24. Mult_Bucle
25. addwf Result_L,F ;Sumamos "A", Tantas veces como sea "B"
26. btfsc STATUS,C ;Existe Acarreo?...
27. incf Result_H,F ;...Si. Incrementamos el byteMayor
28. decfsz Factor_B,F ;Terminó la Multiplicación?...
29. goto Mult_Bucle ;... No, Seguimos haciendo sumas.
30. return ;Si. Volvemos a la rutina principal
31.
32.33. ;Se carga previamente en Dividendo_H y Dividendo_L el valor total del Dividendo
34. ;y en Divisor el valor del divisor. El resultado quedará en Cociente_H y Cociente_L
35. ;y el restoquedará en Dividendo_L
36. ;(Nota: Dividendo_H y Dividendo_L serán borrados en el proceso de división)
37.
38. Dividir
39. clrf Cociente_L ;Limpiamos el valor del resultado40. clrf Cociente_H
41. VerifDiv
42. movfw Dividendo_H ;Si la parte alta del Dividendo...
43. btfss STATUS,Z ;contiene algún valor...
44. goto PuedeDividir ;... Podemos dividir45. movfw Divisor ;Si no es el caso...
46. subwf Dividendo_L,W ;...Verificamos que la parte baja del Dividendo...
47. btfss STATUS,C ;...sea mayor que el divisor
48. return ;En...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Asembler
  • Multiplicar
  • El yo dividido
  • El yo dividido
  • Dividir
  • divide
  • el yo dividido
  • divide

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS