.686 .model flat public _miesz2float .code ; float miesz2float(miesz F); _miesz2float PROC push ebp mov ebp, esp; mov eax,[ebp+8]; mov ecx,31; clc ; wyczyszczenie CF obrot: rcl eax,1; jc na_max_bitach ; gdy jedynka na najstarszym bicie loop obrot; ; tutaj mamy 0!!! mov eax,0; jmp koniec na_max_bitach: add ecx,119 ; normalizacja wykładnika (-8+127) ; shr eax, 9; nie ma jedynki wiodącej, więc przesuwamy w prawo o 1+8 miejsc shl ecx,23 ; przesunięcie w lewo o 23 pozycje, aby ustawićw dobrym miejscu or eax,ecx ; ustawienie wartości koniec: sub esp,4; rezerwacja miejsca na stosie mov [esp],eax; wpisanie wartości fld dword ptr [esp]; add esp,4; zwolnienie miejsca na stosie pop ebp; ret _miesz2float ENDP END