Писать в секцию кода

Тема в разделе "WASM.BEGINNERS", создана пользователем Necromancer13, 24 дек 2007.

  1. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    Здравствуйте!

    пробовал сегодня МАСМом скомпилить этот исходник:

    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap:none
    4.  
    5. .code
    6.  
    7. start:
    8.         jmp     @f
    9.         asda    dd 5
    10. @@:
    11.         dec     dword ptr [asda]
    12.         ret
    13. end     start
    компилится, но при попытке выполнить dec dword ptr [asda]
    прога вылетает и пишет "Access violatiщт when writing...."
    когда ставлю переменную asda в .data, то все ок, но я люблю код в перемешку с даннными в одной секции держать...
    как сделать .code доступную для записи?
    а в ФАСМе она по умолчанию вроде доступна... =/
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Секция кода, по умолчанию, имеет аттрибуты только на чтение и выполнение. Можно после компиляции PE редактором это исправить.
     
  3. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    ну PE-редактором я могу и сам :)
    а разве с помощью ассемблера/компоновщика или как как-то нельзя?
     
  4. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    http://www.wasm.ru/forum/viewtopic.php?id=15004
     
  5. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    Спасибо огромное!!!
    И подскажите, пожалуйста, а где можно найти подробную справку по параметрах командной строки ассемблера/линкера
     
  6. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Necromancer13
    ml /help
    link /?
     
  7. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    знаю, но тогда я просто увижу, какие параметры можно передавать...
    а где о кожном параметре узнать подробно?
     
  8. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Necromancer13
    http://msdn2.microsoft.com/en-us/library/s0ksfwcf(VS.80).aspx
    http://msdn2.microsoft.com/en-us/library/y0zzbyt4(VS.80).aspx

    А насчет кожного параметра... такого вроде нету... есть только внутривенный и параметр слизистой.
    [added]
    http://msdn2.microsoft.com/en-us/library/aa315128(VS.60).aspx
     
  9. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    спасибо, да.. то, что я просил...:)
    и еще один вопрос интересует... (не в тему, но просто не хочется отдельную тему создавать...):
    Есть ли портированный МАСМ под Линукс? можно как-то с помощью МАСМа компилировать програмы под Линукс? может надо просто линкер какой-то другой для этого? вообщем, есть ли возможность писать под Линукс с помощью МАСМа?:)
     
  10. NoResponse

    NoResponse New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2005
    Сообщения:
    89
    fasm с макросами эмулирующими (?) masm, вполне справляется
     
  11. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    NoResponse, не понял твое сообщение... =/
     
  12. Admirion

    Admirion New Member

    Публикаций:
    0
    Регистрация:
    22 дек 2007
    Сообщения:
    10
    Necromancer13
    как же ты cкомпилишь код с winapi функциями под *nix?
    если хочешь asm под *nix то смотри в сторону nasm, gas..
     
  13. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    GAS, LD, FASM, NASM
     
  14. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    Ну это я знаю, а именно МАСМа нету?:)
     
  15. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    ELF LINKER FOR TASM/MASM
     
  16. creeper

    creeper New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    132
    Necromancer13
    А почему вдруг МАСМ?
    *крипер посмотрел на подпись и задумался
     
  17. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    запусти qeditor.exe и открой справку
    там развернуто о каждом параметре линкера
     
  18. Necromancer13

    Necromancer13 Виталий

    Публикаций:
    0
    Регистрация:
    26 окт 2007
    Сообщения:
    202
    Адрес:
    Украина, Берегово
    Спасибо!:)

    :lol: да не... меня просто интересовало, можно ли на МАСМе писать проги под Линукс

    спасибо.. с этим я уже разобрался =)
     
  19. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Necromancer13
    Можно. Но нужно ли?
     
  20. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    SII
    [offtop]
    ну, на GAS'е же под винду можно :) но нужно ли :):):)
    [/offtop]