1. Assembler / Говнокод #3988

    +231

    1. 1
    2. 2
    3. 3
    4. 4
    cmp [wparam],BN_CLICKED shl 16 + ID_HOTKEY
            je .sethotkey
            jmp .processed
    .sethotkey:

    O_o

    Запостил: Xekep, 15 Августа 2010

    Комментарии (7) RSS

    • А тут что не так?
      Ответить
      • Бля, туплю...
        jnz .processed же.
        Хотя, часто в дизассемблере видел похожее.
        UPD: Не успел, блин :)
        Ответить
    • cmp [wparam],BN_CLICKED shl 16 + ID_HOTKEY
      jne .processed
      .sethotkey:
      Ответить
    • если кто не в курсе условные переходы не поддерживают прыжок через большое количество байт. Так что это вполне логичный и валидный код. метка .processed может запросто находится в паре килобайт. вы наверно никогда не кодили реально большие проекты на асм-е)
      Ответить
      • это явно 32-битный код, а начиная с 386-го процессора имеются инструкции условных переходов полной длины
        Ответить
    • xD я всегда так делаю ыЫ
      Ответить

    Добавить комментарий