Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› конвертация чисел на асме
Посл.ответ Сообщение


Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 25 декабря 2006 23:40
· Личное сообщение · #1

вобщем имеется такой код:
invoke GetLocalTime,addr mst
mov ecx,100
finit
movzx ebx,mst.wYear
mov f1,ebx
mov f2,ecx
fild f1
fild f2
fmul
movzx ebx,mst.wMonth
mov f1,ebx
fild f1
fadd
fild f2
fmul
movzx ebx,mst.wDay
mov f1,ebx
fild f1
fadd
fild f2
fmul
movzx ebx,mst.wHour
mov f1,ebx
fild f1
fadd
fild f2
fmul
movzx ebx,mst.wMinute
mov f1,ebx
fild f1
fadd
fild f2
fmul
movzx ebx,mst.wSecond
mov f1,ebx
fild f1
fadd

после выполнения в ST0 лежит нужное мне число, как теперь его сохранить правильно сохранить?
т.е например у меня число:
20061226123522 = 0x123EDE41C102 если я делаю FST, то получим:

dbl_403024 dq 2.0061226123655e13
оно же равно:
dword_403024 dd 41C18700h
dd 42B23EDEh
похоже да не очень.. что-то я упускаю

ну или если по другому идти, пусть у меня будет стринг "20061226123522" как сделать aToLong?



Ранг: 56.3 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 26 декабря 2006 01:26
· Личное сообщение · #2

Не совсем понятно, что тебе нужно. Сохранить 2.0061226123655e13 в память как десятичное число?
Тогда:
f3 dt 0
[твой код]
fbstp f3


Если сохранить как шестандцатиричное, тогда:
f3 dq 0
[твой код]
fistp f3




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 26 декабря 2006 01:35 · Поправил: Bitfry
· Личное сообщение · #3

Nitrogen пишет:
т.е например у меня число:
20061226123522 = 0x123EDE41C102 если я делаю FST, то получим:

Получим то, что и должна делать fst - вещественное представление числа (см. учебник).
Если хочешь получить hex для дальнейшей обработки без FPU, то используй:
xxx dq ?
...
fistp [xxx]


ЗЫ Уже ответили... Торможу я по утрам, тарам-парам, тарам-парам...

-----
Всем привет, я вернулся





Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 27 декабря 2006 22:35
· Личное сообщение · #4

W[4Fh]LF, Bitfry
сенькс. fistp f3 помог


 eXeL@B —› Программирование —› конвертация чисел на асме
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати