Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 906
от 20.11.2007, 06:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 373, Экспертов: 20
В номере:Вопросов: 3, Ответов: 4


Вопрос № 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 открывается . И где эта командная строка? И в блокноте же можна писать программу?
Отправлен: 14.11.2007, 23:13
Вопрос задал: Гоменюк Владимир Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Гоменюк Владимир Викторович!

Командная строка:
Нажимаете кнопки "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>;
-уточняющие вопросы задавайте в мини-форум, он Вам как автору вопроса доступен.
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 19.11.2007, 17:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.62.1 от 14.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное