Середовище|середа| розробки програм
Текстовий редактор - будь-який текстовий редактор, здатний|здібний| зберігати текстові файли у фopмaті ASCII (TextPad, NotePad або редактор з|із| пакету Microsoft Visual Studio).
Асемблер - Microsoft Assembler (MASM) версії 6.15.
У MASM входять наступні|такі| програми:
Асемблер - masm.exе;
Компонувальник (редактор зв'язків) : 16-розрядний LINK.EXE, і|та| 32 - розрядний LINK32.EXE
Асемблер і|та| компонувальник (Masm and Link) - ml.exe
Відладчик. OllyDbg. exe .
Для того, щоб можна було б запустити нашу програму в будь-якій папці, необхідно|треба| вказати шлях|дорогу| до програми-асемблера. Для цього необхідно|треба| створити змінні середовища|середи| або оточення (environment variable), значення яких формуються при завантаженні|загрузці| ОС і|та| реєстрації користувача в системі.
Нам знадобляться 3 системні змінні оточення для визначення місцезнаходження файлів :
PATH = C :\Masm615 - для виконуваних файлів;
INCLUDE=C :\Masm615\INCLUDE - для включаємих файлів;
LIB=C :\Masm615\LIB - для бібліотечних файлів.
Для задавання змінних оточення необхідно додати їх до вже наявних:
ОС Windows XP :
Панель управління ► Система ► Додатково ► Змінні середовища|середа|.
Windows 7:
Control Panel ► System and Security ► System ► Advanced system setting ► environment variable
Створення|створіння| програм
Первый способ создания программ
Для цього необхідно:
Створити файл, в якому зберігатиметься початковий|вихідний| текст програми і|та| зберегти його з|із| розширенням asm.
Створити командний файл, в якому знаходяться команди програмі-асемблеру в тій же папці, де розташована|схильна| наша програма.
REM data_make.bat
ML - c - Fl - coff file_name.asm
pause
Текст великих програм зберігається в багатьох файлах. Щоб отримати|одержувати| готову програму, тексти на асемблері перетворяться в об'єктні файли
ML - c - Fl - coff file_name.asm
Компілятор управляється 3 ключами|джерелами|:
-с - створюється тільки|лише| об'єктний файл з|із| розширенням .obj
-coff - визначає формат obj файлу (стандартний для Windows).
-Fl - створення|створіння| файлу лістингу.
Другий спосіб створення програм - програма, яка транслює сама себе.
Можна оформити текст програми так, щоб її можна було б запускати як ВАТ-файл, який її ж і транслював. Цей прийом заснований на тому, що командний процесор ігнорує знак ";". В асемблері ж цей знак використовується для позначення коментаря. У командному файлі команда goto masm використовується для переходу на мітку masm.
;goto masm
TITLE Процедура SubDigit Модуль proc_02_add.asm
.386 ; директива - описує тип процесора
; Intel 80386 і пізніші моделі
;
.model flat, stdcall ; директива - описує середовище розробки
; програми (ОС сімейства Windows)
;
ExitProcess PROTO : DWORD ; прототип функції ExitProcess -
;описує параметри процедури
;----------------------------------------------------------------------
.data ;директива визначення сегменту даних
a dword 5
b dword - 5
;-----------------------------------------------------------------------
.code ; директива визначення сегменту коду
start proc ; початок програми з ім'ям start
mov eax, a
add eax, b
INVOKE ExitProcess, 0 ; директива
start endp ;кінець програми з ім'ям start
end start ; кінець модуля, в якому процедура start
; є головною
;:masm
;ML -c -Fl -coff Int_bat.bat
;pause