Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 10

Спасибо! Очень интересно про такое почитать!

Напомнило время где-то лет 15 назад, когда мы на одном форуме небольшой кучкой соревновались в минимизации кода для микроконтроллера. Ну типа, ставится задача - и каждый выкладывает свой код, который можно протестить на симуляторе (или в железе, кому не лень). Например, вывод сообщения в виде бегущей строки на 7-сегментных индикаторах, или просто "помигать светодиодом". Тогда тоже начальный код был около 200 байт, а конечный - около 15. Причём, первые пару дней вываливали кучу версий всё короче и короче, потом проходило всё больше времени, и все уже думали - ну вот, предел, короче ну никак нельзя. А потом кто-то выкладывал ещё короче, и все поражались, какие там хитрости были применены...

Да и в более поздние времена, был какой-то проект ("Пингуем!" вроде бы, или что-то такое), там была задача по написанию какой-то программы, но на python, в минимальном виде. Так народ такое выдавал, что на код без подробнейшего объяснения нельзя было и смотреть - это была магия какая-то. И тоже счёт на байты шёл.

Простите, но у Вас битая ссылка

Выше привёл ссылку, у нас комментарий был с разницей в несколько секунд.

А вот вопрос «Стоит ли это приложенных усилий?» уже заслуживает отдельного обсуждения».

Не стОит, всё-таки :3

Блин, думал aspack под elf64 завезли....

Можно ли здесь заменить

xor eax, eax

inc eax

на

and eax, 1

?

Сколько эта команда займёт байтов?

Нельзя, так как в eax может быть что угодно. Например, 2. И тогда результат будет ноль. При этом размер команды минимум 5 байт.

Вот интересно, в 64-битном исполнении mov ax, 1 сколько байт ест, и правит ли остаток rax?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий