Вопрос № 175099: Здравствуйте, уважаемые эксперты! помогите написать программу:: при нажатии клавиши F или ALT+F осуществить поиск меток тома на всех логических дисках и вывести их в текстовый файл, который будет назван по текущему системному времени Вопрос № 175157: Здравствуйте уважаемые эксперты! Помогите решить задание. 1 Ввод пятиразрядных чисел в ячейки ОЗУ. Программа должна обеспечить ввод последовательности ASCII-кодов десятичных цифр (не длиннее пяти), перекодировку в "8421", упаковку в десят...
Вопрос № 175161: Здравствуйте уважаемые эксперты!
при нажатии клавиши F или ALT+F осуществить поиск меток тома на всех логических дисках и вывести их в текстовый файл, который будет назван по текущему системному времени
если можно, прошу листинг с комментами) Операционная система : MS-DOS, запущенная в Microsoft Virtual PC на Win XP SP 1 предпочтительней среда MASM
в приложении прилагаю код обработки нажатия клавиш F или ALT+F (возможно эта информация будет
полезной текущее системное время mov ah,2Ch в AH всегда указывается номер функции int 21h вызываем прерывание 21h – сервис получения сист. информации)
Отвечает Лысков Игорь Витальевич, Модератор :
Здравствуйте, apm-020. Программа в приложении. Что непонятно, спрашивайте в мини-форуме.
Приложение:
----- Удачи!
Ответ отправил: Лысков Игорь Витальевич, Модератор
Ответ отправлен: 14.12.2009, 11:38 Украина, Кировоград Тел.: +380957525051 ICQ # 234137952 Mail.ru-агент: igorlyskov@mail.ru Абонент Skype: igorlyskov
Оценка ответа: 5 Комментарий к оценке: ОТЛИЧНАЯ РАБОТА! Великолепный эксперт и золотой души человек!
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257709
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 175157:
Здравствуйте уважаемые эксперты! Помогите решить задание. 1 Ввод пятиразрядных чисел в ячейки ОЗУ. Программа должна обеспечить ввод последовательности ASCII-кодов десятичных цифр (не длиннее пяти), перекодировку в "8421", упаковку в десятичное число (первый введенный символ - старшая цифра) и размещение в ячейке ОЗУ. ASCII-коды не-цифр игнорировать
Вот это пример программы с асм. процедурами, которые используются паскаль-программой. Меня интересует почему после входа в каждую из процедур мы заносим в стек значение регис
тра DS, а в метке выхода выталкиваем его. Также почему перед меткой нужно ставить два cимвола @. Объясните пожалуйста. Спасибо большое.
Отвечает Лысков Игорь Витальевич, Модератор :
Здравствуйте, Николай // Programmator . 1) Паскалевские программы считают, что регистр DS указывает на сегмент данных, поэтому процедуры на других языках, в частности, на Ассемблере, не должны нарушать принятый порядок. Теперь смотрим на все подпрограммы, и что мы видим? Везде стоит команда lds, которая загружает длинный указатель, и, соответственно, портит DS! Отсюда и необходимость сохранить где-то DS, например, в стеке! 2)Символами @@ отмечаются локальные метки, которые действуют
внутри PROC...ENDP. Обратите внимание, что во всех процедурах одни и те же имена меток. И никаких конфликтов! Вообще говоря, это справедливо только в режиме IDEAL. В режиме MASM это не пройдет. Там надо еще указать явно LOCALS @@. Т.е., явно объявить все метки, начинающиеся с указанных, локальными.
----- Удачи!
Ответ отправил: Лысков Игорь Витальевич, Модератор
Ответ отправлен: 12.12.2009, 18:02 Украина, Кировоград Тел.: +380957525051 ICQ # 234137952 Mail.ru-агент: igorlyskov@mail.ru Абонент Skype: igorlyskov
Оценка ответа: 5 Комментарий к оценке: Спасибо Вам большое за подробный и ясный ответ!
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 257641
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Колесников Иван Владимирович, 3-й класс :
Здравствуйте, Николай // Programmator . push/pop DS - мы сохраняем регистр DS на входе и восстанавливаем на выходе, т. к. его значение изменяется lds. Для программы на Паскале разрушение значения этого регистра приведёт к невозможности обратится к сегменту данных. @@ - префикс локальных меток, которые не должны быть доступны вне процедур.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.