Скачиваний:
18
Добавлен:
11.04.2015
Размер:
71.78 Кб
Скачать
  1. Описать сегмент при работе с одним сегментом.

Префикс программного сегмента (PSP)

Префикс программного сегмента всегда создаётся при загрузке программы в память и заполняется системой. PSP имеет размер 256 байтов, содержит таблицы и поля данных, используемые системой в процессе выполнения программы. Вслед за PSP располагаются сегменты программы. Сегментные регистры автоматически инициализируются следующим образом: ES и DS указывают на начало PSP(что даёт возможность, сохранив их значение, обращаться затем в программе к PSP), CS - на начало сегмента команд, a SS - на начало сегмента стека. Таким образом, после загрузки программы в память адресуемыми оказываются все сегменты, кроме сегмента данных. Инициализация регистра DS в первых строках,программы позволяет сделать адресуемым и этот сегмент. Образ программы типа .ЕХЕ в памяти имеет вид:

Программа типа .СОМ отличается от программы типа .ЕХЕ тем, что содержит лишь один сегмент, включающий все компоненты программы: код, данные и стек. Структура типичной программы типа .СОМ на языке ассемблера выглядит следующим образом:

title Программа типа .СОМ

cseg segment 'code'

assume CS:cseg, DS: cseg

ORG 100h

start: jmp begin

< определение данных>

begin: push cs

pop ds

<тело программы>

cseg ends

end start

После загрузки программы все сегментные регистры указывают на начало единственного сегмента, т. е. фактически на PSP.

Соседние файлы в папке Ответы по пунктам