Advertisement
PT_

Untitled

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