Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2010, 18: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, 20: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 в 20:17.
MalCer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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