Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 14.02.2010, 19:24   #1
Sapos
Новичок
Джуниор
 
Регистрация: 19.01.2010
Сообщений: 1
По умолчанию Считать Scan коды

Здравствуйте, форумчане!

Появилась необходимость написать программу, которая при нажатии клавиши выводит на экран ее символьное значение, скан-код и ASCII (например через пробел). Пока получается только выводить scan коды клавиш с цифрами от 0 до 9, не пойму как быть с буквами и остальными клавишами, бьюсь 3-й день.
Код вывода цифровых клавиш:

MODEL TINY
STACK 256
DATASEG
scan DW ?
scan2 DW ?
asc DW ?
CODESEG
start:
XOR AX,AX
MOV AX,00h ;ожидание нажатия
INT 16h ; прерывание BIOS

MOV BH,AH
MOV BL,AL

ADD BH,'0'


MOV AH,2h
MOV DL,BH
INT 21h
MOV DL,' '
INT 21h
MOV DL,BL
INT 21h

После вызова функции 00 16-ого прерывания в регистре AH будет храниться scan код или расширенный ASCII (это если нажата кака-нить функциональная клавиша), AL будет содержать ASCII символ (или все таки код ASCII? - не понятно), а если в AL лежит 0, то AH содержит расширенный ASCII - инфо из справочника.

Как получить и вывести scan код любой другой клавиши (с клавишами цифр уже получается)? Как преобразовывать двух- и трехначное число (полученный код) в символ?

Пишу на TASM 5.0

Помогите, как быть дальше?

Заранее Спасибо!
Sapos вне форума Ответить с цитированием
Старый 14.02.2010, 21:13   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Уже обсуждалось 100 раз См. похожие темы:
------------------------------------------------------
http://programmersforum.ru/showthread.php?t=27306
http://programmersforum.ru/showthrea...highlight=Scan
http://programmersforum.ru/showthread.php?t=54584
http://programmersforum.ru/showthread.php?t=53058
http://programmersforum.ru/showthread.php?t=52764
http://programmersforum.ru/showthread.php?t=27306
------------------------------------------------------
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 14.02.2010 в 21:17.
MalCer вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
коды клавиш на ТС alex(21) Общие вопросы C/C++ 1 13.11.2009 11:23
ASCII коды Strogg Assembler - Ассемблер 2 03.04.2009 17:09
Вывести ASCII и SCAN -коды клавиш... StudentBTI Помощь студентам 7 07.10.2008 22:01
Програмные коды novol Паскаль, Turbo Pascal, PascalABC.NET 27 09.12.2007 21:29