ДВС. Уважаеме знатоки , скажите существует ли прервание для того чтобы считать сканкод нажатой в данной момент клавиши ? Я помню есть прервание дос для чтения клавиши , но это прервание ожидает нажатия на клавишу , а есть ли прервание которое не ждёт нажатия , а сразу же возвращает управление даже , если ничего не нажато . ? Заранее благодарю !!!
ksacvet777 Немного сумбурно задан вопрос... Считать сканкод нажатой в данный момент клавиши - невозможно. Да и логично это - а если их несколько нажато? Но, если я правильно понял, вопрос не в этом. Возможно имеется ввиду вот это? Код (Text): INT 16H 11H: Query Extended Keyboard Status / Preview Key Expects: AH 11H ────────────────────────────────────────────────────────────────── Returns: ZF ZR = no keys in buffer NZ = key is ready AH (if ZR) scan code AL ASCII character code or extended ASCII keystroke ────────────────────────────────────────────────────────────────── Info: This is identical to INT 16H 01H, except that it does not perform "extended key filtering" to map 101-key 'board keystrokes to 84-key 'board equivalents. See Also: INT 16H (BIOS keyboard services) BIOS Data Area ROM-BIOS Functions
В дос Int 21h, AH = 0Bh выдаст AL=FFh если есть готовый символ, или AL=00h, если нет Затем читаешь сканкод или в BIOS Int 16h, AH = 01h сбрасывает флаг ZF если есть готовый символ и возвращает в AL сканкод, в AH позиционный код (есно если после int не установлен ZF) ЗЫ: долго я собирался, ответ давно висит ))