Сброс буффера клавы

Тема в разделе "WASM.BEGINNERS", создана пользователем zobot1, 27 июл 2005.

Статус темы:
Закрыта.
  1. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    Как сбросить в досе буффер клавы, чтобы не пикала?



    Пока вижу единственное решение (?) -

    прерывания запрещены

    разрешить прерывания

    читать клаву

    запретить прерывания

    ...
     
  2. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Бука В.П. Пирагов ASSEMBLER:учебный курс 2001



    стр.89 Глава 7.
    Код (Text):
    1.  
    2. CLRBUF proc
    3.    cli
    4.    push ax
    5.    push es
    6.    mov ax,40h
    7.    mov es,ax
    8.    mov al,byte ptr ES:[1Ch]
    9.    mov byte ptr ES:[1Ah],al
    10.    pop es
    11.    pop ax
    12.    sti
    13.    ret
    14. CLRBUF endp
    15.  


    код точь в точь как в книге, тока регистр некоторых букв изменил:)



    З.Ы. Если тока начинаешь, то рекомендую эту книгу... Стоит относительно ничего - 386 рубля. Относительно, т.е. если потом весь месяц одни макароны жрать:)
     
  3. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    спасибо !



    да я кончаю уже ;)

    Давно не брал в руки шашек (мс-доса). Всё больше в винде и линухах. А тут понадобилось - всё сделал, только клава пикает :)



    Кстати в догонку

    ah, 0x0c

    al, например 0xff

    int 21h



    (там короче а al несколько параметров-флажков, а если стоит левый, то функция просто flush-ит буффер клавы. Дёшево и сердито ;) Так что книги не только питательны, но и полезны :-D
     
Статус темы:
Закрыта.