С помощью функции 05h можно вставить символы в буфер клавиатуры, как будто они были введены оператором.
Регистры на входе: |
AH = 05h; CL = код ASCII записываемого символа; CH = скан-код записываемого символа, или 0 |
Регистры на выходе: |
AL = 0 - запись выполнена успешно; AL = 1 - буфер клавиатуры переполнен |
Приведенная ниже фрагмент программы записывает в буфер клавиатуры пять символов '*'. Если запустить программу, соедржащую этот фрагмент кода, а затем посмотреть на системное приглашение, то вы увидите что-нибудь похожее на C:\>*****.
union REGS rg;
int i;
for(i=0; i<5; i++)
{
rg.h.ah = 5;
rg.h.cl = '*';
rg.h.ch = 9;
int86(0x16, &rg, &rg);
}