Помогите перевести строчку

Тема в разделе "LANGS.C", создана пользователем Marik, 24 мар 2009.

  1. Marik

    Marik New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    166
    Адрес:
    Russia
    Доброго времени суток!
    Нашел кусочек нужного кода в инете на срр, все в принципе перевел без проблем на масм, а вот с выравниванием размера до страниц что то никак не разжую. Помогите плиз...

    lf.QuadPart=(lf.QuadPart+ 16*PAGE_SIZE - 1)&(~((LONGLONG)(16*PAGE_SIZE-1)))
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Код (Text):
    1. lp equ (16*PAGE_SIZE-1)/100000000h
    2. hp equ (16*PAGE_SIZE-1)%100000000h
    3.  
    4.         mov     eax, lf.LowPart
    5.         mov     edx, lf.HighPart
    6.         add     eax, lp
    7.         adc     edx, hp
    8.         and     eax, ~lp
    9.         and     edx, ~hp
    10.         mov     lf.LowPart, eax
    11.         mov     lf.HighPart, edx
    на masm давно ничего не писал, поэтому могу ошибиться с операциями %, ~. Надеюсь, меня поправят, если что не так.
     
  3. Marik

    Marik New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    166
    Адрес:
    Russia
    KeSqueer
    Спасибо!