Продолжаю мучить вас ассемблером. Хотя вот здесь в комментариях многие сошлись во мнении, что ассемблер нахрен никому не нужен, я с этим не согласен. Совсем не согласен.
Многим не нужна и физика, и математика. Уткнувшись в свои смартфоны, они погружаются в виртуальный мир и искренне считают, что булки растут на деревьях, забывая при этом, что без физики и математики не было бы никаких смартфонов.
Многим не нужны ни литература, ни искусство. Пожрать да поспать. Потреблядство - смысл жизни. Ну да ладно. Не будем погружаться в дебри социальных неурядиц.
Лично я считаю, что ассемблер и язык ассемблера нужны хотя бы потому, что это интересно. Их изучение позволяет лучше понять, как устроен компьютерный мир. И кроме всего прочего развивает мозг. Так что про ассемблер я буду писать и дальше. А сегодня раскрою небольшой секрет - почему опытные программисты используют
XOR AX, AX
вместо
MOV AX, 0
Как вы думаете? Если знаете - не подсказывать )))
Что такое XOR рассказывать не буду - подробности здесь: статья и видео.
Расскажу только суть. Дело в том, что команда XOR выполняется быстрее, чем команда MOV. В этом и смысл. Хотя команда MOV более понятна и смотрится более логично.
Скажите, какой смысл экономить какие-то микро- или даже наносекунды на современных компьютерах? Ну если в вашей программе одна такая команда, то смысла нет. А вот если тысяча?
В итоге некоторые программы грузятся несколько секунд или даже минут, и работают на новых компах так, как-будто у вас Pentium I, а не Intel Core.
Тот же итог - обнуление регистра - можно получить с помощью команды SUB:
SUB AX, AX
Здесь мы вычитаем число из самого себя, в итоге получаем 0. И команда SUB работает также быстрее, чем MOV. Хотя в примерах исходных кодов вы чаще встретите первый способ, то есть команду XOR.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.