Поиск…


замечания

Зачем нам нужны прерывания

Давайте представим: наш компьютер подключен к клавиатуре. Мы хотим что-то ввести. Когда мы нажимаем клавишу, ничего не происходит, потому что компьютер имеет дело с разными вещами и не замечает, что мы чего-то хотим от него. Нам нужны прерывания!

Прерывания запускаются программным обеспечением ( INT 80h) или аппаратным обеспечением (keypress), они ведут себя как Call (они переходят в определенное место, выполняют код и снова отскакивают).

Работа с прерываниями на Z80:

Z80 не имеет таблицы прерываний, как современные процессоры. Все прерывания выполняют один и тот же код. В режиме прерывания 1 они выполняют код в определенном неизменяемом месте. В режиме прерывания 2 они выполняют код из указателя указателя I, на который указывает. У Z80 есть таймер, который вызывает прерывание всего ~ 0.007.

EI      ;enables Interrupts
DI      ;disables Interrupts
IM 1    ;sets the Normal Interrupt Mode


IM 2    ;sets the Advanced Interrupt Mode 
LD I,$99;sets the Interrupt Pointer to $99 (just possible in IM 2)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow