Самоучитель по языку ассемблер(assembler)
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом без изменения настроек, вы даёте согласие на использование ваших cookie-файлов.
speech bubble

Самоучитель по языку ассемблер(assembler)

Самоучитель по языку ассемблер(assembler)

Содержание:

 

ВНИМАНИЕ! Данный самоучитель был написан много лет назад и его автор не сможет ответить на ваши вопросы. Курс по assembler предназначен для саморазвития. Если у вас хватает квалификации, можете предложить внести правки.

 

Введение

Для человека который заинтересовался программированием на ассемблере актуален вопрос - зачем он вообще нужен? Ведь сейчас существует достаточно большое количество эффективных сред программирования - Borland C++ Builder, Delphi, MS Visual Studio....к тому же все пишут на C/C++ Java, C#. Может сложиться впечатление что знание C++ и концепций ООП это признак профессионализма....те кто хоть как то знает технологию MS .NET могут подумать что она ставит крест на ассемблере...однако всё это не совсем так. По моему опыту программирования и общения с другими "программистами" могу сказать что любой человек который относит себя к профессии программиста должен понимать основные концепции работы операционных систем, архитектуру ПК, вобщем то - как вообще выполняются его программы на ПК! В противном случае он будет являтся лишь пользователем (возможно и опытным) тех средств (Delphi, Builder, ....) которые он использует, а не настоящим программистом! В идеале программист это хакер в первоначальном смысле данного слова - оно означает профессионала ДЕТАЛЬНО разбирающегося в своей области. Ну и конечно знание ассемблера приблизит вас к такому профессионализму.

На самом деле язык ассемблера выучить не сложнее чем любой другой, надо лишь приложить к этому свои усилия. Цель данного самоучителя - научить читателя базовым принципам программирования на ассемблере для архитектуры процессоров Intel.

В общем случае на ассемблере пишут:

  • Всё что требует максимальной скорости выполнения: ядра операционных систем реального времени, критические участки игр и программ
  • Всё что взаимодействует с внешними устройствами: драйвера , программы которые работают с портами, платами
  • Всё что полностью использует возможности операционной системы: вирусы и антивирусы, защиты доступа и прочее

В данном самоучителе будет представлено последовательно программирование на ассемблере начиная с DOS и заканчивая Windows. Именно такая последовательность принята в большинстве книг и является наиболее удобной. Именно DOS не накладывает жестких ограничений на модель программирования и позволяет понять базовые принципы, хотя данная ОС давно уже не актуальна. А вот применительно к программированию под Winows ассемблер и сейчас актуален поскольку позволяет создать удивительно маленькие и быстрые по размеру приложения, особенно если сравнивать с языками высокого уровня ну и конечно драйвера.

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

 

Инструментарий

Для изучения ассемблера вам понадобится какой нибудь компилятор, их великое множество, но мы рассмотрим лишь основные tasm 5.0 и masm 8.0 В принципе версия не важна, поэтому скачайте в интернет любой из них. Данные компиляторы совместимы между собой и примеры можно будет компилировать любым. Тем не менее как вы увидите под Windows программировать проще на masm, а вот под дос как нельзя лучше подходит tasm, но это, вообще говоря, кому как. Ну и естественно вам потребуется какой либо текстовый редактор, хоть даже блокнот (под дос Edit) из специализированных отмечу AsmEdit. Кроме этого вам потребуется отладчик чтобы искать ошибки в программах: под дос рекомендую Turbo Debugger из пакетов BP или BC фирмы borland. Под Windows подойдёт OllyDbg. А вот мощный SoftIce не рекомендую, уж больно сложен для новичков. В принципе я уже сказал что все программы найдёте в интернете...

Кроме того еще следует отметить что мы будем программировать на ассемблере для реального режима процессоров Intel, поскольку программирование защищенного режима достаточно сложная вещь, которая не нужна для изучения ассемблера и потому выходит за рамки данного самоучителя. Кто заинтересуется тот может почитать на эту тему докуметацию Intel и книгу Зубкова. Хотя отдельные аспекты защищенного режима мы всё же рассмотрим.

 

Материалы для скачивания

 

Всю дополнительную информацию вы найдёте в следующих книгах и источниках:

  1. Зубков С.В. «Ассемблер для DOS, Windows, Unix». – М.: ДМК Пресс,2000. – 608 c.:ил
  2. Пильщиков В.Н. Программирование на языке Ассемблера IBM PC. – М.: Диалог МИФИ, 1996. – 286 с.
  3. Юров Б. Assembler: учебник. – СПб: Изд-во «Питер», 2000. – 684 с.
  4. Сван К. Освоение Turbo Assembler. – Киев: Диалектика, 1996. – 544 с.
  5. Верма Р.Д. «Справочник по функциям Win32 API». – М.:Горячая линия – Телеком, 2002. – 488 с.: ил.
  6. Туториалы ICZELION

 

Для комментирования необходимо авторизоваться