Глюк VirtualPC?

Тема в разделе "WASM.OS.DEVEL", создана пользователем 10110111, 11 окт 2007.

  1. 10110111

    10110111 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2006
    Сообщения:
    319
    Адрес:
    Санкт-Петербург
    Попытался я в VM выполнить call dword [ds:bp]. На реальной машине и на Bochs всё нормально, а на VirtualPC возврат куда-то улетает (примерно на 0x50e байт вперёд). Попробовал заменить на push'ы и jmp - всё заработало. Это правда глюк VirtualPC, или я чё-то не понял?
    PS перед call происходит pushf, соответственно, возврат - с помощью iret
     
  2. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    у тебя near call
    ты cs сохранил в стеке прежде чем делать call?
     
  3. 10110111

    10110111 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2006
    Сообщения:
    319
    Адрес:
    Санкт-Петербург
    Вообще-то, это колл по адресу dword в памяти при use16 - он не может быть near. Я так вызывал прерывание из таблицы векторов. Кроме того - ведь в Bochs-то и на реальной машине работают.