Психолого-педагогический журнал Гаудеамус, №2 (16), 2010
К ВОПРОСУ РАЗРАБОТКИ ИНФОРМАЦИОННОГО РЕСУРСА ПО ЯЗЫКУ ASSEMBLER
С.С. Поляков, К.Г. Мирошников
Тамбовский государственный университет имени Г.Р. Державина, г. Тамбов, Россия
Язык Assembler служит для взаимодействия операционной системы и прикладного программного обеспечения с аппаратными ресурсами. Поэтому он продолжает оставаться актуальным языком программирования и на сегодняшний день. Однако современных и простых в изложении источников информации по языку Assembler не существует. Вследствие чего возникла необходимость создания информационного ресурса.
В информационный ресурс будет включена следующая информация:
- теоретический материал по языку Assembler;
- примеры программ;
- дополнительный материал, посвященный трансляторам и средам разработки программного обеспечения (IDE).
Рассмотрим краткое описание средств работы с ассемблером, отражающее суть данного информационного ресурса.
Ассемблеры, как правило, специфичны архитектуре процессора, операционной системе (платформе) и вариантам синтаксиса языка. Вместе с тем, есть трансляторы, способные собирать машинный код для других процессорных архитектур и операционных систем. В качестве примера крупных разработок могут выступать: MASM, NASM, YASM, FASM, TASM, HLASM, GAS. Самыми распространенными и хорошо документированными, по мнению авторов, являются: MASM [3], NASM [4], YASM [5].
MASM (Macro Assembler - макроассемблер) - ассемблер корпорации Microsoft с поддержкой макросов. Используется синтаксис Intel. Поддерживаемые процессоры: Intel x86 16/32/64. Поддерживаемые платформы: MS-DOS, Windows. Выходные фай-
лы: Microsoft OMF, COFF. Транслятор
(ml.exe) интегрирован в среду разработки Microsoft Visual Studio Express.
NASM (Netwide Assembler - расширенный ассемблер) - свободно распространяемый по лицензии BSD x86-транслятор ассемблера. Использует синтаксис Intel и макроязык, не совместимый с MASM. Поддерживаемые процессоры: 16/32-бит (Intel x86-16/32), 64-бит (x86-64/x64/AMD64/Intel 64). Поддерживаемые платформы: MS-DOS,
Windows, Linux и BSD. Выходные файлы: Microsoft - 16-битный OBJ, 32-битный Win32, 64-битный Win64; UNIX и *BSD -
a.out, ELF, COFF, Mach-O. NASM можно использовать в Microsoft Visual Studio 2008 вместо стандартного транслятора MASM.
YASM («Yes, it’s an assembler» - «Да, это ассемблер») - совместимый с NASM транслятор, поддерживающий синтаксисы AT&T и Intel. Распространяется по лицензии BSD. Поддерживаемые процессоры: x86 16/32/64, AMD64. Поддерживаемые платформы: MS-DOS, Windows, Linux и BSD. Форматы выходных файлов: binary, ELF32, ELF64, 32/64-bit Mach-O, RDOFF2, COFF, Win32/64. YASM может быть интегрирован в Microsoft Visual Studio 2005/2008 и 2010.
Так как использовать трансляторы ассемблера с помощью консольных команд или bat-файлов для крупных проектов неудобно, то для оптимизации этого процесса применяются IDE, например: RadASM, WinAsm Studio, EasyCode, Negatory Assembly Studio, Source Insight, GSS Visual Assembler, SlickEdit.
На взгляд авторов, современными, удобными в использовании и доступными из выше перечисленных IDE следующие: RadASM [2], WinAsm Studio [6], GSS Visual Assembler [1]. Их характеристики приведены в таблице 1.
Таблица 1
Характеристики выбранных IDE
Название Разработчик Лицензия Основные возможности Поддерживаемые трансляторы
RadASM Ketil Olsen Freeware - настраиваемая подсветка синтаксиса; - менеджер проектов; MASM, TASM, NASM, FASM, GoAsm, FHLA,
1. Исследование процессов информатизации системы образования в условиях глобализации
- полная настройка ГОЕ; - отладка программ; - поддержка плагинов; - справочная система; - примеры использования HLA
WinAsm Studio Antonis Kyprianou Freeware - подсветка синтаксиса; - авто дополнение кода; - менеджер проектов; - полная настройка ГОЕ; - поддержка плагинов; - примеры использования MASM, TASM, FASM, и др.
GSS Visual Assembler General Software Systems Trial - настраиваемая подсветка синтаксиса; - отладка программ MASM, TASM, NASM, WASM и др.
Информационный ресурс может использоваться студентами вузов, программистами, IT-специалистами и всеми, желающими изучить язык Assembler.
Литература
1. GSS Visual Assembler. URL: http://sites. google. com/site/gssvisasm/
2. RadASM Win32 Assembly IDE. URL: http://radasm.cherrytree.at/radasm/
3. The MASM32 SDK. URL: http://www. masm3 2. com/index. htm
4. The Netwide Assembler. URL: http://www. nasm.us/
5. The Yasm Modular Assembler Project. URL: http://www.tortall.net/projects/yasm/
6. Winasm.net. URL: http://www.winasm.net/