Где можно почитать по DR регистрам?

Тема в разделе "WASM.ASSEMBLER", создана пользователем PE_Kill, 28 янв 2006.

  1. PE_Kill

    PE_Kill New Member

    Публикаций:
    0
    Регистрация:
    16 янв 2006
    Сообщения:
    107
    Сколько искал, везде крупицы. Необходим формат, возможные значения ну и хотя бы один гашеный примерчик.
     
  2. Alexey2005

    Alexey2005 New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2006
    Сообщения:
    19
    Адрес:
    Russia
    Само собой, ПОЛНАЯ информация по DRx может быть найдена на сайтах производителей процессоров - Intel и AMD. Причем лучше AMD, т.к. на Intel'овском сайте сам чёрт ногу сломит.

    Вот, к примеру, в "AMD64 Architecture Programmer's Manual, Volume 2: System Programming" подробно описываются (помимо прочего) регистры отладки в 32 и 64-битных процессорах.

    Взять документ (5М, само собой, язык - English) можно здесь:

    URL http://www.amd.com/us-en/assets/content_type/white_papers_and_tec h_docs/24593.pdf

    В этом документе описываются отладочные регистры, MSR, отличия 64 и 32-битных моделей процессоров, команда RDPMC (и чтение счётчиков производительности).

    Но в многозадачных средах толку от всего этого немного, т.к. в Windows доступ к MSR можно получить только в ring0, а к DRx - и в ring3, но с некоторым трудом.
     
  3. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Поводу ring3 уточняю: напрямую запись не возможна, нужно использовать SEH (для текущего потока) или SetThreadContext (для другого потока). Однако некоторые биты могут быть спрошены ОС, например, бит глобальной отладки в DR7.