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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 00:20   #1
Ivan73
Новичок
Джуниор
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию разрабоать Ассемблер программу, отображающую на экране текущее состояние байтов статуса клавиатуры.

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

Последний раз редактировалось Ivan73; 15.06.2009 в 16:13.
Ivan73 вне форума Ответить с цитированием
Старый 15.06.2009, 00:24   #2
Ivan73
Новичок
Джуниор
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию SOS!!!!!

уважаемые дамы и господа. МЕНЯ СКОРА ОТЧИСЯТ ЕСЛИ Я НЕ НАПИШУ ЭТУ ЧЁРТОВУ ПРОГРАММУ. ЛЮДИ ДОБРЫ ВЫ МОЯ ПОСЛЕДНЯЯ НАДЕЖДА.
Ivan73 вне форума Ответить с цитированием
Старый 15.06.2009, 00:44   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Может я как-то не так понял, но вот прога для чтения скан кодов из порта 60h
Код:
; Вывод на экран скан кодов клавиатуры в 16-ричной системе счисления
.model tiny
.code

org 100h ; СОМ-программа
start:
	lea dx,msg  ; выводим сообщение на экран
	mov ah,9
	int 21h
	
next:
	in al,60h ;принимаем код нажатой клавиши
	cmp al,01   ; если это esc...
	jnz m1
	ret         ; то выходим
m1:
	
	;далее раскладываем на разряды это число, переводим в строку и выводим сразу на экран
	
	xor ah,ah  ;чтобы небыло проблем
	
	mov bl,10h 
	div bl     ;отделяем полубайты друг от друга в al будет старший полубайт, в ah младший
	mov dl,al
	cmp dl,9 ;если число > 9 , то надо уже надо писать букву
	jl l1
	add dl,7   ; добавляем до буквы.
	
l1:
	add dl,30h ;добавляем до символа
	mov cl,ah  ;сохраняем младший разряд
	mov ah,02
	int 21h		;выводим символ на экран
	mov dl,cl
	cmp dl,9 ;если число > 9 , то надо уже надо писать букву
	jl l2
	add dl,7   ; добавляем до буквы.
	
l2:
	add dl,30h ;добавляем до символа
	mov ah,02
	int 21h    ;выводим символ на экран
	
	mov dl,0dh    ; вставляем символ перевода на начало строки
	mov ah,2
	int 21h
	jmp next   ; повторяем еще раз
	

msg		db "Scan code of keyboard. For stop, press ESC key.",0Dh,0Ah,"$"; символ $ означает конец строки
; 0dh,0ah - это перевод строки
end start
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 15.06.2009 в 00:48.
Goodwin98 вне форума Ответить с цитированием
Старый 15.06.2009, 12:07   #4
DEADHUNT
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Ivan73 Посмотреть сообщение
уважаемые дамы и господа. МЕНЯ СКОРА ОТЧИСЯТ ЕСЛИ Я НЕ НАПИШУ ЭТУ ЧЁРТОВУ ПРОГРАММУ. ЛЮДИ ДОБРЫ ВЫ МОЯ ПОСЛЕДНЯЯ НАДЕЖДА.
а смысл дальнейшего обучения, если ты ни чего не знаешь.
DEADHUNT вне форума Ответить с цитированием
Старый 15.06.2009, 15:47   #5
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

профинансировать просто нужно разработку
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 15.06.2009, 15:57   #6
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
программа доложна реагировать как на нажатие так и на отжатиеклавиш
Не совсем понятно что должна делать эта программа. Напишите подробнее!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 15.06.2009, 16:15   #7
Ivan73
Новичок
Джуниор
 
Регистрация: 15.06.2009
Сообщений: 3
По умолчанию

Гудвин... я сам не правильно написал. вернее не дописал.
Ivan73 вне форума Ответить с цитированием
Старый 15.06.2009, 21:41   #8
Berkof
Новичок
Джуниор
 
Регистрация: 15.06.2009
Сообщений: 1
По умолчанию

Ivan73: Я могу тебе помочь написать твою программу. Скажи только под какой ОС писать и сколько ты готов заплатить. Ну и конечно срок разработки :P
Berkof вне форума Ответить с цитированием
Старый 15.06.2009, 22:30   #9
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Дошло, что она должна делать Вот переделал прогу.
Код:
.model tiny
.code

org 100h ; СОМ-программа
start:
	lea dx,msg  ; выводим сообщение на экран
	mov ah,9
	int 21h
	mov ax,40h
	mov es,ax
next:
	in al,60h
	cmp al,01   ; если это esc...
	jnz m1
	ret         ; то выходим
m1:
	xor cx,cx
	mov al,es:[17h]  ; читаем один байт статуса

	call hex
	mov dl,0dh    ; вставляем символ перевода на начало строки
mov ah,2
int 21h
mov al,es:[18h]  ; читаем др байт статуса
call hex
	jmp next   ; повторяем еще раз
	;далее раскладываем на разряды это число, переводим в строку и выводим сразу на экран
hex:
	xor ah,ah
	
	mov bl,10h
	div bl
	mov dl,al
	cmp dl,0ah ;если число > 9 , то надо уже надо писать букву
	jl l1
	add dl,7   ; добавляем до буквы.
	
l1:
	add dl,30h
	mov cl,ah
	mov ah,02
	int 21h
	mov dl,cl
	cmp dl,0ah ;если число > 9 , то надо уже надо писать букву
	jl l2
	add dl,7   ; добавляем до буквы.
	
l2:
	add dl,30h
	mov ah,02
	int 21h
	ret
msg		db "2 bytes of status keyboard. For stop, press ESC key.",0Dh,0Ah,"$"
end start
PS А что вы все на него налетели-то?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 15.06.2009 в 22:42.
Goodwin98 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработать резедентную Assembler-программу ключ клавиатуры gogi73 Фриланс 1 15.06.2009 15:51
программа позволяющая установить с клавиатуры новую дату и новое текущее время men73 Фриланс 1 11.06.2009 20:23
разработать ассемблер программу Diman365 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.06.2009 21:20
состояние регистров клавиатуры olen` Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 05.06.2009 22:34
используя оператор цикла и графики , составте программу для рисования на экране рисунка maksu6ka2009 Паскаль, Turbo Pascal, PascalABC.NET 3 25.04.2009 13:08