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

Discussion in 'WASM.ZEN' started by Rockphorr, Dec 26, 2010.

  1. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    вобщем, охота вручную директивой DB собрать инструкцию ret AX
    желание появилось после того как узнал, что в инструкциях BCD коррекции можно сменить базу
    в принципе есть вариант

    Code (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

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    мне масм32 ответили быстрей чем тут ... :dntknw: дзен блин
     
  3. FatMoon

    FatMoon New Member

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

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    суть вопроса:
    Code (Text):
    1. можно ли построить ret ax с помощью DB или такого кода инструкции не существует ?????
     
  5. t00x

    t00x New Member

    Blog Posts:
    0
    Joined:
    Feb 15, 2007
    Messages:
    1,921
    Rockphorr
    такой инструкции не существует (операнд невалидный).
     
  6. Rel

    Rel Well-Known Member

    Blog Posts:
    2
    Joined:
    Dec 11, 2008
    Messages:
    5,317
    [/DEL]
     
  7. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    t00x
    ясно, буду использовать уже приведённый вариант



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

    s_d_f New Member

    Blog Posts:
    0
    Joined:
    May 15, 2008
    Messages:
    342
    Да макросами все это легко разруливается.
    здесь aam и aad