Сборный / Говнокод #690 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
mov ecx, 200h - 1
not ecx
and eax, ecx

Лень считать в уме

Запостил: guest guest, (Updated )

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

  • Особо извращенный способ обнулить младшие 17бит в еах. Автор видимо был пьян.
    Ответить
  • такие вещи считает компилятор при компиляции, лол.
    Ответить
  • говнокодер:
    компиляторы ассемблера ничего не оптимайзят при компиляци, лол.

    это выравнивание значения в eax вниз по фактору 200h
    Можно было написать одной инструкцией:
    and eax, 0FFFFFE00h
    т.е. обнуление младших 9 битов, а не 17;)
    Ответить
  • Onotole:
    Говногость, компилятор при компиляции, но не ассемблер при ассемблировании 😛
    Ответить
  • Гость:
    and eax, NOT 1FFh
    — такое ассемблеры уже не понимают?
    В любом случае, за использование дополнительного регистра хочется взять и ***ть.
    Ответить
  • Эх вы, программеры.
    Вообще-то после not ecx в ecx будет лежать 0xFFFFFE01.
    Никакое это не выравнивание.
    Про дополнительный код никто не слышал?
    Ответить
  • ага клинануло маленько.
    ведь это не neg, а not.
    Ответить
  • Аццки извращённый способ обнулить ecx) зачёт))
    Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8