Цитата Сообщение от Error404 Посмотреть сообщение
на счет портов где бы висели устройства с непредсказуемым непериодическим срабатыванием, преимущественно нечастым - то да, прерывания можно приспособить. Что же касается регулярно либо часто опрашиваемых событий - как раз таки часов, клавиатуры и порта RS-232, то тут прерывания не только не дают выигрыша, но лишь добавляют накладные расходы (на лишние обработки стека, на лишний обсчет кольцевого буфера и т.п.) в сравнении с периодическим поллингом (опросом) инициируемым процессором где тупо флаг наличия данных считывается с регистра устройства. Я не теоретизирую, в СP/M у меня реализованы оба режима работы с RS-232, и по прерыванию куда как больше кода надо для обработки всех ситуаций. И время процессора не экономится что самое смешное, ведь большую часть времени система все равно проводит в ожидании устройств, а тут Z80 пофиг как ожидать - в поллинге или в хальте до прерывания.
Не могу спорить с человеком, который лучше меня разбирается в программировании, но и согласиться не могу. Так что остаётся вариант попробовать самому и убедиться :-).

Цитата Сообщение от Error404 Посмотреть сообщение
Плюс узкое место всех подобных решений - требование двухпортовости ОЗУ (либо суровые извращения чтобы двухпортовости избежать).
Двухпортовые ОЗУ всё ещё доступны с некоторых старых видеокарт (по крайней мере, у меня они есть), к тому же ВМ80 оставляет время для обращения к ОЗУ со стороны контроллера. Есть и ещё варианты.