Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 12.04.2011, 09:02   #1 (permalink)
surgutfred
Новичок
 
Регистрация: 12.04.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Выход из программы при наборе пароля

Добрый день.
Задание такое:
Написать программу, которая блокирует систему до тех пор, пока на
клавиатуре не будет нажата определенная комбинация клавиш
(пока пользователь не напишет пароль в строке).
Обработчик прерывания: клавиатура

В лекции есть похожий пример - Выход из программы происходит лишь при одновременном нажатии клавиш CTRL, ALT, Fl0.:

Код:
CODE SEGMENT  
 ASSUME CS:CODE
ORG 100H 
BEGIN: ;ждем нажатия клавиши
MOV АН,0
INT 16H
CMP AL,0
JNZ BEGIN    ;если код не расширенный - повторить
CMP АН,103     ;код одновременного нажатия Ctrl и F10
JZ  PROV
СМР АН,113   ;код одновременного нажатия Alt и F10
JZ  PROV
JMP SHORT BEGIN
PROV:    ;здесь проверяем биты состояний клавиш Ctrl и Alt
MOV AX,40Н
MOV ES,AX
TEST BYTE PTR ES:[17H],00000100В ;проверка слова состояния 
; клавиатуры на клавишу Ctrl
JZ  BEGIN
TEST BYTE PTR ES:[17H],00001000В    ;проверка слова состояния ;клавиатуры на клавишу Alt
JZ  BEGIN 
EXIT:
MOV AH,4CH
INT 21H 
CODE ENDS
END BEGIN
На лекции препод копировал из лекции в файл, компилировал и демонстрировал работу проги. Но у меня дома почему то не компилится, ошибки прут.
Типа такого:
ex.asm(5): error A2044: invalid character in file
ex.asm(9): error A2044: invalid character in file
ex.asm(11): error A2044: invalid character in file
ex.asm(11): error A2039: line too long
ex.asm(12): error A2044: invalid character in file
ex.asm(12): error A2039: line too long
ex.asm(13): error A2044: invalid character in file
ex.asm(13): error A2039: line too long
ex.asm(14): error A2044: invalid character in file
ex.asm(14): error A2039: line too long
и т.д.

Чего то не хватает? Я ошибки понимаю как неправильный символ и длинная строка, но ничего такого не вижу.
Помогите понять почему не компилится? Если поможете с написанием программы то же буду благодарен.

Файлы ассемблера у меня такие
LINK.EXE
MASM.EXE
ML.EXE
surgutfred вне форума   Ответить с цитированием

Старый 12.04.2011, 09:02
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вы не один, кто обращался за помощью с такой проблемой

Восстановление пароля для админки
Ноутбук Dell Vorsto 1000 Зависает текст при наборе

Старый 12.04.2011, 12:50   #2 (permalink)
Defer
Member
 
Регистрация: 20.03.2011
Сообщений: 344
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 680
По умолчанию

Цитата:
как неправильный символ
Так оно и есть.
Код:
MOV АН,0
Например, в этой строке регистр AH написан русскими символами... Все остальное вызвано схожими ошибками.
Defer вне форума   Ответить с цитированием
Старый 13.04.2011, 09:51   #3 (permalink)
surgutfred
Новичок
 
Регистрация: 12.04.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Defer Посмотреть сообщение
Так оно и есть.
Код:
MOV АН,0
Например, в этой строке регистр AH написан русскими символами... Все остальное вызвано схожими ошибками.
А как можно быстро "вычислить" русские символы?
surgutfred вне форума   Ответить с цитированием
Старый 14.04.2011, 16:37   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,459
Записей в дневнике: 57
Сказал(а) спасибо: 124
Поблагодарили 150 раз(а) в 62 сообщениях
Репутация: 59633
По умолчанию

как вариант - перевести в другую кодовую таблицу
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 15.04.2011, 00:52   #5 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,920
Записей в дневнике: 10
Сказал(а) спасибо: 139
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28107
По умолчанию

Если есть Punto Switcher, можно выделить нужный текст и нажать Shift+Break. Текст конвертнется в другую раскладку, там можно понять, насколько русский текст. Но это долго. Поди, быстрее будет перепечатать те операторы, на которые ругается комп.
MrSTEP вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:39.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.