Прерывания — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
(для начала)
 
Строка 11: Строка 11:
  
 
== Особенности оригинального ZX Spectrum ==
 
== Особенности оригинального ZX Spectrum ==
Из-за ошибки в [[ULA]] на оригинальных моделях ZX Spectrum при установке вектора прерывания (регистр I процессора) в область медленной памяти на экране возникает эффект "снега". На ZX Spectrum 128K это также может привести к зависанию компьютера через некоторое время после установки вектора прерывания.
+
Из-за ошибки в [[ULA]] на оригинальных моделях ZX Spectrum при установке вектора прерывания (регистр I процессора) в область медленной памяти на экране возникает эффект "[[снег]]а". На ZX Spectrum 128K это также может привести к зависанию компьютера через некоторое время после установки вектора прерывания.
 +
 
 +
[[Категория:Термины]]

Версия 01:54, 19 ноября 2009

Прерывания (Interrupts) - выполнение процессором специальной подпрограммы (обработчика прерывания) по приходу внешнего сигнала. В ZX Spectrum доступно два вида прерываний - маскируемое (INT) и немаксируемое (NMI).

Максируемое прерывание

Сигнал маскируемого прерывания генерируется при начале отображения каждого нового кадра и имеет частоту около 50 Герц. Процессор Z80 имеет три режима обработки максируемых прерываний, из которых в ZX Spectrum используется два.

IM 0

IM 1

IM 2

Немаскируемое прерывание

Немаксируемое прерывание не используется в оригинальном ZX Spectrum, однако может использоваться дополнительными устройствами. В частности, контроллер дисковода Beta Disk Interface имеет кнопку Magic, генерирующую немаксируемое прерывание.

Особенности оригинального ZX Spectrum

Из-за ошибки в ULA на оригинальных моделях ZX Spectrum при установке вектора прерывания (регистр I процессора) в область медленной памяти на экране возникает эффект "снега". На ZX Spectrum 128K это также может привести к зависанию компьютера через некоторое время после установки вектора прерывания.