logo search
несколько программ / bsp33

Запись символов в буфер клавиатуры

С помощью функции 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);

}