Показать сообщение отдельно
Старый 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 вне форума   Ответить с цитированием
Ads

Яндекс

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