Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Псевдокоманды определения переменных. Использование оператора DUP. Метка и переменная: сходства и отличия. Структуры



Псевдокоманды определения переменных указывают ассемблеру, что в соответствующем месте программы располагается переменная, определяют тип переменной (байт, слово, вещественное число и т.д.), задают ее начальное значение и ставят в соответствие переменной метку, которая будет использоваться для обращения к этим данным. Псевдокоманды определения данных записываются в общем виде следующим образом:имя_переменной 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...