Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,305
Записей в блоге: 12

Светодиоды не переключаются

19.06.2018, 23:23. Показов 967. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
В DOS светодиоды не реагируют, в VMware всё ok. Что не так-то?
Помнится, давным давно (где-то в конце 90-х, начале 00-х) делал такое, всё работало, сейчас не хочет.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SetLEDState     PROC    PASCAL  State:BYTE
                pushf
                cli
                xor     cx,cx
        @@1:    in      al,64h
                test    al,2
                loopnz  @@1                     ; ожидаем готовность к приёму команды
                mov     al,0EDh                 ; команда управления светодиодами
                out     60h,al
                xor     cx,cx
        @@2:    in      al,64h
                test    al,2
                loopnz  @@2                     ; ожидаем готовность к приёму команды
                mov     al,State                ; состояние светодиодов
                out     60h,al
                popf
                ret
SetLEDState     ENDP
Добавлено через 4 часа 32 минуты
Кстати, это процедура всё же генерит IRQ 1, но при чтении скан-кода (из обработчика int 9) я получаю в качестве эха не 0FAh (как должно быть, насколько я понимаю), а 0FEh. Что это может означать?

p.s. Клава USB-шная. Но скан-коды из 60h читаются, сброс IRQ 1 через порт 61h работает, сброс процессора через отсылку 0FEh в порт 64h – тоже. А вот лампочки не переключаются

Добавлено через 55 минут
Накидал прогу, которая непрерывно показывает скан-коды из порта 60h.
Скан-код 0FEh отображается после нажатия на Caps/Num/Scroll Lock. Так что, видимо, эхо 0FEh – это нормально.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.06.2018, 23:23
Ответы с готовыми решениями:

Зажечь светодиоды на клавиатуре
MODEL SMALL .DATA ;------------------------------ .STACK 1024...

Debug.exe. Зажечь светодиоды на клавиатуре.
1.используя текстовый редактор,создайте файлы,при запуске кторых утилитой debug вы "засветите" все...

(МК51) Должны замигать светодиоды, подключенные к линиям порта вывода Р1
помогите пожалуйста написать программу "Должны замигать светодиоды, подключенные к линиям порта...

2
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6213 / 2447 / 403
Регистрация: 29.07.2014
Сообщений: 3,178
Записей в блоге: 4
21.06.2018, 07:53
Цитата Сообщение от Jin X Посмотреть сообщение
а 0FEh. Что это может означать?
У меня работает такой код, но только под чистым досом - в консоли нет:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; зажечь все леды клавиатуры
;----------------------------
org     100h
start:  call  WaitKeyb
        mov   al,0EDh
        out   60h,al
 
        call  WaitKeyb
        mov   al,111b
        out   60h,al
 
exit:   xor   ax,ax
        int   16h
        int   20h
;----------
WaitKeyb:
        in    al,64h
        test  al,2
        jnz   WaitKeyb
        ret
Твой код-возврата FEh означает, что контроллёр просит ещё-раз повторить последний запрос (подтвердить его). Видимо это особенность клавиатур с усбишным интерфейсом, т.к. у меня PS/2. После подтверждения должен возвратить уже с порта(60h) байт-ACK cо-значением FAh.

Добавлено через 4 минуты
кроме того попробуй включить в биосе 'Legacy Keyb'
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,305
Записей в блоге: 12
21.06.2018, 17:15  [ТС]
Повторная отправка не помогает
Настройки Legacy keyboard нет, есть эмуляция порта 60/64, но это тоже не помогает (только FEh перестаёт посылаться, судя по всему).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.06.2018, 17:15
Помогаю со студенческими работами здесь

СМА ARISTON AQSL 85 CSI HA 080510580000 после подачи напряжения горят все светодиоды и не реагирует ни на одну кнопку, На блоке управления горят все светодиоды и не реагирует на кнопки
СМА ARISTON AQSL 85 CSI HA S/N 080510580000 по словам клиента машинку после окончания стирки...

СМА LG - F8068LD во время стирки гаснут и загораются светодиоды, Во время в какой то момент гаснут и загораются светодиоды иногда однов
Во время стирки в какой то момент гаснут и загораются светодиоды иногда одновременно, иногда...

Не переключаются видеокарты
при запуске любой игры не переключаются видеокарты(с интегрированной на дискретную),драйвера нвидиа...

Не переключаются экраны
Здравствуйте. Испытываю следующую проблему: имеется видеокарта GEFORCE GTX 1070 ARMOR 8G OC. К ней...

Не переключаются часики!!!
Добрый день всем! Столкнулся с такой проблемой: Всем известно что с этого года мы больше не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru