
- •Определение данных
- •1. Директивы определения данных.
- •2. Определение данных с числом повторений.
- •3. Директива определения байта (dв).
- •4. Директива определения слова (dw).
- •5. Директива определения двойного слова (dd).
- •6. Директива определения поля из четырех слов (dq).
- •7. Директива определения десяти байт (dt), директива equ.
Л а б о р а т о р н а я р а б о т а N 3
Определение данных
МЕТОДИЧЕСКИЕ УКАЗАНИЯ:
1. Для выполнения лабораторной работы вы должны войти в каталог группы из панели NORTON. Каждый студент должен иметь в каталоге группы свой личный каталог. Все программы должны создаваться и записываться в личном каталоге студента.
2. В соответствии с имеющимися директивами в ассемблере разрешено определение данных различной длины: например, директива DB определяет байт, а директива DW определяет слово. Элемент данных может содержать непосредственное значение или константу, определенную как символьная строка или как числовое значение.
3. Основной формат определения данных в ассемблере:
[имя] Dn выражение
- Имя элемента данных не обязательно (это указывается квадратными скобками), но если в программе имеются ссылки на некоторый элемент, то это делается посредством имени.
- Для определения элементов данных имеются следующие директивы: DB (байт), DW (слово), DD (двойное слово), DQ (учетверенное слово) и DT (десять байт).
- Выражение может содержать символьную строку или числовую константу.
4. Только директива DB позволяет определять символьную константу с произвольным количеством символов. В директивах DW, DD, DQ и DT допускается ввод символьных констант только с двумя буквами.
5. Директивы DW, DD, DQ и DT записывают числовое значение в объектном коде в обратной последовательности байтов.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:
1. Директивы определения данных.
1.1. Установите курсор в панели NORTON на файл exasm2.asm. Клавишей F4 вызовите текстовый редактор NORTON. В сегменте данных после константы FLDC запишите следующие константы:
FLD1DB DB 'Personal Computer'
FLD2DB DB 110
FLD3DB DW 110H
FLD4DB DB 110B
FLD1DB - символьная строка. Символьная строка используется для описания данных, таких, как, например, имена людей или заголовки страниц. Содержимое символьной строки отмечается одиночными кавычками. Ассемблер переводит символьные строки в объектный код в обычном формате ASCII.
FLD2DB - числовая константа. Числовые константы применяются для арифметических значений и для адресов памяти. Для описания числовой константы кавычки не ставятся. Ассемблер преобразует все числовые константы в шестнадцатиричные и записывает байты в объектном коде в обратной последовательности - справа налево. Константа FLD2 имеет десятичный формат и допускает использование цифр от 0 до 9. Ассемблер преобразует десятичное число в шестнадцатиричный объектный код.
FLD3DB - числовая константа. Она имеет шестнадцатиричный формат и допускает использование цифр от 0 до F. Признаком шестнадцатиричного числа является буква Н в конце числа. При записи шестнадцатиричного числа первой цифрой числа должна быть цифра от 0 до 9. Для записи числа FFFFH, например, необходимо вводить: 0FFFFH.
FLD4DB - числовая константа. Она имеет двоичный формат и допускает использование цифр 0 или 1. Признаком двоичного числа является буква В в конце числа.
1.2. Записать измененный файл и выйти из текстового редактора.
1.3. Выполнить ассемблирование и компоновку измененной программы.
1.4. Просмотреть листинг программы с помощью текстового редактора LEXICON. Выписать в отчет из листинга фрагмент из сегмента данных с константами введенными в программу.
1.5. Вызвать отладчик DEBUG для выполнения программы exasm2.exe. Для этого ввести в командной строке DOS:
DEBUG exasm2.exe
1.6. Выполнить трассировку программы до тех пор, пока не произойдет инициализация сегмента данных, т.е. в пошаговом режиме нужно выполнить команды:
MOV AX,DATASG
MOV DS,AX
Трассировка выполняется вводом команды R, затем вводом несколько раз команды Т.
1.7. Вывести на экран дамп сегмента данных командой:
D DS:00
Дамп содержит 8 параграфов, каждый параграф содержит 16 байт. Выписать в отчет параграфы из дампа данных, которые содержат машинные коды 4 констант введенных в сегмент данных при редактировании программы exasm2.asm.