[TS - asm] - poróżnianie buf. klawiatury

0

Hey

Gdzie moge znaleźć informację jak opróżnić bufor klawiatury oraz czytać dane znakowe oraz łańcuchy ... chodzi o przerwania asm raczej.

:)

pozdr.

0
void clrkeybuf(){
  asm{
   start:
    mov ah,01h  ; 1 i 11h sprawdzaja bufor
    int 16h
    jz  quit    ; powrot bufor pusty, gdy zf=1
    xor ah,ah   ; 0 i 10h odczytuja z usunieciem znak z bufora
    int 16h
    jmp start   ; loop
   quit:
  }
}
// gdyby nie chcialo sie skompilowac wywal labele start i quit poza blok asm{}

z tym ze funkcje 10h/11h (16/17) odczytac potrafia sporo wiecej - rozrozniaja m.in. klawisz klaw num i zwykle numerki, klawisze funkcyjne z klaw num i nie numeryczne + F11,F12 + troszke jeszcze moga wiecej, natomiast dzieki temu ze 0/1 mniej potrafia odczytac i zwrocic do czyszczenia bufora sie lepiej nadaja. Nie mieszac miedzy soba par 0/1 i 10/11

1 użytkowników online, w tym zalogowanych: 0, gości: 1