|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.04.2017, 13:41 | #41 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
|
28.04.2017, 15:46 | #42 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Ваши 100h тут не причём. Это один маленький частный случай. И элементарно переопределяется через Assume в ассемблере. Надо, конечно при этом понимать что BSP никуда не девается.
И вообще в этом мире всё относительно. Есть карта памяти компьютера. Есть карта памяти ОС. Есть карта памяти программы. У компьютера есть линейная модель памяти. Есть сегментная. Страничную не берём, её в досе нет. Один линейный адрес может кодироваться 4096 различными адресами сегментного вида. Про ОС. Если вы работает под отладчиком у вас будут одни линейные адреса. Без отладчика другие линейные адреса. Про исполняемый файл. И его отображение как память программы. Есть код, данные, стек. А данные ещё делятся на статические и динамические. Статические на инициализированные и не инициализированные. COM и EXE имеют разное устройство. EXE тоже разные бывают. Динамическая память тоже выделяется по разному в зависимости от компилятора и ОС. Если не путаю то в вашем компиляторе выделение динамической памяти идёт через ДОС. Он разбивает всю оставшуюся память на блоки по 64 кб (там ещё 24 байта резервируется). И далее память выделяется внутри сегмента через структуру неминуемую список свободных блоков. (название пусть вас не смущает, это не простой список, а отдельная самостоятельная структура) А если про ассемблер твердить, то в компьютере есть несколько регистров DS,ES, SS, CS. Компилятор может их использовать для сегмента. А может и произвольно отсчитывать. Поэтому адреса перемешиваются. Короче ваш тест мог показать всё что угодно. У вас слишком обширные вопросы. Общим и отвечу. Читаем. Д. В. Иртеrов Введение в операционные системы. Хотя там конечно не ДОС. Но в целом примерно так. А по досу: http://bitsavers.trailing-edge.com/p...uide_Jan95.pdf
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
28.04.2017, 18:17 | #43 |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Спасибо, Вы здорово все расписали, очень интересно, обязательно все перечитаю, когда доделаю свою работу. У меня оказалось все проще (относительно). На плате есть свой МК и своя память, туда все и записывается, и у драйвера есть специальные функции для записи по страницам. Но все равно всем спасибо, информация очень ценная, которую Вы мне дали, если самостоятельно все читать по книгам, то читать можно бесконечно, а так вы меня направили в нужное русло и работа пошла работаться дальше...
|
28.04.2017, 18:20 | #44 | |
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Данные вводятся на веб странице, но хранятся в .... | Ципихович Эндрю | Общие вопросы Web | 35 | 23.09.2016 08:10 |
Данные о температуре воздуха и количестве осадков за декаду апреля хранятся в массивах. Определить количество осадков... | zzz99 | Помощь студентам | 8 | 13.03.2014 17:33 |
Байты или то, как хранятся данные | RussDragon | Общие вопросы C/C++ | 10 | 11.06.2013 08:50 |
Дан массив, в котором хранятся данные о расписании поездов, определить поезда на станции (C++) | nurtay1994 | Общие вопросы C/C++ | 1 | 29.04.2013 08:26 |
где хранятся данные при работе с dll ? | xrob | Общие вопросы Delphi | 17 | 19.04.2013 23:18 |