cpuid lgdt.. из дравера

Тема в разделе "WASM.BEGINNERS", создана пользователем slackhead, 19 фев 2007.

  1. slackhead

    slackhead New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2007
    Сообщения:
    66
    Привет всем, почитываю вот Broken Sword'овский защищённый режим, прикольно, мне нравится стиль изложения, за что автору пасибо. Собсно вопрос должны ли сабжевые инструкции рабоатать в драйвере? у меня масм ругается пишет
    как я понимаю cpuid должно работать то точно, а вот насчёт lgdt/sgdt я покая ещё недопонял

    СУВ, Пух %)
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
  3. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    cpuid, насколько я знаю, не имеет никаких ограничений, разве что может просто отсутствовать :). sgdt допустима на всех кольцах защиты , lgdt -- привилегированная инструкция, разрешена только в нулевом кольце.
     
  4. slackhead

    slackhead New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2007
    Сообщения:
    66
    Quantum (Вы как в воду смотрели ;)), Mika0x65
    пасиба
    туплю, из-за незнания даже тему неправильно назвал дело не в кольцах, мог бы и сам догадаться про тип процессора но не догадался :dntknw: кстати .486 тоже ругается на эти инструкции, а вот .586 - ок
    в догонку ещё вопрос: можно ли как-нибудь посмотреть данные на самой шине адреса? (просто интересно, правда ли оно так)
     
  5. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Вообще от асма зависит.
    Может быть что надо .586р писать - типа для привилегированных команд РМ отдельное разрешение :)
    Ээ..
    Если программными средствами типа отладчика - то ИМХО никак низзя.
    Аппаратно может и можно - осцилограф в руки и вперёд :)
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    может стоит писать .486p ?
     
  7. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    не поможет - cpuid официально на .586 появилась.
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    cppasm
    спуид - мб, а вот lgdt точно в 486 должна быть
     
  9. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Не, ну эт ясно.
    Я как понял автору и та и другая инструкции одновременно нужны.
    Если только lgdt то можно и .286p писать...
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    кажется, на 186 тоже был ProtectedMode, только без поддержки перехода обратно в реальный. надо было #RESET вход инициировать )))
     
  11. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Не было.
    16-битный PM появился на 286, 32-битный на 386.
     
  12. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    видил ли кто примеры по переводу проца в защищённый режим для masm'а?
     
  13. 10110111

    10110111 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2006
    Сообщения:
    319
    Адрес:
    Санкт-Петербург
    У Зубкова можно найти и для Tasm, и для Wasm, и для Masm.
     
  14. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну значит на 286 так было )
    в инете горы этих примеров.
    вообще сам перевод - это только команды MOV EAX,CR0 / OR AL,1 / MOV CR0,EAX :))
    Только там подготовок куча типа загрузки lgdt и прочего. ну и конечно длинный прыжок для загрузки сегмента cs
     
  15. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976