Copy

Тема в разделе "WASM.OS.DEVEL", создана пользователем Stamerlan, 19 дек 2008.

  1. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    В защищенном режиме нужно скопить инфу:
    Код (Text):
    1.         mov esi, 0x1000
    2.     mov edi, 0x100000
    3.     mov ecx, 17*512/4
    4.     rep movsd   ; <- ошибка
    почему???
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    MOVSD двигает DWORD-ами. Почему ошибка?
     
  3. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
  4. Zufyxe

    Zufyxe New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2004
    Сообщения:
    137
    Адрес:
    Russia
    Какая конкретно ошибка?
    Что в DS и ES?
    Что с DF ?
     
  5. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    DS ES = 0x10

    Это сегменты с базой 0 и лимитом 4ГБ
    При запуске под VMWare выскакивает ошибочка и мы идем на перезагрузку
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    а что это за адреса такие
     
  7. researcher

    researcher New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2005
    Сообщения:
    45
    Адрес:
    Russia
    Два варианта:
    1. Адреса буферов не валидные. Либо esi, либо edi указывают на область памяти которая не выделена (не используется).
    2. При копировании, в определенный момент указатели либо esi, либо edi выходят за пределы буферов и начинают указывать на область памяти которая не выделена . В какой момент начинают выходить за пределы можно определить по значению ecx в отладчике, если он всплывает по исключениям.
    Общее назание ошибки Page Fault, без отладчика выводится синий экран, на нем может быть надпись типа 0x1000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M и т.д.
     
  8. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    Я пишу свою ОС а данные инструкции перемещают ядро с адреса куда мы его считали(0x1000) по адресу его линковки (0x100000)
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Stamerlan
    offtop;
    Какого цвета у меня клавиатура ?
     
  10. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    A20 включил? Мог сам себя потереть, если нет.
     
  11. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    Включил конечно.
     
  12. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    темная, depo, кажется:)
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    osrootd
    Нет, белая. Я к тому, что это чистое гадание, кто знает что у товарища за ядро, что за адреса и память..
     
  14. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    Чувак, это код ПЕРЕМЕЩЕНИЯ ядра по слинкованному адресу. Побарабану какое ядро данная штуковина должна просто скопировать ядро из одного места в другое для того чтобы оно (ядро) могло корректно работать.

    Про адреса: Это Защищенный режим. Перемещение из одного места в другое, внутри сегмента.

    Что тебе еще сказать? Ты задай мне вопрос если не понятна только дай потом толковый ответ.
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Stamerlan
    Тебе вопрос уже Грит задал. Что это за ядро скопипащенное, если ты даже не понимаешь что может вызвать причину исключения .D)
     
  16. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Чувак, а какая ошибка то?
    Смотри какое исключение возникает, оттуа и пляши. Page Fault или General Protection или что еще