Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Псевдокоманды определения переменных указывают ассемблеру, что в соответствующем месте программы располагается переменная, определяют тип переменной (байт, слово, вещественное число и т.д.), задают ее начальное значение и ставят в соответствие переменной метку, которая будет использоваться для обращения к этим данным. Псевдокоманды определения данных записываются в общем виде следующим образом:имя_переменной d* значениегде D* — одна из нижеприведенных псевдокоманд:
DB — определить байт;
DW — определить слово (2 байта);
DD — определить двойное слово (4 байта);
DF — определить 6 байт (адрес в формате 16-битный селектор: 32-битное смещение);
DQ — определить учетверенное слово (8 байт);
DT — определить 10 байт (80-битные типы данных, используемые FPU).
Поле значения может содержать одно или несколько чисел, строк символов (взятых в одиночные или двойные кавычки), операторов? и DUP, разделенных запятыми. Все установленные таким образом данные окажутся в выходном файле, а имя переменной будет соответствовать адресу первого из указанных значений.считает в регистр AL число 48h (код латинской буквы H).. Если нужно заполнить участок памяти повторяющимися данными, используется специальный оператор DUP, имеющий формат счетчик DUP (значение). Например, вот такое определение:
table_512w dw 512 dup(?)
создает массив из 512 неинициализированных слов, на первое из которых указывает переменная table_512w. В качестве аргумента в операторе DUP могут выступать несколько значений, разделенных запятыми, и даже дополнительные вложенные операторы DUP.
Переменная - это место в памяти которое имеет имя и тип.
При использовании метки под ней подразумевается некоторое смещение, на которую она указывает.
Пример:
.data
PARAM dd 11223344h
.code
mov eax, [PARAM]
mov [PARAM], ebx
Символьные метки отличаются от меток данных и переменных тем, что их можно описывать в любом месте программы. После символьной метки надо ставить двоеточие (как в других языках высокого уровня). Они также возвращают смещение, на котором стоят. Они используются при прыжках (о них расскажу позже), или с командой call.
Структура данных - это организация данных, которая имеет для
программиста определенный смысл. Как показывает опыт, мы определяем
структуры данных когда одна и та же совокупность данных
используется более чем одной программой или программистами.
Оператор
STRUC определяет структуру данных для ассемблера. В дальнейшем имя
этой структуры данных используется в ассемблируемой программе для
генерации соответствующей области данных.
FCB STRUC
0000 00 DRIVE DB 0; Номер устройства
0001 20 20 20 20 20 20 20 FILE_NAME DB ' '; Имя файла
0009 20 20 20 FILE_EXT DB ' '; Тип файла
000C 0000 CURRENT_BLOCK DW 0; Номер текущего блока
000E 0080 RECORD_SIZE DW 80H; Логический размер записи
0010 00000000 FILE_SIZE DD 0; Размер файла в байтах
0014 0000 DATE DW 0; Дата последнего изменения
Дата публикования: 2015-01-26; Прочитано: 573 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!