Advertisement
PT_

Untitled

PT_
Sep 15th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. push hl
  2. sra h
  3. rr l
  4. ld d, h
  5. ld e, l
  6. call _FP_Mul
  7. push hl ; x^2/4
  8. sra h
  9. rr l
  10. ld d, h
  11. ld e, l
  12. call _FP_Mul
  13. sra h
  14. rr l
  15. inc h
  16. ex (sp), hl ; x^4/128+1 is on stack, HL=x^2/4
  17. xor a, a
  18. ld d, a
  19. ld b, h
  20. ld c, l
  21. add.s hl, hl \ rla
  22. add.s hl, hl \ rla
  23. add.s hl, bc \ adc a, d
  24. ld b, h
  25. ld c, l
  26. add.s hl, hl \ rla
  27. add.s hl, hl \ rla
  28. add.s hl, hl \ rla
  29. add.s hl, hl \ rla
  30. add.s hl, bc \ adc a, d
  31. ld e, l
  32. ld l, h
  33. ld h, a
  34. rl e
  35. adc.s hl, hl
  36. rl e
  37. jr nc, $+3
  38. inc hl
  39. pop de
  40. ex de, hl
  41. or a, a
  42. sbc hl, de
  43. pop de
  44. _FP_Mul:
  45. ; Inputs: H.L * D.E
  46. ; Output: H.L
  47. ; Speed:
  48. ; 154 cycles
  49. ld a, e
  50. push hl
  51. ld b, l
  52. ld c, d
  53. ld l, d
  54. ld d, h
  55. mlt hl
  56. mlt de
  57. mlt bc
  58. add hl, hl
  59. add hl, hl
  60. add hl, hl
  61. add hl, hl
  62. add hl, hl
  63. add hl, hl
  64. add hl, hl
  65. add hl, hl
  66. add hl, de
  67. add hl, bc
  68. pop de
  69. ld d, a
  70. mlt de
  71. ld e, d
  72. ld d, 0
  73. add hl, de
  74. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement