Advertisement
Guest User

Untitled

a guest
Sep 29th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;eltd03_07aasm - (exe.7.1a)
  2. ;multiplicação de múltipla precisão
  3.  
  4.         absentry        inic
  5. ram     equ     $1000
  6. rom     equ     $4000
  7. vreset  equ     $fffe
  8. nb      equ     8
  9. ;------------- const, vars, etc.
  10.         org     ram
  11. mh      ds.b    1       ;msb do m
  12. ml      ds.b    1       ;lsb do m
  13.  
  14.         org     ram+nb
  15. nh      ds.b    1      
  16. nl      ds.b    1
  17. ;--------
  18.         org     ram+2*nb
  19. p1      ds.b    1       ;mais sig. do produto
  20. p2      ds.b    1
  21. p3      ds.b    1
  22. p4      ds.b    1       ;lsb do produto
  23. ;------------- programa
  24.         org     rom
  25. inic    ldd     #0      ;d=0
  26.         std     p1      ;p1:p2=0
  27.         ldaa    ml      ;a=ml
  28.         ldab    nl      ;b=nl
  29.         mul             ;multiplicar
  30.         std     p3      ;salva bytes menos significativos
  31.         ldaa    mh      ;a=mh
  32.         ldab    nl      ;b=nl
  33.         mul             ;a*b=mh*nl
  34.         addd    p2
  35.         std     p2      ;salva produto
  36. ;--------        
  37.         ldaa    ml      
  38.         ldab    mh
  39.         mul
  40.         addd    p2
  41.         std     p2
  42. ;--------    
  43.         ldaa    #0
  44.         adca    #0
  45.         staa    p1
  46. ;--------
  47.         ldaa    mh
  48.         ldab    nh
  49.         mul
  50.         addd    p1
  51.         std     p1
  52.         bra     inic
  53. ;------------- fim do prog.
  54.         org     vreset
  55. reset_  dc.w    inic
  56.         end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement