извращения с инструкцией ret

Тема в разделе "WASM.ZEN", создана пользователем Rockphorr, 26 дек 2010.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    вобщем, охота вручную директивой DB собрать инструкцию ret AX
    желание появилось после того как узнал, что в инструкциях BCD коррекции можно сменить базу
    в принципе есть вариант

    Код (Text):
    1. lea BX,$exit
    2.  mov CS:[BX+1],AX
    3.  
    4. $exit:
    5.  BYTE 0CAh ;opcode(retf)
    6. WORD 0
    забыл проверить, что получиться из retf 0
    CB или CA 0000

    кто-нибудь знает код ret ax ??? или он не существует ???
     
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    мне масм32 ответили быстрей чем тут ... :dntknw: дзен блин
     
  3. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    А на что тебе отвечать, если вопроса не было? Охота вручную... ну вперед :) Забыл проверить... ну проверь. Наверно можно. Перед собираемым так ret'ом надо делать jmp, наверно. Чтоб наверняка кеш перегрузился. А вообще, практика - лучшая проверка. с нулем команда должна нормально выполниться, меня больше смущает кэширование инструкций, что-то такое было когда-то проверкой - 486 или пентиум.
     
  4. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    суть вопроса:
    Код (Text):
    1. можно ли построить ret ax с помощью DB или такого кода инструкции не существует ?????
     
  5. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Rockphorr
    такой инструкции не существует (операнд невалидный).
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.317
    [/DEL]
     
  7. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    t00x
    ясно, буду использовать уже приведённый вариант



    FatMoon
    проверил - масм рассчитывает константу после ret и если она равна нулю то пишет CB
    заставить масм сгенерировать инструкцию CA 0000 без db + dw у меня не получилось
     
  8. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Да макросами все это легко разруливается.
    здесь aam и aad