пам'яті для програм і даних і т.д.
Команда на Асемблері складається з чотирьох полів:
[<ім'я> [:]] <код операції> [<Операнди>] [; коментарі]
Поля відокремлюють один від одного хоча б одним пропуском. У квадратних дужках вказані необов'язкові поля, всі поля, крім <код операції>, можуть бути відсутні. <Ім'я>- Символічне ім'я Ассемблера. Ім'я використовується в якості мітки для звернення до цієї команди, передачі управління на дану команду, [:] після імені означає, що мітка є внутрішньою. Код операції визначає, яку дію має виконати процесор. Поле <операнди> містить адреси даних, або дані, які беруть участь в операції, а також місце розташування результатів операції. Операндів може бути від 1 до 3, вони відокремлюються один від одного комою. Коментарі відокремлюються крім пробілу ще й «;» і можуть займати весь рядок або частину рядка.
Наприклад:
M1; команда безумовної передачі керування на команду з міткою M1.
-----------/-------/------------
M1: MOV AX, BX; пересилання вмісту регістра BX в регістр AX.
-----------/--------/------------
У коментарі будемо записувати у вигляді (BX) AX
Директива, як і команда, складається з чотирьох полів:
[<ім'я>] <код псевдоопераціі> <Операнди> [; Коментарі]
Тут <ім'я>- Символічне ім'я Ассемблера, <код псевдоопераціі>- Визначає призначення директиви. Операндів може бути різна кількість і для однієї директиви.
Наприклад:
M1 DB 1, 0, 1, 0, 1
Директива DB визначає 5 байтів пам'яті і заповнює 0 або 1 відповідно, адресу першого байта визначається символічним ім'ям М1.
M2 DB?,?,?
Директива DB визначає три байта пам'яті нічим їх не заповнюючи, адресу першого - M2.
PP1 Proc FAR; директива початку процедури,
PP1 endp; директива кінця процедури,
SS Segment; директива початку сегменту,
SSends; директива кінця сегмента.
Вихідний модуль на Асемблері це послідовність рядків: команд, директив і коментарів. Вихідний модуль проглядається Ассемблером, поки не зустрінеться директива end. Звичайно програма на Асемблері складається з трьох сегментів: сегменту стека, сегмента даних, сегмента коду.
; сегмент стека
Sseg Segment ...
---/-----
Sseg ends
; сегмент даних
Dseg Segment ...
----/-------
Dseg end
; сегмент кодаSegment ...
----/-------end start
Кожен сегмент починається директивою початку сегмента - Segment і закінчується директивою кінця сегмента - ends, в операндах директиви Segment міститься інформація про призначення сегмента, крім того в кодовому сегменті безпосередньо за директивою Segment повинна бути спеціальна директива, що встановлює відповідність між іменами в директивах Segment і сегментними ре...