
- •«Национальный исследовательский ядерный университет «мифи»
- •Озерский технологический институт-филиал нияу мифи
- •Кафедра: Электроники и автоматики
- •Лабораторная работа №2
- •Структура программы на ассемблере. Представление простых типов данных. Цель работы:
- •Теоретические сведения
- •Выполнение работы.
- •Контрольные вопросы.
Министерство образования и науки российской федерации федеральное государственное автономное образовательное учреждение высшего профессионального образования
«Национальный исследовательский ядерный университет «мифи»
Озерский технологический институт-филиал нияу мифи
Кафедра: Электроники и автоматики
Лабораторная работа №2
по дисциплине «ПО ИП»
Преподаватель |
|
|
|
|
Изарова Е.Г. |
Выполнил студент группы |
1ИТ-30 |
|
|
|
|
|
(индекс группы) |
|
(дата, подпись) |
|
(Ф.И.О.)
|
2012
Структура программы на ассемблере. Представление простых типов данных. Цель работы:
Изучить директивы описания данных простых типов; с помощью окна Dump отладчика tdebug.exe просмотреть область памяти, содержащую сегмент данных программы.
Теоретические сведения
Для описания
простых типов данных в программе
используются специальные директивы
резервирования
и инициализации данных, которые
по сути являются указаниями транслятору
на выделение определенного объема
памяти. Если проводить аналогию с языками
высокого уровня, то директивы резервирования
и инициализации данных являются
определениями
переменных. Машинного эквивалента этим
директивам нет; просто транслятор,
обрабатывая каждую такую директиву,
выделяет необходимое количество байт
памяти и при необходимости инициализирует
эту область некоторым значением.
Директивы резервирования и инициализации
данных простых типов имеют формат,
показанный на рисунке.
? – показывает, что содержимое поля не определено, т.е. при задании директивы с таким значением выражения содержимое выделенного участка физической памяти изменяться не будет. Фактически создается неинициализированная переменная;
значение инициализации – значение элемента данных, которое будет занесено в память после загрузки программы. Фактически создается инициализированная переменная, в качестве которой могут выступать константы, строки символов, константные и адресные выражения в зависимости от типа данных;
выражение – итеративная конструкция с синтаксисом, описанным на рисунке. Эта конструкция позволяет повторить последовательное занесение в физическую память выражения в скобках n раз;
имя – некоторое символическое имя метки или ячейки памяти в сегменте данных, используемое в программе.
На рисунке представлены следующие поддерживаемые TASM директивы резервирования и инициализации данных:
db – резервирование памяти для данных размером 1 байт;
dw – резервирование памяти для данных размером 2 байт;
dd – резервирование памяти для данных размером 4 байт;
df – резервирование памяти для данных размером 6 байт;
dp – резервирование памяти для данных размером 6 байт;
dq – резервирование памяти для данных размером 8 байт;
dt – резервирование памяти для данных размером 10 байт для ДКД-чисел (BCD).
Очень важно запомнить порядок размещения данных в памяти. Он напрямую связан с логикой работы микропроцессора с данными. Микропроцессоры Intel требуют следования данных в памяти по принципу: младший байт по младшему адресу.