Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;eltd03_07aasm - (exe.7.1a)
- ;multiplicação de múltipla precisão
- absentry inic
- ram equ $1000
- rom equ $4000
- vreset equ $fffe
- nb equ 8
- ;------------- const, vars, etc.
- org ram
- mh ds.b 1 ;msb do m
- ml ds.b 1 ;lsb do m
- org ram+nb
- nh ds.b 1
- nl ds.b 1
- ;--------
- org ram+2*nb
- p1 ds.b 1 ;mais sig. do produto
- p2 ds.b 1
- p3 ds.b 1
- p4 ds.b 1 ;lsb do produto
- ;------------- programa
- org rom
- inic ldd #0 ;d=0
- std p1 ;p1:p2=0
- ldaa ml ;a=ml
- ldab nl ;b=nl
- mul ;multiplicar
- std p3 ;salva bytes menos significativos
- ldaa mh ;a=mh
- ldab nl ;b=nl
- mul ;a*b=mh*nl
- addd p2
- std p2 ;salva produto
- ;--------
- ldaa ml
- ldab mh
- mul
- addd p2
- std p2
- ;--------
- ldaa #0
- adca #0
- staa p1
- ;--------
- ldaa mh
- ldab nh
- mul
- addd p1
- std p1
- bra inic
- ;------------- fim do prog.
- org vreset
- reset_ dc.w inic
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement