Запись символов в буфер клавиатуры
С помощью функции 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);
}