Префикс программного сегмента. 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.
Дата добавления: 2015-10-09; просмотров: 673;