На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> 34h / int28h
    Обязательно ли проверять флаг занятости DOS и (или) использовать
    прерывание int28h, если программа перехватывает девятое прерывание и
    в новом обработчике при этом используются функции DOS (возможно, не
    одна, а несколько)и вывод на экран с помощъю записи в B800h ?
      Да.
      Если используешь ф-ии ДОС, надо или проверять флаги, или использовать int 28h.
      Вывода на экран через B800h тут совершенно не причём... Это к ДОСу отношения не имеет.
        Узнал я, честно говоря, о необходимости использования 34h и int28h
        слишком поздно. Ну зависла, фиг с тобой, сейчас, думаю, нажму ресет,
        и всё нормально... Эксперементатор хренов... При загрузке то выдавалось
        "re-select CPU speed", то меня просили вставить дискету в дисковод,
        а часы стали показывать 4 января 1980 года. Не знаю, как мне повезло,
        но вроде сейчас с виду всё работает.
        Да, к чему это я всё... В TechHelpe об 34h и int28h самый минимум
        (у меня старая версия, но русская), я представляю себе что надо делать,
        но я уже боюсь сломать машину, поэтому прошу... поделитесь опытом :
        какой алгоритм использования 34h и int28h должен быть ? Или дайте
        исходник, пожалуйста.
          Из прерывания 9 функции ДОС не должны вызываться никоим образом - достаточно выставить флаг в своем обработчике бездействия ДОС и, когда будет время, все функции спокойно исполнятся. В противном случае придется отслеживать и все остальные прерывания (несмотря на незанятость ДОС другие прерывания в этот момент могут быть активизированы и обращение к прерываниям ДОС может сильно разрушить их планы)...
            Вообще-то... я случайно перепутал девятое
            прерывание с восьмым. Ну то есть я хотел
            обработать прерывание от таймера, а получилось - от клавиатуры... Но это не важно. Я читал, что они не отличаються, то
            есть не в том смысле, что вообще, а в том,
            что одинаково приводят к краху системы...
            > достаточно выставить флаг в своем
            > обработчике бездействия ДОС и, когда будет > время, все функции спокойно исполнятся.
            Да, конечно..... но...
            КАКИМ МАКАРОМ ЭТО ОСУЩЕСТВЛЯЕТСЯ ??????????
            Я больше не хочу сам ставить такие эксперименты после того, как чуть не навернул
            всё. ЕСТЬ ЖЕ ЗДЕСЬ НАВЕРНЯКА СВОИ ТОНКОСТИ,
            о которых я не знаю, ... я, конечно могу
            вызвать 34h, в ES:BX узнать активна ДОС или
            нет и всё такое..... НО малейший просчёт и...
            ТРУБА.... Я прошу сказать мне _точно_ как
            всё ЭТО оформить, и (или) если есть,то дать исходник.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0262 ]   [ 15 queries used ]   [ Generated: 27.04.24, 22:20 GMT ]