сегментные регистры в плоской модели памяти

Тема в разделе "WASM.BEGINNERS", создана пользователем assorted, 4 фев 2008.

  1. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Господа пролейте свет по теме сегментных
    регистров и сегментных префиксов в плоской модели памяти.
    Интересует как r3 так и r0

    как я понимаю в r0 там селектор, и трогать их нельзя
    в r3 использование префикса у меня вызвало исключение, но регистры модифицировать кажется можно.

    и еще вопрос - в х64 сегментные регистры упразнены?
     
  2. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
  3. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    steelfactor
    угу Спасибо.
     
  4. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    assorted
    ок
     
  5. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    assorted, вам дале конкретную ссылку, хотя на данный вопрос вполне можно ответеть просто JFGI&RTFM. тема отлично рассмотрена в стотьях на данном сайте http://www.wasm.ru/publist.php?list=24 и манах от интела.
    по теме, как в р0 так и в р3 там селектор... насщет использованийа префикса - мы не телепаты и хз, какой префикс вы использовале.
     
  6. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Хороше, немного переформулирую вопрос - что находится в сегментрых регистрах в р3?
    fs - TEB
    А остальные для чего используются?
     
  7. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    #2 Using Segments 3.2
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    assorted
    содержимое сегментных регистров это селектор. в любом уровне привилегий.
    какие же селекторы содержат они?
    В пользовательском режиме
    CS содержит селектор 32-битного неподчиненного сегмента кода с базой 0 и лимитом FFFFFFFF и уровнем привилегий 3
    DS,ES,SS содержат селекторы растущего вниз (для стека) сегмента данных (одного) с базой 0 и лимитом FFFFFFFF и уровнем привилегий 3
    FS содержит селектор сегмента данных с базой TEB и лимтом FFF (одна страница)
    GS = 0

    В режиме ядра
    CS содержит селектор 32-битного неподчиненного сегмента кода с базой 0 и лимтом FFFFFFFF и уровнем привилегий 0
    DS,ES,SS содержат селекторы сегмента данных (одного) с базой 0 и лимитом FFFFFFFF и уровнем привилегий 0
    FS содержит селектор сегмента данных с базой текущего KPCR и лимитом 1FFF (2 страницы).
    GS = 0
     
  9. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Спасибо, исчерпывающий ответ.
     
  10. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    Great
    разве?
     
  11. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Что-то есть у меня сильные сомнения что DS и ES содержат селектор растущего вниз сегмента...
    AFAIK такой тип сегментов в Win вообще не используется.
    [-= ADDED =-]
    Проверил в SIce: DS=ES=SS=23h, ни один из сегментов в GDT вниз не растёт, LDT у процесса (notepad.exe) нет (W2k SP4).
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Упс тут я ошибся кажется) Спутал с другим, когда LDT ковырял.