Вопрос № 34194: Подскажите как имея ASCII-код символа получить его значение.
...Вопрос № 34196: В вобщем я написал резидентную программу, которая должна отображать состояние буферы клавиатуры.
Для этого я модифицировал IVT, но почему то программа не отображает изменение буфера, когда я ввожу символы.
Вот код программы: основные обработч...Вопрос № 34234: Хотя меня здесь упорно игнорируют. Задаю ещё один вопросик:
MOVZX стоит ли вообще использовать её при программировании под Windows. Если не стоит, то какова альтернатива....
Вопрос № 34.194
Подскажите как имея ASCII-код символа получить его значение.
Отправлен: 27.01.2006, 04:44
Вопрос задал: Shish (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Shish!
А что такое, по-твоему, ASCII-код?
Это и есть некое число, которое условно считают кодом некоего символа.
Т.е. когда надо изобразить некий символ, то имея таблицу соответствия
(читай ASCII, ANSI, ...) кодов и, скажем, описания символов, легко изобразить
данный символ. Т.о. ASCII-код в данном случае служит индексом в таблице ASCII.
Данное число можно в равной степени интерпретировать и как некий код, и как
просто число.
В вобщем я написал резидентную программу, которая должна отображать состояние буферы клавиатуры.
Для этого я модифицировал IVT, но почему то программа не отображает изменение буфера, когда я ввожу символы.
Вот код программы: основные обработчики int9h_handler и int1ch_handler(то есть в них и надо искать загвоздку)
Приложение:
Отправлен: 27.01.2006, 06:12
Вопрос задал: Shish (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Shish!
Что первое увидел ....
1. В int9h_handler ты проверяешь, чтобы
а) что-то было
б) голова буфера указывала на начало буфера
в) и при этом был нажат ALT!
Этот момент явно никогда не наступит...
2. В int1ch_handler что это за конструкция
mov al, byte ptr 0040h:001Ah? Что-то новенькое!
Надо проинициалировать ES=40h и писать
mov al, byte ptr es:001Ah
3. Неправильная процедура print_hex (у тебя же не двоично-десятичный код, а hex!)
Дальше смотри сам...:)
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Отправлен: 27.01.2006, 22:16 Оценка за ответ: 4
Вопрос № 34.234
Хотя меня здесь упорно игнорируют. Задаю ещё один вопросик:
MOVZX стоит ли вообще использовать её при программировании под Windows. Если не стоит, то какова альтернатива.
Отвечает: Евгений Иванов
Здравствуйте, Юра Устинов!
и стоит и нужно
отличная команда
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 27.01.2006, 20:44
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Юра Устинов!
Альтернатива? Да пожалуйста!
xor eax, eax
mov al, cl
Но, согласись, movzx eax, cl намного приятнее смотрится :)
Используй хоть в ДОС-е, хоть в WINDOWS, хоть в LINUX, хоть пиши свою ось,..