- 1
- 2
- 3
mov ecx, 200h - 1
not ecx
and eax, ecx
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+205.2
mov ecx, 200h - 1
not ecx
and eax, ecx
Лень считать в уме
guest 11.03.2009 02:48 # 0
Для смертных объясните, пожалуйста.
guest 11.03.2009 03:01 # +2
TEH3OPHblu_nemyx 25.03.2019 01:49 # 0
bormand 25.03.2019 09:22 # +1
COTOHuHCKuu_nemyx 25.03.2019 09:44 # +1
TEH3OPHblu_nemyx 25.03.2019 13:41 # 0
bormand 25.03.2019 09:22 # 0
З.Ы. Бля, ниже всё это уже написали :(
COTOHuHCKuu_nemyx 25.03.2019 09:45 # 0
guest 11.03.2009 04:52 # −2
guest 11.03.2009 21:25 # +1
компиляторы ассемблера ничего не оптимайзят при компиляци, лол.
это выравнивание значения в eax вниз по фактору 200h
Можно было написать одной инструкцией:
and eax, 0FFFFFE00h
т.е. обнуление младших 9 битов, а не 17;)
guest 26.08.2009 01:11 # 0
COTOHuHCKuu_nemyx 25.03.2019 09:46 # 0
guest 14.03.2009 21:37 # 0
Говногость, компилятор при компиляции, но не ассемблер при ассемблировании :-P
guest 13.04.2009 15:35 # 0
>младшие 17бит в еах
9 бит ))
guest 14.04.2009 12:37 # 0
and eax, NOT 1FFh
— такое ассемблеры уже не понимают?
В любом случае, за использование дополнительного регистра хочется взять и ***ть.
guest 10.06.2009 23:19 # 0
Вообще-то после not ecx в ecx будет лежать 0xFFFFFE01.
Никакое это не выравнивание.
Про дополнительный код никто не слышал?
guest 10.06.2009 23:22 # 0
ведь это не neg, а not.
Pizurok 23.12.2010 22:34 # 0