Основные понятия
Не смотря на то, что язык программирования Ассемблера, в чистом виде, относительно редко используется на практике, его изучение является необходимой частью подготовки профессиональных программистов, поскольку позволяет шире понять принципы работы ЭВМ, операционных систем и трансляторов с языков высокого уровня.
Ассемблер – это программа, которая переводит текст с языка, понятного человеку, в язык, понятный процессору, то есть говорят, что она переводит язык ассемблера в машинный код.
Однако сначала в повседневной речи, а затем и в литературе слово «ассемблер» стало также и названием самого языка программирования. Когда говорят «программа на ассемблере», имеют в виду язык, а когда говорят «макроассемблер версии 6.13», имеют в виду программу.
Еще одна особенность ассемблера, отличающая его от всех остальных языков программирования, – возможность дизассемблирования. То есть, имея исполнимый файл, с помощью специальной программы (дизассемблера) почти всегда можно получить исходный текст на ассемблере.
Ассемблер является машинно-зависимым языком программирования. Программы, написанные на нем, выполняются быстрее, чем программы языков высокого уровня, так как ассемблер напрямую обращается к ячейкам памяти.
На ассемблере пишут:
1. все, что требует максимальной скорости выполнения: основные компоненты компьютерных игр, ядра операционных систем реального времени, критические участки программ;
2. все, что взаимодействует с внешними устройствами: драйверы, программы, работающие напрямую с портами, звуковыми и видео-платами;
3. все, что использует полностью возможности процессора: ядра многозадачных операционных систем, программы, переводящие процессор в защищенный режим;
4. все, что полностью использует возможности операционной системы: вирусы и антивирусы, защиты от несанкционированного доступа, программы, обходящие эти защиты, и программы, защищающиеся от этих программ.
Ассемблеры для ПК
MASM (Microsoft Assembler) позволяет программисту задавать макроопределения или макросы, представляющие собой именованные группы команд, которые используются в программе посредством указания имени макроса.
TASM (Turbo Assembler) интересен тем, что имеет два режима работы: MASM – поддерживает все основные возможности макроассемблера; IDEAL – предоставляет более удобный синтаксис написания программ, более эффективное использование памяти при трансляции программы и др.
NASM (Netwide Assembler) – продукт, бесплатно распространяемый в сети Internet.