§ Здравствуйте!
Это — неказистый раздел об Ассемблере, точнее, только его кусочке. Так получилось, что программировать я приловчился под DOS — вследствие легкости программ и простоты их написания. Так что всеобъемлющей информации по Ассемблеру не предвидится. Однако, сам по себе Ассемблер — язык, обеспечивающий почти прямую связь с машинным кодом, на котором "говорит" компьютер, очень прост вопреки сложившемуся о нем впечатлению, но искусно программировать на Ассемблере, действительно, непростое занятие, и существует огромное количество различных его модификации — под ДОС, под Windows, Linux, а также и под другие модели систем и даже компьютеров.Я программист. Может быть, не из лучших, и даже не из средних. Но я программист-любитель, и считаю программирование искусством. Может быть, мои программы далеки от совершенства, но, я думаю, кому-нибудь они могут пригодиться. Также я хочу передать некоторый опыт в программировании на Ассемблере, может быть, объяснить принципы работы некоторых устройств, которые я смог понять, или выложить некоторые интересные алгоритмы. Потому я и открыл этот раздел. Я понимаю, что программистов среди населения немного, очень немного, и не все понимают информатику, что меня немного смущает — ведь, по сути, это очень просто. Так что приоткрыть завесу тайны на сей предмет будет очень даже нужно. Моими любимыми "наглядными сравнениями".
§ Зачем нужно программирование на Ассемблере?
Да и не только на нем. Есть множество языков высокого уровня — Паскаль/Delphi, Бейсик, и C/C++, который, однако, является как машинно-ориентированным, так и языком высокого уровня... Программирование на Ассемблере возникло почти в момент возникновения транзисторного компьютера, оно было нужно, чтобы упростить ввод машинных программ в компьютерную память. Нужен был язык, который бы обеспечивал связь между человеком и компьютером.Теперь же, во время высоких технологий, языков "высокого уровня", программирование на Ассемблере почти отпало. Постоянное ускорение процессоров, увеличение производительности и тактовых частот уже не требует поголовной оптимизации программы и четкого контроля за затраченными ресурсами. Так что язык Ассемблера сейчас считается "мертвым". Ну и правильно. Тем более, современные компиляторы могут оптимизировать код лучше всякого человеческого вмешательства.
Однако есть некоторые участки кода, которые иногда следовало бы оптимизировать человеку, а также — здесь это главное — искусство "завернуть" код так, чтобы он был как можно меньше и мощнее. Такие программы сейчас называются "демосценами" — demoscene, по ним проводятся конкурсы. Написание таких программ — своего рода упражнения для мозгов. Я из тех людей, которые следуют второму принципу для того, чтобы программировать только на Ассемблере.
Не только одно это подтолкнуло меня на этот путь. Алгоритмы и графика, скорость, эффектность и незначительные размеры выполняемого кода — вот что является теми причинами, по которым я выбрал программирование на Ассемблере. А, может быть, и по более простой причине — он мне нравится :) хотя разобраться в чужом коде мне "не светит" :D