Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 764
от 30.05.2007, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 381, Экспертов: 32
В номере:Вопросов: 3, Ответов: 3


Вопрос № 88405: добрый день.мне нужно с помощью xlat преобразовывать вводимые с клавиатуры символы в скен коды соответсвующих клавиш. в приложении заготовка. не ясно где взять эти коды. поясните пожалуйста....
Вопрос № 88442: Здравствуйте! У меня вот такая проблема: нужно написать программу обработки прерывания для следующего случая: 1) Номер и назначение заменяемого вектора прерывания: 05h – прерывание, генерируемое при нажатии клавиш Shift + PrintScr; 2)...
Вопрос № 88452: Здравствуйте , у меня Турбо Ассемблер Shell Version 3.00 написал в редакторе программу Prog01.asm-программа к главе 01 запускаю компилятор а в ответ - error...Out file not found . Подскажите пожалуйста в чём дело ? ...

Вопрос № 88.405
добрый день.мне нужно с помощью xlat преобразовывать вводимые с клавиатуры символы в скен коды соответсвующих клавиш. в приложении заготовка. не ясно где взять эти коды. поясните пожалуйста.

Приложение:

Отправлен: 24.05.2007, 15:02
Вопрос задал: Biglе (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: LEXASOFT
Здравствуйте, Biglе!

Самый простой способ узнать скен-код клавиши выполнить инструкции:
mov ah,0
int 16h

Решили все-таки воспользоваться моим вариантом. Ниже заготовка с таблицей перекодировки. 2 часа убил на заполнение ее(возможны опечатки).

mov bx,offset xlat_tab
xlat
....
; bs tab ent
xlat_tab db 00,00,00,00,00,00,00,00, 14,15,00,00,00,28,00,00
db 00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00
; sp ! " # $ % & ' ( ) * + , - . /
db 57,02,40,04,05,06,07,40, 10,11,09,13,51,12,52,53
; 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
db 11,02,03,04,05,06,07,08, 09,10,39,39,51,13,52,53
; @ A B C D E F G H I J K L M N O
db 02,30,48,46,32,18,33,34, 35,23,36,37,38,50,49,24
; P Q R S T U V W X Y Z [ ] ^ _
db 25,16,19,31,20,22,47,17, 45,21,44,26,43,27,08,12
; ` a b c d e f g h i j k l m n o
db 41,30,48,46,32,18,33,34, 35,23,36,37,38,50,49,24
; p q r s t u v w x y z { | } ~
db 25,16,19,31,20,22,47,17, 45,21,44,26,43,27,08,12
; А Б В Г Д Е Ж З И Й К Л М Н О П
db 33,51,32,22,38,18,39,25, 48,16,19,37,47,21,36,34
; Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
db 35,46,49,18,30,26,17,45, 23,24,27,31,50,40,52,44
; а б в г д е ж з и й к л м н о п
db 33,51,32,22,38,18,39,25, 48,16,19,37,47,21,36,34
db 00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00
db 00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00
; р с т у ф х ц ч ш щ ъ ы ь э ю я
db 35,46,49,18,30,26,17,45, 23,24,27,31,50,40,52,44
; Ё ё
db 41,41,00,00,00,00,00,00, 00,00,00,00,00,00,00,00

Недостаток такого метода как преобразовать сканкод дополнительных клавиш(F1-F10, Ctrl, Shift, Alt, CapsLock, ScroollLock, NumLock, SysReq, и всех клавиш с дополнительной клавиатуры).

Удачи Вам!

Приложение:

---------
Нет безвыходных положений...

Ответ отправил: LEXASOFT (статус: 5-ый класс)
Ответ отправлен: 26.05.2007, 06:38


Вопрос № 88.442
Здравствуйте!
У меня вот такая проблема: нужно написать программу обработки прерывания для следующего случая:
1) Номер и назначение заменяемого вектора прерывания:
05h – прерывание, генерируемое при нажатии клавиш Shift + PrintScr;
2) Действие, реализуемое программой обработки прерываний: приостановить вывод на экран (вставить цикл задержки).
В принципе понятно, что надо сделать, но место, где необходимо сделать задержку (...loop...) что-то не идет .

Спасибо за внимание.

Приложение:

Отправлен: 24.05.2007, 20:37
Вопрос задал: Козлов Михаил Игоревич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Стас
Здравствуйте, Козлов Михаил Игоревич!

Насколько я понял задание нужно чтото вроде этого:

Приложение:

Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 25.05.2007, 10:51


Вопрос № 88.452
Здравствуйте , у меня Турбо Ассемблер Shell Version 3.00
написал в редакторе программу Prog01.asm-программа к главе 01
запускаю компилятор а в ответ - error...Out file not found .
Подскажите пожалуйста в чём дело ?
Отправлен: 24.05.2007, 22:28
Вопрос задал: asmodey54 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Tamashev Denis M

Перенесено в мини-форум.
---------
=Alexey G. Gladenyuk= (*Мастер-Эксперт)
Ответ отправил: Tamashev Denis M (статус: 4-ый класс)
Ответ отправлен: 25.05.2007, 10:08
Оценка за ответ: 1


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное