Теневой сервис - монитор для компьютера Scorpion ZS 256 1993 г.

Приложение Б - технические подробности.


_Б. Технические подробности

Программа монитора полностью занимает банк 2 ПЗУ (Monitor),
частично 3 (TR-DOS) и использует несколько ячеек из 0 и 1 банков. Для
своей работы сервис-монитор использует 8 и 9 банки ОЗУ, а также 11 ячеек
из стека пользователя (см. табл.16).

Регистр SP в мониторе показывает реальное значение стека в прерванной
программе, однако 11 байт в стеке ниже SP будут утеряны.

Кроме перечисленных ячеек при трассировке в программе пользователя
используются 8 ячеек рабочего буфера. Расположение буфера в памяти мо-
жет быть различным (см. команду WORKSPACE на стр. 24), сразу после
включения буфер занимает ячейки между адресами 23719... 23726
включительно.

Необходимо отметить следующие обстоятельства, которые могут на-
рушить работу прерванной программы:

1. Если регистр SP указывает на область ПЗУ, то прерванную программу
не удастся запустить, так как значения, сохраняемые в стеке, будут утеряны.
Более того, отсутствие в стеке корректного номера функции приведет к не-
правильной работе самого монитора.

2. Если в вызываемой программе регистр SP используется не для сохра-
нения стека, а для адресации данных, то вызов монитора приведет к разру-
шению этих данных. Тем самым будет нарушен код программы, и, скорее
всего, нормальное продолжение ее выполнения невозможно. Например,

DI

LD (ADDRSP).SP
LD SP, DATA

POP ВС Вызов монитора при выпол-

РОР DE нении этого фрагмента, скорее

POP HL всего, испортит данные в

............области DATA

POP IX J

LD SP, (ADDRSP)
EI

3. Отсутствие аппаратных средств слежения за изменением содержимого
системных регистров не дает 100% гарантии правильного определения
конфигурации памяти в момент вызова монитора. К примеру, если програм-
ма не использует копию регистра 7ffdh в системной переменной BANKM
(23388) номер активного экрана будет определен неверно.

Все вышеприведенное также справедливо и для стандартной программы
обработки кнопки MAGIC из ПЗУ операционной системы TR-DOS, однако
теневой монитор в некоторых случаях может оказаться более «приве-
редливым».

4. Для своей работы сервис-монитор использует 8 и 9 страницы ОЗУ,
если информация, содержащаяся в них, будет изменена, то поведение прог-
раммы не предсказуемо. Для восстановления работоспособности в этом слу-
чае необходимо ВЫКЛЮЧИТЬ ПИТАНИЕ на 5... 10 секунд.

5. Отладчик неправильно работает с адресами 0c000h...0cl00h, когда в
третьей странице памяти микропроцессора установлен 2-й банк ОЗУ.

К сожалению, монитор не может самостоятельно отслеживать изменения
в используемых им страницах ОЗУ-это отняло бы слишком много времени.
Не представляется возможным и проверять всю память после включения
питания для определения ее состояния-в процессе работы слишком много
ячеек меняют свои значения. Поэтому монитор судит о достоверной инфор-
мации в памяти по специальному 256-и байтовому полю. Изменение зна-
чений ячеек памяти в этом поле приведет к реинсталяции (переустановке)
сервис-монитора после «сброса» компьютера.

Для явного задания реинсталяции монитора после «сброса» можно вы-
брать функцию Set Up/Reset (см. стр.14) в меню.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Вся жизнь игра - описание игры "Волшебник Страны ОЗ".
Программинг - процедуры печати текста шрифтами 8х8, 6х8, 5х8, 4х8 точек.
Вопросы читателей - Вопрос - ответ.
Капля припоя - ZX-SPECTRUM NAVIGATOR v1.00beta.
История - SPbZXNet - продолжение

В этот день...   29 марта