Реальный режим и дискета

Тема в разделе "WASM.BEGINNERS", создана пользователем malginer, 30 май 2007.

  1. malginer

    malginer New Member

    Публикаций:
    0
    Регистрация:
    30 май 2007
    Сообщения:
    4
    1)
    Ситуация: есть три программки, все написаны для реального режима, используют прерывания BIOS.

    Транслирую, линкую, записываю на дискету первую программку, перезагружаюсь - работает.

    С двумя вторыми сложнее - первая из них записывается на первый сектор дискеты, вторая из них - на второй. Первая - иницилизирует регистры ss, ds, es, sp, si, bx, считывает/записывает в память вторую программку с дискеты, передает управление на вторую программку - тут происходит вылет с сообщением:
    "Direct booting from floppy is no longer supported...".

    Вопрос - как это обойти? С самой первой программкой ничего такого не случалось; если убрать из "загрузчика" передачу управления, зациклить в конце и насовать в тело выводы разных символов - "загрузчик" символы выводит => работает.

    2)
    Возможно, совсем тупой вопрос: где/у кого можно почитать дельную литературу по работе компьютера в реальном режиме (_без_ паралельного описания DOS и принципов ее работы)?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А что именно интересует. Отличается только работа процессора и памяти. Про это можно прочитать в книжках по асму.
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    malginer
    Смотрим, в каком месте происходит вылет и патчим это место.
     
  4. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Смотри тут есть пару книжек.

    http://bukinist.info/
    Название: Программирование на аппаратном уровне
    Автор: В. Кулаков
    Издательство: Питер
     
  5. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Смотри тут есть пару книжек.

    http://bukinist.info/
    Название: Программирование на аппаратном уровне
    Автор: В. Кулаков
    Издательство: Питер
     
  6. malginer

    malginer New Member

    Публикаций:
    0
    Регистрация:
    30 май 2007
    Сообщения:
    4
    Спасибо всем за ответы.

    Оказалось, что я считывал вторую программку в некошерную область памяти. По крайней мере, исправил - заработало.