Advertisement
Guest User

Untitled

a guest
Jan 25th, 2015
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. .686
  2. .model flat
  3.  
  4.  
  5. public _razy
  6.  
  7. .data
  8.  
  9. wykladnik dd ?
  10.  
  11. .code
  12.  
  13.  
  14. _razy PROC
  15.  
  16.  
  17. push ebp
  18. mov ebp, esp
  19. push ebx
  20. push esi
  21. push edi
  22.  
  23. mov eax,[ebp+8]
  24. mov ebx,[ebp+12]
  25. shr eax,23 ; sam wykladnik
  26. shr ebx,23
  27.  
  28. sub ebx,127 ; od jednego wykladnika odejmujemy 127
  29. add eax,ebx
  30. mov wykladnik,eax
  31.  
  32. mov eax,[ebp+8]
  33. mov ebx,[ebp+12]
  34. shl eax,9
  35. stc
  36. rcr eax,9 ; mantysa
  37. shl ebx,9
  38. stc
  39. rcr ebx,9; mantysa 23 bit w dol
  40.  
  41. mul ebx
  42.  
  43. mov ecx,0
  44.  
  45. petla: ; wynik w edx:eax ,przesuwamy o 23
  46. clc
  47. rcr edx,1
  48. rcr eax,1
  49. inc ecx
  50. cmp ecx,23
  51. jne petla
  52. ; zakladamy ze wieksza od 0 liczby
  53.  
  54. mov ecx,0
  55. cmp eax,1000000h ; czy przeniesienie na 24 bit
  56. jl dalej
  57. normalizuje:
  58. shr eax,1
  59. inc ecx
  60. cmp eax,1000000h
  61. jg normalizuje
  62.  
  63. dalej:
  64.  
  65. mov edx,wykladnik
  66. add edx,ecx
  67. shl edx,23 ; wykladnik na swoje miejsce
  68.  
  69. shl eax,9 ; usuwamy jawna jedynke
  70. shr eax,9
  71.  
  72. add eax,edx ; wykladnik + mantysa
  73.  
  74. ;koniec
  75. push eax
  76. fld dword PTR [esp]
  77. add esp, 4
  78. pop edi
  79. pop esi
  80. pop ebx
  81. pop ebp
  82. ret
  83. _razy ENDP
  84. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement