fasm + align

Тема в разделе "WASM.BEGINNERS", создана пользователем el-, 18 янв 2007.

  1. el-

    el- New Member

    Публикаций:
    0
    есть ли какие либо параметры в "section" что бы уменьшить стандартное выравнивание с 4096 до 512. у меня 1.66 версия фасма.

    пример для изменения:

    section '.' code readable executable writeable
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    народ, вы что, мануалов не читаете ...
    Код (Text):
    1. align 16 ;например
    А может не это имелось ввиду...
     
  3. el-

    el- New Member

    Публикаций:
    0
    >>народ, вы что, мануалов не читаете ...
    в том то и дело, что читаем, а вот вы походу вопрос не читаете.

    >>есть ли какие либо параметры в "section"
    имется ввиду не выровнить код nop'ами, а изменить стандартное выравнивание секции, вот скажите мне. нафига мне в дллке иметь секцию релоков в количестве трех штук, которая будет 4096 байт весить ( или сколько там по дефолту ). если можно уменьшить до 512.

    пример из Си

    #pragma comment( linker, "/FILEALIGN:0x200" )
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    el-
    может так :
    section '.bss' writeable align 16
     
  5. el-

    el- New Member

    Публикаций:
    0
    может нет, уже пробовал. если б все так просто было б я бы этот вопрос не задал. вот ответ error: extra characters on line.
     
  6. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    В общем то что ты на си привер , это выравнивание файла а не секций.
    Ты можешь сам создать заголовок PE и там указать атрибуты секции
    dd 1000h, 200h ; section alignment in memory and file: 1K/512

    Вот . Другого я не видел, в особенности отдельное выравнивание секций
     
  7. twgt

    twgt New Member

    Публикаций:
    0
    я обычно пихаю всё в одну секцию. а по поводу сабжа , то юзай линкер хоть с той же опцией что ты указал
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    В отдельную секцию не обязательно их ложить. "data fixups\nend data" прекрасно работает.
     
  9. el-

    el- New Member

    Публикаций:
    0
    IceStudent
    можно на примере вот этой строки section '.' code readable executable writeable суда еще добавить фиксапы
     
  10. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Код (Text):
    1. section '.' code readable executable writeable
    2.  
    3. ... ; инициализированные данные
    4.  
    5. ... ; код
    6.  
    7. ; import
    8. data import
    9.  ...
    10. end data
    11.  
    12. ; export
    13. data export
    14. ...
    15. end data
    16.  
    17. ; relocs
    18. data fixups
    19. end data
    20.  
    21. ; resources
    22. data resource from 'external.res'
    23. end data
    24.  
    25. ; сюда можно добавить большие неинициализированные данные
    26. big_array rb 10*1024*1024
     
  11. el-

    el- New Member

    Публикаций:
    0
    IceStudent
    сенкс ...
    зы. тему можно закрыть