Основы 32-битного программирования Windows

Недостатки языка АССЕМБЛЕРА

· В СИЛУ МАШИННОЙ ОРИЕНТАЦИИ («низкого уровня») языка ассемблера человек сложнее читать и понимать программу на нём по сравнению с языками программирования высокого уровня; программа состоит из слишком «мелких» машинных команд, соответственно, усложняются программирование и отладка, растет трудоемкость, велика вероятность внесения ошибок.

· Требуется высокая квалификация программиста

· Код на ассемблере выполняется быстрее но написанный неопытным программистом обычно оказываются хуже сгенерированного компилятором.

· Как правило меньшее кол-во доступных библиотек по сравнению с современными языками программирования.

· Отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.

Перерисовать схему

Двум стадиям трансляции соответствует две основыне программы: ассемблер ML.EXE и редактор связей LINK.EXE.

Файл с текстом программы на языке ассемблера называется Prog.asm

Тогда трансляции будут выглядеть следующим образом

Стадия 1 – в результате модуль PROG.OBJ

Стадия 2 – в результате появляется исполняемый модуль Prog.exe

 

Формат конечного модуля зависит от ОС. Установив стандарт на структуру объектного модуля, мы получаем возможность.

ü Использовать уже готовые объектные модули.

ü Стыковать между собой программы написанные на разных языках.

Если стандарт объективного модуля распространить на разные ОС, то можно использовать модули, написанные в разных ОС.

Программы для программирования на ассемблере.

Редакторы:

QEDITOR.EXE -поставляется вместе с пакетом.

MASAM32 Трансляция программ осуществляет пакетный файл ASSMBL.BAT который использует ассемблер ML.exe а результат ассемблирования направляются в текстовый файл ASMBL.EXE . Далее для просмотра этого файла используется простая утилита THEGUN.EXE Аналогично осуществляется редактирование связей. Для дизассемблирования исполняемого модуля используются утилита DUMPPE.EXE результат работы этой утилиты помещаются в текстовый файл DISASM.TXT.

Вторая программа – это EAS.EXE (Easy Assembler Shell). Редактор а точнее оболочка позволяет создавать и трасливровать довольно сложные проекты, состоящие из ASM OBJ RC RESS DEF файлов. Программа позволяют работать как TASM так и MASM а также с другими утилитами (отладчиками, редакторами ресурсов и др.)

Отладчики позволяют исполнять программу в пошаговом режиме. Несколько наиболее известных отладчиков CODE View (Microsoft), Turbo Debuggaer (Borland), Ice.

Дизассемблеры переводят исполняемый модуль в ассемблерный код. Примером простейшего дизассемблера является программа Dumppe.exe работающая в строковом режиме. Наиболее известные: W32Dasm IDA Pro.

Нех-редакторы

Редакторы ресурсов. Ресурсы – это готовые шаблоны которые можно включать в коды. Простые ресурсы можно создвать в обычном текстовом режиме