Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

УТВЕРЖДЕНО. Рассмотрим теперь, как можно загрузить и выполнить программу из другой программы

Читайте также:
  1. Настоящее Положение утверждено Постановлением Минтруда РФ от 24 октября 2002г N73 с учетом статей 227-231 Трудового РФ
  2. Утверждено
  3. Утверждено
  4. Утверждено
  5. Утверждено
  6. УТВЕРЖДЕНО
  7. УТВЕРЖДЕНО
  8. УТВЕРЖДЕНО
  9. Утверждено

Рассмотрим теперь, как можно загрузить и выполнить программу из другой программы. Функция шест.4B дает возможность одной программе загрузить другую программу в память и при необходимости выполнить.

Для этой функции необходимо загрузить адрес ASCIIZ-строки в регистр DX, а адрес блока параметров в регистр BX (в действительности в регистровую пару ES:BX). В регистре AL устанавливается номер функции 0 или 3:

AL=0. Загрузка и выполнение

Данная операция устанавливает префикс программного сегмента для новой программы, а также адрес подпрограммы реакции на Cntrl/Break и адрес передачи управления на следующую команду после завершения новой программы. Так как все регистры, включая SP, изменяют свои значения, то данная операция не для новичков.

Блок параметров, адресуемый по ES:BX, имеет следующий формат:

Двухбайтовый сегментный адрес строки параметров для передачи.

Четырехбайтовый указатель на командную строку в PSP+80H.

Четырехбайтовый указатель на блок FCB в PSP+5CH.

Четырехбайтовый указатель на блок FCB в PSP+6CH.

AL=3. Оверлейная загрузка

Данная операция загружает программу или блок кодов, но не создает PSP и не начинает выполнение.

Таким образом можно создавать оверлейные программы. Блок параметров адресуется по регистровой паре ES:BX и имеет следующий формат:

Двухбайтовый адрес сегмента для загрузки файла.

Двухбайтовый фактор настройки загрузочного модуля.

Возможные коды ошибок, возвращаемые в регистре AX: 01, 02, 05, 08, 10 и 11.

Важно:

u В основной программе, вызывающей подпрограмму, необходимо определять точку входа как EXTRN, а в подпрограмме — как PUBLIC.

 

u Будьте внимательны при использовании рекурсий, когда подпрограмма 1 вызывает подпрограмму 2, которая в свою очередь вызывает подпрограмму 1.

u В случае, если кодовые сегменты необходимо скомпоновать в один сегмент, то необходимо определить их с одинаковыми именами, одинаковыми классами и атрибутом PUBLIC.

u Для простоты программирования начинайте выполнение с основной программы.

u Определение общих данных в основной программе обычно проще (но не обязательно). Основная программа определяет общие данные как PUBLIC, а подпрограмма (или подпрограммы) — как EXTRN.

 

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«Сыктывкарский государственный университет»

Институт гуманитарных наук

Кафедра истории, политологии и социологии

УТВЕРЖДЕНО




Дата добавления: 2014-12-18; просмотров: 37 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав