|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.04.2017, 11:46 | #11 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
|
17.04.2017, 12:08 | #12 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Насколько я помню нет, он будет на вершине "стека" программ по-моему, а стек зависит от параметров загрузки, т.е. возможно сделать образ системы, где ваша прога будет иметь фикс адрес, но любой запуск чего-либо это может изменить.
...если вам реально нужен фиксированый адрес, то COM файлы (они не перемещаемы по своей сути), но там, кажется, 1 сегмент и все. Последний раз редактировалось alexzk; 17.04.2017 в 12:16. |
17.04.2017, 16:12 | #13 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
это да, но мне сом наверно не подойдет, у меня тип памяти large, это указано разработчиком драйвера, который 200 килобайт, он наверно не поместится в 1 сегмент. И потом вы же сами сказали, если будут запущены другие программы, то сегмент будет сдвигаться, значит надо каким то образом выбирать область памяти которая была бы всегда свободна? Наверно дальше мне эксперименты с сегментами нужно проводить уже в рабочей программе, запускать ее в разной последовательности по отношению к другим резидентым программам, у меня же дос и тут нет параллельных процессов, поэтому по идее не зависимо от файла сом это или ехе сегментный регистр должен быть одним и тем же? Но какая была логика у разработчика и в какие сегменты он пишет код, наверно можно выяснить только экспериментально, если добавить код принтф в тело кода.
|
17.04.2017, 16:15 | #14 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
|
17.04.2017, 16:17 | #15 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Тут спасибо говорят людям за помощь или нет, просто привык на киберфоруме ставить плюсы, а тут не могу найти механизма.
|
17.04.2017, 16:24 | #16 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Более детально помочь не могу, за давностью лет, книги пылятся в шкафах далеко
Но вобщем и целом, в ДОС возможно настроить загрузки по фиксированым адресам. Только это все ручная подгонка - под конкретную машину и конкретные проги, помню, с аудио драйвером для игр были такие пляски. Попробуйте сканирование всей памяти, на предмет какой-то уникальной последовательности байт драйвера (это ж дос - защиты нет), далее от нее расчитывайте указатели относительно. |
17.04.2017, 17:09 | #17 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Спасибо за помощь, попробую
|
17.04.2017, 19:08 | #18 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
|
17.04.2017, 19:41 | #19 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
|
18.04.2017, 07:24 | #20 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
я сам пока не знаю что именно мне нужно, просто по логике возможны два варианта или адрес фиксированный или плавающий со смещением или вообще текущий, но вряд ли. Просто в программе задействованы не только переменные, но и конкретные адреса памяти, откуда они берутся пока не отследил, а предварительно хотел понять как устроен механизм обращения к памяти, что может быть, чего не может
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите разобраться с указателями С++ | sasha_14-88 | Общие вопросы C/C++ | 1 | 07.12.2014 10:39 |
Помогите разобраться с указателями | igole | Общие вопросы C/C++ | 1 | 28.04.2013 16:47 |
Не могу разобраться с указателями | FRATER1234 | Общие вопросы C/C++ | 7 | 13.10.2011 11:23 |
Товарищи, помогите разобраться с указателями | scibern | Общие вопросы C/C++ | 7 | 11.01.2009 12:28 |
Помогите пожалуйста с динамической памятью и указателями | Riddick2013 | Помощь студентам | 1 | 19.12.2007 14:41 |