небольшой вопрос

Тема в разделе "WASM.BEGINNERS", создана пользователем _Vasya_, 31 июл 2006.

  1. _Vasya_

    _Vasya_ New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2006
    Сообщения:
    1
    Я новичок в программировании(ВООБЩЕ), тут уже люди задавали подобный вопрос, но я не увидел там ответа. Читать туториалы нет времени.....



    Пожалуйста ответьте на мои вопросы, не вдаваясь в подробности:

    1.fs - это я так понял цепочка структур (SEH), тогда fs - это зарезервированный идентификатор, или нужно что-то прописывать, прежде чем использовать? (inc'и, lib'ы)

    2. Перед его использованием я встретил строчку: assume fs:nothing. Что она означает???
    (А если напишу assume GRBP:nothing)
     
  2. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    _Vasya_
    По идее, это ты можешь это прочитать в статьях, увидеть в сорцах.
    Ну да ладно, fs это не то что ты ты думаешь, под винды это указатель на хорошую структуру данных, а про assume любой талмуд по ассемблеру, точнее чем я скажет!

    ЗЫ:
    Правила хорошего тона требуют прочтения "как задавать хороший вопрос?", логичней было бы назвать: "как задать вопрос, чтобы получить толковый ответ?"
     
  3. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    _Vasya_
    Я бы воздержался от подобных изречений.

    Теперь точно пропало желание отвечать :dntknw:
     
  4. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Quantum
    У вас пиво какое продается?
     
  5. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    1. FS - это сегментный регистр. Он является индексом в таблице дескрипторов и описывает конкретный сегмент. База данного сегмента в ring3 и в ring0 разная. В ring3 указывает на структуру TIB, в ring0 - KPRCB. Для обращения к регистру не надо никаких include.

    2. Чтобы регистр можно использовать в masm - надо такую строку assume fs:nothing. Директива assume предназначена для определения оффсетов и правильного использования регистров. По умолчания просто использования регистра fs запрещено.
     
  6. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Bill_Prisoner
    Точнее, директива .model flat автоматически генерирует такую фигню:
    ASSUME cs:FLAT, ds:FLAT, ss:FLAT, es:FLAT, fs:ERROR, gs:ERROR

    EvilsInterrupt
    Уже не пью :)
     
  7. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Bill_Prisoner
    AFAIK TEB...? А это одно и то же? Thread Environment Block =?= Thread Information Block.
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Нет, в TEB входит TIB.
     
  9. Bill_Prisoner

    Bill_Prisoner New Member

    Публикаций:
    0
    Регистрация:
    4 май 2005
    Сообщения:
    238
    asmfan
    Да именно TEB - ну это уже было разжеванно много раз - шрайбер,упаковщики...