Исходник на языке высокого уровня вообще ничего не знает про прерывания. Это не *****код, Шурик. Это инкапсуляция. Говнокод - это логика вперемешку с низкоуровневыми реализациями. Вам непривычно, я понимаю. Это не базовый опрос клавы для игры, его я делаю по-другому. Это для набирания имени в таблицу рекордов. Всё, вопрос №1 закрыт.

Вопрос №2: у меня был такой код для "возвращения" на родину (скажем, корректного возврата в Бейсик после выхода из игры). Уже не помню откуда, скорее всего, с какой-то книги:

Код:
; ************************************************
; *              Set IM1 mode back               *
; ************************************************
    DI
    LD   A,#63
    LD   I,A
    IM   1
    EI
    RET
Поясните, пожалуйста, не избыточен ли он, и зачем здесь нужно устанавливать регистр I ?