ZX Hard #00
31 августа 1998
  Железо  

Прерывания в Spectrum'е - схема для использования IM2 прерываний.

<b>Прерывания в Spectrum'е</b> - схема для использования IM2 прерываний.
╔══──────────────────────────────────══╗
│        Прерывания в Spectrum'е       │
╚══──────────────────────────────────══╝

(c)VTS'98


Я  тут где-то (sorry, не помню) прочитал
обиду  на  то,  что Спектрум имеет всего
один  уровень  привелегий  по прерывани-
ям... Но извините, а как же IM2 ? Ведь с
его  помощью  можно  организовать  аж  7
уровней  приоритета  (не считая обычного
полукадрового  INT'а) !!! Да еще с какой
угодной  организацией  приоритетов, т.к.
программируется интовой табличкой в ОЗУ!

У кого нет мануала по Z80, объясняю.

1.Интовая  табличка должна начинаться по
адресу с мл.байтом=#01. Как всегда,млад-
ший байт адреса процедуры обработки пре-
рывания - по младшему адресу. Длина таб-
лицы - 256 (байт) -> на 128 адресов.

2. При поступлении прерывания (вход INT/
Nemo-bus)  процессор  берет  свой (прог-
раммнодоступный)  регистр  I  в качестве
старшего байта, а то, что получил по ши-
не  данных  (после  выставления  сигнала
INTA/=IORQ/ OR M1/) в качестве младшего,
и  по  полученному адресу читает из таб-
лички адрес обработки прерывания.

!  Attention  ! D0 должен быть свободен,
(следовательно=1), для однозначности оп-
ределения адреса перехода.

На  первый взгляд это дает 128 возможных
запросов без приоритета.
На второй - 7 запросов с приоритетом.

        ┌─┐
IORQ/───┤1│ INTA/         ЛП8, АП6 и др.
  M1/───┤ ├──────┐  ┌───┐ м/с с ОК либо
        └─┘      │  │   │ Z-состоянием.
                 └──oEO/│
                    │---│
      IRQ1/─────────┤ > ├──────D1
                    ├───┤

      IRQ2/──────── │   │ ─────D2
        .        .         .   .
        .        .  │ > │  .   .

      IRQ7/──────── │   │ ─────D7

                    └ ─ ┘

REM>  На схеме не показан процесс форми-
рования INT'а (элементы ОК либо диоды):

         ЛП9          │
        ┌──┐          │
IRQ1/───┤|>├──┬───INT/│ IRQ1/──|<─┬─INT/
        ├──┤  │       │           │
IRQ2/───┤|>├──┤       │ IRQ2/──|<─┤
        ├──┤  │       │           │
. . .   │  │  │       │ . . .     │
                      │

О табличке. Для примера берем IRQ1, IRQ2
и IRQ3. Все  остальные - неактивны, т.е.
установлены в 1. Регистр I=#80.

hex
....
80f1┐
80f2┘ обработка IRQ3 + IRQ1 + IRQ2

80f3┐
80f4┘ обработка IRQ3 + IRQ2

80f5┐
80f6┘ обработка IRQ3 + IRQ1

80f7┐
80f8┘ обработка IRQ3

80f9┐ обработка IRQ1 + IRQ2
80fa┘

80fb┐ обработка IRQ2
80fc┘

80fd┐ обработка IRQ1
80fe┘

80ff┐ обработка INT 50Гц с самым низким
8100┘ приоритетом.
....

Кроме того, определить наличие полукад-
рового INT'а вместе с другими IRQ, к со-
жалению, невозможно (а нужно ли ?).

Надеюсь, вопросов больше нет ?.

P.S.:  А так ли нужны эти самые прерыва-
ния :-) ? Вон уже сколько всякой перифе-
рии  на Спектруме - и никому не пригоди-
лись ;-). Так что не следует поддаваться
тлетворному  влиянию Запада и продолжать
использовать  свои оригинальные и непов-
торимые решения [:-)Ж


11.08.98  16:37msk  is-dos



Другие статьи номера:

Introduction - вступление: цель газеты - помочь межрегиональному объединению железячников.

Krasnodar Hard Corp - группа Краснодарских железячников.

Железо - начинающим: уроки пайки.

Советы мастера - о том, как обpащаться с печатнoй платой и её элементами.

Измерения - очень полезная схемка для проверки печатных плат.

Тонкости опроса кемпстон-крыс - о глюках Kepston Mouse.

Прерывания в Spectrum'е - схема для использования IM2 прерываний.

Тонкости работы с IORQGE/ - что это за сигнал и с чем его вообще едят.

ZX+Dendy - возвращение к напечатанному.

Авора - об авторах газеты.


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

Похожие статьи:
WEC LE MANS - Небольшое вскрытие WEC LE MANS.
Party - Funtop: Total table.
Система - статья о вопросах совместимости и модификации отечественных клонов ZX Spectrum'a.
Games - Разбор адвентюры: Twilight: Land of Shadows.
Список BBS - Сетевые новости.

В этот день...   18 апреля