Адресация переменных в LM

Тема в разделе "WASM.X64", создана пользователем radser, 28 ноя 2010.

  1. radser

    radser New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2010
    Сообщения:
    3
    Существует следующя проблема. Песле перехода в LM необходимо выполнить определенные действия записать результат в память и вернутся обратно в RM где ети дание обработать. С переходими между режимами проблем нет, а вот как осушествить передачу даних через память увы никак не могу сделать((((. Когда указую переменные описаную в Сегменте Даних оно в них ничего незаносит, и пишет неизвесно куда. Скорей всего я так понемаю ето изза того что в LM включаю страничную адресацию. Эсли можно просветите в даном вопросе. Зарание благодарен!
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Ну а эээ что тут просвящать то, у тебя по-любому где-то ошибка, бери мануалы и кури, раз сорцы не выкладываешь.
     
  3. radser

    radser New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2010
    Сообщения:
    3
    Сорцы просто большие поетому и невыкладывал. Сократил код побистрому до минимума, если заработает ето дальше расберусь сам. В коде обозначил место где заношу значение в переменную.
     
  4. Vic3Dexe

    Vic3Dexe New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2009
    Сообщения:
    53
    В LM у тебя флат по умолчанию, т.е. на базу DS проц клал с прибором. Т.о. запись происходит не в [rax_save+DS.base], а просто в [rax_save], т.е. ее адрес берется от нуля. Смещение переменной в данных = 7Ah, т.е. искать ее надо именно по этому адресу (линейному!). По идее, должен портиться сегмент вектора 1Eh, вектор 1F целиком и смещение в векторе 20h. Проверяй.
     
  5. radser

    radser New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2010
    Сообщения:
    3
    Всем спасибо за помощь! Проблему рещил. Хотя может и несколько неординарним способом, но этого требовали сроки. Теперь же можо спокойно читать мануалы и не гнатся за результатом))).