Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Символьные строки
Директивы определения данных Сегмент данных предназначен для определения констант, рабочих полей и областей для ввода-вывода. В соответствии с имеющимися директивами в Ассемблере разрешено определение данных различной длины: например, директива DB определяет байт, а директива DW определяет слово. Элемент данных может содержать непосредственное значение или константу, определенную как символьная строка или как числовое значение. Другим способом определения константы является непосредственное значение, то есть, указанное прямо в ассемблерной команде, например: MOV AL.20H В этом случае шестнадцатеричное число 20 становится частью машинного объектного кода. Непосредственное значение ограничено одним байтом или одним словом, но там, где оно может быть применено, оно является более эффективным, чем использование константы. Ассемблер обеспечивает два способа определения данных: во-первых, через указание длины данных и, во-вторых, по их содержимому. Рассмотрим основной формат определения данных: [имя] Dn выражение Имя элемента данных не обязательно (это указывается квадратными скобками), но если в программе имеются ссылки на некоторый элемент, то это делается посредством имени. Для определения элементов данных имеются следующие директивы: DB (байт), DW (слово), DD (двойное слово), DQ (учетверенное слово) и DT (десять байт).
Выражение может содержать константу, например: FLD1 DB 25 или знак вопроса для неопределенного значения, например FLDB DB ? Выражение может содержать несколько констант, разделенных запятыми и ограниченными только длиной строки: FLD3 DB 11, 12, 13, 14, 15, 16, ... Ассемблер определяет эти константы в виде последовательности смежных байт. Ссылка по имени FLD3 указывает на первую константу, 11, по FLD3+1 — на вторую, 12. (FLD3 можно представить как FLD3+0). Например команда MOV AL.FLD3+3 загружает в регистр AL значение 14 (шест. ОЕ). Выражение допускает также повторение константы в следующем формате: [имя] Dn число-повторений DUP (выражение) ... Следующие три примера иллюстрируют повторение: DW 10 DUP(?) ;Десять неопределенных слов DB 5 DUP(14) ;Пять байт, содержащих шест.14 DB 3 DUP(4 DUP(8));Двенадцать восьмерок В третьем примере сначала генерируется четыре копии десятичной 8 (8888), и затем это значение повторяется три раза, давая в результате двенадцать восьмерок. Выражение может содержать символьную строку или числовую константу. Символьная строка используются для описания данных, таких как, например, имена людей или заголовки страниц. Содержимое строки отмечается одиночными кавычками, например, 'PC' или двойными кавычками — "PC". Ассемблер переводит символьные строки в объектный код в обычном формате ASCII. Символьная строка определяется только директивой DB, в которой указывается более двух символов в нормальной последовательности слева направо. Следовательно, директива DB представляет единственно возможный формат для определения символьных данных.
Дата добавления: 2014-03-11; просмотров: 359; Нарушение авторских прав Мы поможем в написании ваших работ! |