Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Lab2.pdf
Скачиваний:
159
Добавлен:
11.05.2015
Размер:
1.1 Mб
Скачать

Модель памяти описывается как Tiny;

Установка адреса начала программы (5я строка);

Организация командной части выполнена в виде процедуры main.

3.5.Образ программы в памяти

Образ программы в памяти, представленный на рис. 1.1., начинается с префикса программного сегмента PSP (Program Segment Prefix). PSP всегда имеет размер 256 байтов и содержит данные, используемые операционной системой в процессе исполнения программы. Вслед за PSP располагаются сегменты программы. Сегментные регистры ES и DS автоматически инициализируются на начало PSP. Это даёт возможность, при сохранении значения одного из регистров, обращаться к PSP в случае необходимости. В указатель команд IP загружается относительный адрес точки входа в программу (операнд директивы END), а в указатель стека SP – смещение конца сегмента стека. Таким образом, после загрузки программы в память, адресуемыми являются все сегменты, кроме сегмента данных. Использование директивы MODEL, делает доступным ассемблеру несколько служебных идентификаторов, к которым можно обращаться во время работы программы, чтобы получить информацию об адресах используемых сегментов. Например:

@code – 16-разрядный адрес сегмента кода;

@data – 16-разрядный адрес сегмента данных типа near;

@stack – 16-разрядный адрес сегмента стека.

3.5.1. Модуль EXE

Рис. 1.1. Образ программы EXE в памяти

Объём памяти, занимаемый программой: (138B-1373)*10h+100h=280h=640 байт. Завершение программы означает передачу управления командному процессору DOS –

Command.com, который выводит на экран системный запрос в ожидании следующей команды от оператора. Делается это с помощью функции DOS (AH = 4Ch). Эта функция требует единственного параметра – кода возврата, который и помещается программой в регистр al. Если этот код равен нулю, то исполнение программы прошло корректно, в противном случае была допущена ошибка в предшествующих обращениях программы к другим системным функциям DOS.

3.5.2. Модуль COM

Образ памяти программы типа .com показан на рис. 1.2. После загрузки программы в память все 4 сегментных регистра указывают на начало единственного сегмента – PSP.

41

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]