Ассемблеры для операционной системы Windows



Вместе с операционной системой Windows появилось расширение TASM, именуемое TASM32, позволившее создавать программы для выполнения в среде Windows. Последняя известная версия TASM – пятая, включая различные к ней дополнения. Но официально развитие программы полностью остановлено.

Ассемблер MASM предназначен для x86-микропроцессоров и ведет свою историю с 1981 г. Первоначально был создан корпорацией Microsoft для программирования в операционной системе MS-DOS. Долгое время он конкурировал по популярности с ассемблером TASM, пока последний ушел в небытие. В дальнейшем MASM был адаптирован для программирования в операционной системе Windows. Последние версии включены в наборы DDK (Driver Development Kit). В настоящее время корпорация Microsoft распространяет пакет MASM в составе пакета Visual Studio.NET (выпущена 64-битовая версия MASM и 64-битовый компоновщик LINK.EXE). Для более удобного создания программ на ассемблере для Windows, появился пакет, названный MASM32, поддерживаемый независимыми группами разработчиков. Пакет содержит большое количество примеров, библиотек, документации и утилит. Де-факто в настоящее время MASM среди других ассемблеров является законодателем мод в области программирования в операционной системе Windows. 

 

Ассемблеры для операционной системы Linux

Несколько иначе обстоит ситуация с ассемблерами для другой известной операционной системы Linux. В ее состав входит компилятор GCC (GNU Compiler Collection), включающий в себя ассемблер GAS (GNU Assembler). Поскольку GAS был разработан для поддержки компиляторов Unix, он использует стандартный синтаксис AT&T, который несколько отличается от большинства ассемблеров, основанных на синтаксисе Intel. Ассемблер GAS включен в стандартный комплект операционных систем линеек Unix и Linux и может быть запущен посредством утилиты GCC.

 

Ассемблер для операционной системы ReactOS

Ассемблер RosAsm – 32-битовый Win32-x86ассемблер, выпущенный согласно лицензии GNU GPL. 

Проект RosAsm поддерживает операционную систему ReactOS. RosAsm производится вместе с интегрированной средой программирования, в которую входят ассемблер, компоновщик, отладчик, редактор ресурсов, дизассемблер. 

 

Переносимые ассемблеры

Также существует открытый проект ассемблера, версии которого доступны под различные операционные системы и который позволяет получать объектные файлы для этих систем. Называется этот ассемблер NASM (Netwide Assembler). Ассемблер NASM – свободно распространяемый ассемблер (лицензия GNU LGPL). Ассемблер может быть использован для написания 16-, 32-, 64-битовых программ для различных платформ. NASM был создан Саймоном Тэтхемом совместно с Юлианом Холлом и в настоящее время развивается маленькой командой разработчиков. Первоначально он был выпущен согласно его собственной лицензии, но позже эта лицензия, после многочисленных проблем, была изменена на GNU LGPL. Ассемблер поддерживает множество форматов для различных операционных систем, что позволяет вести разработку для одной операционной системы, используя другую операционную систему. 

Ассемблер YASM – это переписанная с нуля версия NASM под лицензией BSD (с некоторыми исключениями). В настоящее время его развивает Питер Джонсон и Майкл Ерман. Будучи динамично развивающимся проектом, YASM предлагает прямую поддержку пользователей, которые ищут новые особенности. Кроме Intel-синтаксиса, применяемого, например, в NASM, YASM также поддерживает и AT&T- синтаксис, распространенный в Unix-системах. Ассемблер YASM построен модульно, что позволяет легко добавлять новые формы синтаксиса, препроцессоры и т. п.

FASM (Flat Assembler) – быстро развивающийся и завоевывающий популярность мультиплатформенный ассемблер, используют настоящие ценители языка. Автор FASM Томаш Грыштар. Этот многопроходной ассемблер распространяется с исходным кодом. Есть версии для операционных систем KolibriOS (написана на самом FASM), Linux и Windows. Использует Intel-синтаксис. FASM также поддерживает инструкции AMD64. 

Ассемблер написан на себе самом, поэтому является одним из самых быстрых. FASM обладает такими достоинствами: сильный макроязык, поддержка разнообразных форматов выходных файлов и несколько измененный в лучшую сторону, но немного непривычный для старой школы синтаксис. В большинстве случаев FASM позволяет обходиться без компоновщика. Но с ним можно использовать и обычные компоновщики (например, LINK.EXE), поскольку ассемблер поддерживает основные форматы объектных модулей.

 

AVR ассемблер

Микроконтроллеры прочно вошли в нашу жизнь. На микроконтроллерах можно собрать индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры), металлоискатели, игрушки, роботы и т. п. В настоящее время широкое распространение получили микроконтроллеры AVR фирмы Atmel. Объем памяти микроконтроллеров не превышает нескольких Кбайт. Поэтому размер программ для них должен быть минимизирован.

AVR ассемблер – родной язык программирования микроконтроллеров AVR. Преимущества программирования на ассемблере:

1) полный и непосредственный контроль над процессором;

2) программы занимают минимум объема памяти всех видов;

3) максимум быстродействия.

На данный момент существуют два компилятора производства Atmel. Вторая версия – попытка исправить не очень удачную первую.

 


Дата добавления: 2018-06-27; просмотров: 728; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!