![]() |
eXeL@B —› Программирование —› FpuFLtoA |
Посл.ответ | Сообщение |
|
Создано: 26 декабря 2008 03:12 · Поправил: mak · Личное сообщение · #1 Опять ночь и опять я ![]() Код такой Code:
как видно , все варианты обозначения буферов обозначал. Всеравно ошибка. В буфере возврат ERROR либо 0. Заране Сэнкс Правка FpuFLtoA ( lpSrc1 //pointer to an 80-bit REAL number lpSrc2 //pointer to, or value of, number of decimal digits to return lpszDest //pointer to destination of result uID //ID flags for sources and format ) uID One of the SRC1_? flags must be OR'ed with only one of the SRC2_? flags and OR’ed with one of the STR_? flags. (The STR_REG flag does not need to be OR’ed if the string must be returned in decimal format; that is the default.) uID Flag Meaning SRC1_FPU Src is already on the FPU SRC1_REAL Src is a pointer to an 80-bit REAL number SRC2_DMEM Src2 is a pointer to a 32-bit unsigned integer SRC2_DIMM Src2 is a 32-bit unsigned integer ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 26 декабря 2008 05:51 · Личное сообщение · #2 |
|
Создано: 26 декабря 2008 14:16 · Личное сообщение · #3 ![]() ![]() Фиг с ним , я убрал лишние движения и оставил основные , но опять подвела функция FpuFLtoA. Это засада какаято. Код Code:
Здесь в параметрах указано что число уже в сопроцессоре, команда FpuFLtoA возвращает 1 , то есть удачное выполнение , а не 0 , но в буфере появляется не число последнее в регистре СТ0 а нули. А должно быть значение типа 1.3466858585955 примерно. Вывести не получается результат работы ![]() ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 26 декабря 2008 14:58 · Поправил: GoldFinch · Личное сообщение · #4 |
|
Создано: 26 декабря 2008 16:43 · Личное сообщение · #5 |
|
Создано: 26 декабря 2008 17:30 · Личное сообщение · #6 ![]() GoldFinch пишет: для простого вывода вещественного числа есть fld [xxx] fimul [_EightZeros] ;_EightZeros dd 100000000 ;8digits=32/4 fbstp tword [gRealBuf] ; gRealBuf dt ? wsprintfA(gMsgBuf,"%x.%08x",[gRealBuf+4],[gRealBuf]) SetDlgItemText([hDlg],IDC_ENT,gMsgBuf) (синтаксис фасма) Если всетаки не добью мой вариант , то попробую так. Принципиально не могу отступить. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 26 декабря 2008 21:06 · Личное сообщение · #7 Code:
![]() |
|
Создано: 26 декабря 2008 21:58 · Личное сообщение · #8 спасибо ... ![]() Поидее можно просто урезать ... и это не должно повлиять на степень Энтропии существенно , но хотелось бы точнее. Проблема ясна , как решить не понятно. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
![]() |
eXeL@B —› Программирование —› FpuFLtoA |