![]() |
|
|
![]()
|
|
| R'Dock |
|
|||
|
Unregistered |
Студент, начинающий учить Ассемблер. Не могу составить программу, которая выдаёт код нажатой клавиши.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
xor ah,ah
int 16h В результате в AH - скан-код, в AL - ASCII-код. Если AH=0, то в AL - расширенный скан-код. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А вот этот код на Фасме выводит на экран содержимое bl.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Гость_R'Dock |
|
|||
|
Unregistered |
Я вроде разобрался в программе. Вот в таком виде:
#make_COM# ORG 100h start: mov ah,09h ;ф-ция вывода строки mov dx,offset msg ;адрес строки int 21h ;прерывание mov ah,01h ;ф-ция ожидания ввода символа int 21h ;прерывание mov bl,al ;скопируем содержимое al в bl, т.к. нек. ф-ции изменяют al mov ah,09h ;ф-ция вывода строки mov dx,offset msg_2 ;адрес строки int 21h ;прерывание mov cl,0 ;это будет счетчик conv: mov dl,1 ;это будет выводимый символ(один бит из кода) shl bl,1 ;смещение содержимого bl влево на один бит, старший бит помещается в cf jc zer ;условный переход, если cf=1 mov dl,0 zer: add dl,30h ;доводим цыфру до аски кода mov ah,02h ;ф-ция вывода символа из dl int 21h ;прерывание inc cl ;увеличиваем счетчик cmp cl,8 ;проверка счетчика jnz conv ;если ещё не выведено 8 символов, то работаем дальше ret msg db "Press any key: ",13,10,"$" msg_2 db " : $" end start |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |