Вопрос № 109433: Доброе время суток, уважаемые эксперты. у меня возник следующий вопрос, или скорее проблема. Суть программы очень проста : пользователь вводит имя файла и программа шифрует этот файл. Только вот дело в том . что если имя файла выбрано по умолчанию (т...Вопрос № 109449: Здравствуйте уважаемые эксперты! Задали вывести на экран таблицу разрешения маскируемых аппаратных прерываний в соответствии с текущей маской ведомого контроллера
прерываний. Подскажите как это реализовать. Есле возможно, то спримерами и подробными к...Вопрос № 109460: Скачал с kalashnikoff.ru книгу-рассылку, еще есть несколько книг но там ответа на мой вопрос. У меня вопрос : как компилировать - у меня не открываются ML и MASM простым нажатием. Может их нужно открывать с помощью какой-то проги или у меня комп глюч...
Вопрос № 109.433
Доброе время суток, уважаемые эксперты. у меня возник следующий вопрос, или скорее проблема. Суть программы очень проста : пользователь вводит имя файла и программа шифрует этот файл. Только вот дело в том . что если имя файла выбрано по умолчанию (то есть указано в коде) тогда все работает нормально. Отсюда последовал вполне логичный вывод что, когда вводится строка и имя файла сохраняется в выделенном буфере, то при переводе ее в формат ASCIIZ возникает ошибка , в последующих строках я поставил проверку на
открытие выбранного файла, что и послужило "индикатором" ошибки именно в этих строках.
если я правильно понимаю, то при переводе строки в формат ASCIIZ необходимо в ее конец добавить "0", прошу посмотрите приведенный фрагемнт кода и укажите на ошибку.
Заранее выражаю огромную благодарность.
Виктор
Приложение:
Отправлен: 14.11.2007, 20:15
Вопрос задал: V_Victor (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, V_Victor!
Функция DOS 0Ah — Считать строку символов из STDIN в буфер Ввод: АН = 0Ah DS:DX = адрес буфера Вывод: Буфер содержит введенную строку
буфер имеет формат: -первый байт - максимальная длина строки(маск=256) -второй байт - кол-во введенных символов -третий и дальше сама введенная строка. т.е. в программе это выглядит так: сегмент кода mov ah,0ah mov dx,offset myBuff int 21h
сегмент данных myBuff
db 256 szBuff db ? inBuff db 256 dup (?)
Вам остается после ввода строки, заменить последний код(0Dh) на 0. Перед применением 09-ой функции- не забывайте о "$" в конце строки.
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 14.11.2007, 21:04 Оценка за ответ: 4
Вопрос № 109.449
Здравствуйте уважаемые эксперты! Задали вывести на экран таблицу разрешения маскируемых аппаратных прерываний в соответствии с текущей маской ведомого контроллера прерываний. Подскажите как это реализовать. Есле возможно, то спримерами и подробными коментариями.
Заранее спарибо!
Отправлен: 14.11.2007, 21:45
Вопрос задал: Lammer (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Lammer!
Смотрите приложение.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 16.11.2007, 11:13 Оценка за ответ: 5 Комментарий оценки: Спасибо за коментарии. Вы мне очень помогли.
Отвечает: an42
Здравствуйте, Lammer!
Регистр маски ведущего контроллера читается из порта 21h.
Регистр маски ведомого контроллера читается из порта A1h.
В приложение показана значение портов 21h и A1h.
Удачи.
Приложение:
Ответ отправил: an42 (статус: 6-ой класс)
Ответ отправлен: 18.11.2007, 13:54
Вопрос № 109.460
Скачал с kalashnikoff.ru книгу-рассылку, еще есть несколько книг но там ответа на мой вопрос. У меня вопрос : как компилировать - у меня не открываются ML и MASM простым нажатием. Может их нужно открывать с помощью какой-то проги или у меня комп глючит. В учебниках просто сказано с помощью MASM а как подробней не сказано. MASM скачал с kalashnikoff.ru, розархивировал, установил и в папке BIN нашел этот MASM и ML . Зато LINK открывается . И где эта командная строка? И в блокноте же можна писать программу?
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Гоменюк Владимир Викторович!
Командная строка:
Нажимаете кнопки "Windows" + "R", у Вас появится окно "Выполнить | Run".
Набираете "COMMAND"(W9x)" или CMD"(XP), у Вас откроется окно "Сеанс MS-DOS | MS-DOS prompt" c текстом "имя ОСи и текущая папка(к примеру: C:WindowsDestop>)".
используя команды MS-DOS:
-CD имя папки - зайти в папку;
-CD . . - выйти из папки;
-D: - сменить дисковод;
Вы должны попасть в папку MASM611BIN>.
Только после этого Вы набираете команду: ML prog01.asm [ options | ключи ](обратите внимание не MASM.EXE, a ML.EXE).
Как вариант можно в блокноте создать *.ВАТ(к примеру: prog01.bat) и в нём прописать команду : ML prog01.asm [ options | ключи ]. В проводнике достаточно клика на нём и у Вас запустится компилятор.
-достоинство метода: не нужно запоминать опции компилятора для каждой программы;
-недостатки метода:лишний файл на диске и(или) его нужно переписывать для каждой программы.
Как второй вариант Вы можете использовать командную строку файловых менеджеров, их около 60-ти (есть с поддержкой "мыши" и без)
ps:-вначале файлы *.ASM сохраняйте в папку MASM611BIN>;
-уточняющие вопросы задавайте в мини-форум, он Вам как автору вопроса доступен.
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!