Курс лекций по программированию на языке ассемблера. Макурина Т.А. - 15 стр.

UptoLike

Составители: 

15
[‘класс’] – это заключенная в кавычки строка, помогающая компоновщику определить
соответствующий порядок следования сегментов при сборке программы из сегментов нескольких
модулей. Компоновщик объединяет вместе в памяти все сегменты с одним и тем же именем
класса.
[ тип размера памяти] – Для процессоров i80386 и выше сегменты могут быть 16- или 32-
разрядными. Это влияет прежде всего на размер сегмента и порядок формирования физического
адреса.
USE16 – это означает, что сегмент допускает 16 разрядную адресацию. (Такой сегмент
может содержать до 64Кбайт кода или данных)
USE32 – сегмент будет 32 разрядным. При формировании физического адреса может
использоваться 32-разрядное смещение. Поэтому такой сегмент может содержать до
4Гбайт кода или данных.
Существуют упрощенные директивы определения сегмента.
.CODE [ИМЯ] – начало сегмента кода
.DATA – начало сегмента данных
.CONST – начало и продолжение сегмента постоянных данных.
.DATA? – начало и продолжение сегмента неинициализированных данных.
.STACK – начало и продолжение сегмента стека модуля
Псевдооператоры DB, DW, DD
DB – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
один или несколько байт.
Формат:
[имя] DB выражение[,…]
DW – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
lдвухбайтовые слова.
Формат:
[имя] DW выражение[,…]
DD – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
четырехбайтовые слова.
Формат:
[имя] DD выражение[,…]
DF – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
шестибайтовые слова.
Формат:
[имя] DF выражение[,…]
DP – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
шестибайтовые слова.
Формат:
[имя] DP выражение[,…]
DQ – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
восьмибайтовые слова.
Формат:
[имя] DQ выражение[,…]
DT – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
десятибайтовые слова.
Формат:
[имя] DT выражение[,…]
Пример:
.DATA
[‘класс’] – это заключенная в кавычки строка, помогающая компоновщику определить
соответствующий порядок следования сегментов при сборке программы из сегментов нескольких
модулей. Компоновщик объединяет вместе в памяти все сегменты с одним и тем же именем
класса.
[ тип размера памяти] – Для процессоров i80386 и выше сегменты могут быть 16- или 32-
разрядными. Это влияет прежде всего на размер сегмента и порядок формирования физического
адреса.
   • USE16 – это означает, что сегмент допускает 16 разрядную адресацию. (Такой сегмент
       может содержать до 64Кбайт кода или данных)
   • USE32 – сегмент будет 32 разрядным. При формировании физического адреса может
       использоваться 32-разрядное смещение. Поэтому такой сегмент может содержать до
       4Гбайт кода или данных.
Существуют упрощенные директивы определения сегмента.
.CODE [ИМЯ] – начало сегмента кода
.DATA – начало сегмента данных
.CONST – начало и продолжение сегмента постоянных данных.
.DATA? – начало и продолжение сегмента неинициализированных данных.
.STACK – начало и продолжение сегмента стека модуля

                            Псевдооператоры DB, DW, DD
DB – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
один или несколько байт.
Формат:
[имя] DB выражение[,…]

DW – определяет переменную или присваивает ячейке памяти начальное значение. Резервирует
lдвухбайтовые слова.
Формат:
[имя] DW выражение[,…]

DD – определяет переменную   или присваивает ячейке памяти начальное значение. Резервирует
четырехбайтовые слова.
Формат:
[имя] DD выражение[,…]
DF – определяет переменную   или присваивает ячейке памяти начальное значение. Резервирует
шестибайтовые слова.
Формат:
[имя] DF выражение[,…]
DP – определяет переменную   или присваивает ячейке памяти начальное значение. Резервирует
шестибайтовые слова.
Формат:
[имя] DP выражение[,…]
DQ – определяет переменную   или присваивает ячейке памяти начальное значение. Резервирует
восьмибайтовые слова.
Формат:
[имя] DQ выражение[,…]
DT – определяет переменную   или присваивает ячейке памяти начальное значение. Резервирует
десятибайтовые слова.
Формат:
[имя] DT выражение[,…]


Пример:

.DATA
                                            15