Вопрос № 90664: Уважаемые эксперты! Поздравьте меня я начал изучение программирования! До этого времени я был опытным пользователем и самостоятельно настраивал программы и программные оболочки с использованием уже имеющихся инструментов, но в один прекрасный день в ...Вопрос № 90668: Добрый день! Срочно нужен исходник программки на Ассемлере, которая выводит на экран код клавиши при её нажатии. В этом деле я полный чайник, если можно с коментариями
по исходнику и сам исходник. Заранее благодарен....
Вопрос № 90.664
Уважаемые эксперты! Поздравьте меня я начал изучение программирования! До этого времени я был опытным пользователем и самостоятельно настраивал программы и программные оболочки с использованием уже имеющихся инструментов, но в один прекрасный день в моей голове засела мысль, почему я иду по пути диктуемому программами? Я решил освоить этот увлекательный мир – программирование. Для осуществления своей задумки я начал поиск в глобальной сети, чтобы узнать с чего мне начать, заказывал ненужные диски с программами,
а затем натолкнулся на рассылку Калашникова и дневники чайника. Немного почитав, естественно не касаясь самого составления программ, я решил, что изучение ассемблера это именно тот первый шаг в увлекательный мир, и скачал с архива рассылки все указанное необходимое программное обеспечение. Но увы, когда я установил MASM 6.11 под ОС WinXP ассемблер просто не захотел работать . Я попробовал установить совместимость с Win98, но и это не помогло ! Д
аже при использовании Far Manager, ассемблер выдает следующую строку:
Usage: MASM [option…] sourse(.asm), [out(.obj)],[list(.lst)], [cref(.crf)] [;]
А затем работа программы автоматически завершается.
Может я делаю что-то не так, или мне нужно почитать техническую документацию?
Подскажите пожалуйста, или если речь пойдет о документации дайте ссылку в сети.
Заранее благодарен, с уважением Elric!
ответ жду на elric0sphinx@rambler.ru
Отвечает: Стас
Здравствуйте, Иванов Алексей Евгеньевич!
Что значит не захотел работать? Работает же:
Usage: MASM [option…] sourse(.asm), [out(.obj)],[list(.lst)], [cref(.crf)] [;]
означает: чтобы использовать наберите masm затем необязятельные (скобки []означают именно необязательность ) параметны (options) затем исходный текст проги (source) через запятую имяфайла для объектного файла (нужен для дальнейшего линкования) через запятую имя файла куда запишется листинг проги, и наконец файл с перекрестными ссылками.
Вам просто нужен текст программы дать масму. Скачайте какие либо примеры, или возмите в том же масме и попробуйте откомпилировать.
Т.е. минимально нужно набрать: masm test.asm
файл откомпилируется в test.obj
а его уже нужно линковать в готовую программу:
link test.obj
на выходе будет test.exe - готовая прога.
На самом деле конечно же опции понадобятся, но их нужно использовать в зависимости от ситуации(потребности)
Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 09.06.2007, 09:16
Отвечает: VeRTeX
Здравствуйте, Иванов Алексей Евгеньевич!
Заходим в папку Masm, подпапка Bin.
В эту папку копируем файл для компиляции, например, Test.asm
(Я компилирую в командной строке)
Набираем ML.EXE Test.asm /AT
Происходит компиляция и на выходе, если без ошибок, получаем готовый файл Test.com
Сообщение "Usage: MASM [option…] sourse(.asm), [out(.obj)],[list(.lst)], [cref(.crf)] [;]" - это просто указание компилятором Вам о необходимости указания опций, это мини-хелп по параметрам.
Удачи.
Ответ отправил: VeRTeX (статус: 1-ый класс)
Ответ отправлен: 09.06.2007, 13:36
Вопрос № 90.668
Добрый день! Срочно нужен исходник программки на Ассемлере, которая выводит на экран код клавиши при её нажатии. В этом деле я полный чайник, если можно с коментариями по исходнику и сам исходник. Заранее благодарен.
Отправлен: 09.06.2007, 09:10
Вопрос задал: Юрий Саныч (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: IceWolf
Здравствуйте, Юрий Саныч!
Программа(с комментариями) выводящая код нажатой клавиши в шестнадцатеричном виде в приложении.
При желании её несложно переделать для вывода кода в десятичном виде.
Удачи!
Приложение:
--------- Идеальных защит не существует, ибо то, что создано человеческим разумом, им же будет и разрушено!
Ответ отправил: IceWolf (статус: 9-ый класс)
Ответ отправлен: 09.06.2007, 16:48
Отвечает: An42
Здравствуйте, Юрий Саныч!
Для определения кода нажатия клавиши используется bios int 16h функция ah 00h.
При вызове в ah=скен-код, al=символ ascii, данная функция отбрасывает расширение ascii коды.
Программу входит 2 процедуры
> a10scii предназначена для перевода из двоичного кода в ascii код для дальнейшего вывода на экран
> dos09 предназначена для непосредственного вывода на экран сообщений
Завершение программы клавиша Esc
Остальные комментарии в программе
Удачи
Приложение:
Ответ отправил: An42 (статус: 4-ый класс)
Ответ отправлен: 10.06.2007, 16:16