Програмування мовою асемблера

Кожна команда мови асемблера у вихідній програмі може мати до чотирьох полів наступного виду:

[Мітка:] Мнемокод [Операнд] [;Коментар] .

Поле операнда заповнюється лише для тих команд, яким потрібний операнд. Квадратні дужки показують, що ці поля не є обов'язковими. Можна набирати вміст поля в будь-якому місці рядка, але обов'язково розділяти поля хоча б одним пропуском.

Поле мітки служить для присвоєння імені команді мови асемблер. На цю команду можуть посилатися інші команди програми. Мітка містить до 31 символу і має закінчуватися двокрапкою (:). Мітку можна починати з будь-якого символу, окрім цифри. Не використовуються як позначки службові слова.

Поле мнемокода містить ім'я команди мікропроцесора. Імена складаються з двох шести літер. Для трансляції кожного мнемокода програми у його числовий еквівалент асемблер використовує внутрішню таблицю.

У багатьох командах, крім мнемокода, треба вказати один чи два операнди. Асемблер по мнемокоду дізнається, скільки має бути операнда і якого типу, а потім обробляє поле операнда.

У командах з двома операндами перший з них являє собою приймач, а друге джерело. При виконанні команди операнд-джерело ніколи не змінюється, тоді як операнд-приймач змінюється майже завжди.

Команди, записані на асемблері, перетворюється транслятором на машинні команди або об'єктний код .

Адреса операнда можна модифікувати по одному або двох регістрів. У першому випадку як регістр-модифікатор можна використовувати регістр BX, BP, SI або DI (і ніякий інший). У другому випадку один із модифікаторів повинен бути регістром BX або BP, а інший - регістром SI або DI; одночасна модифікаціяпо BX і BP або SI та DI неприпустима.

A[M] : A ісп = A+[M] (mod 2 16 )

A[M1][M2]: A ісп = A+[M1]+[M2] (mod 2 16 )