Информационные технологииStfw.Ru 🔍

Первая Программа на Assembler

🕛 17.09.2009, 12:53
С каждым годом выпускаются все более быстрые компьютеры, "усовершенствуются" языки программирования. Выходят новые версии всевозможных компиляторов. Для чего же нужен Assembler, если есть новая версия, скажем, Delphi?
Главное преимущество Assembler'а - то, что зная его, программист понимает как работает компьютер. Даже при написании програм на языках высокого уровня, Assembler позволяет улучшить результат, упростить отладку, избежать "ошибок компилятора". Обычно на Assembler'е пишут программы (или части программ), требующие максимальной скорости выполнения: ядро операционной системы, игры с большим количеством вычислений, драйверы устройств, большинство модулей для работы с графикой в реальном времени (кодеки и т.д.).
Также, этот язык нужен при написании программ, использующих нестандартные функции операционной системы. Иногда даже в самой обычной программе они необходимы. Не зная Assembler'а такую программу написать невозможно. Для программиста же на Assembler'е ничего невозможного нет!
- Многие думают, что Assembler - это сложный язык.
Одна из самых больших сложностей в написании программы - составление нормального алгоритма, что приходится делать на всех языках программирования. На Assembler'е программировать легче чем на другом языке, потому что он не накладывает на программиста никаких ограничений, и не навязывает каких-либо своих терминов и понятий, придуманных разработчиками компилятора.
Упрощает написание программ на Assembler'е использование функций операционной системы. Под DOS, сложнее программировать тем, что подобные ОС содержали мало встроенных функций. С появлением таких ОС как Windows, предоставляющих практически все необходимое, программировать стало также просто, как и на любом другом языке, но намного эффективней.

Первая Программа.


Начнем с пользовательских программ для Windows, для того чтобы показать как легко программировать на Assembler'е и чтобы вы научились с ним работать. Вот исходник вашой первой программы:
.386
jumps .model flat,stdcall

extrn MessageBoxA:proc
extrn ExitProcess:proc .data
MsgTitle db 'Первая программа',0
MsgBody db "Пример программы на Assembler'е",0 .code
start: call MessageBoxA,0,offset MsgBody,offset MsgTitle,0 call ExitProcess,0
ends
end start
Создайте пустой файл с расширением .asm, предположим c:\asm\fprog.asm, поместите в него этот исходник и откомпилируйте при помощи TASM'а (если он установлен в папку c:\asm\tasm\):

c:\asm\tasm\bin\tasm32 /s /m3 /ml c:\asm\fprog.asm,c:\asm\fprog.obj,c:\asm\fprog.lst
c:\asm\tasm\bin\tlink32 /Tpe /aa /c c:\asm\fprog.obj,c:\asm\fprog.exe,,c:\asm\tasm\lib\import32

Файл c:\asm\fprog.exe - ваша первая программа на Assembler'е!
Для программирования на Assembler'е вам понадобятся:
Книги:
Зубков С.В - Assembler - язык неограниченных возможностей. издательство ДМК - www.dmk.ru
Михаил Гук и Виктор Юров - Процессоры Pentium 4 Athlon и Duron - издательство Питер - www.piter.com

Рекомендуемое програмное обеспечение:
Текстовый редактор EditPlus - www.editplus.com от ES-Computing
Позволяет настроить инструменты для компиляции исходников, цвета, подсветка слов и т.д
Отладчик NuMega SoftIce
либо другие отладчики распространяемые вместе с соответствующими ассемблерами (Borland Turbo Debugger и т.д.)
Компиляторы:
Borland Turbo Assembler - TASM
Microsoft Macro Assembler - MASM - Позволяет компилировать VXD.
Исходные тексты не очень совместимы между этими двумя компиляторами, хотя и похожи.
Microsoft Developer Network - MSDN - Visual Studio
Документация по функциям Windows. 3 CD
Hex Workshop http://www.bpsoft.com
Средний редактор файлов в шестнадцатиричной системе.

Assembler   Теги:

Читать IT-новости в Telegram

Читайте также:

Assembler & Win32

Информационные технологии
Мы в соцсетях ✉