Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Светодиоды

10K
28 сентября 2009 года
palevo060
144 / / 05.09.2009
Здрасте нашел программу которая якобы должна переключать светодиоды на клавиатуре, но ничего не происходит. Подскажите почему?

[HTML]
.286

CSEG segment
assume CS:CSEG
org 100h

Begin:
start proc near
mov ah,2 ; функция 02 прерывания 1Ah
int 1Ah ; получить текущее время
mov ch,dh ; сохранить текущую секунду в СН
mov cl,0100b ; CL = состояние светодиодов клавиатуры
main_loop:
call change_LEDs ; установить светодиоды в соответствии с CL
shl cl,1 ; следующий светодиод,
test cl,1000b ; если единица вышла в бит 3,
jz continue
mov cl,0001b ; вернуть ее в бит 0,
continue:
mov ah,1 ; проверить, не была ли нажата клавиша,
int 16h
jnz exit_loop ; если да - выйти из программы
push cx
mov ah,2 ; функция 02 прерывания 1Ah
int 1Ah ; получить текущее время
pop cx
cmp ch,dh ; сравнить текущую секунду в DH с СН,
mov ch,dh ; скопировать ее в любом случае,
je continue ; если это была та же самая секунда - не
; переключать светодиоды,
jmp short main_loop ; иначе - переключить светодиоды
exit_loop:
mov ah,0 ; выход из цикла - была нажата клавиша,
int 16h ; считать ее
ret ; и завершить программу
start endp

; процедура change_LEDs
; устанавливает состояние светодиодов клавиатуры в соответствии с числом в CL
change_LEDs proc near
call wait_KBin ; ожидание возможности посылки команды
mov al,0EDh
out 61h,al ; команда клавиатуры EDh
call wait_KBin ; ожидание возможности посылки команды
mov al,01b
out 61h,al ; новое состояние светодиодов
ret
change_LEDs endp

; процедура wait_KBin
; ожидание возможности ввода команды для клавиатуры
wait_KBin proc near
in al,64h ; прочитать слово состояния
test al,0010b ; бит 1 равен 1?
jnz wait_KBin ; если нет - ждать,
ret ; если да - выйти
wait_KBin endp

exit:
int 20h


CSEG ends
end Begin[/HTML]
9
28 сентября 2009 года
Lerkin
3.0K / / 25.03.2003
С винды запускаешь, поди?
10K
28 сентября 2009 года
palevo060
144 / / 05.09.2009
Ага. А откуда нужно?
23K
29 сентября 2009 года
ageron
17 / / 10.02.2007
жил был DOS небыло тогда красивого интерфейса с окошичками называемого Windows 7 небыло Windows Vista о боже даже Win 95 не появилась вот и оставалось тогда от одиночества и скуки Dos'у лампочками мигать
10K
29 сентября 2009 года
palevo060
144 / / 05.09.2009
Понял понял не ругайтесь)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог