Цитата Сообщение от Patron Посмотреть сообщение
желательно - упрощённый до простого ввода нажатий

Код:


.TY FTT.PAS
PROGRAM FTT;

PROCEDURE EMT340;
BEGIN
/*$C
        EMT     ^O340
        BCS     .-2
*/
END;

BEGIN
        WRITELN(CHR(27),'H',CHR(27),'J');
        WRITELN('B1');
        EMT340;
        WRITELN('B2');
        EMT340;
        WRITELN('B3');
        EMT340;
        WRITELN('BYE!');
END.


.
протокол
Код:
B1
 - тут ждёт
B2 > проскок!
B3 
- тут ждёт
BYE!

.
В этом же случае - функция с регистровыми переменными работает.
В "больной-большой" программе проскок в цикле как я писал выше
в случае использования и емт340 и регистровых без разницы.

(но я конечно не втыкал пока вот то что с доп. переменной и проверять её значение - как в вашем KEYS.PAS - эта штука будет
работать поскольку - понятно что будет)