Начинаем программировать, изучая ассемблер.
Задача сайта — обучение программированию на примере изучения ассемблера. Создание кода программы имеет много общего во всех языках программирования. Ассемблер универсальный язык — можно дезассемблировать любую программу, написанную на любом высокоуровневом языке (Си, C++, Delphy и др.) и изучив код использовать его как основу создания своих собственных программ. Полагаем, что усвоив общие принципы, методологию изучения конкретного языка программирования — ассемблера, для вас не составит труда самостоятельно освоить любой другой.
Сайт — это большой учебник по ассемблеру. Ассемблер изучается во всех направлениях: как самостоятельный язык программирования, как возможность увеличения эффективности кода программ, написанных на языках высокого уровня (Cи, С++), как основа изучения кода — для предотвращения взлома и обеспечения эффективной системы безопасности.
Мы начнём с 16-ти битного DOS программирования, рассмотрим 32 битное и перейдём к 64 битному Windows программированию. Ассемблерный код поможет Вам сделать первые шаги в направлении эффективного создания современных приложений.
Крохотный, оригинальный и сбалансированный код.
Когда-то, во времена появления первых доступных персональных компьютеров в постсоветском пространстве ассемблер пользовался огромной популярностью. Создание кода без ошибок, крохотного, оригинального, сбалансированного по размерам и скорости работы приветствовалось. Это были времена расцвета талантливых кодописателей и хакеров в хорошем смысле этого слова. Эти времена прошли. Последний «динозавр» — сайт WASM.RU ушёл с интернет-сцены в октябре 2016 года.
В настоящее время большинство программистов (впрочем, не только программистов) соревнуется друг с другом в скорости написания программ — необходим быстрый результат. В расцвете объектно-ориентированные и даже абстрактные языки программирования. Основная причина вроде логически объяснима: больше сделал за короткое время — больше и быстрее заработал.
Вместе с тем, теряется вкус к кодокопанию, к заинтересованности «как это работает», что несомненно ведёт к деградации мышления среднестатистического программиста. В реальности код упрощается, теряется его качество и новизна.
Создание кода на ассемблере — это искусство.
Навязываемые с помощью новых языков программирования методы создания программ, приводят к потере более простых, ранее наработанных способов достижения аналогичных целей, как говориться — «бьём из пушки по воробьям».
Требование к скорости создания кода невообразимо увеличивает его размеры, делает код не красивым для человека и сложно перевариваемым для современных машин, не смотря на их вычислительные мощности.
Вместо осмысления сути и создания красивого, оригинального кода мы всё чаще встречаемся с банальным копированием и воровством чужих идей и исходников.
Процветание объектно-ориентированного программирования ведёт к навязыванию реализации конкретных форм без проверки их безопасности и целесообразности. Программа строится из уже готовых блоков. Никого не интересует, из чего сделаны и как работают эти блоки. В результате мы видим похожие программы, решающие похожим образом однотипно похожие задачи.
Мы предлагаем Вам познакомиться с ассемблером, как с искусством создания эффективного кода.
Мы не настаиваем на том, что необходимо в любом случае использовать только ассемблер. Эффективное создание кода предполагает использование многогранных возможностей, которые доступны современному программисту. Но в некоторых случаях будет полезно покопаться в коде, понять реальную суть предлагаемых нам современных решений и может-быть попробовать сделать что-то своё, отличное от навязываемых шаблонов.