Префикс программного сегмента. COM- и EXE-программы

При загрузке программы в память операционная система создает префикс программного сегмента (Program Segment Prefix, PSP) размером 256 байт.

Различают прикладные программы с расширением.com и.exe.

Для инициализации exe-программ программист должен прописать некие стандартные действия, заключающиеся в следующем:

1. Указать транслятору соответствие между логическими сегментами и сегментными регистрами.

2. Сохранить в стеке адрес возврата в операционную систему. Этим адресом является адрес первых двух байт префикса программного сегмента, где находится команда перехода в ОС (для корректного возврата в стек необходимо записать DS:0)

3. Необходимо загрузить в DS адрес сегмента данных.

push ds

mov ax,0

push ax

mov ax,Data

mov ds,ax

Первые три команды сохраняют в стеке адрес возврата в операционную систему после завершения выполнения программы, а две последние - осуществляют инициализацию сегментного регистра DS.

Команда прерывания

В систему команд МП включена специальная команда – команда прерывания (interrupt):

INT номер

mov ah, <номер функции>

int <номер прерывания>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: