Как правильно писать смешной код

Дубровский
Nov 4 · 2 min read
Классический мем

Посмотрите внимательно на мем ниже. Классика.

Объяснять в чем тут юмор, я думаю, не надо. Но вы знаете что? Компилятор так не думает. Компилятор вообще много думает, особенно современный, и преобразует любую написанную вами дичь, во вполне приемлемый машинный код.

Машинный код мема

Как мы видим, даже, с точки зрения человека, долбанутый код, умненький компилятор превратил в три одинаковые команды.

Чтобы было понимание что происходит:

Перемещаем значение переменной i в буфер

mov eax,dword ptr [i]

Специальная команда ассемблера которая прибавляет 1 к значению переменной

inc eax

Возвращаем все в зад

mov dword ptr [i],eax

Вероятно создатели мема думали что машинный код должен был бы выглядеть как-то так.

Машинный код мема по версии создателей мема

Кстати, волшебное слово может превратить эту хохму в тыкву.

“Порченный” машинный код мема по версии создателей мема

Но тогда как же сделать мем действительно смешным для компилятора? Я вот решил сделать так.

Смешной машинный код мема по моей версии

Ах, доступ по адресу переменной, и вот, мы уже имеем дополнительную команду.

Ах, деление, обожаю.

Но поскольку мы должны писать хороший код, то неплохо бы продумать возможность деления на ноль. И заодно добавить еще несколько команд.

Вам смешно? Мне смешно.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade