Управление компиляцией

Тема в разделе "WASM.BEGINNERS", создана пользователем PE_Kill, 15 апр 2006.

  1. PE_Kill

    PE_Kill New Member

    Публикаций:
    0
    Регистрация:
    16 янв 2006
    Сообщения:
    107
    В процедуре на masm32 пытаюсь заменить джамп пуш-ретом, а масм перед ретом втыкает leave



    push label

    ret

    bla

    bla

    bla

    ret



    После компиляции

    push addr

    leave

    ret

    bla

    bla

    bla

    leave

    ret



    Подскажите, как это дело убрать...
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    фасм. или справка по option.
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    PE_Kill



    Заменить ret на retn.
     
  5. PE_Kill

    PE_Kill New Member

    Публикаций:
    0
    Регистрация:
    16 янв 2006
    Сообщения:
    107
    Спасибо. Asterix интересный ответ, много нового узнал :)
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    PE_Kill

    ок :)



    можно так:
    Код (Text):
    1. Message proc lpszMessage:DWORD
    2. option PROLOGUE:NONE
    3. option EPILOGUE:NONE
    4.   invoke MessageBox, hMain, [esp+0Ch], OFFSET szTitle, MB_OK or MB_ICONERROR
    5.   ret (sizeof DWORD)
    6. option PROLOGUE:PROLOGUEDEF
    7. option EPILOGUE:EPILOGUEDEF
    8. Message endp