JMP как прыгнуть на известный адрес типа 0000:1111

Тема в разделе "WASM.BEGINNERS", создана пользователем renych, 14 авг 2007.

  1. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    Смысл такой:

    Код (Text):
    1. [ORG 0]
    2. .model tiny
    3. .code
    4. ;здесь кусок кода
    5. my_lable:
    ...

    допустим это загрузилось в 2700:0100
    далее я копирую всё это дело (512 байт) по другому адресу, в другой сегмент,
    допустим в 7000:1111, где 1111 является смещением метки my_lable
    далее мне необходимо передать управление на метку my_lable, но уже по новому адресу.
    в nasm`е можно было бы сделать так: JMP 0x7000:0x1111
    Вопрос: как это сделать в tasm`е?
    Спасибо.
     
  2. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    Код (Text):
    1. db EAh
    2. dw 1111h, 7000h
     
  3. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    Я только изучаю асм. ))
    можно пояснить, или тыкните носом в пример :)
    как это работает и что при этом происходит.
    спасибо )
     
  4. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    Я только изучаю асм. ))
    можно пояснить, или тыкните носом в пример :)
    как это работает и что при этом происходит.
    спасибо )
     
  5. AndNot

    AndNot New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2007
    Сообщения:
    49
    Код (Text):
    1. push 1111h
    2. push 7000h
    3. retf
     
  6. AndNot

    AndNot New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2007
    Сообщения:
    49
    Черт, невнимательно прочитал :) Нужно так:
    Код (Text):
    1.         push    segment
    2.         push    offset
    3.         retf
     
  7. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    протолкнуть в стек? об этом я не подумал )) ещё многому предстоит научиться ))
    но может быть кто нить знает, утоления жажды знаний ради,
    возможно ли такое посредством команды JMP?
     
  8. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    AndNot
    медленный вариант
     
  9. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    renych
    а что
    вариант
    Код (Text):
    1. jmp far 7000h:1111h
    не катит?
     
  10. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Видимо проблема тасма. Команда такая у асма существует и выглядит в виде опкода 0xEA OFFSET SEGMENT
     
  12. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    всем спасибо ))
     
  13. renych

    renych New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    13
    да кстати, может кому будет интересно.
    вот, что нашёл по этой теме у Криса Касперски:
     
  14. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    jmp far seg:offs прекрасно работает в TASM в режиме IDEAL.
    В режиме совместимости с masm заставить его ассемблировать это не удалось