Advertisement
Runer112

Mul_BC_DE_DEHL

Dec 7th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. Mul_BC_DE_DEHL:
  2. ; ~565.134cc for uniformly distributed BC and DE
  3. ld a,d
  4. ld d,0
  5. ld h,b
  6. ld l,c
  7. add a,a
  8. jr c,Mul_BC_DE_DEHL_Bit14
  9. add a,a
  10. jr c,Mul_BC_DE_DEHL_Bit13
  11. add a,a
  12. jr c,Mul_BC_DE_DEHL_Bit12
  13. add a,a
  14. jr c,Mul_BC_DE_DEHL_Bit11
  15. add a,a
  16. jr c,Mul_BC_DE_DEHL_Bit10
  17. add a,a
  18. jr c,Mul_BC_DE_DEHL_Bit9
  19. add a,a
  20. jr c,Mul_BC_DE_DEHL_Bit8
  21. add a,a
  22. jr c,Mul_BC_DE_DEHL_Bit7
  23. ld a,e
  24. add a,a
  25. jr c,Mul_BC_DE_DEHL_Bit6
  26. add a,a
  27. jr c,Mul_BC_DE_DEHL_Bit5
  28. add a,a
  29. jr c,Mul_BC_DE_DEHL_Bit4
  30. add a,a
  31. jr c,Mul_BC_DE_DEHL_Bit3
  32. add a,a
  33. jr c,Mul_BC_DE_DEHL_Bit2
  34. add a,a
  35. jr c,Mul_BC_DE_DEHL_Bit1
  36. add a,a
  37. jr c,Mul_BC_DE_DEHL_Bit0
  38. add a,a
  39. ret c
  40. ld h,d
  41. ld l,e
  42. ret
  43.  
  44. Mul_BC_DE_DEHL_Bit14:
  45. add hl,hl
  46. adc a,a
  47. jr nc,Mul_BC_DE_DEHL_Bit13
  48. add hl,bc
  49. adc a,d
  50. Mul_BC_DE_DEHL_Bit13:
  51. add hl,hl
  52. adc a,a
  53. jr nc,Mul_BC_DE_DEHL_Bit12
  54. add hl,bc
  55. adc a,d
  56. Mul_BC_DE_DEHL_Bit12:
  57. add hl,hl
  58. adc a,a
  59. jr nc,Mul_BC_DE_DEHL_Bit11
  60. add hl,bc
  61. adc a,d
  62. Mul_BC_DE_DEHL_Bit11:
  63. add hl,hl
  64. adc a,a
  65. jr nc,Mul_BC_DE_DEHL_Bit10
  66. add hl,bc
  67. adc a,d
  68. Mul_BC_DE_DEHL_Bit10:
  69. add hl,hl
  70. adc a,a
  71. jr nc,Mul_BC_DE_DEHL_Bit9
  72. add hl,bc
  73. adc a,d
  74. Mul_BC_DE_DEHL_Bit9:
  75. add hl,hl
  76. adc a,a
  77. jr nc,Mul_BC_DE_DEHL_Bit8
  78. add hl,bc
  79. adc a,d
  80. Mul_BC_DE_DEHL_Bit8:
  81. add hl,hl
  82. adc a,a
  83. jr nc,Mul_BC_DE_DEHL_Bit7
  84. add hl,bc
  85. adc a,d
  86. Mul_BC_DE_DEHL_Bit7:
  87. ld d,a
  88. ld a,e
  89. and a,%11111110
  90. add hl,hl
  91. adc a,a
  92. jr nc,Mul_BC_DE_DEHL_Bit6
  93. add hl,bc
  94. adc a,0
  95. Mul_BC_DE_DEHL_Bit6:
  96. add hl,hl
  97. adc a,a
  98. jr nc,Mul_BC_DE_DEHL_Bit5
  99. add hl,bc
  100. adc a,0
  101. Mul_BC_DE_DEHL_Bit5:
  102. add hl,hl
  103. adc a,a
  104. jr nc,Mul_BC_DE_DEHL_Bit4
  105. add hl,bc
  106. adc a,0
  107. Mul_BC_DE_DEHL_Bit4:
  108. add hl,hl
  109. adc a,a
  110. jr nc,Mul_BC_DE_DEHL_Bit3
  111. add hl,bc
  112. adc a,0
  113. Mul_BC_DE_DEHL_Bit3:
  114. add hl,hl
  115. adc a,a
  116. jr nc,Mul_BC_DE_DEHL_Bit2
  117. add hl,bc
  118. adc a,0
  119. Mul_BC_DE_DEHL_Bit2:
  120. add hl,hl
  121. adc a,a
  122. jr nc,Mul_BC_DE_DEHL_Bit1
  123. add hl,bc
  124. adc a,0
  125. Mul_BC_DE_DEHL_Bit1:
  126. add hl,hl
  127. adc a,a
  128. jr nc,Mul_BC_DE_DEHL_Bit0
  129. add hl,bc
  130. adc a,0
  131. Mul_BC_DE_DEHL_Bit0:
  132. add hl,hl
  133. adc a,a
  134. jr c,Mul_BC_DE_DEHL_FunkyCarry
  135. rr e
  136. ld e,a
  137. ret nc
  138. add hl,bc
  139. ret nc
  140. inc e
  141. ret nz
  142. inc d
  143. ret
  144.  
  145. Mul_BC_DE_DEHL_FunkyCarry:
  146. inc d
  147. rr e
  148. ld e,a
  149. ret nc
  150. add hl,bc
  151. ret nc
  152. inc e
  153. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement