
04.03.2009, 12:35
|
 |
Illuminati
|
|
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
|
|
даю два варианта... ибо могу ошибаться с расположением байт
1. Вариант
Код:
procedure TForm1.Button1Click(Sender: TObject);
Const n:single=0;
FBuffer: array [0..3] of Byte = ($85, $65, $72, $B0);//--то что нужно перевести
begin
asm
pushad
xor ecx,ecx
add ecx,3
xor dl,dl
mov eax, offset n
mov ebx, offset FBuffer
@1:
mov dl,byte ptr [ebx+ecx]
mov byte ptr [eax],dl
dec ecx
inc eax
test ecx,ecx
jnz @1;
popad
end;
ShowMessage(FloatToStr(n));
end;
2. вариант
Код:
procedure TForm1.Button1Click(Sender: TObject);
Const n:single=0;
FBuffer: array [0..3] of Byte = ($85, $65, $72, $B0);
begin
asm
pushad
xor ecx,ecx
add ecx,3
xor dl,dl
mov eax, offset n
mov ebx, offset FBuffer
@1:
mov dl,byte ptr [ebx]
mov byte ptr [eax],dl
dec ecx
inc eax
inc ebx
test ecx,ecx
jnz @1;
popad
end;
ShowMessage(FloatToStr(n));
end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
|