Учебный курс. Часть 27. Синтаксис объявления меток

Автор: xrnd | Рубрика: Учебный курс | 03-11-2010

Не сомневаюсь, что объявлять метки вы уже научились 🙂 Однако, синтаксис FASM не ограничивается объявлением простых меток. В этой части мы рассмотрим дополнительную директиву для создания меток, а также научимся использовать локальные и анонимные метки.

В синтаксисе FASM существует 3 основных способа объявления меток:

1. Имя метки, после которого ставится двоеточие. Это самый простой способ. Обычно так объявляются метки в коде. (Подробнее об этом способе читайте в части 13 учебного курса)

exit_app:
    mov ax,4C00h
    int 21h

2. Использование директив объявления данных. Имя переменной является по сути той же меткой. Отличие от первого способа в том, что дополнительно с именем метки связывается размер переменной. (Подробнее читайте в части 5 учебного курса)

x db 5
y dw 34,1200,?
z rd 1

Читать полностью »

Учебный курс. Часть 13. Циклы и команда LOOP

Автор: xrnd | Рубрика: Учебный курс | 19-04-2010

До этой части все наши программы выполнялись последовательно — в них не было ветвлений и переходов. Сегодня мы научимся делать простейшие циклы. Циклом называется повторяющееся выполнение последовательности команд. Но для начала нужно научиться объявлять метки.

Синтаксис объявления меток

Метка представляет собой символическое имя, вместо которого компилятор подставляет адрес. В программе на ассемблере можно присвоить имя любому адресу в коде или данных. Обычно метки используются для организации переходов, циклов или каких-то манипуляций с данными. По сути имена переменных, объявленных с помощью директив объявления данных, тоже являются метками. Но с ними компилятор дополнительно связывает размер переменной. Метка объявляется очень просто: достаточно в начале строки написать имя и поставить двоеточие. Например:

m1: mov ax,4C00h
    int 21h

Читать полностью »