|
Выполнение или отладка
на конкретном персональном компьютере (ПК) программ с обращениями к внешним устройствам,
составленных для какого-либо иного ПК, не всегда возможна в полном объеме. Команды обращения к
внешним устройствам IN и OUT требуют для своего
выполнения указания абсолютных адресов
портов ввода-вывода,
а любой ПК сам использует большое количество таких адресов для своих внешних
устройств и собственных плат расширения. Адреса портов ввода-вывода, используемые в
проектируемой системе, могут совпасть с адресами портов ПК, на которой предполагается отладка
программы. При попытке непосредственного запуска программы в лучшем случае данные командой
OUT могут быть отправлены в "никуда" - по адресу несуществующего
устройства, или, в такой же ситуации, вместо каких-либо данных по команде
IN будут приняты одни "1". В худшем случае может произойти обращение по
адресу реального внешнего устройства ПК, последствия чего предсказать невозможно.
Отладка программ с обращениям к
портам ввода-вывода может быть выполнена при замене в программе команд обращения к внешним
устройствам командами обращения к памяти. При этом сам пользователь сможет следить за
изменением содержимого регистров внешнего устройства путем наблюдения за переменными -
ячейками памяти, которые поставлены в соответствие некоторым адресам портов ввода-вывода.
Пользователь как бы становится моделью внешнего устройства, он может задавать начальные
значения портов ввода-вывода, менять их значения в процессе отладки (но не исполнения
программы), ставить точки останова в зависимости от значений содержимого портов и просматривать
их значения в процессе отладки. При простоте этого решения полностью изменяется внешний вид
программы, соответственно изменяется и объем программы. |
|
Назначение системы
Макроопределения
Подготовка программы
Описание портов ВУ
Отладка программы
Обращения к ВУ |