Приветствую Вас, Гость
Главная » Статьи » Программное обеспечение. » Программы.

Обмен данными между программами.

Обмен данными между программами.

1. Для того чтобы данные, выделенные одной программой, были доступны из другой, первая должна объявить их в директиве PUBLIC в начале программы, а вторая — в директиве EXTRN, указав их тип. В таком случае вторая программа будет работать с данными, расположенными в «чужом» логическом сегменте данных.

2. Возможна передача данных из одной программы в другую через стек. Допустим, что подпрограмме требуются данные основной программы. Вызывающая программа может передать их через стек. При этом каждая команда PUSH записывает в стек одно слово (два байта) из памяти или регистра. Процедура может прочитать из стека записанные основной программой данные и выполнить с ними необходимые действия. Чтобы понять процесс обмена данными через стек, надо учесть особенности адресации стека. Указатель стека регистр SP изменяет своё состояние при выполнении команд PUSH (запись) и POP (чтение). Причём, содержимое регистра SP уменьшается на два при выполнении команды PUSH и увеличивается на 2 при выполнении команды POP. Таким образом, регистр SP указывает на вершину стека (совместно с регистром стека SS). Для чтения из стека и записи в стек в произвольном месте сегмента следует применять регистр BP, который связан по умолчанию при адресации с регистром SS.

3. Кроме перечисленных способов обмена данными между программами возможна передача через регистры.

Категория: Программы. | Добавил: Vadia (29.06.2014)
Просмотров: 526 | Рейтинг: 0.0/0
Всего комментариев: 0