0
- 21.05.2016 - 23:08
|
Раньше я был линуксовым админом, но последние лет 5 я как-то отошел от этого. Занимался то хранилками, то вмварями, из юниксов - AIX, который, как бы, не является образцом последних технологий. А вот сейчас снова заинтересовался. Почитал - вроде, все массово переходят на systemd. В 7-й центоси вместо iptables какой-то файервол, основанный на зонах (цысь такое уже довольно давно ввела) Девопсы радуются docker, puppet, прочим интересным штукам... В направлении бигдаты тоже очень интересно. А что еще изменилось? Какие еще ранее известные компоненты\софт ушли в прошлое, что из "must have" появилось? | |
81
- 14.06.2016 - 19:05
|
Кстати, второй хороший вопрос что это? r/m32,r32 | |
82
- 14.06.2016 - 20:08
|
>Да не ловил я вас, зачем это мне, просто спросил, а ответ плохой. Вам не нравится - вы и страдайте. Я вам тоже задал пару вопросов и ответ - рукалицо. >Чего не выполняет пример, оч. любопытно. Не обнуляет произвольную выбранную ячейку памяти (без дополнительных действий). >Кстати, второй хороший вопрос >что это? r/m32,r32 То есть вы привели пример, даже не понимая, что все эти буковки означают? Да вы прям праздник какой-то. Ну да ладно, для убогих разберем. r/m32 означает регистр(si, di, bp, bx) или пару регистров (bp:si, bp:di, bx:si, bx:di - если адресация по базе), содержащий адрес ячейки в памяти, к которой применяется команда. 32 - количество бит выбранной ячейки памяти. r32 - это содержимого 32-битного регистра общего назначения. Так вот, что же делает команда xor r/m32,r32? А она выполняет команду xor между ячейкой памяти и регистром и результат записывает в ячейку памяти. И ноль будет записан только в том случае, если эти значения равны, то есть с вероятностью 1 к 4 с лишним миллиардам. Ну или предварительно нужно прочитать содержимое этой ячейки памяти в вышеуказанный регистр, но это уже к самой команде xor отношения не имеет. И после всего этого вы считаете, что имеете моральное право проверять чьи-то знания? | |
83
- 14.06.2016 - 20:29
|
ДДМ, Маэстро, поздравляю, вы что-то начали догонять) Так что там про обнуление данных? Вы за, или против? | |
84
- 14.06.2016 - 20:35
|
37 1. Зачем использовать команду xor, когда вы хотите обнулить данные. 57 37-Добрых дел мастер > чета хреново вы выучили ассемблер, xor не обнуляет данные. 59 2Перпетум Мобиле. щито? ДДМ, вы понимаете полёт своей мысли? | |
85
- 14.06.2016 - 20:38
| да, похоже я начинаю догонять, что мне скучно вести этот разговор со стенкой. | |
86
- 14.06.2016 - 20:48
|
Скушно догонять, что вы обкакались? Вряд ли это скушно, скорее грустно. | |
87
- 14.06.2016 - 23:13
| Добрых дел мастер, ты баловался резидентами или вирусами? Вроде больше нигде экономия целого байта на операцию не была столь критична. | |
88
- 14.06.2016 - 23:53
|
1. очень давно и только в учебных целях. Ничего деструктивного не делал. 2. Еще подобные вещи применимы при написании, например, компиляторов. Оптимизация кода, и все такое. А если поднапрячься - думаю, можно еще много применений найти. 3. Дело в том, что в учебнике, по которому я занимался, это было написано так, как будто знать это абсолютно естественно. 4. Ну и ради справедливости, 1 байт - это при использовании 16-битрых команд. Чем больше разрядность - тем больше разница. | |
89
- 15.06.2016 - 00:02
|
*16-битных. В частности, xor eax, eax - 2 байта, а mov eax, 0 - 5 байт (4 из которых - 32-битный ноль). | |
90
- 16.06.2016 - 10:09
|
зы. что лучше применить, xor или mov нуля по факу определяет количество тактов процессора при выполнении этих команд. и так и так работать будет, и как раз оптимизация прог на асме и сводилась к тому, чтобы работало быстрее.... Давно прошли те времена, когда что-то оптимизировали, сейчас и скорости и памяти до задницы... | |
91
- 16.06.2016 - 15:53
|
88-Добрых дел мастер > это повезло с учебником. Мы всё это узнавали расковыривая вирусы. Ещё студентами и практически без док. Пытаясь понять как же оно работает. Антивирусы были ещё редкостью, а лечиться надо было как-то. Ну и про один байт - это я так, утрировал. Там миллион же мелких оптимизаций был, типа однобайтового cwd вместо xor dx,dx для отдельных ф-ий int 21. | |
92
- 16.06.2016 - 16:05
|
90-Перпетум Мобиле > я поэтому и уточнял у ДДМ не хулиганил ли он) В старые времена далеко не все задачи требовали оптимизации по скорости. Да и сейчас старая хохма про "когда ты пишешь int вместо short - кто-то вынужден докупать планку памяти" кажется ещё актуальной. | |
93
- 16.06.2016 - 16:34
|
2Перпетум Мобиле. Вы серьезно? Зачем делать плохо, когда можно делать хорошо? Я конечно не имею в виду, что не надо писать на РНР, надо на ассемблере: тут производительность\расход памяти ставится в жертву ради быстрого написания. Конечно же, я скорее говорю об оптимизации, выполняемой компилятором. Все-таки сейчас мало кто готов вбухать такие трудозатраты ради экономии. 2kass. Ага, повезло. А потом, когда на 1 курсе начали преподавать паскаль, у меня были серьезные проблемы из-за этого. Во-первых, я очень привык к jmp(j**) и loop, а это не православно в языках высокого уровня. Во-вторых, я пытался применить вышеуказанных xor для обнуления переменных (не понимая, что должно получиться). Ну и много всего. В общем, весело было. | |
94
- 16.06.2016 - 18:01
|
ДДМ, странный вы поц, ей богу, много словов, это зачем? я бы проще сказал, одним предложением, двумя операндами для xor память не может быть И всё) | |
| Интернет-форум Краснодарского края и Краснодара |