Программы, которые мы выбираем - Возможные последствия использования недокументированных команд.

ZX Review #7-8-9-10
    В журнале ZX-FORMAT N4 опуб-
ликована статья о возможных пос-
ледствиях использования  недоку-
ментированных команд.  Поскольку
она  представляет  интерес   для
всех программистов, позволю себе 
полностью ее процитировать с со-
хранением авторской орфографии.

     " .....................

           Сообщение
         от фирмы Nemo.
________________________________

       В микропроцессорах
          Z84C0010PEC
    [КМОП-структура, 10 MHz]
обнаружена  команда  из  разряда
недокументированных,  выполнение
которой отлично от  существовав-
шего ранее.
              ____

     От редакции ZX-Format.

    "Отлично" -  это  еще  мягко
сказано, скорее оно прямо проти-
воположно, и, естественно,  при-
водит к летальному исходу в  по-
ловине отдельно взятых  случаев.
Вот такая вот  подстава, господа
хорошие.  Мы,  честно    говоря,
очень удивились, когда  ZF#3  не
захотел работать  на  KAY-256  с
вышеуказанными CPU, и кинулись в
погоню за несуществующими глюка-
ми в оболочке. Но долгие  поиски
не дали положительного результа-
та, после чего тень сомнения  по
поводу цели поиска  закралась  в
наши темные  души.  После  того,
как все прочие возможные  причи-
ны были изучены и отброшены, как
неоправдавшие столь высокое  до-
верие, виновник был найден и им,
как  Вы  уже  знаете,   оказался
именно CPU данной  версии, неза-
висимо от того, на каком компью-
тере он установлен. Отсюда  сле-
дует простой и логичный  вывод -
незря Zilog пишет во всех  анно-
тациях к данному семейству  про-
цессоров "не используйте недоку-
ментированные команды  воизбежа-
ние возможной несовместимости  с
последующими  версиями...".  Все
бы ничего, данная модель  весьма
свежая  и  нераспространенная  в
нашей  Необ'ятной, но  об'ектив-
ная оценка рынка Z-80  однознач-
но указывает на истощение  запа-
сов старых  моделей  и, следова-
тельно,  неизбежного   внедрения
последних    разработок    столь
странно (странно?) ведущей  себя
фирмы Zilog.
    Если Вы умеете складывать  в
уме 2 и 2, и  у  Вас  получается
меньше пяти и  больше  трех, то,
логично   предположить,  послед-
ствия данного вторжения Вам об'-
яснять не нужно. (Ну а тем, кому
нужно, для начало надо отвыкнуть
от использования их любимой  ко-
манды OUT (#FD),A).
    "А что же это за команда та-
кая?" - спросит средне-статисти-
ческий хакер, лениво  покручивая
оторванный от сигнала INT прово-
док.
    "А нескажу!"  -  по   старой
доброй традиции отвечу я ему.  И
не только  ему, но  и  всем  ос-
тальным. Может  быть  это  и  не
принесет  ощутимой   пользы    в
борьбе за "чистоту кода", но, по
крайней мере, хуже  не  сделает.
Основная цель, которой  руковод-
ствовались авторы данной  замет-
ки, не подразумевает  отказа  от
использования  какой-либо    от-
дельно взатой  недокументирован-
ной команды, а  является  повсе-
местным  отказом  от  применения
"всего  списка".  Возможно, суд-
ный день еще не так  близок, как
нам показалось, но лучше знать о
методах отбора в преисподнюю за-
ранее, дабы не рвать на себе во-
лосы опосля.
    Угроза тотальной несовмести-
мости уже нависла над нашим  об-
щим домом. Так не лучше  ли  для
нас всех, если каждый в  отдель-
ности встанет у нее на пути.
    За сим  желаю  Вам  приятных
сноведений и передаю слову капи-
тану Nemo.
                          (A.P.)
              ____

    Фирма  Nemo   заявляет,  что
планирует использование  процес-
соров данного типа и в  дальней-
шем, так как характеристики про-
цессора наиболее полно  удовлет-
воряют  требованиям, предъявляе-
мым CPU  архитектурой  KAY.  Для
несогласных с  таким  положением
дел   рекомендуется    самостоя-
тельно обзавестись 8 MHz-CPU  на
H-МОП структуре и  сменить  CPU,
благо он в панели.
    Пока это единственный зафик-
сированный случай  такого  рода,
однако фирма  ZILOG, по  заявле-
нию ее официальных  дистрибьюто-
ров, не считает  себя  обязанной
придерживаться определенного ал-
горитма обработки недокументиро-
ванных команд, более  того  -  в
смежных архитектурах они  выпол-
няют другие функции.

    Из  сказанного  следует, что
такого рода "недоразумения" воз-
можны и в дальнейшем.
   ..........
   .........."  Конец цитаты.

    Мне кажется, что  такую  ин-
формацию имеет смысл привести на
страницах  "ZX-Ревю",  поскольку
использование  недокументирован-
ных  команд  в  последнее  время
приобрело  катастрофический  ха-
рактер. Даже разработчики ассем-
блеров считают своим долгом под-
держку как можно большего их ко-
личества.

           *   *   *