Из WORDa в signedFloat

Тема в разделе "WASM.BEGINNERS", создана пользователем uckuht, 9 июн 2010.

  1. uckuht

    uckuht New Member

    Публикаций:
    0
    Регистрация:
    11 май 2010
    Сообщения:
    8
    Подскажите или ссылку подкиньте как из беззнакового числа размером WORD сделать знаковое с плавающей точкой, размером в DWORD. Пакет MASM32.
    Cпасибо!
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.890
    Код (Text):
    1. movzx ebx,i16; i16 беззнаковое число размером WORD
    2. push ebx
    3. fild dword [esp]
    4. fstp f32; f32 знаковое с плавающей точкой, размером в DWORD
    5. add esp,4; выравнивем стек
     
  3. uckuht

    uckuht New Member

    Публикаций:
    0
    Регистрация:
    11 май 2010
    Сообщения:
    8
    Ох а я с мантисами воюю))
    А к байтам тоже самое? только i8?
     
  4. uckuht

    uckuht New Member

    Публикаций:
    0
    Регистрация:
    11 май 2010
    Сообщения:
    8
    только выравнивание 2?
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.890
    uckuht
    movzx ebx,i8
    push ebx
    fild dword [esp]
    fstp f32; f32 знаковое с плавающей точкой, размером в DWORD
    add esp,4; выравниваем стек
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.890
    uckuht
    можно и проще
    Код (Text):
    1. .data
    2. db i8, 0, 0, 0
    3. .code
    4. fild dword ptr i8
    5. fstp f32
    и никакой мороки со стеком
     
  7. uckuht

    uckuht New Member

    Публикаций:
    0
    Регистрация:
    11 май 2010
    Сообщения:
    8
    Спасибо!
     
  8. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.890
    uckuht
    Не за що, ты заходи, если что [​IMG]