Ничего не произойдёт. Данные ведь передаются выше текущей позиции стека, а при CALL или RST по прерыванию будет испорчено 2 байта ниже, где не хранится ничего полезного.
Да Вы и без того знаете, об этом писалось множество раз. Но повторю.
В Специалисте А.Волкова было всего 4 цвета полученные установкой всего двух 565 РУ3-их на имеющиеся РУ3-тьи вторым этажом. На входы этих двух РУ3-тих подавались два свободных бита с ППА клавиатуры.
Таким образом регистр цвета, из которого цвет автоматически переписывается в ОЗУ, находится внутри ППА. Эти два бита на каждый видеобайт давали 4 цвета для цвета INK, цвет PAPER всегда чёрный.
А в августе 1990 изобретатели Иванов и Медведков решили удвоить часло цветов, напаяв вторым этажом ещё одну РУ3. Но свободных битов в ППА уже не было. Тогда они решили поиметь этот бит в ППА, за счёт того, что бит PC4 освободили от функции формирования сигнала начальный пуск НП. А в качесте сигнала начальный пуск они решили задействовать выход INTE. Для отключения НП, одной из первых команд КР580 выполняет команду EI и ОЗУ включается убирая ПЗУ из всего адресного пространства. Тем самым они освободили PC4 для целей цвета (и цветов стало 8), но истратили прерывания на цели начального сброса машины.
Потому, если при 8-ми цветной схеме цветовой приставки включить прерывания, то из адресного пространства совсем исчезает ОЗУ и компьютер улетает. Хуже того, если на Специалисте не имеющем 8-ми цветов запустить 8-ми цветную программу, то компьютер тоже улетает.
Это же идиотизм и поэтому совершенно справедливо считать этих авторов дибилами. Предельно глупо делать такие доработки, что приводят к полному улету цветных программ на монохромной базовой конструкции.
Но по-крайней мере для прерываний это легко исправляется, если схему сброса сделать по схеме от РК86. Ставится RS-триггер, который взводится по /RESET, а сбрасывается сигналоv /WR процессора.
Тогда до первой записи CPU во всём адресном пространстве включено ПЗУ и процессор читает с адреса 0 первую команду JMP C000 и уходит на C000. Программа на C000 четвёртой командой записывает байт 82 в ППА+3, а возниший при этом сигнал /WR сбрасывает триггер, включая ОЗУ. RS-триггер легко сделать из двух вентилей из 155 ЛА3 или из половинки 155 ТМ2.





Ответить с цитированием