Про FASM и JMP

Тема в разделе "WASM.ASSEMBLER", создана пользователем TheExplorer, 19 ноя 2005.

  1. TheExplorer

    TheExplorer New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2005
    Сообщения:
    9
    Вопрос в следующем: если написать в FASM JMP NEAR <какой-то адрес>, то компилятор сгенерирует смещение относительно этого адреса и команды JMP. Можно ли заставить компилятор сгенерировать команду со значением, указанным "как есть" в команде, т.е. руками указать смещение?
     
  2. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
  3. TheExplorer

    TheExplorer New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2005
    Сообщения:
    9
    Black_mirror

    как в TASMe? :)
     
  4. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    TheExplorer

    Как в тасме я уже не помню, если тебе нужно не константное смещение, а переход именно по конкретному адресу используй:


    Код (Text):
    1. jmp seg:target



    Код (Text):
    1. mov eax,target
    2. jmp eax



    Код (Text):
    1. push target
    2. ret
     
  5. MCL

    MCL New Member

    Публикаций:
    0
    Регистрация:
    21 апр 2005
    Сообщения:
    21
    Можно еще и так:
    Код (Text):
    1. db 0EB, offset
     
  6. Storm

    Storm New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2005
    Сообщения:
    3
    Адрес:
    Ukraine
    mov eip,offset



    Если не ошибаюсь, должно работать

    сам никогда не пробовал
     
  7. bober

    bober New Member

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







    Круто, у меня работает:)
     
  8. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Тля, революционная инструкция! Даешь mov eip народу!