Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. ; Example code. Makes Mario crazy.
  2.  
  3. !Devidend = $55FFAA
  4. !Devisor = $FFFF
  5.  
  6. ;$55FFAA/$FFFF = $56 R:#00
  7.  
  8. main:
  9. print "breakpoint------------------------",pc
  10. REP #$20
  11. LDA.w #!Devidend ;\FFAA [AA FF]
  12. STA $00 ;/
  13. LDA.w #!Devidend>>16 ;\0055 [55 00]
  14. STA $02 ;/
  15. LDA.w #!Devisor ;\FFFF
  16. STA $04 ;/
  17. SEP #$20
  18. JSL MathDiv32_16
  19. rtl
  20. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  21. ; Unsigned 32bit / 16bit Division
  22. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  23. ; Arguments
  24. ; $00-$03 : Dividend
  25. ; $04-$05 : Divisor
  26. ; Return values
  27. ; $00-$03 : Quotient
  28. ; $04-$05 : Remainder
  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  30.  
  31. MathDiv32_16: REP #$20
  32. ASL $00
  33. ROL $02
  34. LDY #$1F
  35. LDA.w #$0000
  36. - ROL A
  37. CMP $04
  38. BCC +
  39. SBC $04
  40. + ROL $00
  41. ROL $02
  42. DEY
  43. BPL -
  44. STA $04
  45. SEP #$20
  46. RTL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement