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

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


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

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

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

Выпуск № 1023
от 15.04.2008, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 340, Экспертов: 19
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 131506: Здравствуйте, Уважаемые эксперты!!! Нужна Ваша помощь. Очень хочется научиться работать с файлами на Ассемблере, но в интернете мало информации… Сейчас меня интересует тема «Организация доступа к дискам в режиме MS DOS и анализ системных ошибок»....

Вопрос № 131.506
Здравствуйте, Уважаемые эксперты!!!
Нужна Ваша помощь. Очень хочется научиться работать с файлами на Ассемблере, но в интернете мало информации… Сейчас меня интересует тема «Организация доступа к дискам в режиме MS DOS и анализ системных ошибок».

Не могли бы Вы мне помочь решить следующую задачу: «Создать файл на диске «С» размером 20 байт. Попытаться записать информацию в 25 байт. Обработать ошибку при помощи INT 24h».

И, пожалуйста, дайте какие-нибудь ссылки на сайты в интернете, где подробно объясняется как работать с файлами на ассемблере.
СПАСИБО!!!

Отправлен: 10.04.2008, 13:31
Вопрос задала: Alena De Lon (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 14)

Отвечает: Airyashov
Здравствуйте, Alena De Lon!
Программа работает так.

подменяет обработчик прерывания 24h
выводит на экран строку "нажмите клавишу"
ждет нажания клавиши, если ESC, то завершается
если нет
то открывает файл
сохраняет его дескриптор
выдает строку что файл создан, хотя здесь ошибка создания не проверяется!
записывает в него строку, анализурует была ли ошибка
если да, то выдать строку что произошла ошибка и повторть запись в файл.
если нет, то выводит строку "нажмите клавишу", ожидает нажатие клавиши
Закрывает файл, если ошибка, то опять пытаемся закрыть.
если нет ошибки, то завершение.

непонятно зачем тут обработчик 24h, если будет ошибка, то программу просто зациклит, потому что AL=1: возвращенное - это повторить операцию, без всяких сообщений на экране, если хотите сообщения, то AL=3 поставить надо -

а перехватывать int 24h имеет смысл чтобы не выдавалось сообщений типа
"Abort, Retry, Ignore? _"
и не пугало пользователей, а обработать ситуацию надо вам самим

Хочется эксперемента тогда так можно поступить:

1. Создать программу с обработчиком:
NEW_24h PROC
MOV AL, 1
IRET
NEW_24H ENDP
скопировать на дискету, там не должно быть каталога 'A:TESTMN1_FIL.001'
программа повиснет

2. Заменить обработчик на
NEW_24h PROC
MOV AL, 3
IRET
NEW_24H ENDP
посмотреть результат

3. Закомментировать строки
MOV ES:[24h*4],AX
MOV ES:[24h*4+2],CS
посмотреть результат


Ответ отправил: Airyashov (статус: 2-ой класс)
Ответ отправлен: 10.04.2008, 15:10
Оценка за ответ: 5


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.91 pre 5.0 RC1 от 13.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное