Заполнение GDT и прыжок в защищенный режим.

Тема в разделе "WASM.BEGINNERS", создана пользователем white_scorpion, 18 янв 2011.

  1. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    Great
    я не очень понял что ты имеешь в виду...

     
  2. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    А может это я неправильно понял и опечатки нет? Может это топик 'заполнение GDT и прыжок в защищенный режим используя masm v6.11 под dos и как потом круче завесить машину?' ? ))))
     
  3. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    НЕ
    А как круче ждать прерывания ))
     
  4. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Нету там опечатки.

    Не круто, потому что ещё NMI есть которое не маскируется.

    И вариант с циклом hlt используется в планировщиках обычно, когда других задач нету.
    Он энергопотребление снижает и проц не грузит.
    А прерывания при этом обрабатывать надо.

    А просто завесить можно как угодно, только в нормальных системах оно не надо :)
     
  5. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Возможно, но тут проблема возникает еще до 32-х битного кода. Я сам прыжок совершить не могу.
     
  6. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Проц у меня 32-х битный.
     
  7. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    white_scorpion

    не ... себе мозг скинь себе исходник который прислал pashe4ka13

    Лично я так и сделал... И все теперь норм )))))
     
  8. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    исходник у него на Fam он удобнее в использовании (Fam)
     
  9. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Спасибо, но если бы не стоял выбор компилятора, то уже бы использовал рабочие примеры на TASM.
    А во вторых, хочется разобраться со своим кодом и понять что не так, а не тупо брать рабочий чужой.
     
  10. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Собственно вопрос. Кто-то код смотрел, что я скидывал? В чем там ошибка?
     
  11. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Может тогда ты с легкостью укажешь на мою ошибку в коде? Буду очень благодарен.
     
  12. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    Где ты код скачал?
     
  13. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Я сам его писал основываясь на примерах при чтении книги "Защищенный режим процессоров Intel 80286/80386/80486" Александра Фролова.
    Только у него под TASM, а мне надо под MASM.
     
  14. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    jmp 10h:clear_pipe

    что такое 10h?
     
  15. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    white_scorpion

    jmp 10h:clear_pipe

    10h - ето дескриптор 32 битного кода
    clear_pipe - смещение
     
  16. Toxasoft

    Toxasoft New Member

    Публикаций:
    0
    Регистрация:
    20 сен 2010
    Сообщения:
    188
    етот прыжок нужен для смены регистра cs из 16 в 32
     
  17. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    white_scorpion
    ну я посмотрел. Наверное я слепой, потому, что я вообще не увидел в Вашем коде загрузку регистра Cr0. Может Вы мне покажете? И собственно где у Вас сам прыжок? Я его, что-то тоже не увидил.
     
  18. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    точно слепой) Но вот чего точно не вижу, так это атрибута размера сегмента use32. Попробуй поставить перед flush:
     
  19. white_scorpion

    white_scorpion New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2011
    Сообщения:
    14
    Ниче, бывает. Есть там загрузка регистра специальной командой. А насчет использования use32 попробую. Посмотрим, что выйдет. Но, мне кажется, не в этом проблема.
     
  20. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    А может еще и префикс нужен? попробуй перед прыжком поставить 66h