|
При описании портов их
исходные состояния задавались как определенные состояния после сигнала системного сброса. При
исполнении (отладке) программы состояние портов может измениться: при выполнении команд
Out или при задании состояний входных сигналов платы. В этих случаях
необходимо не только задавать новое состояние, но и контролировать изменение состояний портов.
При задании каждого
нового состояния
порта, так же как и при определении начального состояния следует учитывать тип порта -
ориентацию на чтение или запись, его схемную реализацию - сколько линий и как подключены к
системной шине. Необходимо верно определять положение старших и младших разрядов кода и
указывать признак системы счисления. СВО моделирует ситуацию, когда по системной шине как
минимум передается целый байт, поэтому невозможно ни задать состояние каких-то отдельных
разрядов порта, ни отобразить только состояние некоторых разрядов.
Наиболее часто интерфейс платы
расширения с внешним миром и с системной шиной обеспечивается БИС параллельного интерфейса.
Исторически из-за малого количества контактов у корпуса БИС ее схема выполнена так, что в
различных режимах работы одни и те же контакты могут использоваться как для передачи данных,
так и для приема и выдачи различных управляющих сигналов. Кроме того, одни и те же адреса
используются для обращения не только к каналам БИС, но и к ее внутренним регистрам. СВО,
естественно, не может точно моделировать БИС параллельного интерфейса во всех режимах ее работы,
кроме работы каналов в режиме "0". Поэтому обращение в СВО к портам БИС имеет некоторые
особенности, которые определяются конкретным режимом работы схемы и характером обмена данными.
Так, управляющее слово, задающее
режимы работы БИС, и слово поразрядного управления каналом "С", записываются по одному и тому же
адресу, причем сброс / установка разрядов канала "С" может выполняться последовательно
несколько раз. СВО позволяет вывести в окно Watches только результат последнего обращения.
Результаты предыдущих обращений необходимо либо запоминать, либо контролировать по
"Протоколу отладки".
Содержимое регистра состояния БИС
может изменяться внешними сигналами на входах канала "С". Однако для имитации таких воздействий
необходимо задавать не состояния входов канала "С", а результат действия входных сигналов на
определенные разряды в регистре состояния. Также при работе, например, канала "А" в режиме
"1"-"Ввод" после сигнала запроса прерывания чтение процессором байта из канала "А" изменяет
значение регистра состояния,
которое затем также может быть считано. Новое значение регистра состояния понадобится задавать.
Все это, естественно, предполагает знание структуры и принципов работы БИС.
Подобные особенности работы в СВО
следует учитывать и при отладке программ с обращениям к БИС последовательного интерфейса и
последовательным портам ПК. |
|
|